Abstract A previous paper by the author, Agile Processes for Hardware Development, argued that a…
Kevin Thompson, Ph.D., PMP, ACP, CSP
Agile Practice Lead
The term governance refers to a formalized set of meetings and practices whose purpose is to ensure that the right decisions are made about what deliverables to produce, and how to produce them effectively. Governance becomes complicated for large enterprises, which may contain multiple Business Units and multiple development processes. In this paper, we look at how governance can be conducted effectively for Agile and hybrid processes in a large company that develops software applications. We synthesize a case study of a company that implements governance in a variety of effective and explicitly “Agile” ways. We divide levels of governance into Portfolio, Program, and Project levels, and review practices appropriate for each. The key insight is that the bulk of governance can be accomplished by defining and using standard Roles, Ceremonies, Artifacts, Tracking and Metrics, and Governance Points at different levels. Finally, we identify numerous practical recipes for governance, and the Meta-Patterns that apply across them.
Key points in the paper
- “Governance” is about decision-making. We define it this way: “Governance is the formalization and exercise of repeatable decision-making practices.” In other words, it is about how to decide what to do.
- Our Governance Recipes reflect Agile principles throughout, but their application is not restricted to Agile projects. (I.e., the governance is Agile, whether or not the project is.) These kinds of recipes may be used for Agile, hybrid, or other projects.
- For large (enterprise) companies that build software products, governance is exercised at Project, Program, and Portfolio levels
- The Project level refers to the work of a single Team
- The Program level refers to the collaboration between Teams
- The Portfolio level refers to the development and management of business initiatives that lead to program- and project-level work
- We are providing guidance for governance at all levels, and for situations that also cross multiple Business Units
- Our guidance is in the form of “Recipes,” which allow for customization while also providing enough prescriptive information to make their adoption easy. (People want to know, “How do we do this?” We are answering that question for many different situations, in ways that allow them to tailor the solutions to their world.)
- The standard elements of Governance Recipes are
- Tracking and Metrics
- Governance Points
- Most important, we not only provide specific recipes for specific (and common) scenarios, but also provide guidance for how to create new recipes for situations that we did not cover. Thus our “cookbook” is extensible, and we provide guidance for how to extend it, in the form of the “Principles for Agile Governance.” These principles are conceptually analogous to the principles of the Agile Manifesto, doing for governance with the Agile Manifesto did for software product development.
Some of the images used were designed by freepik.com