I’d like to share some of my thoughts about lean product development based on the bestseller "Getting Real: The smarter, faster, easier way to build a successful web application" by 37signals, the company behind Basecamp and Ruby on Rails.
In good ol’ days there was a belief that ““the more you spend on planning - the better you’ll execute the project” (Demarco “Deadline”), “first gather all the requirements into a specification and then do development” (tldr version of Waterfall ideas). Do you think this actually still works nowadays?
Nope. Oftentimes, code is written without specs, and projects are getting redesigned and redeveloped, and they still rock! And if you ask yourself why - just think of the phrase:
“Good is better than the Best”
Remember - while you’re wasting your time on continual meetings, workshops and requirements, there is someone who’s is actually coding and testing, redeveloping and constantly improving their product. And this someone is your competitor!
So, let's scrutinize some lean ideas about how to build software fast. One of them is - stop planning *everything*: firstly - it’s just not worth it, and secondly - you will miss something eventually. Basically, don’t waste your time on problems you don’t have yet.
“People often spend too much time up front trying to solve problems they don’t even have yet. Don’t. Heck, we launched Basecamp without the ability to bill customers! Since the product is billed in monthly cycles, we knew we had a 30-day gap to figure it out. We used that time to solve more urgent problems and then, after launch, we tackled billing. It worked out fine (and it forced us into a simple solution without unnecessary bells and whistles).“ 37signals “Getting Real”
Then you need to realize - it’s a race and your business or startup idea is already taking part in it.
So, don't hesitate: skip details, take shortcuts, be faster and get your software running asap.
User stories, specifications, mockups, wireframes and even dynamic prototypes - they’re important, but not real; running software is real indeed.
Seeing something actual in work will lead to true product understanding and consensus within the team, without spending months arguing about small details on mockups or design, because they just don’t matter from a global perspective.
Another lean development idea is: Release - Get feedback- Patch it!
Usability testing and UI/UX analysis are sometimes just not even close to how real user will behave.
So, don't try to cover everything, get real feedback asap! And after you get it - improve your product based on that data. As Derek Sivers, president and programmer, CD Baby and HostBaby, once said:
1. Decide if it’s worth doing, and if so - just do it;
2. Do it quickly – not perfectly. Just do it.
3. Save it. Upload it. Publish it.
4. See what people think.
As such, change and test until user gets the best features they need to attain their goal / solve an issue with the help of your software.
While reading this, you might think “well, that's fair, but you’re talking about innovations you have to take advantage of in order to be Number 1 in your niche”.
Nope. Being lean and being real - it's all about being flexible. So, my advice is - Start small, then react and evolve by constantly improving your product: listen to your customer, and focus on the things they like.
The Market is changing and so should you!