Companies pay a premium of as much as 60% on time and budget when they use poor requirements practices on their projects. Being a startup with limited time, limited resources and very high risk of failing means that every development choice should be directed in the most efficient way.
Why Requirements are important in a Lean Startup?
I have personally read requirements that take 70+ pages to describe 10 features. This approach is used in a more Waterfall model. In a startup is preferable to use a Lean model.
So. Do you have to dump the Requirement Documentation at all? I don’t think so. For at least 3 reasons:
- The Documentation allows you to have an overview about everything that is about to be developed, and about what is live. This is in line with the See the whole Lean Principle.
- The Documentation allows all the teams (Marketing, Customer Support) to always be updated on the product. Sometimes it is not enough to communicate all the changes to the product with a simple announcement.
- The Documentation is the perfect starting point to plan Experiments on the product.
How detailed should your Requirements be?
I have read Requirements Engineering Fundamentals by by Klaus Pohl and Chris Rupp. This book ∼200 pages book is the material for the CPRE (Certified Professional for Requirements Engineering) Foundation Level certification.
I have summarized the most important concepts in few slides that I have shown here. I strongly suggest you to follow them as you plan your next features.
1. Collect all relevant data from all the interested parties
Here are some Software Elicitation Techniques. In plain words, how to make sure you’ve got all informations you need by all interested parties to write Specifications.
2. Structure your Documentation in a standard way
These are the minimum sections that should be contained in a properly written Documentation.
3. Avoid ambiguity in Specifications
Words can be interpreted in many different ways. Follow these rules to try to avoid any possible problem that might arise from text misinterpretation.
4. Use Models
Model Based Requirements have the advantage of being able to express complex environments in a simplified way.