The Job June 26, 2012 5:58am
First off let me just say that I get a lot of interview requests every day, so I want to apologize to anyone I am unable to get back to. I realize the trend these days is to be "agile," but every time I see a posting with the terms "agile development" and "extreme programming" I tend to have a giggle and move on. For the uninitiated, in the really real world agile development and extreme programming mean they don't have specs, project managers, a realistic roadmap, comprehension of time, sense of direction, they have super short release cycles, a perpetually high burn rate, or all the above. This would all be fine, if only the company in question at least adhered to a process like Scrum. Unfortunately, most tend to adopt only the parts of Agile they like, while leaving out the checks and balances.

When I was with Nokia I was a scrum master and strictly enforced the complete Agile process. We got a lot of work done in a fairly short amount of time, but as the changes piled on work constantly came to a halt. As with every other agile company I've been with, that was when they broke the process. We kept the weekly releases, the stand-ups, the high pace, and the fluid spec, but we were no longer sprinting. We stopped freezing and resetting sprints when the changes rolled in. Instead we were still expected to meet the weekly releases, which of course was impossible.

It was then that some of us decided to switch to Waterfall. We sat with the product managers and business and defined a clear spec. We said goodbye to the meaningless incremental releases and instead set a fairly short two month deadline. In just under two months we were code complete and ready to ship version 1.0 of our product. Then along came the pm's with a laundry list of changes. As you may have noticed, I said I "was" with Nokia.