Monday, July 6, 2009

Benefits of Agile Software Development

Agile Software development is well documented all over the place. You can see the agile manifesto here. I'm not going to expound on all the details that already all over the place, rather I'm going to focus on the benefits that I have seen in practice. Enough of this theory and explanation of how agile would ideally work, here's the real scoop. There are some drawbacks of Agile and other benefits, more on that later.
  1. Customer's change their minds and that is ok - The burden on trying to know every single detail of the customer/market requirements is greatly reduced. I have never worked in an organization where there were enough product managers to do everything that product managers are supposed to do. Having to write complicated and detailed technical requirements up front before development begins was always a huge burden. I hate being on the critical path. With Agile, I don't have to know every detail up front, I can accept the fact that the customer can see the product and change their mind.
  2. Estimating work is much better in Agile - I love the concept of story points and velocity. It let's the team achieve a natural capacity and work speed rather than trying to work overtime to achieve an unrealistic deadline because the product manager took too long writing the requirements.
  3. Team work is really emphasized - This is the real strength of Agile. Teams work together, teams communicate daily, teams communicate verbally. It just works well rather than just trying to throw "artifacts" over the fence to the development team.

No comments:

Post a Comment