(I wrote this in February 2008 as a proposed session for the Agile 2008 conference. The proposal was not accepted but I still find the theme compelling even though I am working on another project, Visual Studio Express.)
It was a proud moment when one of my Microsoft colleagues in our daily meeting nicknamed me, "The Jack Bauer of Bugs." Once again I had an elusive bug in my sights and everybody knew I would bring it to ground. This "24 Hours" presentation will image vividly the gamut of opportunities and challenges faced by an agile software engineer in the course of a day.
Popfly (Popfly.com) is the fun and easy way to build and share mashups, gadgets, and Web pages. It’s made up of online visual tools for building Web pages and mashups and a social network where you can host, share, rate, comment and even remix creations from other Popfly users. (end of marketing blurb and now you know what Popfly is if you didn't already :) )
We release an update to Popfly about once a month and as I'm writing this we are starting our 18th release cycle. In a recent article, "Mashups are breaking the mold at Microsoft," the New York Times said that the Popfly team "might be more at home in Silicon Valley than at Microsoft." Our team of about 20 was getting too unwieldy and so we just organized into 3 subteams. I'm focused on the core Popfly subteam. I can't tell you the theme of the release we are working on, but you can find out next month. :)
10AM. I engaged in an extended bout of customer-experience testing as I built a data / Virtual Earth mashup, Education Levels in India Now that we released data sources and arbitrary file uploading last month, I am able to create what I wanted. The finished result looks good. Our local representative of Pratham (the Indian NGO that provided the data) thinks we are going in the right direction. But the hoops and workarounds that I had to go through to get this to work would deter most of our customers. We are already working on some of the tough issues, like how to make debugging of complex data flows accessible to our non-technical target audience.
11AM. But our main internal test server is down. Huh? We fixed a bug with maxing out the SQL server connection pool a couple of weeks ago, but the same symptom is back. My colleague who built most of the SQL infrastructure says it happened between 10:05 and 10:23 AM. Netmon logs show a spike of traffic from Test Box 11 at 10:22 AM. Test Box 11 ran a ramping load test from 10:15 to 10:25. At 10:22 the tests started failing all over the place. Aha! The first of several planned improvements to our connections pooling have already gone in.
12 noon. Standup meeting. One of my two proposals for this release is Certified Projects. I want to create tools for Popfly customers to verify that their projects are runnable, tweakable, ripable, and embeddable. These tools will leverage the logic of our internal test automation. They will also dovetail with our initiative to create JavaScript unit tests that can run in the browser. Heads nod, project is on the list, give us more and let's see if this makes the final cut.
5PM (ok this isn't exactly "24"). Live Meeting and phone with one of our engineers in Shanghai. I start to explain my frustration with our 350 or so automated test cases that drive the browser to test Popfly functionality and guard against regressions. They do catch regressions but more often they just have to be updated frequently to keep up with feature changes. She volunteers to come up with a proposal to consolidate some test cases.
6PM. Check in on our engineer working on performance test automation. SQL Reporting Services looks promising with many templates that dovetail with Visual Studio Team Test - Load Test. However it is taking a long time to set up and today is our deadline for answering the question of whether performance regressed or improved in our latest round of search enhancements.
10PM. The search results come in. Used Excel rather than wait for Reporting Services. Looks like a 14% regression in Search Users, but the search transaction is still sub second. Do we need to pursue this further? Let's see in the morning.
2AM. Another engineer in Shanghai is trying to sort out test automation failure on VerifySignOutFromAllPages. Is it due to feature change on one page or known sign in issues that never showed up on the case before? Looks like some internal network issues are resulting in a new failure pattern.
9AM. The proposal from Shanghai to consolidate test cases looks promising, but I want to go much further: consolidate 350 detailed cases down into 12 end to end scenarios and push the detailed functionality testing down to the unit test level. Meeting at 10AM with our feature crew to hash this out.
In 24 hours I've slashed through bug hunting, customer-oriented testing, load testing, technical sleuthing, test tools for customers, scenario vs. unit testing, and performance testing.
Just another day in the life of an agile software engineer.








