When projects fail, regardless of the methodology, project management gets the blame. Developers can write great code, QA staff can find bugs (albeit some more quickly than others), and subsequent iterations can address any gaps or misinterpretations of customer requirements. But since the project managers are visible to the business staff and have overall responsibility for delivering the project, they take the heat. Even though Agile projects emphasize self-organizing teams and tight IT/customer collaboration, they're not immune. Organizations must learn how to manage Agile projects - a pretty big challenge since most do a lousy job of managing more traditional IT projects!
Agile teams do a good job of articulating their overall goals. They must:
Reduce risk;
Improve delivery capability; and
Deliver value quickly.
These goals really have nothing to do with the things that traditional project managers focus on, such as estimates, status, overruns, and deliverables. In particular, the focus on delivering value to the business (in the form of working software) is the single biggest difference. Traditional project management processes won't address Agile teams' needs. Whether managers choose to adjust traditional processes or adopt new Agile management techniques, change is essential.
Ron Jeffries effectively
Advertisement
nets out two management issues that really matter on an Agile project: "First, focus management attention on cyclic delivery of running tested software. Second, provide the resources to learn how to do that."[1] It's not an easy change, nor can you assume that current staff are ready. Companies that recognize a lack of management skills and contract with outside expertise tend to have the easiest job tackling these changes.
Some Best Practices
Of course, there's no easy answer. But among the many companies with whom I've worked over the past few years, there are a number of common project management factors that have contributed to their success:
Emphasizing leadership, not management. Successful Agile organizations are able to break from the emphasis on managing budgets, meetings, and progress and move to an emphasis on facilitating teams and encouraging changes in behavior. The Agile Project Leadership Network (APLN) is the newest non-profit organization in the Agile world, dedicated to "connecting, developing, and supporting great project leaders."[2] Companies can join this community and leverage best practices across industries. A recent CIO Magazine article discussed how AG Edwards' CTO transformed project management and project success rates, largely by focusing on sound leadership and strong IT/business relationships.[3] While not specifically focused on Agile development, this organization was able to transform its management process to one that essentially addressed these Agile team goals.
Tackling visibility and reporting. Since project managers are the most likely liaison to the business, it's critical that they learn to communicate the value that their teams deliver. This requires:
Developing and implementing a new set of metrics - especially those tied to business value and not just technical correctness.
Providing a complete view into a project. This can be easy for projects that run in a single room, but increasingly Agile projects include highly distributed teams. Tools are necessary, but they must operate with low ceremony.
Offering flexible reporting capabilities. Agile teams work to a different set of metrics that must be available to and understood by the business.
Prioritizing requirements based on business value. This seems so obvious, yet few teams really do it. Short, time-boxed iterations force teams to revisit scope on a regular basis. Implementing customer-driven requirements prioritization not only leads to shorter "time to benefits" but also to stronger customer relationships. I worked with a large consumer products company that adopted Scrum on a number of IT projects. Even after 18 months of experience, team members were amazed at the results. Their business customers were "so happy" with the features delivered in the first few iterations of a project, that they "settled" for that and never asked for all of the requirements to be implemented.
Making collaboration a first-order process. All methodologies expect team members to collaborate on code and other deliverables, but Agile teams go several steps further. They include:
Including the customer in every meaningful interaction, even if it exposes the developers' open issues or challenges.
Measuring the team's collective achievements rather than individual contributions. You get what you measure, so incentives must be aligned with goals.
Providing informal environments (e.g., instant messaging, wikis, whiteboards) to encourage collaboration without high ceremony or unnecessary documentation.
Staffing cross-functional teams that include developers, testers, and business staff working on shared deliverables.
Implementing true test-driven development. Test early and often is a common IT mantra, yet again we see Agile teams truly reaping the benefits. TDD provides the ability not only to find early errors, but also to adapt designs and refactor earlier solutions to better meet requirements. So TDD leads to better design, and is not just about testing.
Some Good Sources
Most companies look to others for best practices and suggestions for improving their management techniques. Among the many industry groups and individual sharing Agile project management information, several stand out:
Scrum Alliance is a community for Scrum users, ScrumMaster certification classes, and tools and resources for teams using Scrum.
Mountain Goat Software, run by Agile industry expert Mike Cohn, provides a wealth of articles, presentations, resources, and of course consulting services for Agile teams. In particular, Mike's article with Ken Schwaber on "The Need For Agile Project Management" is an excellent overview to the changing management responsibilities.
David J. Anderson's Agile Management blog provides tremendous leadership in the area of Agile management and metrics. David recently left Microsoft to join Corbis, the digital media company also founded by Bill Gates, but has promised to continue sharing Agile experiences, particularly for large-scale projects.
For Agile processes to truly scale to the enterprise and succeed on globally distributed projects, companies must take a top-down approach to Agile project management. Expect to see industry leaders and tool vendors address these challenges head-on in 2007.
Liz Barnett is the Editor in Chief of the Agile Journal and Principal Analyst at EZ Insight Inc. Previously Liz spent 10 years as a Vice President and Research Analyst at Forrester Research, joining Forrester as a result of its acquisition of Giga Information Group. Liz held management positions at Accenture, PepsiCo, and Atelier Research. She also was the Research Director for the advanced software development and advanced network computing research services at New Science Associates, prior to its acquisition by Gartner Group. Liz holds a patent for developing a distributed application development/CASE tool. Liz earned her B.S. in operations research and industrial engineering at Cornell University.
Error, missing joomlaboard config file!
Comments (1)
matt gelbwaks: ...
I am continuously amazed how the most simple practices add the greatest value to the management of projects. Commonly, formalizing these same practices tends to create instant credibility and comfort at the executive level. In my experience, organizations with PMOs or similar costructs seem to enforce this management over leadership conundrum. My first recommendation to the intrepid CIO is to re-purpose his PMO and establish an Agile PM Network internal to his organization. With some formalized chartering tools and some metrics the planning and management of projects seems to snap into place quickly and productively.