Best practices for DevOps adoption
The concepts behind DevOps are not new, however the solutions are changing rapidly. How does an organization adopt DevOps without creating an environment for mutiny and resistance? With a large organization like IBM Systems and Technology Group (STG), which has 27,000 developers, there can be many obstacles to deploying DevOps solutions. Here I will share the best practices that have enabled our success.
Almost every great technology ever implemented has had executive buy-in that has allowed the troops to center around a singular mission. Implementing DevOps should be no different. Explain the advantages of DevOps to the leadership team in terms that relate to them: increased automation from integration, build, deploy and test phases, resulting in higher quality and quicker time to general availability. This ultimately impacts the bottom line of revenue.
Once the executive team sees your vision, the development and operations teams will in most cases be lining up to get onboard and adopt it.
Build a roadmap
When adopting DevOps, have a roadmap in place that will clearly define your implementation strategy. Implementing DevOps doesn’t mean “all or nothing”; instead choose an area to focus your efforts. Within IBM STG that meant creating a common defect process in IBM
Build upon that initial momentum and expand into portfolio planning, cross project reporting, requirements management or other areas where the return on investment is high.
Develop subject matter experts (SMEs)
Develop SMEs for a well-defined set of Rational solutions. As you attempt to adopt and implement more of the solutions within DevOps, you can quickly become overwhelmed. Identify a person to become the expert in either a solution (like RTC) or a discipline (requirements management). Get involved in Rati
As any good developer knows, getting customer feedback is the key to sustained success. Without such feedback, how do you know in what areas the solution needs improvement? Where should you put your focus?
Within a large organization like STG, feedback is essential. The use of stakeholder meetings and voting processes for enhancement requests allows user feedback to be heard and discussed for the betterment of the entire organization. Set up regular meetings. Organize and prioritize requirements. Track delivery of requested functions.
In larger deployments, basic administration tasks can become overwhelming. Think about 27,000 users needing access and the proper authorization to new solutions. How do you automate that? Are you able to easily audit it? What about new teams moving to RTC? Is the project setup process automated?
Develop a strategy to centralize and automate these processes. Otherwise the day-to-day tasks will inhibit progress on solution integration and enhancements.
These practices have allowed my small team to go from zero to 13,000 RTC users in five years. It has been a learning process, and we have had to be agile during our journey.
How have you enabled DevOps in your organization? Have you discovered important practices that facilitated your success? I welcome your thoughts on the process and hope to learn a new practice along the way.