š§ agile monocle S01E05: Have you ever seen good requirements?
But we don't write documentation in agile, right?

So, this fifth episode is about requirements. Which is not, I assure you, a bad word.
Since most of you are probably calling requirements with the more agile term āuser storyā, letās call them with their original name: requirements.
requirement
/rÉŖĖkwŹÉŖÉm(É)nt/
a thing that is needed or wanted.
a thing that is compulsory; a necessary condition.
Things we are requested to do ā or that we simply want to do ā are the basics of our work, there are plenty of different ways to write them and even more ways in which not to write them.
Now, letās take a look about a few interesting things about requirements, why they exist, why we have a love/hate relationship with them, and why is that it seems that āwe donāt write things down because we are agileā.
Writing things down itās design work
Documenting is an act of design.
As much as we donāt want to over-engineer our software, we donāt want to over-design our product, so we should over-document what we are going to build.
Back for a bit to the Agile Manifesto.
āWorking software over comprehensive documentation.ā
This value does not state in absolute terms that in agile we donāt write documentations. Itās obviously put in relative terms.
It should be read as ādo not over-document your software and down use documentation as a measure of progressā, because:
āWorking software is the primary measure of progress.ā
Which, you might have guessed it, it doesnāt mean āwe donāt document anything, everā.
āThe most efficient and effective method of conveying information to and within a development team is face-to-face conversation.ā
This principle doesnāt mean āwe donāt write documentationā.
āWorking software is the primary measure of progress.ā
This principle doesnāt mean āwe donāt write documentationā ā but yes, at the third straight sprint where the only thing your team did was writing documentation (true story), I might get upset.
āThe best architectures, requirements, and designs emerge from self-organizing teams.ā
This one too definitely doesnāt read as āwe donāt write documentationā.
Now, you might be familiar with the fact that in agile we like to write user stories, which, I hope you start seeing a pattern, doesnāt mean that we donāt write documentation.
But what these stories should be about?
Have you ever seen a good story?

I want to start out with what I consider a masterclass about why writing down requirements doesnāt work as well as we think, and what to do instead. Just watch it and learn, itās pure gold.
In the agile world we grew accustomed to this:
As a < type of user >,
I want < some goal >
so that < some reason >
See, there are some inherent reasons why user story canāt work:
Most people ignore why the narrative format emerged over time (I beg you to watch that Pattonās class I linked above);
Most people ignore that you can write user stories in different ways;
Most people write user stories as requirements because itās easy to put specific solutions to very specific problems after the āI wantā and āso thatā.
Regarding user stories, itās by far more important to know the 3C concept that explains the real nature of stories:
Conversation: we had a conversation about it and, through a story, we pin down a summary of that conversation, in order to remind ourselves that we had the conversation, and in order to keep the conversations going;
Card: we have a place where we wrote something down, itās not floating in the air;
Confirmation: we use the story to reach an agreement about what ādoneā means (more on ādoneā later, because I think this is one of the most overlooked aspects of writing things down)
Getting side-tracked on the āwantā and āso thatā part of the user story by writing down specific solutions to specific problems itās a very common mistake: so focus more on the 3C and less on the story template you are using.
You can describe the goals you are trying to accomplish using you userās or your clientās point of view, or you can relax it a bit and focus on the job-to-be done, regardless of who really you are focusing on.
An alternative could be the customer personas becoming only ācharactersā. Focus more on the why and when, rather than on the who and what. Context matters.
One of the problems with user stories:
āSummed up, the problem with user stories is that itās too many assumptions and doesnāt acknowledge causality. When a task is put in the format of a user story ( As a [type of user], I want [some action], so that [outcome] ) thereās no room to ask āwhyā ā youāre essentially locked into a particular sequence with no context.ā
So if we start describing by motives, anxieties, events, situations itās more likely that weāll waste less time trying to define an āideal whoā. If the customer exists only in our head, they are going to buy our product with their imaginary money.
Try telling stories with āWhenā¦ā instead of āAs a userā¦ā.
Have you ever seen real user research?
I donāt. I might not have the longest career in the industry, but Iāve never seen customer personas based off a thorough user research process. Iāve seen a lot of super-fake personas based off brainstorming . Iāve seen a lot of people
A little user research itās better than no user research. Itās not that hard either, and I think that almost anyone can conduct some basic user research: give it a try, because, honestly, Iām a bit tired of seeing the same four or five customer personas popping up in different companies, projects and workshops, over and over again.
If you get the customer persona wrong the entire premise of your user story will be broken: you are always going to end up building something that doesnāt solve any problem.
You will be ādoneā, or āDoneā, but not āDONEā.
Are you ādoneā, āDoneā or āDONEā?
The three levels of ādone-nessā are a wonderful concept I heard a few weeks ago (around minute 5ā) and I think it can ultimately help us writing better user stories and requirements: I usually provoke teams with the question āIs it ādone-doneā, or is it just ādoneā?ā when the end of an iteration is reached, in order to invite them to reflect if what has been built is going to change someoneās life from the very next day.
But the three levels of ādone-nessā are a simple but superior way to tackle this:
done (all lowercase) it really means thatās a āready for demoā, and itās very often what we mean when we put something into the ādoneā column of our Kanban or Scrum boards;
Done (with capital D) means that the Product Owner and stakeholders are satisfied with the result of a sprint, but more often than not itās either just box-checking;
DONE (all caps) means that what we built itās really going out in the open and we are actually gaining measurable business value by it.
š§ Now, try this: pick up the latest user story that has been ādoneā by you team. Is it ādoneā, āDoneā or āDONEā. In the light of the three levels mentioned above, how could you re-write that user story in order to satisfy the āDONEā condition?
What do you see?
This newsletter is about a monocle, not about a monologue. I want to hear from you so if you want to ask about anything or suggest a topic, you can reply to the newsletter, comment here below, or send a request here. Iād like to make it as much interactive as possible. Donāt make me open a Slack channel.
See you next week, agile monocle episode 6 will be out on Monday, October 19th.
(header image: Glenn Carstens-Peters)
Create your profile
Only paying subscribers can comment on this post
Check your email
For your security, we need to re-authenticate you.
Click the link we sent to , or click here to log in.