Kathy Pink: I just completed a 2 day class in Agile Development aimed at Product Managers. While I have a good understanding of the concepts and practices of Agile Development, it is always a good idea to validate what you know (or think you know). Also it helps to understand how others are using the processe and what issues and concerns they have.
What surprised me was that some people look to the Agile Development methodology as the 'cure all' or panacea for their devleopment woes. No development methodology can make a disfunctional organization functional.
What Agile can do for you is provide transparency and visibility to the development team that allows for predictablity with respect to the team's performance. So basically, at the end of each iteration (recommended length is 2 weeks) you have the following information:
- How good your estimates are
- If you are falling behind
- What any roadblocks are
The big benefit is that you know this information after 2 weeks and can make the necessary adjustments (either in resources, scope or expectations), as opposed to at 6 or 12 months with the traditional waterfall approach. If you need to request resources, you have the information to support your request.
As someone who has done my fair share of testing, I appreciate that the testing is an ongoing part of each interation. Gone are the days of development finishing and then passing it off to QA. Usually with less time than planned to complete testing and no margin for rework if development assumptions were off.
With Agile you constantly validate the requirements and functionality through scrum meetings, demos and constant testing. At the end of each iteration there must be some demonstrable progress. In the early stages that may just be a code review, but as you progress it will be functionalty.
Developers get better at estimating effort. Business Analysts get better at describing the functional requirements and expectations are constantly checked.
Lastly, Product Owners and Project Managers are better armed with the necessary information if adjustments need to be made and these adjustments can be made earlier in the cycle.
In then end, I realize more and more how effective the Agile process can be for ERP Implementations. Involve interested parties early, keep them involved, constantly validate and make adjustments. The Big Bang approach of working in isolation with a small group and then presenting an ERP is gone. It has proved historically to be ineffective and inefficient. Time to use a different approach.....Agile.