Better Software - May 2008 - (Page 27) B ug triage is about making decisions about the fate of software bugs: Should we keep a bug? Should we fix it now? Can we fix it later? Can we live with it? What other choices do we have? What should we do next? I have implemented bug triage in every software project I’ve run since 1992. My inspiration in organizing bug triage comes directly from the world of labor and delivery nursing, which I learned about from my wife, Anne, a nurse at the birthing center of the Royal Victoria Hospital in Montreal. Anne has triaged hundreds of expectant mothers arriving at the hospital in anticipation of the childbirth experience. Labor and delivery triage is about deciding the course of treatment of patients arriving at the hospital. Anne must decide the course of action on the spot, often with minimal information guiding life-critical decision making. I apply the four basic steps of labor and delivery triage directly to bug triage: • Preliminary Assessment • Interview • Exploration and Observation • Taking Action Preliminary Assessment— Looking the Bug Right in the Eye! The labor triage assessment begins as soon as the triage nurse sees the patient. The triage nurse observes the patient: Can she talk? Is she agitated? Is she about to faint? Is she excited, anxious, or in any sort of trauma? Her first judgment is related to the urgency of the situation. Sometimes the patient needs immediate medical care, even before Anne knows the patient’s name—the baby will not wait. The triage nurse must be prepared for anything and remain calm despite the adrenaline rush. In some cases the triage nurse delivers the baby on the spot. It’s a job that has all the excitement of a TV drama. The triage nurse knows what to look for and is trained to recognize and act in response to critical situations. The bug triage assessment begins as soon as I see the bug. I take a good look at the bug: Will critical user tasks be blocked? Is the bug infectious? Will it break other things? Does it violate laws, regulations, or contractual obligations? www.StickyMinds.com Did we lose client data? Does this bug block us from doing other work? My first judgment is related to the urgency of the situation. In the preliminary assessment of bugs I look for those bugs that demand immediate action and then I initiate whatever course of action is required. In some projects I call this bug filtering. I cut out any paperwork or bureaucracy involved and get right to resolving the bug. When a bug demands action, I take action. To hone my preliminary assessment skills I have to study a lot of bugs. I want to avoid crying wolf and getting developers to start fixing a problem that is not really urgent. Knowledge gleaned from studying bug taxonomies is a great source of information. I always study real bugs experienced in similar projects. In order to get a good sense of the urgency of a problem, I try to understand the impact on the end-user of not fixing the problem immediately. The preliminary assessment helps trigger immediate action before going to bug review meetings or doing any further testing. Being prepared for a preliminary assessment includes a blend of knowing what to look for and knowing how to get things done. I make sure project managers, development leads, and all team stakeholders know that I do preliminary assessments and that I can sidestep bureaucracy in some urgent cases. In labor triage context is everything. The same conditions observed with a different context can lead to dramatically different results. One example is that of labor contraction timing. Imagine that a patient calls triage reporting contractions lasting sixty to ninety seconds with mild intensity and taking place every ninety minutes. If you knew that the mother had recently experienced a car accident, you would want to see her right away. If you knew the mother was just watching a soap opera on TV, you might suggest she call back in a few hours and take it easy. The triage nurse interviews the patient to learn about context. She asks questions that help identify the phase of labor the woman is in. Some basic information about the patient is collected: name, MAY 2008 BETTER SOFTWARE Interview— Understanding Context 27 http://www.StickyMinds.com
Table of Contents Feed for the Digital Edition of Better Software - May 2008 Better Software - May 2008 Contents Mark Your Calendar Contributors eLightenment Technically Speaking Code Craft Test Connection Management Chronicles Cover Story: It's A Bug! The Chivalrous Team Member Let's Talk Agile Product Announcements 10 Things You Might Not Know About... The Last Word Ad Index Better Software - May 2008 Better Software - May 2008 - (Page Intro) Better Software - May 2008 - Better Software - May 2008 (Page Cover1) Better Software - May 2008 - Better Software - May 2008 (Page Cover2) Better Software - May 2008 - Better Software - May 2008 (Page 1) Better Software - May 2008 - Better Software - May 2008 (Page 2) Better Software - May 2008 - Contents (Page 3) Better Software - May 2008 - Mark Your Calendar (Page 4) Better Software - May 2008 - Mark Your Calendar (Page 5) Better Software - May 2008 - Contributors (Page 6) Better Software - May 2008 - Contributors (Page 7) Better Software - May 2008 - eLightenment (Page 8) Better Software - May 2008 - eLightenment (Page 9) Better Software - May 2008 - eLightenment (Page 10) Better Software - May 2008 - eLightenment (Page 11) Better Software - May 2008 - eLightenment (Page 12) Better Software - May 2008 - Technically Speaking (Page 13) Better Software - May 2008 - Technically Speaking (Page 14) Better Software - May 2008 - Technically Speaking (Page 15) Better Software - May 2008 - Technically Speaking (Page 16) Better Software - May 2008 - Code Craft (Page 17) Better Software - May 2008 - Code Craft (Page 18) Better Software - May 2008 - Code Craft (Page 19) Better Software - May 2008 - Test Connection (Page 20) Better Software - May 2008 - Test Connection (Page 21) Better Software - May 2008 - Management Chronicles (Page 22) Better Software - May 2008 - Management Chronicles (Page 23) Better Software - May 2008 - Management Chronicles (Page 24) Better Software - May 2008 - Management Chronicles (Page 25) Better Software - May 2008 - Cover Story: It's A Bug! (Page 26) Better Software - May 2008 - Cover Story: It's A Bug! (Page 27) Better Software - May 2008 - Cover Story: It's A Bug! (Page 28) Better Software - May 2008 - Cover Story: It's A Bug! (Page 29) Better Software - May 2008 - Cover Story: It's A Bug! (Page 30) Better Software - May 2008 - Cover Story: It's A Bug! (Page 31) Better Software - May 2008 - The Chivalrous Team Member (Page 32) Better Software - May 2008 - The Chivalrous Team Member (Page 33) Better Software - May 2008 - The Chivalrous Team Member (Page 34) Better Software - May 2008 - The Chivalrous Team Member (Page 35) Better Software - May 2008 - The Chivalrous Team Member (Page 36) Better Software - May 2008 - The Chivalrous Team Member (Page 37) Better Software - May 2008 - Let's Talk Agile (Page 38) Better Software - May 2008 - Let's Talk Agile (Page 39) Better Software - May 2008 - Let's Talk Agile (Page 40) Better Software - May 2008 - Let's Talk Agile (Page 41) Better Software - May 2008 - Let's Talk Agile (Page 42) Better Software - May 2008 - Let's Talk Agile (Page 43) Better Software - May 2008 - Product Announcements (Page 44) Better Software - May 2008 - Product Announcements (Page 45) Better Software - May 2008 - 10 Things You Might Not Know About... (Page 46) Better Software - May 2008 - The Last Word (Page 47) Better Software - May 2008 - Ad Index (Page 48) Better Software - May 2008 - Ad Index (Page Cover3) Better Software - May 2008 - Ad Index (Page Cover4) Better Software - May 2008 - Ad Index (Page Survey1) Better Software - May 2008 - Ad Index (Page Survey2)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.