Prototyping is essential in successfully blending Agile Methodologies into the enterprise software development lifecycle, saving your project time and money in the long run.
It always starts with an idea
No matter what size your organization is, or how large your budget is, all software projects start with “an idea”. Either you are trying to alleviate a pain point or envisaging an amazing opportunity for your organisation. This idea becomes conceptualised through internal research and workshops and then requires a business case to make sure it is feasible to start your journey. If the proposed solution is promising you will typically seek a budget for your idea so that it can progress into an actual project. The delivery is the next step and if well managed you will go to production. Finally and happily you will watch the realisation of the benefits that you have dreamed of.
Don’t budget before you prototype
But hold on! Before even asking a budget from your executives, boards or enterprise steering committees you need to know how much it will cost to materialise your idea, to build the solution you need. If your organisation does not have an in-house IT team, the classical way is to prepare a high-level business requirements document and shop around for a development partner. This will require preparing and sending out an RFP to potential development partners and vendors. Following this, you will receive quotes from the vendors for the full solution, or even learn how much it might cost to do a discovery phase. If you manage to get a small budget for requirements discovery phase, and you might get a detailed specifications document in few weeks which you can use to present back to your executive budget masters. You can ask for more money and promise all of the items in the document (at least the ones marked as MVP) will be delivered by end of this financial year or next.
When you think of the time and effort you put in, and all the rounds of presentations, vendor engagements, negotiations and budget hunting, something does not feel right here. If you are in business long enough and have seen many projects delivered or failed; you will know about changing and evolving regulations, requirements and feedback loops. You would also know the value and power of collaboration, creativity, innovation and visualisation.
Your development partner should be involved in the entire life cycle of your project, not just limtied to development and production.
Successful prototypes rely on collaboration
Agile manifesto puts great emphasis on working software as a measure of success and suggests collaboration should revolve around feedback and improvements. Would you buy a car from a catalogue without test driving it? Would you prefer to see a showroom apartment that gives you the feel of the one you will be buying? Would you buy a book without reading the back cover or brief summary? Perhaps, only if it is recommended, but most likely you would like to try it on first.
Software development is such a process that all different levels of human skills and thinking come together to deliver and realise desired outcomes. It is a complex yet fast-paced, flexible, adaptive and creative process. Quality increases only with collaboration; business people working along with developers.
The new mindset invites us to build a working prototype (not an MVP) of a solution through an agile process so that we can all see and feel it. We are intuitive beings, we will feel whether we are on the right track or not and through the visual components we can share our thoughts more effectively which ultimately drives success.
Benefits of working prototypes
With the process of creating a working prototype we will be able to:
- Clarify production costs and identify risks and issues earlier.
- Have a taste of how it would feel working together as a team and experience the collaboration aspect
- Evaluate the designs and possible journeys visually
- Demonstrate and sell our idea to the decision makers like C-level executives
Benefits of a working prototype
Along with Agile Development, this process can help minimise overall risk and allows the projects to adapt to changes quickly. How would it be like to present a working prototype of your project to your stakeholders and revalidate your business case? You will have much better understanding of the scope and the required cost. It will create trust and encourage openness. The board members will be able to visualise what you and your team are capable of delivering and with more confidence, provide the budget you’re looking for. You can also improve and clarify the requirements further through their feedback. The executives will feel included and hopefully excited about the potential outcomes.
I am not suggesting a throwaway prototype. We can call this working prototype as a mini MVP. Since you have built the foundations of a framework underneath and made that daring first step, your development team (or squad) will be able to hit the ground running and continue development once you get the green light on the budget.
What makes a good prototype
What makes a good prototype
For a project to meet it’s desired outcomes, a good prototype must:
- Be simple with good thinking and engineering practices in place. We are proving that we are capable of a good quality delivery even it is a subset of the identified MVP.
- Be integrated into other systems in our ecosystem and should be able to present real data. We must remember it is business people who would be evaluating proposed solution or product.
- Look and feel real.
- Allow stakeholders to take a visual user journey which promises to alleviate a pain point or realise an opportunity
The most important aspect of the prototyping method when combined with Agile development methodologies is that; if you have chosen the right agency or development partner from the beginning, it eliminates the time cost and delays between specifications and delivery phases. If you have chosen to just receive specification artefacts only without a prototype, you may not feel confident in what your agency is telling you about the cost and therefore go out for another round of quotes and negotiations. This is a costly method and slows down your timeline significantly. You will also lack the deep level of input from technical people and executives on the project at those early stages. Without a prototype, you won’t be able to get feedback from your end users early enough and adapt your requirements effectively.
Early engagement with all stakeholders with an agile approach is key to success. A prototype will be the central point of collaboration and enabler for it and is the most efficient way to know your partner and re-evaluate your relationship.