One of the most common mistakes with user stories is to expect business stakeholders to fully define the scope. By doing that, delivery teams are effectively avoiding the responsibility (and the blame) for the ultimate business success of a solution. Although there are many reasonable arguments why this is good, there is also a huge unwanted side-effect: the people who are inexperienced in designing software products – business users – end up having the ultimate responsibility for product design. Unless business users have detailed knowledge of the technical constraints of your product, an insight into current IT trends and capabilities, and a solid understanding of your architectural choices, this is not a good idea. I can write a whole book on why this is a bad idea, but Anthony Ulwick beat me to it – read What Customers Want if you need convincing. The end result is often technically suboptimal, with lots of technical debt because things need to be hacked in, error-prone design and a huge waste of time and money on maintaining overcomplicated solutions.
The cause of this problem is a common misconception of the stakeholder role in agile delivery methods. The Product Owner or the XP Customer should be responsible for deciding what the team will work on. But deciding isn’t the same as defining, and this is where the things go wrong! I strongly believe that getting business stakeholders to design solutions wasn’t the original intention of user stories – but many teams have fallen into this trap. If this situation sounds familiar, here’s an experiment that can help you fix it: