DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Securing Your Software Supply Chain with JFrog and Azure
Register Today

Trending

  • Effective Java Collection Framework: Best Practices and Tips
  • Microservices With Apache Camel and Quarkus
  • Understanding Dependencies...Visually!
  • How To Approach Java, Databases, and SQL [Video]

Trending

  • Effective Java Collection Framework: Best Practices and Tips
  • Microservices With Apache Camel and Quarkus
  • Understanding Dependencies...Visually!
  • How To Approach Java, Databases, and SQL [Video]
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. DevOps and CI/CD
  4. Enterprise DevOps: On Governance

Enterprise DevOps: On Governance

This entry in a series on enterprise DevOps addresses how to define a process to govern requests for changes to your technology stack.

Sacha Labourey user avatar by
Sacha Labourey
·
Nigel Willie user avatar by
Nigel Willie
·
Mar. 02, 18 · Opinion
Like (2)
Save
Tweet
Share
6.21K Views

Join the DZone community and get the full member experience.

Join For Free

This is the fifth in a series of blogs about enterprise DevOps. The series is co-authored by Nigel Willie, DevOps practitioner, and Sacha Labourey, CEO, CloudBees.

In a previous article we discussed creating a standard taxonomy and from there defining your technology stack. This is an important first step; however, it is also critical that you define a process to govern requests for changes to this stack.

It is a given that in the world of technology there is rapid change. It is also a given that the rate of change will only increase in the future. A technology stack that ossifies will lead to significant difficulties and lost opportunities. By the same token, an uncontrolled proliferation of solutions will lead to greater financial cost, a likely divergence in process and potentially a loss of the feedback and process control that is critical to successful DevOps. If your organization is heavily regulated, it could also lead to a reduction in auditability and the incumbent risks associated with this.

It is thus critical that a process is created to enable and govern change. This may already be in place in your organization, but in our experience, once an organization starts to adopt a DevOps mindset, the rate of request for change increases and the cadence of governance decisions needs to be able to respond to this. A further consideration is that DevOps relies on practitioner empowerment. Many extant governance processes rely on central command control and this is anathema to the culture we are looking to inculcate in the organization.

Below we detail a range of considerations and a potential approach to governance.

Within a governance board, we believe the following considerations should be represented.

  • Governance chair: Chairs the meeting, ensures minutes are taken and discussions are documented. Is accountable for maintaining the core principles that requests are judged against. Includes any change to the core principles.
  • Practitioner representative(s): Presents the request(s) and represents their community.
  • Enterprise architecture representative: Owns the Enterprise Information Management (EIM) and acts as design authority for technology within the organization.
  • Service line representative: Owns the provisioning of services for those capabilities which are deemed to be centrally provisioned.
  • Infrastructure representative: Represents that part of the organization accountable for centralized infrastructure provisioning. Even in an organization that has fully adopted cloud, somebody will be accountable for that relationship and provisioning.
  • Procurement representative: It is likely you have a vendor strategy. This needs to be represented. Assists with RFP considerations if the proposed change looks to have potential to benefit the organization. You may have commercial arrangements with one vendor that are pertinent in the capability space. Larger organizations may have actually invested in a vendor (such as the automotive industry).
  • Security representative: Represents security considerations and ensures security is engaged at the earliest possible stage.
  • Financial representative: Represents whoever owns the overall budget and signs the check.

Please note in a large organization each consideration may be represented by a different individual. In smaller organizations, an individual may represent more than one consideration. At startup, having awareness of these considerations will assist in ensuring you create a robust and scalable process even if a single individual is involved in making the decisions.

Suggested governance board outputs:

  • This request is in line with our principles and should be centrally provisioned
  • This request is in line with our principles and should be locally provisioned
  • This request is not in line with our principles, our principles should change.
  • This request is not in line with our principles and is rejected.

Hopefully, this decision list is self-explanatory. In our view, a key consideration is decision point three. It is important that you consistently question whether your principles are correct and leave the opportunity to amend these in line with changes in circumstance and objectives. In our experience, this also stresses to the practitioners that they have a measure of control in the governance process and this helps to drive engagement and the collaborative culture that DevOps thrives upon.

The last point we wish to stress is that while all these considerations are material, any governance model has to be fit for the purpose of making robust and rational decisions rapidly. Governance is a means to an end, not an end in itself. You should constantly validate that you are not building bureaucracy and waste into this process, as boards and processes tend to mutate and bloat over time if not consistently challenged.

Follow the series from Sacha and Nigel

  1. Enterprise DevOps: An Introduction
  2. Enterprise DevOps: I Wouldn't Start from Here: Understand Your DevOps Starting Point
  3. Enterprise DevOps: Context is King
  4. Enterprise DevOps: Creating a Service Line
  5. Enterprise DevOps: On Governance (this post)
DevOps

Published at DZone with permission of Sacha Labourey, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • Effective Java Collection Framework: Best Practices and Tips
  • Microservices With Apache Camel and Quarkus
  • Understanding Dependencies...Visually!
  • How To Approach Java, Databases, and SQL [Video]

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: