We all know a developer’s technology preferences are the modern world’s version of paying homage to the great ancient philosophical discussions of the Athenian agora, which would make Socrates, Plato, and Aristotle stand up and pay attention.
It’s time to look past these arguments and ask ourselves a simple question “What is the best tool to deliver my feature?”
Given the current climate of skillset shortages and a plethora of open source which, over time, runs the risk of being abandoned or made obsolete by the next thing, it’s time we moved away from such arguments as which framework should I use or should we develop in, for example, React vs Angular vs Vue vs Svelte.
We should come back to the question what tool do I need to achieve my feature while providing independence so that teams can play to their strengths and deliver.
When delivering a custom software solution/project, flexibility and independence is critical. The “micro” approach is not a new concept. It’s currently how most of the world delivers backend services such as microservices as it allows for independence, decoupling, scalability and lower risk than traditional monolithic applications.
With web applications becoming increasingly complex and, in most cases, replacing the traditional desktop apps, how do we achieve this – we do it by using Micro Frontend Architecture.
Micro Frontend Architecture provides patterns and principles that force teams to think independently and promotes working with the best tool possible to deliver features based on your organisation’s context while coming together as a unified customer experience.
What do we mean by independence?
- Development / Teams: Teams can work independently with little to no reliance on other teams and what they are doing.
- Product / Feature: Development of features without worrying about clashing with other features.
- CI / CD: Allow for different CI/CD flows per feature, for example, a feature can be released independently of others.
- Repository Pattern: Mono-Repo, Feature-Repo
In a nutshell, work how your team needs to (or can) best deliver your feature.
When organisations approach us for recommendations and consultation, there are always the same questions around the unknowns of what it would take to get there, where do we begin, how much it will cost and whether it is feasible.
For example, suppose your application was developed using the popular industry standard of componentisation of features; shifting to Micro Frontend Architecture may be as simple as undertaking a short spike sprint as most web technologies support it.
There is a catch, as with microservices. Micro frontends require co-ordination and orchestration, which is critical and can be easily overlooked. However, working in standard Agile methodologies is not a difficult task. Project managers need to ensure everyone is colouring within the lines.
Interested in learning more about micro frontends? Z Ware are hosting an in-person event on Tuesday 29 November in Melbourne. Click here to register your attendance.