Every day, a million and one thoughts fly around in our heads. Sometimes, they’re killer ideas — the ones we think will make it so we never have to work again. Other times, they are just products of a very overactive imagination.
It is one thing to dream and another to transform that idea into an actual business. Often, a vital part of this transformation is creating a Minimum Viable Product (MVP). This is a term Eric Ries made popular with his book, “The Lean Startup.” He defines an MVP as “that version of a new product a team uses to collect the maximum amount of validated learning about customers with the least effort.”
In simple terms, an MVP is a product with just enough features to attract customers to validate the product idea as soon as possible. MVPs primarily help companies determine how well their product resonates with the target market before committing a larger budget to it. If you have a potentially killer idea, you should start by creating an MVP to validate the idea.
Approaches to Building an MVP
There are several approaches to building a minimum viable product, which makes things challenging – especially for people who do not have much software development experience. I have been in the software development industry for many years, and I’ve learned that some approaches work better than others. So, I thought to put my advice down in writing.
Let’s start with a disclaimer: I have been a customer of Calavista’s twice before joining the company in 2020. As you would expect, I am a fan of the model used by Calavista. I have seen it work well for many customer projects and the following is why I think this model works.
For this analysis, I want to make some assumptions. The scope of an MVP is usually constant – hence the term, minimum viable product. That leaves you with four primary levers to consider: Time, quality, cost, and risk. Below, we explore the various approaches to building an MVP and what they would mean for your start-up.
Each approach will be scored on a scale of 1 to 5 across Cost, Time, Quality, and Risk (where 5 is the best possible) and an Overall score will be assigned based on an average of the Cost, Time, Quality, and Risk score.
1. Build it Yourself — Overall score: 2.5/5.0
There are a lot of low-code and no-code approaches to building simple MVP applications. These can work in some cases until your business complexities require a more sophisticated system, but expect to have a significant rewrite at some point. I have recommended this type of approach to companies when cost is the deciding factor. This allows you to minimize your investment while you validate the idea.
- Cost (5): This has the lowest possible cost as you are building it yourself. Many people take this route if they cannot afford to hire other people to do the work.
- Time (1): There is often a significant time span and learning curve required to experiment with the capabilities of tools selected. You are often trading costs for time.
- Quality (2): This element depends on you. If you’re an expert developer, you would probably have an MVP with decent quality. However, for most people, this is like watching a DIY home improvement program where the homeowner does not even realize the impact on the quality until a professional shows them what should have been considered.
- Risk (2): There is quite a lot of risk to this approach, as you often sacrifice quality and time because you want to cut costs.
2. Build your own Software Development Team — Overall score: 2.0/5.0
If you think you have a killer idea involving software, you probably want to have your own team to build it. Just like building a house, there are many skillsets required to build a software product. Building an initial MVP requires more than just a couple of developers. You will need experts in architecture, requirements, testing, development tools and processes, and more.
- Cost (1): This has very high upfront costs. You typically need to hire multiple people with different skills to build a quality MVP. In today’s job market, these resources can be expensive and hard to find.
- Time (1): It takes a lot longer than most people think to find good resources, identify the development tools and processes, and build the actual MVP.
- Quality (4): You will likely get a quality MVP if you build the right team and processes first.
- Risk (2): Your MVP’s success rests on your ability to hire and retain a team with the appropriate skill set, knowledge, and attitudes.
3. Outsource with Contract Coders — Overall score: 1.8/5.0
It is possible to find coders online and pay them for the scope of your project. This may work well for small, straightforward projects that have a clear start and finish, but may not end well if it grows to include multiple independent contractors who may have difficulty coordinating.
- Cost (3): This is relatively low as you don’t have to pay the overhead costs for hiring or management plus you can scale up/down as needed.
- Time (2): It is usually swift to start, but you could soon begin to face issues with developers understanding the project’s scope, defining a holistic architecture, and delivering on time.
- Quality (1): Despite good developers, the overall quality is often inferior due to interdependencies. In addition, a lack of focus on the overall architecture usually impacts quality.
- Risk (1): This can be very risky as it might cost you time and quality in the long run as you end up with a disjointed product. Many times this leads to significant re-writes to improve performance, stability, maintainability, and user experience.
4. Outsource with Offshore Team — Overall score: 2.8/5.0
There are many cost-effective options when it comes to outsourcing your development to companies in countries overseas in India, China, Mexico, Belarus, or elsewhere; but there are also many challenges.
- Cost (5): Offshore development companies in India and China can provide development capacity at a meager price, but pricer options in Eastern Europe and Central/South America may offer better overall results.
- Time (3): Often offshore companies can scale up a team much faster than you can hire, and the team will have recommendations for tools and processes that shorten turnaround times. On the other hand, some offshore companies have never-ending project syndrome, where deliverables slip repeatedly.
- Quality (2): This is where challenges often occur. It is difficult to ensure quality remotely, especially if you are not familiar with quality development practices.
- Risk (1): Selecting the right offshore contracting company is difficult and could be costly. There are hundreds, possibly thousands, of options. They all claim to have industry-leading best practices and the experience to make you successful. Between language, culture, and time zone differences, there is often miscommunication around what the MVP needs and its delivery.
5. Outsource with Managed Offshore Team — Overall score: 4.3/5.0
A managed offshore team means you have senior leadership in the U.S. who provide the technical expertise for the project. They typically also offer the practical knowledge to best leverage offshore resources. The onshore management team will include a senior development leader, likely a VP of Development, and a senior architect to provide technical expertise across projects.
Based on the size of the project, these may be fractional resources. This means you’re getting both senior U.S.-based leadership with offshore development costs. If done well, it could deliver the best of both worlds.
NOTE: Many offshore teams will have a U.S.-based resource assigned as part of your project. In my experience, these are typically not the same as the “Managed Offshore” resources described here. Typically, offshore teams assign a U.S.-based account management role to the project rather than an industry veteran with more than 20 years of experience running projects.
- Cost (3): While not the lowest cost option, you can save a considerable amount on staffing by having a blended team.
- Time (5): With this approach, you essentially hire a VP of Development who brings a development team ready for your project.
- Quality (4): The quality usually depends on the repeatable and automated processes you have established. With a great process and collaboration, you often get the best quality.
- Risk (5): A strong seasoned leadership team with repeatable and often automated best practices that leverages strong offshore development teams with cost-effective rates can significantly reduce your project risks.
While there are several approaches to creating an MVP, you must carefully choose the one that best suits you. There is not a single best answer for all cases, and you will need to determine which is best for you.
Based on the above analysis and if cost is your primary driver, you may want to consider building it yourself or evaluating your offshore outsourcing options. However, if you want to mitigate your risk, I recommend the ‘Outsource with Managed Offshore’ model that provides the best of both worlds.
At Calavista, we have been providing complete, managed teams that are specifically configured to address a customer’s needs and follow the ‘Outsource with Managed Offshore” model described above. Every engagement is led by a Solutions Director (SD) – professionals who have 20+ years of development experience, multiple degrees from top-ranked schools, and specific, demonstrated expertise in managing distributed teams. We use a hybrid, Hyper-Agile® development methodology that we’ve refined over the last two decades. These factors enable us to deliver projects with greater than 94% success rate – 3x the industry average. If you would like to talk about how this could work for you, please let us know!