There are some common scenarios we encounter on a daily basis at BairesDev when engaging potential customers who want to build apps:
- A company wants to build an app. Building software is not their core business, so the company does not have any internal competency building modern software applications, but the company knows they need a modern application to sell their product or service. The question they have is, how much will it cost?
- A startup has an amazing idea and the founders build a clickable, somewhat functional prototype. They have strong investor interest. Now they want to build an app and get it in front of millions of users. Now, how much will this cost?
- A startup got to MVP (minimum viable product) on a very minimal budget using an offshore provider. The core features “work” enough to release to a small set of beta users, but there are serious concerns about quality, and the technology chosen to build the app will not scale easily (meaning they will probably need to rewrite most of it). So what will the question be? That’s right – how much will it cost to fix this.
There are a lot of misconceptions about the cost of software development – or more specifically, product development. The good news is that the answer to this question will probably not vary much between the first two scenarios. The even better news is that the cost of these features may not be as expensive as one may think – as long as there is the right investment in the team and the process.
But first, let’s address the misconceptions:
1. Focus on a MVP alone.
When developing a new product, there is a ton of importance placed on reaching MVP, but the reason for an MVP can be lost in the process. The MVP should accomplish two goals: validate that the product makes sense, and start taking advantage of whatever market gap exists to quickly grab users and delight them.
But life does not end at MVP – this is where the journey really begins in earnest. And once you have grabbed those users, you better have a platform that is stable and secure to keep them happy, as well as the ability to deliver all of the additional features they will be expecting from you. If you look for the least expensive option to get to MVP, do not be surprised if you find yourself in scenario #3.
2. Build first, test later.
In modern software development, testing is an integral part of the entire process. Test engineers start building test cases as the user stories are being written and estimated. Developers often use TDD (test-driven development) that entails creating a feature by way of creating the test first, and in the process guarantees code coverage with unit tests for everything. Any delay in testing as a product grows in complexity will only increase the cost of defects found downstream. Bottom line: it costs more if you test later. Ask the company from scenario #3, who now has to pay double for quality.
3. We just need a couple of programmers.
Having a small team of expert programmers is fundamental to avoid scenario #3. But creating a world-class experience also requires great design, both visual and regarding how the user flows through the app. Without having some kind of design references such as wireframes or mock-ups, implementing these designs can take much longer and may not achieve the desired result. That is an example of one critical role in the software development process – not to mention testing (above), a true product owner (see below) and resources dedicated to the process itself (see #5 below).
4. The requirements are simple.
While any engineer knows that these are potentially famous last words, the devil is most definitely in the details when developing a killer app. Arriving at a clean, simple user experience requires that a team understands intuitively the vision of the product expressed at the lowest level, and a team will have a constant need to validate the implementation of this vision on a day-to-day basis.
In the world of Agile software development, this is a responsibility shared by two roles: a Scrum Master, who is responsible for overall productivity and resolution of any obstacles, and a Product Owner, to make and validate decisions that otherwise may leave a team spinning its wheels.
5. It’s just an app.
Building a modern software application means building a software factory. In that factory, there are people writing code, but also people automating all of the tasks that get the code shipped and in front of users. That entire lifecycle is known as CI/CD (Continuous Integration/Continuous Delivery). The goal is to create features as quickly as possible in a controlled way, while constantly seeking opportunities to improve. Having engineers dedicated to this process – known as DevOps, or Site Reliability Engineers – is essential if the app is going to live past MVP.
To answer the original question (how does it cost, anyway?), a simple answer would be this:
At the very least, you will need a focused team that includes the roles discussed above: obviously developers, but also people dedicated to testing, UI/UX design, removing obstacles and running the daily scrum, making critical product decisions and maintaining CI/CD (the “factory”). You may want to consider a technical leader, who will make key architecture decisions. A good rule of thumb that applies to almost any application would be a team of at least 5-7 working full time for 3-4 months to reach MVP.
At BairesDev, we have a proven approach that includes a Design Sprint with a core team that will guarantee not only a successful MVP but also a solution that will grow and scale your product.