Agile stories, architecture, and religious processes

In his article titled “Stop Telling Stories“, Jim Bird highlights many points that have always made me uncomfortable about agile user stories, as well as describing how their usage came about. For those who are not aware, user stories are intentionally short description of what a user needs out of a system and why it is needed. Instead of detailed requirements for a system’s feature, they are often a short sentence that is then used to elicit more detailed information from a user (or product owner, but there are some concerns about “product owners” as well).

The section about “Don’t Get Hung Up on User Stories – Do Whatever Works“, addresses a particular case of one my generic pet peeves: blindly following what some experts/process tells you is the right thing to do as part of your process (see my blog entry “Culture eats process for breakfast“). I especially liked the quote in the referenced blog entry:

“stories are not enough. They are just one tool, a usage view. There are so many more options”
(Scott Ambler, Agile 2013 conference)

A process is not a religion, you are allowed to adapt it to your own culture and environment, and it must be subject to constant validation, just like it is stated in the last agile principle (which I still think Wikipedia got slightly wrong…) – regardless of what your guru/consultant/spiritual adviser tells you!

The other undertone of that blog entry is about the completeness of the product requirement if one only looks at user stories. Users stories can help you elicit the users’ needs (although you still have to be careful to differentiate their needs from their wants…), but it is not the whole story. How do you address non-functional requirements in user stories? How do you address existing architectural constraints? Note that these are not limited to user stories, but many of the agile (or “Agile”) processes, except for the Scaled Agile Framework, sometimes seem to ignore this. I would also recommend you read Philippe Kruchten’s take on Agile Architecture for a very opinion on that topic!

It’s good to see that in these cases of quasi-religious adoption of processes, there are still some critical thinkers out there!