Battling Bugs: A Glimpse of “VB War” by Irene Fan
Since the Whidbey product cycle is winding down, it’s time for “VB War” – the process of reviewing every bug and determining which ones are to be fixed. Each of us Visual Basic Explorers got the chance to experience it firsthand to get some idea of what such meetings are like. Microsoft has implemented “triage” and “ship room” procedures that make sure only the most important bug fixes are incorporated; every code change, even if it’s just one or two lines (as are most of the bug fixes at this stage) could potentially break the product. By finding a good balance between bug-fix priority and code-breaking risk, the Visual Studio group can bring about the best possible product quality within the given time deadlines.
Why is it okay to knowingly ship bugs with a product?? Well, as I learned, it is virtually impossible to eliminate 100% of bugs in an application as large as Visual Studio. Also, the remaining known bugs are almost all very, very trivial ones. If code changes were permitted all the way up to the last minute, the deadlines would get pushed further and further back and nothing would ever get released to the manufacturer (referred to as “RTM” in this acronym-filled company).
Triage and ship room start many months before the product is to be shipped! Visual Basic bugs are first brought to triage in the morning, and the ones approved there are brought to ship room for final approval (or rejection, as the RTM date approaches). I shadowed the Visual Basic PM in charge of triage – Shamez Rajan – for a glimpse of these daily meetings.
Despite rumors about the fear factor in such “wars,” I saw no bloodshed while I was shadowing. (Then again, they say things change as the end of the product cycle approaches…) First, Shamez sat with Eric Knox, a developer lead, and David Guyer, a QA lead, as bugs were presented and reviewed. While Eric and David handled the code specifics, Shamez had to consider customer scenarios, and together the three of them lay down a final verdict for each bug. Ship room was similar – triage representatives from all the groups in Visual Studio presented their own bugs. When it came to my turn, I introduced myself and explained the two bugs Shamez gave me without trouble (thanks to his thorough notes).
I knew a couple thousand people worked on Visual Studio, but the fact didn’t really hit me until I saw so many representatives from all the different groups. The highlight of ship room was when one guy brought in a tray of cupcakes because he “really need[ed] to get this thing approved!” After this meeting, I had more of an idea about the size of the Whidbey project and was really able to see the importance of triage and ship room. I enjoyed shadowing Shamez, and I think it would be interesting to sit in on another meeting later in the month when every step is even more pressured and crucial, so I can see what it truly takes to finish a product cycle successfully!
(posted by Irene Fan)