How the new approaches “Agile methods”, “Microservice Architecture” and “Minimum Viable Products” (MVPs) perfectly fit together.
Although the new approaches originate from different disciplines, they share the same two old and well known concepts: Divide & conquer and Inspect & adapt.
Why these approaches? – Because we naturally fail.
Today’s digital globalization requires highly integrated IT systems with rich functionality. In order to develop and operate such large and complex IT, we cannot simply scale the projects. Instead, we come up with new approaches such as MVPs in product management, Microservices in IT architecture and agile methods in project management.Why these aspects? – Because they are crucial for successful IT products.
Product management focusses on the outcome - the IT product – from an external perspective. Whereas IT architecture defines the internal structure of the IT product. And project management considers the people and processes in order to manage limited time, resources and features respectively quality, since products are usually developed as project.
Agile methods
In project management, agile methods, such as Kanban, Scrum or Design Thinking, successes the classical waterfall process model (and its close friends such as the V-model), to quickly respond to changing requirements instead of following a plan.Today, we build not only products for but with the customer. And we struggle planning an IT project, since stakeholder cannot exhaustively define the complex requirements a priori and technology, that helps us solving the requirements, rapidly changes. Using agile methods and not following a predefined plan optimizes outcome for such uncertain goals. Additionally, adaption enables taking advantage of technical innovation that might come up along the way. To run a project without a predefined plan, agile development divides the process into manageable time-boxes and induce people to learn from their output. We build, measure, and learn. Hence, we get most out of the resources in the long run by developing the product the right way.
MVPs
In product management, Minimum Viable Products (MVPs) forces the developers to get feedback about their output from real customers as early as possible. MVPs are usable, valuable and feasible products for early adopters. But MVPs strictly cut down the product to its core features – like a walking skeleton - and force early validation by the people that will actually use the product. We build, learn, and measure. This reduces the risk of potentially wasting resources and increases confidence about developing the right thing.Microservices
In IT architecture, Microservices divide the IT product into small chunks (or services) that are developed and operated independently in order to not block time waiting for integration, like big, chunky monoliths. To me, micro means as small as possible and as big as necessary in this context.Dividing the software into slices (services) along the business domains keeps functionality in one piece (from GUI to database) while the overall system evolves stepwise and operates more robustly, resilient and highly scalable due to the distribution onto several machines. See The Reactive Manifesto. On the downside, storing data redundantly is - for example – accepted, if decoupling the services leads to less coordination and increased overall performance.
What do the three new approaches share? – Essentially, two old principles!
The three new approaches from different perspectives have (at least) two old principles in common: Divide & conquer and Inspect & adapt.Divide & conquer is a structural principle.
It splits up a large problem into smaller chunks, solves them separately and eventually merge the solutions. Here is an example:You cannot carry the heavy bag to your car? Try to split it up and go multiple times.In IT, this principle is, for example, used in A* search algorithms or the mapReduce pattern, although machines carry bags in parallel.
Eventually, you willget the job done. That’s what matters.
Inspect & adapt is a process principle.
The methods assumes that a process does not run perfectly right from the start. In order to get better in the long run, the method splits up the overall process into steps that are first executed, measured (inpect) and finally improved (adapt). Here is an example:You are not good in surfing? (Surfing is a tough sport!)Try it out, swallow some salty water, recap, and then try again – you will learn at least how to fail. Eventually, you will learn something. That’s what matters.In IT, this principle is, for example, used in evolutionary algorithms and reinforcement learning, although virtually.
As shown in the figure, both principles, Divide & conquer and Inspect & adapt, are the common core of the three discussed modern approaches Agile development, MVPs and Microservices.
Agile development splits the development process into repeating manageable steps (time-boxes or sprints) and induce people to learn (backlog grooming, review and retrospective meetings). MVPs reduce the product to core features and force early customer validation, which leads to stepwise software validation for every feature. And Microservices divide the software into slices that are evolved individually, stepwise in releases.
Do the new approaches fit together? Yes, they complement each other and make complex IT project successful!
Although the three inventions were developed independently, the principles are essentially the same and, hence, fit together perfectly.As modern IT professionals,
- we develop early customer-validated MVPs following agile processes and continuously improve products and people
- we develop and run the business logic chunks as decoupled Microservices and get, as a result, resilient and scalable IT systems
- we do not just optimize a single step of the waterfall process without knowing if the product come to live at all. We are a cross functional between managing projects, engineering requirements, usability, developing, testing, integrating and operating our products.
Get it done. Let’s get brave and move together towards this exciting new world!
I thank Xenium AG, and in particular our CEO Sebastian Kutscha and my account manager Nico Seemann for supporting me writing this article.
Kommentare
Kommentar veröffentlichen