3 weeks MVP challenge

Srivatsa Katta
Rapido Labs
Published in
7 min readJun 3, 2020

In my last blog, I spoke about some of the products we rolled out at Rapido in a very short span of time and with a small team of engineers. We had to do a lot of things differently from ideation, planning to execution, and launch to make it happen.

In this blog, I would be talking about some of the aspects of the entire product lifecycle we tweaked from our regular process that helped in achieving this.

At startups, one of the constant tussles between business and technology teams typically has been the pace at which the features are rolled out for customers to use.

Business changes quite fast and they naturally expect technology to support them in this fast-moving world, which is a challenging task for technology teams to meet their needs all the time. As systems grow over time complexity increases, teams have to constantly address architectural concerns to align with the long term technology strategy and that takes time.

As technologists, one thing we always have to strive for is to balance between the quality of the product we build and the pace at which we build. Leaning too much on either of these will hurt you as a technology team and the business in the long run.

Focus too much on quality, more likely you are taking chance on missing the market opportunity which is usually time-sensitive as building quality products takes time. Focus just on the pace of delivery we will end up incurring a lot of tech debt because of the suboptimal choices and shortcuts taken during design and development eventually compromising the quality and scalability of the product.

That got us thinking about how do we take on this challenge while keeping a good balance between long term strategy and short term needs. We took this head-on with a promise of a 3 weeks MVP (Minimum Viable Product) challenge.

Teams, Composition, and Working Model

At Rapido, the technology teams are organized as fully cross-functional teams with polyglot skills focusing on a specific domain of the business end to end. We have teams like payments, pricing, onboarding, and few other platform teams focussing on order management, dispatch, geospatial services, and so on.

Cross-Functional Domain Teams

Teams work in 2-week sprints to ensure we release features at frequent intervals and have quicker feedback loops.

Our app releases are also aligned with the sprints, which means a new app goes to the play store or app store every two weeks with new features, enhancements, bug fixes.

However, most often the percentage of enhancements of existing products are on a higher side than the new features. It has been a challenge to release new features or products within sprint time for the following reasons.

  • Most new features span across multiple teams and hence requires a lot of planning and coordination.
  • Product and design teams have to be always much ahead of the development sprint to ensure the two weeks are fully utilized for design, development, testing, and releasing.
  • High-level tech design and solution discussions to be done with all key stakeholders across teams.
  • Managing the priorities of each of the teams and identifying the cross-team dependencies.
  • Each team has its own stand-ups for things that they have signed up for and at the end of the sprint is where a lot of integration between the teams gets tested in fully integrated environments which are tricky to automate fully.

As you could imagine, these need heavy coordination and planning between teams to ensure the new feature is delivered with the utmost quality. Obviously this takes time and 2 weeks are rarely enough, hence most times new features always get spilled over beyond a sprint and takes multiple sprints before its completely functional and rolled out to users.

We realized, we had to do things differently if we were to succeed in this 3 week MVP challenge and tried a few things differently.

Tweaks In Our Delivery Methods

  • We identified a core set of skills needed across teams to deliver a product end to end and created virtual teams comprising of folks from every functional team and platform teams.
Representation of Virtual Teams
  • Developers did not wait for the fully vetted and complete designs or PRD (Product Requirements Document) instead, they had the product team brief the product requirements with the virtual team with LoFi prototypes to kickstart the discussions and gather feedback.
LoFi Prototypes
  • Apart from the regular functional team stand-ups, we felt there is a need for these virtual teams to sync up regularly to ensure integrations, contract discussions, cross-team dependency, changes in the requirements are all discussed just in time and resolved quickly. No more planned meetings to make decisions, it was this sync up calls which happen every day where decisions were made.
  • Product MVP features were broken into multiple milestones with well-defined drop dates. Milestones are focussed on adding increment business value to the MVP while covering end to end integration between systems. Every milestone was tracked in these daily sync-up calls to ensure teams meet the timeline, blockers are resolved, and released to a staging environment for testing.
  • Quality Analysts (QA) started testing the milestones and were quick to provide early feedback to the developers. Not just QAs, product, and design teams also started validating the product for its correctness and UX respectively way early on in the cycle.
  • Breaking down MVP into multiple milestones also helped in de-prioritizing non-critical features in case we can’t make it in time. And those are pushed to post MVP releases.
  • This milestone drops, post initial testing was showcased to all the stakeholders including respective business team counterparts to gather early feedback. This got us a business to appreciate how the product is getting shaped while it’s built and provided them an opportunity to shift gears if any without going through the entire planning, prioritizing exercises.
  • As the PRD and the designs are evolved and fine-tuned, daily sync-ups were used to communicate the same to the virtual team who in turn would incorporate if there are any changes in the immediate milestone drops.
Final Designs (Representative)

How did it all help?

All of these helped in speeding up the entire delivery process, yes it is not very different for a typical iterative agile process that talks about a cycle of discovering, defining, delivering, and repeating.

Just that :

  • We reduced the entire cycle to hours and days instead of weeks. There are times towards the end of the three weeks, every 3 hours a new app build was released to QAs after fixing defects for testing.
  • Virtual team creation and sync-ups amongst them helped a lot to minimize the communication gaps and eliminated never-ending planning meetings between teams.
  • Being flexible on cross-role handovers like Design > PRD > Development > Testing > Showcases and instead start with whatever minimal details available and have the respective teams fine-tune it along the process helped catch up on time.
  • The business showcases not only helped technology teams to gather feedback also gave a glimpse of how the product is evolving and what to expect from an MVP so that they can be prepared to take it to market.
  • Rapido as a business was able to meet the market needs at a rapid pace.

Well obviously, teams had to put in lot more hours than regular sprints to make it happen within three weeks. This may not be sustainable in the long run and most likely so. However, we started getting better at this as we delivered more and more MVPs with this approach. Started estimating better, prioritization got better, time management got better, collaboration got better, the challenge of 3 weeks got them to innovate on ways of working together for better.

Teams have been quite successful in delivering to that challenge of 3 weeks MVP and ended up delivering not one, not two but four MVPs (Rapido Local, Rapido Store, Rapido Corporate, Rapido on Super Apps) so far in the last two months and we have not stopped at it.

The challenge continues and it is only going to get better over time…

_________________

If you are interested in working on exciting products used by millions of users, join our Engineering team. Check out the link for open roles: https://bit.ly/2V08LNc or drop a note on LinkedIn.

--

--