The Yin Yang of Projects: How to prioritize user stories in hybrid project management – Part 1

Postado por admin em 11/Apr/2019 - Sem Comentários

Continuing the series on hybrid project management, I will talk about how to sort and prioritize user stories. In order for this article to not get too big and boring I have divided it into two parts being Part 1 to show the prioritization techniques, and Part 2 about how I prioritize and sort my stories using my developed hybrid approach. If you missed the previous article of this series (Using WBS in hybrid project management), just click here.

Tai Chi Chuan is a Chinese martial art consisting of sequences of very slow controlled movements. It means “The ultimate boxing” and there are a lot of confusions and misunderstanding about what Tai Chi Chuan is, what it teaches, and who it is good for. The general consensus seems to be that it is just an exercise suitable for older people. But others think it is some kind of mystical exercise that develops magical powers, or an odd martial art, or just a dance.

No alt text provided for this image

It is an integrated exercise designed for both the mind and the body, and in fact emphasises and trains the connection between them. A sequence of movements must be followed so that the student can take full advantage of the art. The benefits that Tai Chin Chuan offers help in health, meditation and martial art. The focus of the exercises should be according to the priority and objective established by the student, that is, for each type of goal (Health, meditation or martial art) a sequence of movements will be performed.

To be successful in managing hybrid projects the objectives must be clear and well defined. To achieve these goals the project manager must plan the execution flow in order to avoid wasted effort and time. As in Tai Chin Chuan, the beginning of the movements flow, to be performed by a student, must be according to his chosen objective (Health, meditation or Martial Art).

The best way to define the flow of execution is to establish an order of execution of the user stories based on what will add the most value to the project, since we generally can not complete all the requirements that the client requests us, due to time and resources be always limited. Just as it is not possible to attack all the stories at the same time, we need to figure out which one to attack first. The activity that defines what will be done first is called Prioritization of user stories.

“The man who moves a mountain begins by carrying away small stones.” ― Confucius, Confucius: The Analects

There are 4 techniques that helps us prioritize the user stories: Forced ranking, Categorization / Grouping, Voting and Buying a story.

Forced ranking

This is a simple technique that consists of analyzing all of your product backlog items and rank the User Stories according to the values that they will add to the project. This approach is always based on the perspective and expectation of the client, so it is important that he participate in deciding which story will be executed first.

No alt text provided for this image

To facilitate the decision and ordering, it is recommended that you review the stories in pairs. ie, pick story A and compare with B. Define which adds the highest value to the client and place it at the top of the ranking list. Then compare the other story with the next story C. Define which adds the highest value and place in the second position of the ranking list. Next take a look at the rank list and analyze the two top stories and decide which adds greater value. Keep doing so, until all the stories have been analyzed and compared. This technique, although simple, may not be as effective, since there is a natural tendency of the client to define everything as “essential”, making it hard to decide which story is more important, but it is a starting point to prioritize your User Stories.

Categorization / Grouping

No alt text provided for this image

For some teams, before you prioritize user stories you need to categorize or group them. Thinking this way we could categorize each User History as HighMedium or Low or even use the MoSCoW technique. MoSCoW is an acronym that stands for M – Must Have, S – Should Have, C – Could Have, W – Would or Won’t Have. Categorizing user stories, gives us a better insight into what is indispensable to the project and needs to be done first. In addition, grouping the stories in this way gives us a common sense of what might be out of scope of the project, in the event of any changes or delays in the project. A negative point in this approach is that even by categorizing, it is necessary to define and list which User Stories will be executed first, so doing a mix of forced ranking and categorization techniques can be a good solution.

Voting

Applying voting to User Stories prioritization is a fun and engaging way to get feedback on the priorities from the team or a group of stakeholders and clients. Voting does not mean that a decision is necessarily made, but rather it’s a facilitation technique to get dialogue going and see where a group stands on its priorities. Before any voting sessions make sure to fill in the context of each Product backlog items. Next, set up the process of voting with all the participants. This includes things like how many items are there total to vote on? How many votes will each person get? How many votes can each person place towards each item? Finally count all the votes of each item and separate those that have the most votes. Sort by number of votes and define which user stories will be resolved first. This approach is excellent for integrating the project team and all other stakeholders, but one downside is that engaging many people to vote in many stories can be very messy, so the presence of an organizer is extreamelly important in all voting sessions.

Buying a story

It is all about making decisions and choosing priorities based on a limited amount of money and more features than money can buy. Teams play “Monopoly” type of game as a group with stakeholders and with clients to understand the choices people make when faced with needing to spend on the functionality. Clients themselves typically do not have defined priorities and they want everything. So forcing decisions helps draw out why certain features are more valuable. This activity works as follow:

First step: As a PO or Project manager assign prices to each User story participants need to pool their moneytogether to buy items to put in the release. The price should be a best guess of development cost, potential value, or what you might even charge a customer

Seccond step: Define and distribute how much money each participant will have. Distribute between 40% and 70% of the money it would cost to buy everything.

No alt text provided for this image

Third step: Assign a “banker” to track what items have been purchased and to give people change.

Fourth step: Give 20-30 min so that each participant can spend all the money that was given to them.

Fith step: Separate all the features that have been purchased so they can run in the project.

This is a fun activity and brings very interesting insights together as a team. A drawback for this technique, just like others, is that it cannot help to provide a final decision process, but input to the decision-making. It provides insight on what various groups see as the priorities, but you can´t define which story will be executed first.

In the next part of this article I’ll share my hybrid Prioritization approach that I’ve developed with just 3 Steps. Stay tuned because this article is very interesting and I’m writting it with a lot of affection.

What did you think of the prioritization techniques presented? Do you use another way to prioritize your stories? Leave your comments and I’ll see you next Thursday in the second part of this article.