Second post mostly aimed at business owners. As the previous about why I won’t sign your NDA, this is mainly a summary of experiences based on building various projects in the context of our upcoming MVP Labs (more on that later).
Software development is known to be pretty much a waste - as an industry, we are known to deliver late, badly and expensively. According to a McKinsey study, the mean software development project is 7% late, 56% over budget while delivering only 44% of the functionalities.
This is due to a lot of factors. One factor I want to clarify today is: “bad customer/developer communication” - and what you as a business owner can do to make my job easier.
Basically, we come from very different worlds. We both have our own jargon, expectations and implicit truths - as every business has. It means that explaining to me what you want is a very dangerous path:
For years, we tried to solve this using more detailed specifications - up to thousands of pages. Although well intentioned, this did fail in a quite spectacular way for various reasons:
While relevant in highly controlled environments, this process is most probably not what you want.
The Agile movement advocated a different approach, less based on solving the user/developer communication mismatch and more on ways to cope with it. The basic assumptions are as follows:
This leads to a simple (at least in its formulation) description:
The result of this is what we call a User Story - a simple template that describe a feature in a single sentence with the following format:
As a user category I want given feature so I can enjoy benefit
Some samples for a banking system:
As the format constrains you to a single sentence, it forces you to divide your big blocks into small ones. Not an easy process, but a very valuable one as the risk of misunderstanding becomes very low - and there is more:
Once you have your list of stories ready, you can write them on post-its or their digital equivalent, Trello. You do not need all of them to start the project. With the first 5-10, you can start.
Now is the time to prioritize them, and the best way is a simple order: move the most important ones at the top, and work down.
With this prioritized list in hand, you can come to a development team with a clear view of what you want. We’ll typically run through the list together, asking any question we could have. Barring any technical reason to reorder (I may need to develop the user Sign Up story before being able to do for example Saved Filters), we’ll then start working in order - taking the one from the top of the pile first.
Making my job easier is actually a good way to help me focus on what matters to you - hence delivering more value for your business.
51 rue Zeecrabbe 1180 Brussels
(+32) 486 899 652