Early this year, my organization went through custom training from Rally on agile development (specifically, scrum). I grew up doing waterfalls in traditional SDLC methodologies. I can’t say I was resistant to the timeboxed approach, but I was skeptical. More often than not, the waterfalls I worked on followed this type of planning lifecycle:

  1. business defines ask
  2. dev/qa/ops define cost/timeframe
  3. business redefines ask
  4. dev/qa/ops redefines cost/timeframe
  5. business sets hard date for launch
  6. dev/qa/ops redefines ask based on cost/timeframe to meet topdown date

dilbert on agile The benefits of agile for me are in the planning, scope definition. The team cuts to the chase and starts with a timebox and works together to decide what can fit in there. Since the timeboxes are consistent, there is much less resistance in dropping features because the business can easily predict when they will be released. That’s a big difference from the waterfall approach where there’s no predicting when the next release will take place

There are several other benefits that come from an agile approach. Product, Dev and QA spend less time defining in detail the feature, design and test cases prior to construction. This was one of the points that seemed counterintuitive to me in the beginning. My knee jerk reaction is to demand more detailed definition up front. I’ve read all of the findings and lived the reality that it’s easier to fix a bug in the documentation than in the code. With agile, there is a higher level of collaboration and prototyping. I began thinking of this as less agile and more evolutionary development. The team starts with a handful of ideas and iteratively builds on them. If you don’t get it perfect (and you won’t) the first time, you improve it the next release. And if you find your estimates were high, add a feature from the backlog. If they were low, drop a feature to the backlog.The idea and goal is predictability, collaboration and prioritization. When you involve everyone in the planning, the discussion of cost to implement becomes academic and not emotional. There are 3 features on the list. Each feature takes 5 days of effort. Your resource pool has 10 days of effort available. Pick the 2 features you want to get done this release and put the 3rd on the backlog for the next. There are tools in place to deal with what are normally challenges in a waterfall. The team is now free to focus on releasing product, not debating what can be done in what timeframe.

Tagged with: