Every adventure starts with a great idea—no matter whether it’s going on a holiday, organizing a barbeque, or even starting a company. Whereas some of those adventures have minor impacts on the people involved, starting a company is usually a long-term commitment. It is, therefore, paramount to have a way to establish the viability of the idea reasonably fast. That’s where the benefits of rapid prototyping can come in handy.At least, for us, at Innovo42, that’s the way it went.
When we started Innovo42, we had a clear mission: to cut through the noise of inefficient expense and invoice management and empower businesses to have more efficient workflows. In other words, we wanted to create a solution that allowed businesses and people to automate and digitalize expense and invoice management processes that consume too much time and resources.
But to convert an idea into a product, the ability to try out different varieties is a crucial factor. And that’s where the whole fast prototyping story comes from.
Before I delve into the details, let's start from the beginning.
What Is Rapid Prototyping All About?
Rapid prototyping is a software development process used to validate if a product will, indeed, solve the problem that you intend it to address. The prototype simulates a few aspects of the final product, allowing the users to interact with it and provide feedback.
The cool thing about this is that by collecting feedback at an early stage of the development process, you’ll reach one of three scenarios:
- Your idea is worth pursuing and, thus, you should invest time and resources on developing it.
- Your idea is good, but there’s still room for improvement.
- Your idea is just a bad idea and should stay that way—in the realm of ideas.
The biggest benefit of including a prototyping phase in your software development is that it allows you to test business cases before focusing your efforts on developing the product. This way, you:
- Incorporate changes faster.
- Minimize flaws.
- Save time and money.
The Importance of Rapid Prototyping: The Case of Innovo42
When we founded Innovo42, our plan was to create a machine learning app that processed unstructured information. That was the concept, but we didn’t have a complete end-product idea yet. So, when we started looking for the best method to develop a product that would truly reduce the time wasted on managing expense and invoice workflows, we knew our approach had to include:
- The ability to transform ideas into solutions by building and validating prototypes fast and in different variations to test our product.
- The agility to adapt to an ever-changing environment rapidly, while ensuring that the overall solution could be maintained, without adding unnecessary complexity.
- The operational effort to maintain the solution every day, which would impact the operating cost and, implicitly, the profitability.
And here were our options.
1. Outsource Product Development
A common approach is to define certain parts of the idea in-house while outsourcing the development. In our case, after having a few meetings with potential vendors, we quickly realized that outsourcing might work for an organization that intends to enhance a clearly defined and scoped solution, but it poses significant issues for a startup that needs to adjust to customer demands fast.
The major drawback is that in the ideation phase, there is no clear scope and definition—and if there is, it may look rather different in the next iteration. Additionally, it can be challenging to communicate ideas, which are mostly based on a business-relevant topic, to an offshore development center, which is mainly focused on technical issues.
2. In-House Development Team
The other obvious option is to build an in-house capability to handle the development of products. The main advantage of this solution is close collaboration during the entire product development lifecycle. This enables an iterative innovation process that helps turn an idea into a product.
However, the main issue is obvious: cost. Furthermore, it quickly opens a startup up to the risk of losing a key person on the development team. This is particularly the case in the beginning when there is just no time and resources to have enough redundancies, and it can potentially lead to a dangerous brain drain and permanent loss of knowledge.
Another point of concern is the maintenance of the overall solution. Taking care of the overall monitoring and deployment between development and production environments can require significant operational resources.
3. Low-Code Platform
A not-so-obvious option for a startup is a low-code platform. This option has some similarities to an in-house development team. It keeps the core development in-house while the low-code platform takes care of standard functionality, simplifies integration of third-party services, and applies best practice UX standards.
Another great feature that led us to consider a low-code platform was the ability to test ideas directly on the platform and prototype new solutions faster. The same advantage applies when enhancing existing solutions. The other big plus is the fact that operational tasks are taken care of by the platform itself. Best practices are out of the box for security and certifications, while maintenance efforts are reduced significantly.
Of course, the major disadvantage of low-code platforms is the base price, which can be high for an early stage startup.
After evaluating all the options, our undisputed choice was to go with OutSystems low-code platform, even though we did not see many other startups adopting this approach. The capability to convert ideas into workable prototypes at a speed that would otherwise not be possible was a decisive factor.
One of the main drivers is our strong belief that innovation cannot be outsourced.
Another key benefit for us is the standardized and fully automated operational processes of the platform. This significantly reduces the time to deploy prototypes and product enhancements while ensuring the integrity of the overall solution. And the effort required for monitoring and running the platform is reduced to a minimum, which frees up time for other activities.
Innovating with Low-Code
With OutSystems, we’re able to quickly validate new ideas, move them to the next stage if promising, or drop them if not feasible. Whenever we have an idea to improve our product, we start by prototyping it and talk with some potential customers to validate the business case.
Not all ideas are good ideas. With low-code, we can create something very fast, and if the prototype doesn’t pass the validation phase, we put it aside and save our resources. I can tell you that we had 10 to 15 apps we tried out but then decided to not follow through with them. That’s the big advantage of fast prototyping. It allows us to keep our costs under control as the running cost of the overall platform becomes scalable and predictable.
Then, with the speed of low-code development, we can quickly transform that workable prototype into a real, final product. So far, we’ve built five to six apps, including Innovo Xpense, our web and mobile expense management software, which uses ML, natural language processing, and data.
Having worked with a low-code platform for quite a while, we have had a very positive experience so far. It allows us to quickly validate new ideas, move them to the next stage if promising, or drop them if not feasible. It also allows us to keep our costs under control as the running cost of the overall platform becomes scalable and predictable.
One danger I see is that due to the ease ideas can be converted to prototypes, the focus can be lost. This needs to be addressed by operational means, but in a way that does not reduce initiative and innovation.
Overall, if a startup has the relevant skills to use a low-code platform to bring their ideas to a solution, I recommend considering this approach seriously. For us, it had a massive impact!