Tuesday, March 20, 2007
Six Month Review
Yesterday, March 19th was my six month anniversary as Senior Director of Software Engineering at Corbis. This give me occasion to pause and take stock of how I’m doing. Tomorrow, Wednesday 21st March, we will make the 13th software release to production since I joined the team. That’s an average of a release to production every 9.5 business days since mid-September 2006. In addition, we haven’t had an escaped defect to production since the beginning of the year. I’ll repeat that for emphasis - Zero escaped defects since January 1st 2007. I’m very impressed with the team I inherited and this track record is something they can all be proud of.
If we were writing a set of acceptance tests for an agile process they might ask (1) Is software being released to production every two weeks or less? (2) Is the quality of that software high? (3) Is the technology organization able to respond to changes in the business rapidly? On all three of these questions, my team would be passing. What is really interesting is that we aren’t doing many things that would be recognized as “agile.” If there were a set of white box tests to test for agile practices such as (1) are they pair programming? (2) are they using test-driven development? (3) are releases planned in two week iterations? (4) Is there continuous integration running? (5) Are they reporting burn-down?[and so on…] The tests would be failing. We are using a daily standup and we do track progress on a white board. But apart from that, our process would not be recognizable as agile.
So what is the lesson to be learned here? I think it is very simple - there is more than one way to achieve agility. Practices from Extreme Programming and Scrum are just one approach. What many in the Agile community and Agile Alliance see as “agile” is just a recipe that works in some situations. There are many other approaches that can be just as agile and may be more appropriate to your situation. By sticking to the principles in my Recipe For Success - focus on quality, reduce work-in-progress, balance demand against capacity, and prioritize - my team has been able to deliver a continuous flow of business value that enables Corbis to be more agile in the marketplace.
While there is a lot more to be done, my career at Corbis is off to a good start. The challenge now is to take our success with software maintenance and apply it to major projects in our portfolio. As a result, I’m even more excited about the next six months than I was about the first. Technorati tag: Agile, David+Anderson, Lean, Corbis


