DevOps Connects Development
DevOps Connects Development
approach of the waterfall method. This is most evident in the agile goal of
having potentially shippable features at the end of each sprint (typically
every two weeks).
High deployment rates will often pile up in front of IT Operations for
deployment. DevOps is a way for the business to regain trust in the entire
IT organization as a whole.
DevOps is especially complementary to the agile software development
process, as it extends and completes the continuous integration and
release process by ensuring the code is production ready and providing
value to the customer.
DevOps enables a far more continuous flow of work into IT Operations.
When code is not promoted into production as it is developed (e.g.,
Development delivers code every two weeks, but is deployed only every
two months), deployments will pile up in front of IT Operations, customers
dont get value, and the deployments often result in chaos and disruption.
Agile and continuous integration and release are the outputs of
Development, which are the inputs into IT Operations. In order to
accommodate the faster release cadence associated with DevOps, many
areas of the ITIL processes require automation, specifically around the
change, configuration and release processes.
The goal of DevOps is not just to increase the rate of change, but to
successfully deploy features into production without causing chaos and
disrupting other services, while quickly detecting and correcting incidents
when they occur. This brings in the ITIL disciplines of service design,
incident and problem management
Increased Agility
Speed to market or better maximised agility through a constant and fully
integrated deployment capability is one key aspect here. Moving from a
release cycle from every quarter to deploying changes on a minute by
minute basis is real aspiration. For many clients this is a massive leap, for
some this is reality.
Increased Quality
High-performing organizations are still deploying code 30 times more
frequently, with 50 percent fewer failures than their lower-performing
counterparts. Increased quality is one on the key benefits DevOps. It will
however only increase quality if the organisation reached a certain level of
maturity.
Improve Innovation
Running less outages, deploying code with increased quality will lead to
more time spend thinking about further improvements or new ways of
working. It will enable the organisation to drive more value, rather than
having to dedicate time fixing issues caused by changes deployed
Reduced Outages
Reports mention that "80% of unplanned outages are due to ill-planned
changes made by administrators ("operations staff") or developers." And
60% of availability and performance errors are the result of
misconfigurations.
DevOps implementation
Figure below shows the different aspects involved with transforming an
organization to a DevOps way of working, grouped according to 3 principal axis:
Mindset, methodology and tooling. Note that, while Devops may be perceived as
just a new set of tools and automation to implement, experience shows that a
DevOps implementation is actually 75% organizational and processes
transformation and only 25% tooling and technology implementation. So any
DevOps implementation that neglects the organizatorical, and people
components is not likely to realize all the expected benefits.
Where to start?
DevOps transformations can start from different parts within the organization1 .
Each approach has advantages, disadvantages and risks:
Start from the Operations teams
This requires is a relatively easy place to start, with gradual transition path
where resources migrate from a central operations organization into DevOps
teams, while maintaining an Operations core organization that maintains the
shared resources, like the PaaS platform. However, it requires that the operations
teams have the skills and time to start automating and scripting their processes.
Set up a skunk-works team
Before rolling out DevOps to the entire organization, handpick resources from
different teams (or recruit externally) to form a DevOps skunkworks project. This
team must have the freedom to work out their own DevOps methodology.
Start from Development
Allow Development teams to work in a DevOps fashion in Dev and Test, and
allow them to engage their own Ops members. Initially they hand-over their
deliverables to DevOps experts with the operations teams.
Greenfield implementation
This is the rare situation, most likely to occur within startup organizations. These
can start a completely new team using DevOps methodologies from the start to
develop new applications. In this case there is no real transition to implement.
Force DevOps on the complete organization
This is the highest risk transformation, whereby teams are just put together and
told to work in a DevOps manner. The risk is that many of the existing resources
will just not be able to work in a DevOps manner, and leave the company,
creating gaps in the organization, knowledge, and impacting the existing projects
and SLAs. This method is only advised if there are a sufficient number of DevOps
able resources, or the organization believes they can re-staff fast enough to
make up for the resources lost through attrition.