The importance of DevOps: Why your ability to automate change matters to your bottom line

Blog Post created by pryth01 Employee on Feb 25, 2016

Today, an organization’s place in the market depends on their ability to quickly respond to changing customer needs and shifting market demands, whereby “as organizations focus on improving the customer experience, the speed and quality of delivering applications and services to both external and internal customers have become high priorities.” [1] Business and IT initiatives have therefore grown closely aligned, and the market share commanded by organizations’ is won or loss on a day-to-day basis.


The March, 2015 Forrester Brief, “Good DevOps Requires Collaboration, Automation, And Cultural Change” [2] observes how more organizations are moving toward integrating development and operations (DevOps), as a way to meet shifting IT requirements. However, it argues that greater collaboration across all teams, and a greater degree of automation, are required, in order to successfully implement a continuous development framework.


In particular, it suggests that change management is one key area where more automation needs to be deployed. It cites the results from Forrester’s Q4 2014 Global Modern Service Delivery Benchmark Online Survey, where only 19% of Infrastructure and Operations Professionals believed that their organization had automated change management solutions at every phase of the development life cycle.


The view that automating change is necessary for organizations wishing to meet constantly changing customer requirements is evident in how change requests can currently take up to 60% of the time in the SDLC, and can consume 40-50% of the cost.


One of the main reasons for this is a lack of automation in two key areas of change management: impact analysis, whereby test and development teams cannot identify exactly what the upstream or downstream effect of a change will be on a system; and re-testing, where test cases are often updated by hand, and are then frequently executed manually.


The Forrester report accordingly highlights configuration management as a related process where more automation can be implemented. It describes how “to manage change, you must understand the existing applications, systems, and configuration items and their relationship to other configuration items”. However, only 17% of respondents automate it in development, testing, and production environments.


In order to more fully automate change, organizations should consider how they communicate change requests from the end-users to IT teams, and the degree of traceability that exists between these (usually written) requirements, the developed system, and the test cases used to test it.


Modelling requirements as an “active” flowchart provides a way to remove ambiguity, clearly communicating the changes which need to be made to a system’s logic. It bridges the gap, between changing end-user and business requests – for example JIRA enhancement requests – and their technical implementation, helping to guarantee that constantly changing requirements are implemented correctly first time round.


With a flowchart tool like CA Test Case Optimizer, test and development teams can also overlay the functional logic about a system needed to both identify automatically the effects of a change to a system’s logic, and automatically derive the test cases required to successfully implement this change. Model Based Testing can therefore eliminate the time spent maintaining and preparing test cases, allowing test teams to more quickly respond to changing business requirements. In short, having a complete model of a system can help automate configuration management, while automated test case design is a step towards automating change management.


Fully automated change management is made possible with the automation of the test execution phase. Fortunately, many good automation engines exist, which can execute the test cases generated by an active flowchart model. Our belief is that active automation, in turn, means that when a change is made to the flowchart, the test cases can be automatically updated and executed, allowing organizations to successfully implement a continuous development framework and remain competitive.


[1] [2] Elinor Klavens and Amy DeMartine with Eveline Oehrlich and Megan Doerr, “Brief: Good DevOps Requires Collaboration, Automation, And Cultural Change”, Forrester Research, Inc., March 25th, 2015.