The importance of a software engineering perspective in creating an MVP
Gian Zas leads Moove It’s Software Engineering Studio. As a technical architect he has worked with several of our clients on their key technical challenges and has specific expertise in finance. He studied programming at Uruguay’s ORT University.
During the product discovery phase, and indeed during other phases such as when evaluating different technologies, we often create minimum viable products (MVPs). These MVPs help us make quick decisions about the best way forward, based on evidence rather than subjective opinions.
Here at Moove It, we typically bring in our Software Engineering Studio to evaluate and help create the prototype. In doing so, we’re able to blend their expertise together with that of our other studios and the individual client team.
There are five main areas where having a deep software engineering perspective provides guidance and expertise during this process:
1. Evaluating the technical feasibility of the product. The first step that the studio takes is to ascertain the technical feasibility of the project. They’ll identify the technological risks alongside strategies of whether it makes sense to handle them or the extent to which the organization is willing to accept the likely risk. Based on this, the team may propose alternatives in case the project is not feasible from a technical standpoint.
2. Exploring the unusual use cases. For each feature, the studio then works on finding which use cases that are not so well covered. Doing this means asking the appropriate questions of the key stakeholders – and then either making sure the cases are either discarded as being unnecessary or are adequately covered. With the set of use cases now in hand, the studio works to identify the expected throughput.
Identifying situations where there could be a high load is a further critical component of the MVP creation process. Here, typically we’ll gather information such as the expected number of users and transactions, as well as the size of assets. This also involves determining and evaluating possible security risks.
3. Designing the architecture. Designing architecture is all about making choices and considering the trade-offs inherent in every decision you make. In designing the architecture for your MVP, the first key decision is to decide whether it will support just the MVP version of the product, or also for later, more advanced stages. In case you decide on having the architecture support only the MVP version of the product, document what changes will be needed later on.
4. Identifying the technologies to use. This involves identifying the programming language, platforms, frameworks, libraries, and any third party services that you may need. As just one example, the studio will choose the cloud platform your product will run on and which cloud based services you’ll require. They’ll also investigate and estimate the costs of third party services.
5. Creating a technical assessment. As part of the MVP assessment, we recommend also writing a technical assessment. This document should evaluate the functional, non-functional, and business aspects of the solution you aim to build. It needs to identify the users as well as user flows. User stories, an analysis of the technical risks, the choice of technologies, as well as an overview of the different development stages all need to be included.
The advantages of a tried-and-tested approach
By taking a structured, tried-and-tested approach to building an MVP, businesses can significantly reduce the time to market for new software products, while simultaneously ensuring that the end result provides an accurate picture of the potential future state and the effort required to achieve it.
Discover more about our Software Engineering Studio and how it works with our clients.