5 September 2006

Integrating Agile Methods for Effective Governance

While many people may view governance as a bureaucratic burden, it is a necessary part of corporate life. Governing, especially financial governing, is part of what executives and managers must do as part of their fiduciary responsibility to all business stakeholders, including employees. From a project perspective, governance relates to making sure that monies spent provide the benefits and returns that were projected. While an individual project here and there may go awry, an organization's portfolio of projects should be monitored to ensure that expenditures produce results.

The problem with many traditional governance systems is that they were devised during an era of serial, or waterfall, development processes and the governance mechanisms themselves followed that model. Governance is, at its core, about investment and risk. Investment decisions revolve around expected value returned versus cost. Risk assessments help determine the probability of actually getting returns, the risk of cost overruns, and the risk of a project not delivering appropriate functionality.

Most governance mechanisms offer some form of phase-gate control. Phases define the work being accomplished and gates are decision gates at which appropriate managers look at the investment and risk information and decide on the future course of action for a project. A serial project, in which requirements definition precedes design and development, makes a critical assumption -- that the highest-risk item is defining requirements. However, in many technology projects, design and development (including testing) have higher risk. For many projects, proving that the technology works and that the features actually -- when implemented -- provide benefits to the customer can be much more risky than determining whether the initial requirements were right, or even complete.

Agile methods provide a much more flexible, and definitive, basis for governance. Delivering working software at the end of each iteration is a much more definitive basis for measuring progress than delivering documentation. Software that runs and passes customer acceptance tests provides a better basis for progress reporting. Second, in prioritizing features or stories to be developed each iteration, the customer and development teams assess risk as part of that prioritization process. High-risk items -- whether the risk is requirements or development -- are scheduled as early in the project as possible. In this way, the risks are either mitigated or the project is found to be too risky to continue. The "gates" in agile development are not documentation-centric but features-completed and risk-mitigated-centric. Rather than measuring completed documents, agile measures completed features (with documents as a secondary item). By concentrating early features on delivering high value and mitigating the highest risk, the gate control improves -- but the information provided by agile projects doesn't always match what managers are used to seeing.

Agile methods address not only software development but also much wider areas of concern such as governance. Ultimately, it will be very difficult to continue implementing agile methods in an organization in which traditional views of governance dominate. Changing governance structures take time; more time in many organizations than implementing agile practices in development, but ultimate success with an agile initiative requires integrating agile ideas even into these areas such as governance.

-- Jim Highsmith, Director, Agile Project Management Practice

Integrating Agile Methods for Effective Governance

The Cutter Edge is a free bi-weekly e-mail service that gives you information and advice that you can put to work immediately for your organization. Issues are written by Cutter Consortium's journal and Senior Consultants.