Minimum viable architecture (MVA), also called ‘just enough architecture’, is an agile approach to software architecture and a concept akin to the minimal viable product (MVP).
In the traditional waterfall approach to development, the code would start being written after every aspect of the development lifecycle had been detailed and accounted for. The architecture would take time to be set up and would probably be irrelevant by the time it is ready. The development team would either recreate the architecture, which would be just as time-consuming or make do with it to build solutions for current needs.
Given today’s fast-paced business environment coupled with ever-changing requirements and rapidly changing technological developments, this approach will be highly ineffective. The upfront designing of architecture in the waterfall-style approach will slow down development, will be unable to take in feedback, and will not keep pace with the business’s changing needs.
Unfortunately, until recently, this approach has been carried forward to agile development too, in anticipation of the what-if scenario.
The solution to this lies with MVA. MVA is a more suitable approach where a bare-bones, basic architecture is initially built, with features that can set the software development process in motion. Just like in the MVP, where developers start small and respond to varying needs, MVA architecture too is started small and built based on the changing needs.
With MVA, the risk of over-engineering the architecture from the beginning is minimized and can be built in small increments, thereby lowering the cost of development. MVA allows software developers to focus on the core, foundational architectural components of the software and systems by creating a working base and building the rest of it as you go.
One of the greatest benefits of this approach to development architecture is that it lowers the cost of the architecture, enables businesses to invest in technologies that are relevant, is flexible and scalable, enables the release of features, and updates faster. As a result, feedback starts flowing in early, making every release and enhancement over the previous one with minimum rework.
To successfully implement the MVA approach, architects must ensure the following:
As an architect, one must:
Although we say that architecture needs to be just enough, arriving at what is enough can be challenging. Product viability and sustainability are the fundamental criteria for determining whether the architecture is enough or not.
In addition to that, factor in the number of concurrent users/devices/sensors that are expected to use it at the same time. Calculate how many transactions or data the product will be expected to be processed in any given time for improved throughput. Understand the speed at which the product must respond to events. Knowing how quickly and by what factor the infrastructure must scale up during peak periods. Ensure that the MVA is well-protected from malicious intruders and can maintain privacy, safety, confidentiality, integrity, and availability.
The MVA must enable tracking and monitoring of the product’s performance and alerting if the product fails to meet QARs or prevent critical system issues. It should have sufficient resources such as memory, storage, and signaling, among others. The user interface must allow the product to communicate with users effectively.
Indium Software is a cutting-edge technology company with wide experience in software and architecture development, testing, and providing data solutions. The cross-domain expertise helps Indium understand its customer’s pain points and design and develop bespoke solutions to launch them on an accelerated growth and innovation journey.
At Indium, we begin by.
It improves the adaptability of businesses to meet changing circumstances. They can anticipate and plan for the unexpected.
By Uma Raj
By Uma Raj
By Abishek Balakumar
Indium Software is a leading digital engineering company that provides Application Engineering, Cloud Engineering, Data and Analytics, DevOps, Digital Assurance, and Gaming services. We assist companies in their digital transformation journey at every stage of digital adoption, allowing them to become market leaders.