The Path to DevOps: Accelerating the Delivery of Value


Part of our work in the Domain Consulting team is advising Cyara customers on their Agile/DevOps journeys. Through this process, we've identified a path to DevOps in the contact center that I'd like to explore in more detail.

In the first post of this series, I talked about putting in the guard rails with design-driven assurance. In this post, I'll talk about how to accelerate the delivery of value using automated deployment and configuration of off-the-shelf contact center software, or implementing cloud contact center software. And in part three, I'll cover ways to reduce the cost of failure, through building solutions with testing and monitoring in mind, automated deployment and configuration, or using test data in production. 


Value-Adding vs Non-Value-Adding Activities

There are a number of activities in a typical software development project:

  1. 1. Planning
  2. 2. Feature development
  3. 3. Code builds
  4. 4. Environment setup (deployment and configuration)
  5. 5. Functional testing
  6. 6. Regression testing
  7. 7. Day 1 and level 3 Support
  8. 8. Operations

Many of these are what I would term ‘value-adding activities.’ Chief among them is feature development, because new innovations and experiences are what really add value for an organization’s customers. A number of other activities are ‘non-value-adding,’ but they take up significant time and effort. Of the list I’ve outlined above, these non-value-adding activities are code builds, environment setup, regression testing, and day 1 and level 3 support. The key to accelerating the delivery of value lies in automating as many as possible of these non-value-adding activities.

Harnessing Automation

Everyone’s solution is different, but at a high-level, organizations can:
  • Orchestrate continuous integration (CI) and continuous deployment (CD) with solutions like XLR or uDeploy, etc. This controls/integrates the CI solution and deploys software
  • Monitor source code repos such as GitHub, BitBucket, or SVN, build and unit test with solutions like Jenkins, Bamboo, Team City, etc. for IVR apps, routing scripts and agent CTI soft phone applications
  • Maintain configuration as code, automate configuration migration between environments and easily roll forward and roll back. We have come across a number of different solutions for different contact center vendors, for example BlackChair (supports Genesys and Cisco), Pointel, InProd, and Eemaan
  • Trigger automated regression and load testing with Cyara, from the CI & CD solution using the REST API

Accelerating the Delivery of Value

july-articles-path-to-devops-activitiesReallocating the time and effort from non-value-adding activities to Feature Development
Accelerating the delivery of value can be achieved by automating non-value adding activities using the tools I talked about. With automation, organizations can spend more of their time and effort in sprints on new feature development and new value creation than on non-value adding activities.
Increasing the speed of value delivery achieves a couple of objectives. First, by automating non-value adding activities, organizations also reduce the overhead of projects. That means they don't need to bundle as many different features together to go through the development cycle. Typically, organizations take on projects with many features because the deployment, testing, and setup phases involve significant effort, so going through this process for just one feature is counterproductive. The cost to set up all the environments to produce one feature, for example, would outweigh its value. But, if organizations are able to reduce this overhead, they can reduce the number of features in a release and make smaller changes more often.
The benefit of fewer changes made more often is reduced risk. By making changes more often, organizations are effectively improving their ‘muscle memory’ — they become better at making changes because they practice. Another benefit is that the amount of change being made between releases is smaller, so there is also a reduced chance of issues. The other compounding benefit is that when regression testing is automated and done more often but in less time and with less effort, more defects are caught. This means the day 1 and level 3 support effort decreases. Strictly speaking, this activity is not really being automated, but the quality has improved, so some of the effort involved is removed, and that time can be reallocated to feature development. 
In essence, the idea is to be more efficient in the activities that are non-value adding. So, organizations can take the time and effort they save by automating the code build, environment setup, regression testing, and day 1 and level 3 support activities and reallocate them to feature development. Following this practice reduces overhead and means organizations can bundle activities together in smaller batches and undertake the whole process a lot more frequently and quickly. This results in faster delivery of value to customers with better quality and reduced risk.
To learn more about how Domain Consulting can help you, contact us, or get in touch with your Account Executive.

Contact Us