DevOps was established as a way to share best practices and codify some of the collaborative processes that should be undertaken between development and IT operations teams. This approach is starting to get taken up by more teams as according to a recent Gartner report, “By 2016, DevOps will evolve from a niche strategy employed by large cloud providers to a mainstream strategy employed by 25% of Global 2000 organisations.” However, some approaches around DevOps seem to be based on a couple of assumptions that can undermine its potential.
The first is around how development projects within organisations are prioritised and then put together. Traditional “waterfall” application development was based on getting all the necessary requirements together and then pushing this through the overall process. If any changes to business requirements occurred in the meantime, the whole process had to be completed before new development could be envisaged. Agile approaches reacted against this, setting up much shorter time-scales so that projects would fit much better against business requirements over time.