Digitization of Backlog Items Prioritization
Why?
In good old days, doctors used to do surgeries based on their own intellect, talent, experience and with the help of some standard operating procedures. In those days success rate was within acceptable range but there was huge scope of improvement was there. With the invention of new laser based instruments success rate of surgeries improved by leaps and bounds
In good old days umpire decisions in Cricket, Football (Soccer) was manual. That used to lead to arguments, controversies and discussions leading to huge dis-satisfaction amongst the fans. But, after introduction of third umpire (referee), accurate and error free decisions can be taken in complex situations.
Similar to above two situations, various agile frameworks tell us to do backlog (production, sprint, etc.) items manually. Scrum leaves it completely at the discretion of scrum team. Product owner based market demands and development team based on their experience influence this activity. Advanced frameworks like SAFe, LeSS, Nexus, etc. go one-step ahead and tell us who and how can make this prioritization. Some of the recommended methods are
1. Based on customer / market demand – When we are working on a project, requirements comes from your customer (e.g. project sponsorer) and visibility/clarity is better towards backlog items prioritiszation. Whereas, when you are working on a product development task is bit challenging as you get to know customer demands through indirect means e.g. from market surveys, trends, etc.
2. Based on inter dependencies of items – Always, basic and independent tasks take first seat while backlog prioritization and the tasks that have dependency on previous task or are dependent on other groups take back seat.
3. Based on value/returns generated – Higher the value/returns generated higher the chance of getting higher priority. But still depends to a great extent on inter-dependencies and cost of implementations
4. Based on investment required – If the investment towards implantation is justifiable and within the budget, task will be shortlisted first for implementation
5. Based on audience volume impacted – If the task is going to bring change in organizational process, volume of audience it is going to impact plays vital role. If volume is large then any small change needs to be done with extreme pre-caution and if development team is not capable or mature enough to handle that level of accuracy then the item takes back seat.
6. Using MoSCow – This method suggests to prioritize items based on their importance. Importance can be categorized as - must-have, should-have, could-have, and won’t-have. Method is quite helpful in simple and straight forwards scenarios but being subject fails to tell exactly how to categorize items and is not helpful where potential or political aspects are critical while prioritization.
7. Based on experience through prototype and user story map creation – When development team builds prototype they get fair understanding of what they are going for and with that experience they could categorize item more accurately for prioritization
8. Based on Weighted shortest job first (WSJF) method - This is mathematical way that is analogous to terminology of ‘picking low hanging fruits first’ while doing a big task or attempting easy questions first while taking an examination. Reason for following this approach is you reduce your dependency stack to a great extent with minimal efforts, boost your confidence by doing maximum % age of ‘work done’ in shortest period of time.
9. Team’s opinion (Planning poker, NGT) – As development team works day-in day-out on the project they have best understanding of the tasks in hand. As a result considering each and every team member’s opinion to table leads to lot of knowledge sharing, collaboration and harmony amongst the team. Leading to better accuracy in tasks prioritization.
10. Based on severity of impact – Yes if the severity of impact is high then the job takes back seat. Some of the examples of (loss of business, impact on critical business processes, etc.)
11. Based on Expert/Analyst’s opinion – This definitely matters as expert brings technical, as well as practical knowledge also are aware of latest trends in the respective domain area. Many of the experts are active members of communities related to product domain.
12. Based on Pareto Analysis - As per Pareto rule 80 % of the issues are due to 20%. So try to identify those 20% tasks that have maximum impact on delivery and give them highest priority.
How?
Now that, we have seen, being subjective not all the methods given above can be digitized, few of them need human interventions. However, as multiple factors play important role while backlog items prioritization, it is difficult for human brain to think about all of them together and come to the conclusion and there is fair amount of chance that some of the important factors may be left out. This may also lead to breach of organizational policies, standards, judicial or regulatory practices as new team members may not be aware.
To avoid this, machine driven of backlog items prioritization would be of great help. Organizations, teams can define various parameters and their weightages that affect backlog items prioritization as a template. Product/Project teams can further make amendments to these based on their requirements. When, product backlog is created system captures values of these parameters for each backlog item. Finally, system prioritization engine would prioritizes these items based on the values provided.
Product teams can further use this system generated prioritized list as a base line in the beginning and modify it based on current situation. System should have cognitive abilities to learn from these changes and apply those in future to improvise on prioritization.