Move Fast and Do It Right
What does it mean?
When I first heard it, I thought it made sense. You make a product fast, release it for your users to use, and fix issues in the next iteration. For something like a minimum viable product, MVP, this sounds pretty good; reach your users faster, validate your ideas and iterate to make it better.
I Disagree
You have this amazing idea. You spend the time and money building this product, marketing it, building excitement for the launch. Launch day comes, users use it, and it doesn’t work. It’s full of bugs.
What kind of impression does that leave?
What does that say about your brand?
Don’t forget, you are competing with other companies.
Do It Right
Lack of Experience on the Team
We need to be honest with ourselves and reflect on our capabilities as a team. A lack of experience on the team can hurt the success of your product. I’m not trying to say, “Hey, don’t hire junior engineers”, but more so looking at the team as a whole and understanding that there may not be a technical expert present that can guide the team.
A technical expert can guide the team, educate, and ultimately speed up the development process. Technical experts can formulate the best approach to solving problems within their domain. They can help guide others using proper architecture and set development standards that will increase the stability and performance of your product. Not only do you benefit from a product perspective, but the team as a whole grows from this experience.
Test It
This may seem obvious, but you need to test what you’ve built. Writing automated tests and manually testing the app are fantastic ways to test your product.
Aim to write tests for each feature you build. A good test should cover the happy path and possible errors. In the hands of users, many crashes or failures can show up for various reasons. We can’t expect users to follow an exact “happy path” when using our products. Writing tests lets us validate that the code we’ve written works and helps us confidently ship our code. Additionally, as you iterate, you ensure that new features do not break existing ones which saves time in the long run. Unit tests let us ship confidently and ensure our product works.
Manually test it. As a team, go through various test cases and check that the product meets your expected results. Try using your product and see if it works. Realistically, if you don’t like it, your users won’t. Your app is crashing? Well, it’s probably crashing for your users too. This is the closest we can get to simulating how the app will behave.
Prioritize Value Over Features
Your MVP should solve a problem and provide value. Any work that isn't adding value is delaying your product and should be de-prioritized.
Prioritize work around your core solution. Prioritize work to make your core solution easier for your users to use. Prioritize bug fixes to keep your app stable. Put your effort into adding value rather than “complementary features”.