3 Methods To Prioritize Software Development
In this material, JetSoftPro, a software development service, will look into different prioritization models and find out which one suits your business. Make this article your priority for today. 🙂
Prioritize Software Development Using the Eisenhower Matrix
One of the simplest prioritization models in software development, actively used in Agile development, is the Eisenhower Matrix.
Divide tasks into four categories:
- Important and urgent
- Important but not urgent
- Not important but urgent
- Not important and not urgent
Act according to the scheme shown in the image below.
Importance in this case is determined by the business effect that task completion will bring. The more the task’s completion benefits the business, the more important it is. Urgency is determined by how many important tasks depend on the completion of the current task. The more important tasks cannot start until this one is done, the more urgent it is.
Example:
You are developing a mobile app for managing a smart home: heating and cooling systems, smart appliances, burglary alarms, smart speakers, and other connected devices. Your backlog includes the following tasks:
- Fix the system’s connection with the internal system of the refrigerator.
- Fix the bug that causes the alarm to turn off for several hours once a day.
- Develop a new app screen for user feedback on malfunctions.
- Add AI object recognition to surveillance cameras.
Based on your situation, you assess task 1 as important but not urgent, task 2 as important and urgent, task 3 as slightly important and not urgent, and task 4 as not important but urgent (to keep up with trends).
Thus, your priorities are: 2 (complete) -> 1 (schedule for completion) -> 4 (delegate to contractors) ->3 (complete last).
In this example, we do not discard tasks. However, it is also important to do so in real projects because often many unnecessary tasks remain in the backlog simply because they have been there for a long time and you got used to them.
Prioritize Software Development Using Cost-Benefit Analysis
This method is similar to the previous one, but instead of urgency, the cost factor of task completion is considered. This is a good methodology for startups and companies with severely limited development budgets.
Evaluate each task in terms of costs to complete and the expected benefits. Priority should be given to tasks with a high benefit-to-cost ratio. Again, benefit means business efficiency that leads to increased cash flow.
Often, it is difficult to estimate the monetary effect of a single specific task. For example, if we are still making the smart home app, it may be unclear how much money a new feedback screen will bring to the company. In this case, first sort the tasks whose effect can be calculated more or less accurately — these will be the highest priority tasks. The rest can be grouped for calculation. For example, we combine the feedback screen task with the task of retaining users in the app, and here we can already operate with dropout rates and LTV figures.
Prioritize Software Development Using the Kano Method
The Kano model differs from other models with the factor of satisfaction. Any product has two qualities: objective engineering quality, which means the quality of parts, technologies, materials, etc., and subjective quality, which means how satisfied users are with individual product features. Thus, there are low-functional features that bring little or a lot of satisfaction to users, and high-functional features that also bring much or little satisfaction to users.
For example, in our smart home story, the task of scanning refrigerator contents and automatically ordering groceries can be a significant improvement in objective quality, but if this option leads to increased user spending on groceries, they will probably evaluate it negatively. This is a high-functional feature that brings little satisfaction.
In the Kano model, some features do not elicit any user response — this is the middle line of indifference. For example, adding operational capacity to the smart home system is a measure that improves objective quality, but if you do it on time, users will most likely have no idea about it and remain neutral.
Understanding the chart:
- Must-be — these are the basic features of the product, inherent by default.
- Performance — features whose level of implementation directly affects customer satisfaction.
- Attractive — something unexpected for the consumer, a killer feature with wow effect.
- Indifferent — features whose presence or absence has no effect.
Distribute your tasks across these four groups. To assess the impact of a particular feature on subjective quality, Kano suggests surveying your users and asking two questions:
- How would the person feel if the product had a certain feature (or some attribute was done well)?
- How would the person feel if the product lacked a certain feature (or some attribute was done poorly)?
Response options typically allow for assigning importance scores, for example:
How would you feel if your refrigerator automatically ordered food based on your consumption and stocks?
- I would really like it (1)
- I would like it (2)
- I don’t care (3)
- I would dislike it (4)
- I would really dislike it (5)
The simplest way to calculate using the Kano model is to count what percentage of respondents assign the feature to each group.
Use the Kano prioritization model in different ways. We suggest you prioritize software development in the following order:
- Must-be
- Performance
- Attractive
- Indifferent (if you are sure they are necessary at all)
Learn more methods how to prioritize software development here.