10 steps to create MVP in 6 weeks.

The Startup journey.

A startup is a very hard thing to do. Basically, because you have to do a lot of different things simultaneously: the business case, marketing, pitch, market research, design, competitors research, legal papers, a lot of communications and conversations, looking for talent … The mission is a lot easier if you have an outstanding team, that can organise and distribute tasks as a high performing team. But even for a team of passionate & perfectly coordinated fellows, it’s an extremely hard thing to do (I would say it’s almost impossible to get it right!).

Startup journey

The Journey becomes even more of a challenge if you are super tight with money and resources. Everything should be done fast and it should be done with one shot, no chances for mistakes. It sounds like a fantastic adventure, doesn’t it? That’s why it’s so rewardable when passion and perseverance get the results.

MVP

MVP flow

MVP is the Minimum Valuable Product, some call it the Minimum Viable Product and the emotionally intelligent amongst us call it the MLP, Minimum Loveable Product, for this story I’m going with Minimum Valuable Product. I like to hit the market with a product that creates value based on the real needs of people - a good place to build upon and finesse

Today people put a different meaning on MVP from what Frank Robinson initially defined in 2001 http://www.syncdev.com/minimum-viable-product/.

Some people even believe, MVP is not the real focus any more, perhaps not relevant:

But let’s just say, this MVP is the initial product, that creates tangible value for your customer. It could be a website, a whitepaper or a huge software platform. It’s the well thought out experiment that should be a solid foot forward into the market you’re wishing to enter.

Our 6 Week MVP Story!

At Madappgang, one day we met a real-life case of an extremely challenging startup mission. The entrepreneurial Mr.Donnavan, the founder of the Creator Connect project, wanted us to create an MVP in 6 weeks. The goal of the project, to give every artistic talent a platform to create, connect and collaborate at the press of a button. Here are the key requirements:

  • It should be native iOS app, to grow and scale fast and easily after MVP release the design was composed of 163 screens
  • Should provide real-time messaging communication
  • Should have a moderation tool to both control and block bad content and users
  • Should have an integrated payment flow
  • Should be able to create related graph data with mentions and hashtags
  • It should be done and released in 6 weeks

Project prototype

Lessons learned

This task looked like a 6-month job, not 6 weeks. But if you look at the first point in our foundation, you will understand, why it did not stop us. We deeply believe, that no case is impossible!

True to our beliefs we did it. It was notably hard, risky and challenging. And here are the lessons we learned.

Communicate a lot

It looks like a bad suggestion at first glance, but it’s not. Miscommunication is the main reason for failed projects. Proper communication in the team is number one and it needs to be fast and efficient. So what does it means to have good communication? Firstly the CEO/founder should be part of the team. We are using scrum methodology to move fast and coordinate our work, so we need to take the time to make sure theCEO/founder understands how Scrum works. One may think it looks easy: just move the tasks in the rows from left to right, but the problem is that it’s not that easy Scrum is a daily meeting, sprint planning, tasks estimation, retrospective meetings, backlog prioritisation and importantly it’s a rapid conversation to drive velocity. The founder should be on the same page with everyone on the team and be a real Product Owner. The Product Owner has a pivotal role in the Scrum process and to play the role, the CEO should understand the rules and meaning of every ritual. Fortunately, we have an amazing book to help us navigate, a fast and easy to understand guide to onboard non-technical people to the team. Scrum: The Art of Doing Twice the Work in Half the Time

Use technology for speed

Use technology for speedImageChoose different imageRemove imageAlt TextTitle

There are dozens of technologies on the market to help speed up the process. Just keep in mind, some solutions could be hard to scale after MVP, and some don’t fit each other. Think carefully, just don’t repeat your self for the sake of the familiar and likewise don’t try to reinvent the wheel. Be real, understand your project needs and listen to the experience of the team. The key technologies helped us to with this project:

  • AWS AppSync, GraphQL
  • S3 with CloudFront
  • AWS lambdas (Golang and Nodejs)
  • Identifo by MadAppGang
  • Invision

Prioritise the backlog

Spend time with the team and compose the backlog. The backlog is your pathway and the only way to measure your velocity. After 1-2 sprints you will find your pace, understand your velocity and will be able to predict release milestones. In our case, after the first sprint, we realised we needed 2 more developers to release the MVP in time.

Sacrifice

As a product owner, you will most likely believe that every feature is essential, more is more - but we all know that the most successful apps just do 1 or 2 things really well, less is more. Be ready to strip out the non-essential features for the MVP release. Just be honest with yourself, honest about the customer's real needs and listen to the team. Your MVP should not be perfect. The faster you get feedback from your users the better your chances to do something really valuable for your users. Your initial plan is just your prediction of what they need, the reality is always different. We removed a huge list of features to make MVP possible in 6 months:

  • No payments and payment flow
  • No ability to follow users
  • Simplify newsfeed
  • No notifications
  • Simplified onboarding
  • No pictures in real-time conversations
  • No sharing
  • No error processing (users see the developer-friendly errors :-))
  • A really simple image uploading process

Don’t scrimp on testing

We had a QA engineer on the project from day 0. She implemented UI automated tests, continuous integration and performed a manual test on each internal release. Unfortunately, the majority of people often skip the testing process for MVPs. Mostly because they think, testing is only about having a bug-free final app. The reality is quite a bit different. First impressions count. Referencing the Scrum book, there is an amazing story about it.

Don’t scrimp on testing

In Japan, companies such as Honda, Toyota and Nissan manufacture a luxury car on average every 17 hours. Whereas car Manufacturers in Germany, like Audi, BMW and Mercedes take 57 hours to make a luxury car. The cars produced by Japanese manufactures had on average only 34 defects in every 100 vehicles whereas German manufacturers were making cars with an average of 78.7 defects per every 100 vehicles. The difference is that when someone on a Toyota production line finds a defect, he will stop the whole production line and everyone will fix that defect together there and then. This method also gives direct feedback to the place where that defect was created, and a process can be put in place so it doesn’t happen again. Whereas at BMW, defects are fixed in cars after they come off the production line at the end. To back this up, Jeff also references research done by Palm which showed that if a bug in software is fixed after six weeks from when it’s found, it will take 24 times longer to fix it than if it got fixed at the moment it was discovered.

You have to compose a full team

Working within limited timeframes requires you to be as efficient as possible. Having external dependencies wastes a lot of time. For example, if you already have a premade design, and the team has started to implement it. And then you realise you are missing a screen, or you need to compose a new simplified version of the screen because you have stripped some functionality. You can potentially be blocked whilst you are looking for your designer, who could now be offline on a vacation in the mountains. So remember to keep all teammates together, at least while implementing an MVP!

Be ready for plan B

People are not machines. Don’t put all your eggs in one basket. Developers are people (sometimes it’s hard to believe :-)). They could have a change in personal circumstances, they could become ill, etc. So be ready to connect to other developers as a backup plan. At MadAppGang, we are deliberately involving substitute developers to perform code and peer reviews all the time. It' solves two problems. An external review helps us to improve the code and the project. Furthermore, if the main developer is not able to work for some reason, the substitute developer requires no onboarding time. She or He could jump in and start to write the code immediately.

Believe in yourself

Working in a stressful environment could be harmful to your mental health. Know yourself, understand your limits, your needs and understand leadership. remember if you stop believing in what are you doing, don’t expect the rest of the team to remain motivated. Support and help everyone, be a good example for everyone, be a leader. You probably have read or at least heard this iconic book, it may appear kitsch but some of the simple concepts work really well for me. Find your own source of inspiration and keep it up each day. Exercise, take cold showers, eat well, meditate, try gratitude rituals - they’re are amazing for staying strong under stress and staying positive. Leadership is challenging but it’s a great opportunity for you to be a better you! How to Win Friends and Influence People

Ho to win friends

Work hard

It sounds obvious. But there are a large number of cases when the teams (or part of the team), were keeping the same rhythm, to archive outstanding results. Everyone in the team should understand, to achieve outstanding results under such huge time pressures the whole team needs to agree to work hard from the start. I really appreciate our MadAppGang team who volunteered to sacrifice their weekends and free time, changed their schedules and pushed all efforts to deliver the MVP in time. It’s important to allow for natural balance, your team should feel comfortable that they can have downtime after pulling together and pushing hard.

Find good developers

MadAppGang team

Everything, we are talking about here, is really only possible with an exceptional team, a team who shares your idea has a good working process and have real team spirit and passion for their work. Ultimately if you create a good positive working environment for your team, you trust people, provide flexibility, allow humans to be human, then good people will come, create together, build together and stay together. Tell us about your startup journey and your learnings, what’s your secret for building awesome teams?! Please refer to our blog to learn more about choosing a good development team.