News

Methodology guru applies agile principles to project management

Lightweight approaches to developing software have been around for years, coalescing in early 2001 under the term "agile" with the publication of the "Manifesto for Agile Software Development," and influencing virtually every phase of the software development life cycle. The primary focus of agile development has been, not surprisingly, developers and their use of an evolving set of principles and practices.

However, what about project managers? Is there a way to apply agile practices to their part in the process?

According to Jim Highsmith, there is. One of the chief proponents of agility -- a co-author of the Manifesto and a founding member of The Agile Alliance -- Highsmith was in San Jose, Calif., recently to discuss his ideas about agile project management.

"The core values and principles of agile development are modified a little bit for project management," Highsmith told attendees at the Better Software conference. "But the fundamentals do apply."

Agile project management (APM) seeks to apply those fundamentals to help managers cope with the inherent unpredictability of most of the projects they oversee. APM differs from traditional project management in a number of ways, but perhaps most strikingly in its approach to project planning. Where traditional methods emphasize a checklist approach, APM is "vision- and customer value-driven," Highsmith explains.

"We say 'envision-explore,' instead of 'plan-do,'" he says. "Instead of laying 5,000 tasks and checking them off as you finish, the agile manager focuses on the vision of what the product is meant to do, and is willing to explore that vision with iterative development."

That's not to say that agile managers don't plan, Highsmith says. However, APM recognizes what every project manager knows: Plans change. "This idea that we can know everything about requirements in the beginning is just not true for all but the simplest projects," he says. "Executives may not like it, but that's the reality."

An agile approach calls upon managers to develop a more limber, big-picture vision of the project; to focus on features in the software instead of project tasks; to make the delivery of value to the customer the priority; and to use the collaborative practices at the project management-level that are the cornerstone of agile development.

Highsmith, who is a Fellow at the Cutter Business Technology Council and director of Cutter's agile development and management practice, is co-editor with Alistair Cockburn of the "Agile Software Development" series of books from Addison-Wesley. He has put his ideas about project management agility into a new book in that series, "Agile Project Management: Creating Innovative Products" (April 2004, Addison-Wesley Professional).

In that book, Highsmith explores the principles of agile project management in depth, and looks at new product development technologies that support agile methods. His Agile Project Management Framework includes five phases: envision, speculate, explore, adapt and close. Using the framework, project managers can respond quickly to marketplace needs, capitalize on business opportunity and innovate with low-cost experimentation.

Highsmith's book also outlines two innovative APM practices: the Product Vision Box and the Project Iteration Plan. The Product Vision Box is a mock-up of an actual product box of the application being developed created by cross-functional dev teams that include customers. A complete Product Vision Box would feature labels and graphics containing some key selling features, the platform requirements and a detailed feature list.

A Project Iteration Plan is a basic project map outlining iteration end dates and themes based on customer-requested features. Contrary to popular belief, Highsmith says, APM involves quite a bit of planning, but with a different emphasis. "Sometimes people misunderstand the difference between formality and discipline," he says. "We are very disciplined in our approach to planning, but very informal."

The agile approach also emphasizes such principles as continuous innovation, product adaptability, reduced delivery schedules, and people and process adaptability. Applying APM principles and practices allows projects, plans, architectures and products to "co-evolve," Highsmith says.

Links: The Agile Alliance: http://www.agilealliance.org

For other Programmers Report articles, please go to http://www.adtmag.com/newsletters.asp?nl=PRT

About the Author

John K. Waters is a freelance writer based in Silicon Valley. He can be reached at [email protected].