What is Agile governance?

In order to answer this question, we need to clarify terminology up front. Agile is typically short hand vernacular for SCRUM. When most people think of “Agile”, they really mean “SCRUM”. In reality, Agile is more a philosophy and mindset towards business:

·         Kanban is Agile

·         SCRUM is Agile

·         XP is Agile

When it comes to software development, Agile is an effort to maximize business value, while minimizing waste.

Examples of these include:

Kanban is a lean manufacturing approach and scheduling system originally developed by Toyota; its focus is JIT manufacturing. This concept has made its way over into the IT world.

XP refers to Extreme Programming. Extreme Programming (XP) is an iterative approach to programming and focuses on frequent releases. These iterations may go a week or two at most (SCRUM sprints are typically 2-4 weeks). XP also provides some prescriptions on development practices (such as pair programming or automated testing).

SCRUM is a lightweight, product delivery framework for application development (SCRUM is not Project Management). In terms of requirements, SCRUM only has four ceremonies:

·         Sprint Planning

·         Sprint Review

·         Sprint Retrospective

·         Daily Stand Ups

And three roles:

·         Scrum Master

·         Product Owner

·         The Team

So when we look at these Agile delivery frameworks and practices, we must understand they do not exist in a vacuum. We still need ways to manage the supporting projects, and ensuring the product delivery meets its targets. We need some governance.

Now, when I say governance, I do not mean a rigid process that ties people’s hands. But we can’t have the Wild West either. Each organization will need to develop a reasonably structured approach to managing these App Dev projects, while enabling their software delivery teams to achieve success.

It’s reasonable for the project team to develop a Project Charter, to estimate costs in terms of time and resources, or to identify/manage project risks. Getting the status on software delivery on a weekly basis is also not unreasonable. That’s effective Agile governance. What we don’t want to do is burden these teams with unnecessary tasks and busy work.

Effective Agile governance is really being able to identify what things add business value, what is required, and what tasks/artifacts that are not necessary. It’s trimming the fat, and being lean in terms of the environment, structure, and processes surrounding your App Dev projects.