When is an Agile development effort not so agile? When you haven’t clearly defined the ultimate objective. I freely admit that I am not an expert in Agile development so my expectations may not be appropriate but come on now how can one expect to be successful if they don’t know what the ultimate goal is and haven’t defined the key integration points.
Ok first a little background: First my experience is in a more classic waterfall style of product development and this is my first real experience with Agile. I recently started working with a team that has some fairly aggressive deadlines and they have decided to use an Agile like program methodology to run the program. We have teams from two different organizations developing code and they need to be integrated together before the product can be released. Finally, the effort was started several months ago so I’m sure I don’t have all the background.
Now, as I understand Agile development you break the overall program into multiple smaller elements (sprints) such that you can deliver features at the end of each sprint. At the beginning of each sprint the team determines what features can be developed during the next sprint and the features are moved from the product backlog to the sprint backlog.
Without question the Agile model should maintain a high degree of focus for the team and if you are meeting on a daily basis it is hard to believe the team could be out of synch at any point in time. The team I’m working with is holding daily scrums and sprints every two weeks and we are certainly making a lot of progress in a very short time. However, we seem to be missing our release date, had to make a major architectural upgrade less than a month before delivery and key requirements are not fully understood even though we are within weeks of delivering our product. I can’t help but ask why is this?
Reviewing the program and talking to a number of people who have been on the program since the beginning I have learned the following:
- The PRD still has not been completed
- No long term plan was put together to identify when elements from each group needed to come together
I realize that in an Agile project you can release features at any point in time and in any order. However, if you are releasing a new product there is am minimum baseline that must be achieved in order for the product to be viable. If the Product requirements have not been fully defined and agreed to then how do you know if you are meeting the minimum requirements. What’s more, if you haven’t defined the minimum requirements how do you transfer them from the product backlog to the Sprint backlog.
Summary: In talking with others who have participated in successful and unsuccessful Agile efforts as well as waterfall efforts it turns out that inexperienced teams seem to make the same mistake; they forget to fully define the product and the definition of success. Remember, regardless of what product development model you choose define your product and measures of success first and then if you choose an Agile model Scrum and Sprint until your hearts content.