We spend a lot of time in SUMO filing and working on bugs and roadmap items. This is a quite complex process that can sometimes be confusing to a lot of people and raises questions around how things are being done.
This blog post intends to provide more information around bug management and prioritization that will hopefully clarify some of the questions and make the process a bit more transparent.
Ready? Here we go!
Currently there are 2 developers working on Kitsune (with Ricky leaving, this will probably be reduced to 1 dev until a replacement will be found).
25% of development time is used for what we call “paper cuts”: small features and bug fixes, anything that can be done fairly quickly and doesn’t require a long time.
75% of development time is used for roadmap items. Roadmap items are those features or bugs that require more planning and are large enough that will require several sprints to complete.
Anything that can be done quickly will be done as a 25% time. Everything else needs to go on the roadmap.
All bugs are going in sprints. If you want to see what are the bugs that are currently being worked on you can follow the sprints here: https://sumo-ernest.herokuapp.com/project/support-mozilla-org
How is prioritization being done?
There are two steps when doing prioritization.
First step: champion prioritization
It is the area champion who does the initial prioritization. He or she will have to assess the bugs that are filed for his area and decide which are the top priority ones. He will then push those ones to development.
Currently there are around 700 bugs in the SUMO backlog so looking at all of them is a bit difficult but we’re getting there :)
Second step: project manager prioritization
After champions choose which bugs they want to push for development the project manager (Kadir) needs to do a second round of prioritization. That means that he needs to look at all bugs that are being pushed, get some estimations and decide what goes first, what needs more details etc. If in the first stage the prioritization was done at area level (for example comparing L10N bugs between each other) at this stage the prioritization is done across all SUMO areas. That means that all KB, Forum, L10N, AoA, Search, Mobile, Users and Groups etc. bugs are assessed against each other. There is no quota for each particular areas, whatever is most important goes first no matter what areas it belongs to.
How are top priorities being chosen?
Normally there are two main things that are being looked at:
- how many people is this impacting
- how strongly are people being impacted
Unfortunately when it comes to prioritization there is no hard and fast rule and no perfect process. There are many things to be taken into consideration like the amount of work that is needed, developer availability, UX needs etc so sometimes the Project Manager will need to make harsh judgement calls.
However breaking issues will be tended to right away. Normally things break only when we change something in the code (like a new feature being implemented) so they are part of the roadmap items time.
To make things easier, SUMO Admins are now using a spreadsheet where they enter the bugs they want prioritized. This will make it easier for Kadir to decide which bug will go into which sprint. You can view the spreadsheet here: https://docs.google.com/a/mozilla.com/spreadsheets/d/1BGULIZZxFv54EcVoBo1IGPzsjlOsuUB-0CnaU_oJjjQ/edit#gid=0
Normally if a bug makes it to that spreadsheet it means it will be done, it’s just a matter of when (some will take longer then others depending on what the priorities are).
After bugs are being prioritized they go into sprints. What goes in each sprint is based on estimations (i.e. how much effort individual bugs would take) and how much dev time is available.
How to file bugs and feature requests?
Make sure that in your bug description you touch the following points:
- What problem are we trying to solve? (why are we doing this)
- Who are we trying to solve this problem for? (target persona/impact)
- How will we know if we succeed? (what is the outcome we are hoping for)
Feature requests are generally better to be discussed in the community forums first to get a feeling on what is it exactly that we want. Bugs that contain feature requests that are a bit fuzzy and require discussions are more difficult to prioritize. It is also a good idea to try to estimate how big of a job this is, features or bugs that require a lot of development time but have a low impact are unlikely to get prioritized any time soon.
The more clear we are about the impact that our feature will have, the better. The more data we have the easier it will be the area champion to prioritize and push your bug to development.
I never know which changes are happening and I’m sometimes taken by surprise, where can I get more info?
All changes, features, sprints are being discussed in the Platform meeting, every Thursday at 9 am PDT in the SUMO Vidyo room. The meetings are recorded so if you cannot attend, you can always watch the meeting afterwards. If there are specific bugs are features that you want to discuss simply add them to the agenda. You can add them even if you cannot attend the meeting live, just make sure you provide enough information and context so the people present can address your questions. More details about the meetings can be found here: https://wiki.mozilla.org/Support/KB/Meetings
That’s all folks! I hope all this information was useful and helped making the whole process a bit more transparent. Should you have any questions or concerns feel free to leave a comment, drop an email or discuss in the community forums. And don’t forget to bookmark some of the useful links below!
The SUMO Roadmap is listing all the big items that are being worked on during the quarter:https://trello.com/b/lo2NBhas/sumo-roadmap
If you want to see the bugs that are currently being worked on check out the sprint page (it lists the current sprint and the previous ones): https://sumo-ernest.herokuapp.com/project/support-mozilla-org
If you want to see bugs that are being prioritized per SUMO area, you can check this doc (work in progress): https://docs.google.com/spreadsheets/d/1BGULIZZxFv54EcVoBo1IGPzsjlOsuUB-0CnaU_oJjjQ/edit?usp=sharing
SUMO Platform meeting: https://wiki.mozilla.org/Support/KB/Meetings
More info about sumodev and the sprint process: https://wiki.mozilla.org/Support:Sumodev