Categorizing possible improvements
As I have recently joined a new company I am currently interviewing (around 40) engineers, users and sponsors about different aspects of software quality. I have asked them what is going well and what could be improved.
This resulted in already over 150 possible improvements of which most are relatively unique. The overlap is small only 30 have multiple occurances. Some are high-level some are very detailed.
- We should make time for refactoring legacy code
- Usability testing is not structural and we are not critical enough on the UX
- Our process has not enough quality gates
Now I am looking for a strategy to categorize them and figure out what would be the most effective improvements to start working on. I am hoping some of you have done something similar in the past an can give me a good direction to get me onto speed in processing this data.
How do I categorize a big list of possible improvements to find the most important the quickest?
I would like to mention two hints.
- I never got in touch with planning tasks in a professional way, so my ideas are more like how I would do it.
- Thus, its difficult to give you a concrete list of methods to do it as well as having only few Information about the/your background (time, budged, Stakeholder, etc.)
I assume that you have some amount of time and budget that is not sufficient to deal with every single improvement on your list.
Start with categorizing them by their area within the system. For your three example you could do:
- We should make time for refactoring legacy code (coding/back-end)
- Usability testing is not structural (Usability/UX)
- we are not critical enough on the UX (Usability/UX)*
- Our process has not enough quality gates (process-related)
You will find more categories like front-end, testing, etc. That really depends of your domain or project. Furthermore you could create sub categories like detailed and high-level as you mentioned.
Afterwards, you have two possible options, actually.
- Start with prioritizing the categories or
- Start with prioritizing the single improvements within the categories
You would start with the first option if you pointed out during the categorization that there are some categories (or even a single one) with the majority of improvements. That can tell you, where in the system/project you have the most lacks. Maybe you will find a category that would give you the biggest ROI.
The second point is helpful, if you really want to implement single improvements that are critical wherever they are located.
Of course, the way of prioritize depends on several (unknown) variables and you have to make the decision what counts more. May you could find some answers here. For many points you can simply replace "requirements" with "improvements".
*Splitted your point because I think you have two improvements here.