InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Agile Governance: The Bridge Between Management and IT

Posted by Vikas Hazrati on Mar 20, 2009

Sections
Process & Practices,
Enterprise Architecture
Topics
Agile in the Enterprise ,
Agile ,
Governance
Tags
Best Practices ,
SOA Appliance

Traditional project governance is used to describe the rules and processes that are required to ensure a successful project. Traditional governance tries to manage the project work as process work. However, the use of time sheets, costs, and schedules far outweigh the more important issues like project benefits, risk management, stakeholder involvement, quality, scope, and objective control. At first glance the concept of governance and Agile seem to be incompatible, however most Agilists would agree that just enough governance might do more good than bad for the Agile project.

Andrew Clifford suggested the following benefits of governance,

  • Improved shareholder value because IT systems are managed as business assets.
  • Improved business IT relationship because IT infrastructure requirements are translated to measurable goals.
  • Improved return on investment on IT infrastructure investments because management can track and enforce use of new infrastructure.
  • Reduced project failures because technical and compliance issues are identified earlier.
  • Reduced cost of compliance with regulations and internal standards because these are managed within an efficient framework.
  • Reduced long-term risks and costs due to fragmentation of standards because management have visibility of the degree of compliance.
  • Improved measurement of IT's performance in its role as stewards of business systems, which is particularly valuable for governing outsourced contracts.

Matthew D. Laudato suggested that though governance is often a hard part for engineering to swallow however, the budget granted to IT has to be accounted for by the VP or CIO. He recommended that governance should become a part of the Agile process. According to him,

It makes sense to add a step in the process at sprint review time (the post-evaluation that occurs at the end of each sprint) to formally document the project progress in a form that is useful for the rest of the business. Included in this report should be at a minimum what features were completed, what the cost of these features are, what the roll-out plan is for these features, and what percent of the known requirements have been satisfied to date.

Toyota’s Takeuchi and Nonaka, had the following view on governance

Although project teams are largely on their own, they are not uncontrolled. Management establishes enough checkpoints to prevent instability, ambiguity, and tension from turning into chaos. At the same time, management avoids the type of rigid control that impairs creativity and spontaneity. Instead, the emphasis is on “self-control”, “control through peer pressure” and “control by love

According to Ross Pettit, Agile governance comes down to answering two questions

  • Are we getting value for money?
  • Do solutions delivered meet our full expectations?

The first question talks about effectiveness of money spent as it attempts to answer fact-based measurement of outstanding scope, work completed, total expenditure, and trend with accuracy. The second question is about completeness of the solution to address full range of corporate policies, including security, architecture, quality, risk, and so forth. Ross suggested that a good governance would lead to

A reduction of "surprises," an increase in trust and confidence, and execution aligned with strategy - make IT less mired in its own problems and, subsequently, better able to be responsive to the business.

Thus there is enough justification on the importance of governance and the benefits it can bring to the project however, what is the best way to introduce governance in an Agile project?

Ross suggested the following approach,

  • If governance is to be an enabler of agility, it cannot be a burden in day-to-day operations. To satisfy this, there must be non-burdensome and consistent ways to collect data across the organization.
  • To assess solution completeness, IT governance must have the active participation of the entire department, including security, infrastructure, architecture, risk management, business management, the PMO, and so forth. Subsequently, there must be participation from across the entire set of IT disciplines.
  • IT governance cannot become an esoteric high religion, and must instead be "part of the furniture." We must be able to communicate to all stakeholders in "native languages," and most importantly communicate in business terms to the business.

Dean Leffingwell suggested the following approach for defining a lightweight governance process. According to him, the governance model should

  • Create Agile guidelines to suggest what Agile means to the company and unambiguously define Agile mandates in terms of unit testing, retrospectives, standups etc.
  • Be lightweight not more than 3-5 pages.
  • Recommend but not over prescribe.

Thus Agile governance serves as a perfect glue between management and IT. The key is not to overdo it lest it should kill the creativity and enthusiasm of an Agile environment.

  • This article is part of a featured topic series on Agile

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.