DevOps made its name in new cloud and digital native environments, in those businesses seeking to move swiftly to disrupt markets with new digital innovation. More recently DevOps has been gaining acceptance and traction in traditional enterprises with large legacy environments, but it faces challenges that can threaten to reduce its effectiveness.
I can best articulate these challenges by sharing our experiences re-engineering the plan for a proposed major public sector software development in Australia. Due to new legislation, the implementation of a solution had to adhere to a tight timescale. The team putting together the plan was wedded to a Waterfall culture. Unfortunately, their Waterfall plan was rejected because it just didn’t work. They had squeezed the available development time through a long and intensive requirements discovery and sign-off phase at the beginning, long and extensive User Acceptance Testing (UAT), and allowed a 3-month contingency at the end. To add to this, the resourcing model showed that the Business Analysts (BA) doing the discovery were off the project once development started and the developers were off the project once testing started.
We were asked to help rework the plan. We introduced Agile and designed the plan around 10 parallel work streams that were staffed by multidisciplinary scrum teams (Scrum Master, BA, Developers, Testers, etc.) We designed a DevOps pipeline that orchestrated the continuous delivery process, introduced automated testing, etc. The upshot of all this was a revised plan the customer was happy with and confident that the timescales were achievable.
The point of this is that DevOps needs to be embedded right at the start of a software development project. We have been using the Puppet “State of DevOps Report 2016” as our guide in this series of blogs. The second paragraph in the report’s Executive Summary bears reproducing in full.
“This year’s report shows how improving the whole product lifecycle – from initial product planning, to quality and security assurance, to customer feedback – speeds up delivery while improving quality, security and business outcomes. DevOps practices also improve organizational culture and employee engagement.”
The report is saying it. DevOps needs to be engaged from the start in initial product planning. Culturally, this can be a problem for many traditional, large IT organisations. Where DevOps has taken root, it has often been in small teams developing new applications outside the traditional IT organisation. That fact and the need to implement process and controls to mitigate against the inherent risk of slippage and creep in large Waterfall based projects can make existing managers averse to making the shift necessary and embed DevOps right the start of a new project.
There needs to be senior management buy-in to embedding DevOps in the organisation. To give them the assurance that this will work DevOps teams need to be able to point to success. Fortunately, management doesn’t have to place bets on projects where large sums of money have been sunk and where the outcome won’t be seen for many months. The use of small agile, multi-disciplinary teams, working in a continuous delivery process minimises the risk to management by demonstrating tangible progress in frequent steps with functionality that can be deployed into the field incrementally.
We have been through this with several organisations. If your strategy is to affect a digital transformation of your business, but you aren’t sure how to take the first steps in embedding DevOps into your software development lifecycle process, contact me by email (firstname.lastname@example.org) to arrange a no-risk exploratory meeting. I am confident we can help. However, if, after this meeting, we don’t feel we can bring real value we will qualify out.