My company is starting on the build of a potential new SaaS product and I’ve been given the job of building out a Minimum Viable Product (MVP).
I’m excited, because it’s the first real project that I’ve been given ownership of and it really has the potential to be a long term success. It’s a great milestone in my new career.
However, we’re only a small company and there has been a bit of debate in the office this week about choosing the development ‘stack’ we should work with and how we should approach building the MVP.
One side of the argument is from the ‘business’ team —
This is just an MVP, lets build something as quickly as possible to get it out and start getting some user feedback. We’ll worry about the build later. If it gets some interest we can always rebuild in the future.
In contrast to that, you have the argument of the development team —
Lets build it right from the start. A solid platform to expand upon instead of something that needs rebuilding if it takes off! Lets not just bodge something together. We need to architect it correctly and start with a solid foundation.
As a junior developer, I’ve not been asked for too much input. I’ve just sat back and watched with interest. I guess, my opinion sit’s somewhere in the middle. Part of me does think we need to start out as we mean to go on. I don’t want to spend the next 3–6 months working on something, only to have to rewrite it from the ground up again.
On the other hand, I don’t want to over engineer something and spend the coming month’s building something that ultimately ends up going nowhere.
That begs the question — Is there a balance somewhere in the middle? Can we build something solid, but maybe with a smaller subset of the important features? Can we use technologies that are more flexible, that allow us to start small and easily scale later down the line? Can we use a subset of the technology ‘stack’ that the development team wants to use, instead of throwing everything at it from the start?
I’m sure that at a bigger company, there will be a process, a blueprint set out for building an MVP. But at a small startup, the only blueprint we have is opinion.
I’ve come to the conclusion that maybe we are simply over thinking it. Maybe the most important thing is to just get started, with whatever is appropriate for what we need...now.
Maybe it’s best to just let it grow organically over time. Surely the most important thing is to just to start building. If Mark Zuckerberg had started out building Facebook, with the plan it was going to be as big as it is today, would we even have Facebook, where would you even start building that?
I wonder, does ignorance, passion and determination spawn the best product rather than having ‘the perfect technology stack’. That’s something that I will definitely look into further.
Either way, I’m looking forward to starting building, it’s going to be an interesting few months!
By the way, If you have any experience with this and have faced a similar challenge, I would love to hear from you so please feel free to drop me an email or continue the discussion on twitter
If you enjoyed this post and are interested in similar stuff, check out my next post: Add Flash to Chromium on Ubuntu 16.04.
Want this and other exclusive content delivered straight to your inbox? Sign up for my newsletter 📰.