As with nearly all similar transformative decisions, the optimum timing and velocity for implementing a new DevOps framework is driven by the shape of the ROI curve over time. There are two key factors specific to DevOps that inform this analysis.
The first is that many of the benefits from an effective DevOps framework are a product of the interdependent functions of the entire framework. Therefore, individual components (principles, processes, technology) are necessary, but not sufficient on their own to achieve justifiable ROI. This implies that there is a built in ROI advantage to rapid implementation, since the largest returns do not begin until the fully cohesive framework (or at least a critical mass of such) is in place.
The second is that the effectiveness and efficient ROI from a coherent DevOps framework is maximized when the framework is already in place during the earliest architectural steps in a new project. Therefore, the imminent start of a major new initiative may provide strong incentive to get a new DevOps framework stood up ahead of the kick-off of the architectural process.
The advantages of a quick DevOps launch is also something of a “Mr. Miyagi from Karate Kid”. “Left side of road (traditional development /operationalization process) is OK! Right side of road (fully coherent DevOps framework) is OK! Middle of road (some DevOps elements mixed into a traditional process) then you get SQUISHED LIKE GRAPE.” So, the faster you can cross the street (implement the fully coherent framework) the shorter you are in the middle of the street.
The first steps in a DevOps launch are:
The next step following the initial launch are Harmonization of the DevOps mechanics with the architectural design process. This usually involves decisions on where and when to use managed services, initial container design, identification of bandwidth bottlenecks and resulting elasticity requirements.
The timing to get to the initiative completely up to speed depends on numerous factors – scale of the operation and target projects, sophistication of the team and the state of maturity of the development process prior to the implementation of a new DevOps framework.
Moving to a new DevOps framework is as much an exercise in shifting culture and mindset as simply introducing new tools and processes. It is often easier to implement coherent DevOps in teams that have locked in less experience in traditional environments where development and operationalization are separate concerns.