MVP: or, WTF is a minimum viable product anyways?
I recently saw a tweet that bothered me. It implied that if you wanted to build a car, the better, more agile way to work would be to build a skateboard, then a scooter, then a bike, then a motorbike, and finally: a car.
I have a lot of problems with this kind of thinking.
Like, a wheel is not that useful, that’s true, but you can’t really act like building a car was first done successfully by a … skateboard manufacturer using iterative development as their process.
First of all, all of these means of transportation are currently in use by different users, right now, today, all over the world. From third world countries (ok, maybe not skateboards) to the first world.
Second of all, if you can show me an agile team that can build and deliver to business stakeholders a completely different transport mechanism every one or two weeks, I guaran-fucking-tee you that agile is a waste of their insane skillset and ability to “crush it”.
Please show me the wild ass marketing plan you have in place to support targeting a totally different user base with different needs every sprint.
Here is a way better metaphor:
So how do you “agile”? Since you have to, because it’s an aging buzzword and your job finally decided to get on board.
- Start small, and get smaller. Keep slicing the bullshit and the shiny new that tends to distract both business stakeholders and the team itself.
- Add value every sprint. What does this mean? This means that what you aim to deliver at the end of the sprint is a) accomplishable and b) an improvement. Yeah, sometimes you add oars, and realize people are too lazy for that, so you get rid of them. That’s fine. That’s part of the process.
- Don’t pivot wildly from one sprint to the next (e.g., don’t try to build a whole new product as fast as possible because the business stakeholders have no fucking clue that a car and a bike serve two completely separate user bases and are two completely separate things).
- ADD VALUE EVERY SPRINT
We’re gonna need a bigger boat.
Don’t try and build the bigger boat before you need it. Get your users floating first. Get them going faster. Get them a more reliable way to go fast, no matter the external circumstances (backup generator, more sails, whatever).
Add a back up generator. Add knot proof, untieable ropes or something. I suck at sailing, you should probably have a sailing expert on your agile sailing boat team.
And then, if you find jaws, build that bigger boat.