👋 Hi, this is Gergely with a subscriber-only issue of the Pragmatic Engineer Newsletter. In every issue, I cover challenges at Big Tech and startups through the lens of engineering managers and senior engineers. If you’ve been forwarded this email, you can subscribe here. Bug management that works (Part 2)Making time for bug fixing, dedicated ‘goalies’, preventing bugs, and how to create a culture quality-focused culture which minimizes themHow do you deal with bugs in the software products you build? This topic is under-discussed, even though almost all software engineers deal with software bugs and regressions every week. We reached out to two dozen engineering leaders and software engineers to learn about current, cutting-edge approaches to bug management. In Part 1 of this mini-series, we covered:
In this second, concluding article on this topic, we look into what typically happens after the bug triage stage:
Related deep dives on this topic to check out: Thank you to everyone who contributed insights to this article: Anaïs van Asselt (senior QA engineer), Andrea Sipos (product leader, Felix Hageloh (lead engineer), Gus Fune (CTO), Hugo Valante (tech lead), Ignatius Nothnagel (Director of Platform Engineering), Ivan Tchomgue (People manager/product owner), Jason Diller (VP of Engineering), Jayesh Varma (Lead Android engineer), Marin Dimitrov (Head of Engineering), Matteo Galli (CTO), Maya Ziv (senior software engineer), Owain Lewis (Director of Engineering), Piotr Zolnierek (CTO), Neil Oler (senior software engineer), Rebecca Frost (QA leader), Rebecca Holm Ring (engineering leader), Ruben Weijers (engineering manager), Ryan Hanni (Director of Engineering), Serdar Biyik (engineering manager), Walter de Bruijn (Head of Engineering Productivity) The bottom of this article could be cut off in some email clients. Read the full article uninterrupted, online. 1. Create time and space for bug fixingFixing bugs when they happen is the single best approach, but unfortunately not always realistic. The next best thing is to ensure there’s enough time for engineers to fix problematic issues. Below are some approaches. Fix bugs on the goSeveral engineering leaders at smaller companies say their preferred approach is to simply fix bugs as they occur:
This approach seems harder to do at growing or large companies, where some bugs need several teams to fix them, or it’s unclear who owns a bug. Bug expiration datesA clever approach is to set expiration dates for when a bug should be resolved. The closer this date gets, the higher its priority. Ruben Weijers, engineering manager at TomTom elaborates:
Weekly ‘bug pickups’Ryan Hanni, engineering director at Ontra:
Time budgetsA common approach is to fix a percentage of devs’ time to be used for bug fixing on a sprint basis, weekly or monthly.
Ignatius Nothnagel, director of platform engineering at LocalStack uses this approach, but advises against sprinting:
Bug sprints and bug daysInterestingly enough, the approach of ‘batching’ bug fixing into a few days or a week can be hit-and-miss: either it works well enough to be a regular thing, or teams drop it because the outcome disappoints. Accounts of when it’s a hit:
…and when it’s a miss:
Another criticism of regular bug sprints is that they incentivize engineers to not worry about bugs day to day because they know there’s a regular event for dealing with them. This can reduce motivation to keep software tidy and bug-free at all times. Warranty sprintsA variation of regular bug sprints are ‘warranty sprints.’ These refer to spending a week or two on addressing incoming bugs and feedback about a freshly released feature. Figma similarly prioritizes bugs for newly released features, as covered in the “Fix all bugs for recently released features” section, but are more focused. Jason Diller, VP of Engineering at Arteria AI, shares:
2. Dedicated bug fixers: ‘goalies’At mid-sized and larger companies, a common approach to staying on top of bugs is for an engineer to focus only on bug-related work. This role goes by a couple of names: “goalie” is the most common one, as in a soccer goalkeeper. Other terms are “support engineer,” “being on bug duty”, “bug duty officer”, “first line”, and even “bug trooper”... Subscribe to The Pragmatic Engineer to unlock the rest.Become a paying subscriber of The Pragmatic Engineer to get access to this post and other subscriber-only content. A subscription gets you:
|
Search thousands of free JavaScript snippets that you can quickly copy and paste into your web pages. Get free JavaScript tutorials, references, code, menus, calendars, popup windows, games, and much more.
Bug management that works (Part 2)
Subscribe to:
Post Comments (Atom)
Bug management that works (Part 2)
Making time for bug fixing, dedicated ‘goalies’, preventing bugs, and how to create a culture quality-focused culture which minimizes them ͏...
-
code.gs // 1. Enter sheet name where data is to be written below var SHEET_NAME = "Sheet1" ; // 2. Run > setup // // 3....
No comments:
Post a Comment