Enterprise DevOps
Before going further, there's something we need to agree on: there is No Silver Bullet. Essentially, every organization is going to be organized differently, have different culture, different leadership, different values, and different goals. This means there isn't a single process we can define that will work for all organizations and all scenarios.
{This means if you were expecting to find a single recipe for implementing DevOps, you are going to be disappointed.}
Implementing DevOps in Large Organizations
Implementing DevOps in a large organization, particularly one in which software is not a key product line for that organization, is very challenging. In fact, it can seem downright impossible.
However, all hope should not be lost. There are several key factors that can help improve the chances of successfully implementing DevOps in large organizations.
- Team support: It starts with the team; they must be engaged and onboard with DevOps before you can go further. If the team isn't engaged, no plan to implement DevOps will succeed.
- Leadership support: DevOps is a cultural shift that requires buy-in and support from senior leaders. Without the support of leadership, it can be difficult to implement DevOps practices effectively.
- Cross-functional collaboration: DevOps is all about breaking down silos and fostering collaboration between development, operations, and other teams. In a large company, it can be especially important to encourage cross-functional collaboration to ensure that everyone is working towards the same goals.
- Agile methodology: DevOps is often closely linked with Agile methodology, which emphasizes iterative development, continuous improvement, and close collaboration with stakeholders. Implementing Agile practices or working with existing agile practices can help increase the success rate of DevOps implementations.
- Alignment with security and compliance: Any large company or any company working at an international level is likely to have complex security and compliance requirements. It's important to ensure that your DevOps practices take these requirements into account and that your software is developed and delivered in a secure and compliant manner.
A foundational element amongst these factors is the need to work with the existing organization, policies, and process. In addition, creating buy-in and building support highlights the most critical aspect of implementing DevOps; people. Thus, it is evident that implementing DevOps in a large company requires a holistic approach, accounting for the existing organization, policies, processes, and people. By focusing on these key elements, it's possible to build a DevOps culture that fosters collaboration, agility, and continuous improvement.
Finance, change management, corporate, goals, corporate values, security with respect to giving developers administrative control over their environments
The types of challenges includes people, challenges, financial challenges, organizational challenges, the ability or power to make a change happen.
But how? And where should you start?
Consider the DevOps cycle:
Start where the cycle starts.
Identify where your team is having challenges. Frequently there are challenges at points in the cycle requiring interaction with external teams (Citation#1).
Team Support
TODO
Leadership Support
TODO
Cross-Functional Collaboration
TODO
Agile Methodology
TODO
Alignment with Security and Compliance (Legal, Privacy, Certification, etc.)
TODO
Citations
- Leau, Y. B., Loo, W. K., Tham, W. Y., & Tan, S. F. (2012). Software development life cycle AGILE vs traditional approaches. In International Conference on Information and Network Technology (Vol. 37, No. 1, pp. 162-167).