While open source has more than a decade head start on DevOps, the two have steadily converged over time. As a CIO, you can support the use of some key open source cultural values to empower your organization’s DevOps team and ensure maximum success.
[ Are you a DevOps job seeker or a hiring manager? Get our free resource: The Ultimate DevOps Hiring Guide. ]
Let’s examine five aspects of open source that fit with the DevOps way of working – and how they can benefit your team.
1. Meritocracy
Open source communities are level playing fields for contributors: Anyone can make changes to an open source project. If the idea is a good one, it can be accepted and included. In DevOps, a level playing field is created between Dev and Ops. In the traditional IT environment, Dev could not influence Ops, and Ops could not influence Dev, perpetuating endless friction. Allowing Ops to influence Dev activities streamlines the Ops process and vice versa. Melding Dev and Ops resembles the de facto open organization that has existed in the open source world for decades.
2. Metrics
Because open source community code and activity is out in the open, people tend to perform measurements on communities, community activity, and the artifacts communities leave behind. And, not surprisingly, they can do it with open source tools, such as CHAOSS. Measurements provide a critique of a project, including data about how well something is working, in order to help developers who are considering contributing to a project.
DevOps also values measuring behavior – although DevOps measurements are more about your business process, and not as much about your development/IT systems. DevOps metrics should involve the flow of work going thru DevOps tools: How does that look end to end? What are the blockers? Where are things slow? As with open source community metrics, DevOps measurements help determine areas for improvement and continued innovation. (See our related story: DevOps metrics: Are you measuring what matters? )
3. Open governance
There is a significant dIfference between open source and open governance. A project can be licensed as open source but make decisions autocratically. At its heart, the open source model prescribes open governance, which implies transparent decision making. Otherwise, people who contribute have no real stake in the game, and the level playing field is eliminated.
Healthy open source communities exhibit open governance, as do healthy DevOps teams, where the entire team has active participation in projects and setting priorities.
[ Now that's a playing field. See What Game of Thrones teaches us about working openly. ]
4. Risk tolerance
"Many eyes make all bugs shallow" is a well known open source mantra. Typically, open source communities are less risk prone due to the participation of many contributors. This provides optimal problem resolution and rapid integration of changes.
Similarly, with the right DevOps culture, "many eyes" can increase transparency, reduce siloes, and optimize operations and development problem solving. The Infrastructure-as-Code paradigm helps previously opaque operations benefit from modern standards of feedback and review. Effective DevOps culture leverages collaboration to reduce risk and increase the velocity of successful changes.
5. Continuous improvement
Open source project success requires relentless, continual improvement. A project doesn't have to be successful right out of the gate, but it must experience regular contributions with frequent inspections and adaptations. DevOps efforts must also experience continual contributions and refinements to stay competitive. Team members must be empowered to continually share what they are learning and promote regular conversations about DevOps tools and process improvements.
Incremental changes compound over time and produce profound advancements. Open source and DevOps are both continuous journeys.
Better together: DevOps and open source
DevOps teams are adopting open source tools more than ever. The large ecosystem of open source DevOps tools continues to flourish because the code works well and is already in use by many. Open source software is free to use and involves no negotiations when trying out a new idea: You just experiment and see if it flies.
However, consuming open source software without contributing back to the community can create unforeseen technical debt. To realize the full benefits of open source, DevOps teams should adopt an open organizational model and apply open source principles and practices to day-to-day activities.
For example, your DevOps organization should contribute internal patches back upstream to the applicable open source community, otherwise you incur new technical debt from a fork that must be privately maintained, and which cannot absorb new upstream patches if the fork is out of sync.
The CIO plays a critical role in supporting the adoption of open source principles. Structure your DevOps team in a way that is consistent with open source practices, or let the team structure themselves to follow that model. This is an organizational decision rather than a technical one, and this type of organizational change requires sponsorship at the CIO level.
Understanding the open source model for innovation and supporting the adoption of open source community practices in your DevOps practice helps you avoid additional technical debt while taking advantage of new technology advancements. Tap into the most powerful aspects of open source culture to set your DevOps team up for success.
[ Get our free eBook for lessons from your peers on leading in an open way: The Open Organization Workbook. ]