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

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

This is the second part from the “User Stories Prioritization” article, which is part of my series of articles the Yin Yang of projects. To access the first part of this article just click here.

The Hybrid Prioritization Approach

Now that I’ve demonstrated each of the key prioritization techniques and how the PO or the Project Manager can benefit from each of them, I’m going to talk about the hybrid approach that I’ve developed to prioritize the user stories on my Product Backlog. Since it is a hybrid approach I have mixed some techniques to build my priority list.

The hybrid prioritization technique is simple and fairly accurate in defining our list. I will share my technique in 3 steps to facilitate your understanding. Keep in mind that it is very important that these steps are followed every time a new prioritization is needed (usually every Sprint). To demonstrate my technique I will use the same example from my previous article (Kitchen Remodeling). So without further delay let’s get down to business.

Step 1: Calculate the User Story weight

The first activity I do to prioritize my stories is to calculate their weight in the project. For this I create a matrix where the Y-axis are the User Stories and the X-axis the measurement categories. In the image below I show an example of how this matrix can be assembled using the MS Excel tool.

No alt text provided for this image

Note that in the example above the X axis has 4 categories: Probability of success, Urgency, Importance and Difficulty. For each of these categories a value between 1 and 10 is entered, so that we can weigh the value of each story. If we take a look at the Probability of success column, we can identify that the User Story A has a value of 1 representing a low degree of success in the project, whereas the H Story with value 5, represents a medium probability of success, but greater than A. It is important to understand that categories defined on the X axis are set according to the preferences of the Project Manager or PO and bear in mind that the more variables are used in this process the more precise the results of each stories will be, however more effort will be required. Particularly I use only two variables that I define as Value and Risk, just to keep it simple and fast. For the Value category I measure how much value that story adds to my Client/Project and for the Risk category their opportunities or threats.

After defining the weight of each story for each category I multiply its values and order from highest to lowest.

No alt text provided for this image

As you can see at the end of the table, I have inserted a column to sum (in Red) and one to multiply (in Green) just to explain that if I just added the values some results would come out repeated, such as in the case of Stories A and C

No alt text provided for this image

These repeated values can´t help me define which story should be executed first (A or C), and that is why I multiply all the values instead, since multiplying is more likely to provide a unique result. Also note that in the multiplication column I can come up with better and accurate results and by that I can now verify that the Story C has a higher priority than H.

Now that you know the basics lets exercise with our Kitchen Remodeling Example. You can find more about this example here, but anyway I will include the WBS below.

No alt text provided for this image

This was the planning we did prior to performing the prioritization activity. Now that I´ve showed you how to prioritize them let’s take a look at each one of the deliverables and analyze the Risks and Added Values that each one can offer to the project. These are the values that I came up with:

No alt text provided for this image

When analyzing the Values category, it is clear that the appliances are the deliverables that add the most value to the customer, since will be the customer most used itens and because without them we can not consider to have a brand new kitchen. Taking a look at the Riskcategory we can identify that the rewiring deliverable is the one that poses the greatest risk, since we can consider that the installed wires are very old and may increase fire risks if this work package is not delivered and there is also a need to update it so that we can install the new appliances propperly. After that we multiply and sort the deliverables according to the results from highest to lowest as followed.

No alt text provided for this image

Note that the new order ranks Rewiring and Plumbing as the most important deliverables and the first work packages to be completed in the project. Thanks to this technique of analyzing the Value x Risk and pondering each deliverable, we were able to discover what are the “real” activities that must be treated first. This way, the new WBS would be mounted as the image below:

No alt text provided for this image

Step 2: Classify each User Story.

The next step is to Classify the User Stories. I use the MoSCoW technique (as described in the Part 1 of this article). This helps me group together and get an overview on the importance of each deliverables. The way I define the importance of each deliverables is based on the matrix below.

No alt text provided for this image

For each calculated results in the previous step, I compare the value of the weight with the table above. For example, in the previous example we found out that the User Story Rewiring has a weight of 60. Looking for the value 60 in the table, we notice that it is categorized as Must Have. If we continue making these comparisons for each of the deliverables from the previous example we will come to the following definition.

No alt text provided for this image

By organizing and categorizing the deliverables this way I have a graphical view and better understanding of what work packages my custumer Must have in order to consider the minimum completion of the project. This activity also gives me a map to aid my decisions of what could be discarded from the project scope, in the event of any unforeseen changes, resulting in the least impact to the final value of the project. As mentioned in the example I used in the Hybrid WBS article, in case the customer can´t complete the project due to lack of time or resources and we can only deliver 6 work packages of the project, we can assure the client that at least all Must Haves will be delivered with success!

This is how the WBS will look like after the categorization step.

No alt text provided for this image

Step 3: List the Product Backlog.

Finally we´ve reached the last step of my prioritization technique, which is to assemble the list of user stories in the Product Backlog. Basically let’s grab the prioritized and defined items in the WBS and mount them on a list in the Kanban board or card management system that you use. Particularly I prefer to use the Trello tool, since it has a user friendly interface and it is very easy to use. The list should be mounted from top to bottom, following the sequence of the WBS from left to right as shown below:

No alt text provided for this image

As you may have noticed I like to use colored tags on the cards. It helps me to easely identify what are the Must Haves (Red Tags) and the Should Haves (Orange Tags) of the project.

After completing this step we can consider that the Product Backlog is defined and prioritized, ready to run the iterations and Sprints of the Project. Hummm Really…?

For some Product Owners and Project Managers this is enough to start the project, but not for me. Before starting my projects, I hold a final session with my team, which I like to call it the “Dependencies Session”. I use a Schedule Network Diagram technique within SCRUM timeboxes, but that’s a subject for my next article, so stay tune.

I hope you have enjoyed my 3-Steps Hybrid Prioritization technique and I appreciate if you could leave your comments and feedbacks about it.

How about you? What prioritization techniques do you use in your projects? What results and experiences did you get using my technique? Leave your comments and experiences and I will be happy to answer them.