Code Katas are well known in the modern software developing world. Short courses or programming tasks are implemented to improve coding skills by training and execution. But what is a requirement kata? Easy: a kata where the participants train their requirements engineering skills by experience.
Good requirements engineering is the key to plan, understand, document and implement requirements successfully. All contributors of a software project should have (at least basic) skills in requirements engineering, not only consultants and software developer in contact with the customer.
External expert trainings are time and cost intensive and its is often not possible to send all staff to these events. A less time and cost consuming solution is a requirements kata, where the participants only need about 30 to 60 minutes and no previous knowledge. The following blog will give some ideas for requirements katas and explain our experience with it (will be marked as italic text).
What you will need for a kata
- one or more experts in requirements engineering to moderate the event
- groups from 3 to 7 persons (some playing stakeholders – further called so – some playing consultants, also called so)
- one or more meeting rooms with a lot of space and free tables
- A pin board and a moderation suitcase with pins and paper slices
- a whiteboard and/or a pc with data projector
- a training subject
The training subject
A kata should only last 90 min at maximum. So when you search a use case, take one which is known to the auditorium or excogitate a new one with a moderate scope. It is important that the use case can be understood intuitively because the stakeholders must invent the requirements adhoc during the kata. It is not important, that the requirements for the training subject are understood all the same by the stakeholder. In real life it is also normal, that every stakeholder has a moderately different view on the software and that new ideas for the software come in mind during requirement determination process. In addition we will never implement the software and want to practice requirements engineering, the content on what we practice it, is secondary.
axenton training subject
We used our holiday planning tool as the training subject in one of our katas. With this tool, a user can manage his holiday (apply, cancel and review his days off) and see the days off from the colleaques.
The theme of the kata
Several themes are thinkable for a requirements kata. Mainly requirements engineering is associated with writing requirements and documentation. But also gathering the requirements from the customer and decide which requirements are valuable must be learned. In the following one potential kata theme is presented. Further are described in other blogs of the series.
Your own requirements kata theme
Naturally our requirements kata theme is only a suggestion. All practical experience which can be mapped to a micro cosmos (discussed and executed during about 60 to 90 minutes) has potential for a kata. If you experienced critical situations with a customer during a requirements meeting for example and want to share your experience with your team, create a similar scenario and train your team! Your team will learn valuable skills from you!
In the end
Make a protocol of the kata and take the gathered requirements and feedback down, so persons who missed the kata profit from the results. In addition it is good to use one training subject for several, consecutive katas. The results of this kata can be used as basic for the next kata.
Don’t forget to ask for feedback. This is the best way to learn for yourself. If you want to keep it short you might want to use the ROTI (return on time invested) method. Let each member decide if the meeting was the time worth or not. The member can decide from -2 (time waisted) to 2 (meeting was very rewarding)