In the enterprise world, there are more tasks to be done than tasks which could be done in a timely manner. So to choose which of them we can complete and what features we can deliver we should have plan and priorities.
Quality Attributes
The idea for this post came to me when I was watching Introduction to Software Architecture by George Fairbanks. He mentioned a good way to make math works for you when you need to work with quality attributes.
[H,M]
George suggested using three grades L, M, H (from low to high) and two properties - the first one is Business Value and Implementation Complexity as a second one. In result, any feature which you plan to implement and to deliver can be estimated as [H,M] or [M,H] etc. This remembers me another man with partially the same idea.
Risks
This was @yegor256 and my favourite article on his blog where he described a method with two properties and ten grades to measure risks. It's one paragraph about that, please just read it.
--Divide-- Measure and Conquer
So I will try to generalize this approach and map it into enterprise routine of planning and issues prioritization.
George's formula can be transformed into V * C where V is a business value or "priority" from a customer perspective, C is system complexity or implementation complexity which can be examined from Jira issue for example. You have priorities (Blocker, Critical, etc.) and this is V, you also have estimations and this is C. Multiplying, sum or another function between them will provide a measure by which you can sort your Service Requests and understand which of them should go first and you can make a plan with due dates and this is very important thing to the customer.
In combination with Yegor's combination of probability multiplied by impact, you can also plan and prioritize risks mitigation.
It was a map part, now just reduce and you will have a sorted set of incoming tasks which could be spread across your team to solve.
Thanks for reading - keep calm and develop software!
Top comments (0)