To develop software sucessfully it is important to know which requirements are important to the stakeholders. Depending on the result it can be decided which requirements will be implemented first or what is omitted because of missing budget or time. It is important that the resulting prioritization does not care about technical dependencies. Requirements on which others depend will not be prioritized higher.
At the beginning of the kata all participants will meet and the moderator will give a should introduction into the theme. For this, the priorization techniques are presented, so that everybody knows what he will learn in the kata. Afterwards the training subject will be presented.
The kata will be used to train different prioritization techniques. Groups from 3 to 5 persons are advised. Following techniques are suitable for a kata:
- NAF technique
- This technique is a creative method to prioritize ideas. Initially the ideas should get points (form 0 to 10) for following aspects: New, Appealing, Feasible. But feel free to use every aspect that seems to be helpful. On our own prioritization kata we used usability and feasibility.
- All the participants where called to give points for every requirement and every aspect of it. We divided the scoring of the usability through the scoring of the feasibility and got a scoring made for every requirement which results in an absolute order. If two requirements have the same scoring the one with the higher usability scores higher.
Scoring formula for the aspects new, feasibility and usability
absolute scoring = (new scoring +usability scoring + feasibility scoring)/3
It is important for this technique, that the group is not to big. Otherwise a lot of discussion comes up when the points are given. It is also important that the aspects are chosen by the importance to the customer. If the customer does not care about usability but wants to have a lot of features implemented the aspects must be chosen respectively.
- absolute categorization according to t-shirt sizes
- This is a technique to sort a list of requirements in the following groups: XS, S , M, L and XL. Every group get a count form 1 to 5 (so S for example as the count 2). Afterwards the requirements will be sorted into the groups by an aspect (for example usability or effort). In difference to the NAF technique no absolute order is given here by one aspect. Afterwards the requirements are sorted into the groups by another aspect. In the end, the count from the first aspect is divided to the count of the second aspect to get a score. This score is the value to sort the requirements in the end.
- It is possible, that there can not be found an absolute order but items with the same score. This would mean, that these items are equal. The customer must decided in the end which requirement will be scored higher.
In general both of the techniques leads to similar results and a good techniques to prioritize requirements. We think that following positive aspects come to account:
- The result can be created together with the customer, so he is involved in the first steps resulting in an effort estimation and can understand the estimation better
- Unnecessary and wrong requirements can be found during the discussion about the feature
- When a requirement is time consuming, this requirement will often lose scoring. When the prioritizationtechnique take several aspects to account, the feature will might be scored higher.
- The order is calculated, so no team member can change the order directly by discussion with the team.
There are also some points on the negative side:
- the group should not be to big otherwise the discussion is not productive
- Think about the aspects. Maybe two aspects are not enough. Keep also in mind that a feasibility of a feature might be role dependent.
- If the requirements are not clear enough, a requirement could be prioritized on the wrong position.
axenton training subject
Our agenda was like this:
5 min: presentation of the kata theme
5 min: presentation of the requirements to train on
45 min: Groups to train the priorization
15 min: Presenation of the results and feedback
For our kata, we used the requirements gathered in the requirements kata for determination techniques. We had a list of several requirements from basic features up to creative wishes. We made two groups. Both groups had the same task:
- Bring the requirements to an absolute order by need
- Group the requirements by T-Shirt sizes and give them a number
- Bring the requirements to an absolute order by feasibility
- Group them again by T-Shirt sizes and give them a number
- Divide the first T-Shirt size through the second T-Shirt size.
- Sort by this number.
- If requirements have the same value sort them again.
We found out, that two aspects are not enough. Another aspect might have been for whom this requirement will have a need. To many questions will come up, if the requirements are not clear at the beginning of the session. This might lead to different interpretations and so to different classifications. The order is calculated, so no person can influence the result directly. In addition this technique can be used easily with the customer.