When many companies decide to go Agile, they do so out of the realization that the usual approach – gathering most of the requirements and doing most of the analysis at the start of the project – is not working very well. And, too often, it leads to projects that seem to get out of control.
So, it is natural to see the difference in Agile methods mainly in terms of its project management, especially “two week iterations.” Many Agile methods seem to emphasize this project management viewpoint. Get the project management right, and everything else will follow, right?
Not quite. The Agile project management approach is necessary, but it is not sufficient. ![]()
This may not seem fair. After all, simply getting to the Agile approach of managing projects through iterations is hard enough. Corporate culture, organizational structures, the attitude of different roles within the organization will all work against this transition.
Aren’t the obvious rewards of an iterative approach enough?
These are all good and flow somewhat naturally from an iterative approach. However, our experience shows us that if managing projects through iterations is the primary focus, then developers will likely experience some difficulties during their transition to Agile. They have to come to understand that testing will be required after each iteration. They have to come to understand that the architecture of their system will change on an ongoing basis.
A healthy approach to transitioning to Agile must help developers:
They must also learn how to work with smaller pieces of feature requirements. Since customer requirements will be ascertained and analyzed as the project moves along, there will be a need for pulling out smaller stories that describe the features than the development team is used to. In other words, developers are used to building product from a complete feature specification; in an Agile process, it is best to build the core of the feature and then add to it. This is a learned skill.
Our experience in helping teams transition to Agile methods shows us that the following skills are needed:
The bottom line is that although the project management aspects of Agile software development are the most visible – and the most difficult to solve, they only provide some of the benefit. To realize the complete benefits of Agile, other technical aspects must be addressed as well. If these other aspects are not addressed, system development may appear to move forward well for several months; but then, the lack of quality tests and quality code will make the code difficult to change and the team will find iterative development grinding the quality of their code down and down.
A transition to Agile methods must include all of these technical skill sets. Not doing so may get the project going more quickly and less expensively, but it does so at a risk of the project’s future peril
Comments
When a project managers
Wed, 2011-01-26 10:22 — IshBideeeWhen a project managers holds the PMP certification, there is a much higher chance that the project will be successfully completed, isn't that right? Was just wondering because I read something about big companies favoring PMP holders.