Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

The Biggest Hurdle to DevOps?

DZone's Guide to

The Biggest Hurdle to DevOps?

Automated testing which is critical to release quality and secure code at scale may be the biggest hurdle for DevOps adoption and success.

· DevOps Zone ·
Free Resource

DevOps involves integrating development, testing, deployment and release cycles into a collaborative process. Learn more about the 4 steps to an effective DevSecOps infrastructure.

Thanks to Jeff Scheaffer, General Manager of Continuous Delivery Business Unit at CA Technology for taking time to speak to me a CA World '17 about the current state of DevOps.

Q: How are you working with your clients to help them successfully implement a DevOps methodology?

A: We work with clients to discover the art of the possible. We provide thought leadership based on experience with thousands of other legacy enterprises. We talk to them about how to be better working together rather than continuing to exist in a siloed organization. We work with clients through installation and adoption to ensure the solution is fully used and the client is receiving the value they anticipated. We have ongoing Customer advisory boards which enjoy active client participation.

Q: What are a couple of use cases you like to highlight?

A: We worked with Cerner for nine months to help identify the drivers of the customer and then put in place the fundamentals to ensure their clients were enjoying a great customer experience. Cerner is now monetizing brands, products, and services through their app which has web and mobile APIs.

We've helped Twilio, communications enabling application, to become a professional software organization. They are now delivering a great CX based on consumer measures of quality and stability.

We provide value to our clients by helping them keep pace with the competition and changing with the market

An Ebank customer's deposits have increased since they've adopted DevOps. They began with agile to get the velocity up, go to DevOps, get builds running, CD toolchain. This requires executive support, training, and grassroots adoption – but it must start at the top. Pipelines are automated but still have manual tasks.

Q: What is the biggest hurdle for organizations to overcome to coordinate DevOps across the SDLC?

A: Identify manual tasks. 63% of teams implementing CD are finding testing is the bottleneck. CD = CI, deployment, Automic into the cloud, testing, release, operations. 70% of testing is still manual. Testing – API to the GUI, unit to the component to system integration. Left shifting the process – agile requirements design (ARD), better elaborate a requirement of all of the steps that take place. Know what the tests are, test code with virtualized data, automate the test, then maintain the tests.

Test maintenance is a nightmare. We had two engineers writing a test for every 13-week sprint – 30% of the coverage. Test-driven design automatically generates tests. Using ARD took 3 days and we were able to achieve 100% coverage with automated test script generation that plugs into Agile Central. This runs in common open source frameworks.

BlazeMeter is model driven, cloud-based, open source, JMeter performance testing. It uses Taurus to automate any test. No vendor can keep up. We need community-based development and testing. Everything left shifts because it's 30X more expensive to fix during production than development

60% of defects are in requirements, planning, and design. Test engineers are software engineers writing test automation. 70% or more of unit test, API, GUI, security test automated. Use CodePilot.io spellchecking for good coding hygiene. Chaining of the pipeline from developer to main lets you validate before main which is always buildable and always releasable.

Read the 4-part DevOps testing eBook to learn how to detect problems earlier in your DevOps testing processes.

Topics:
devops ,automated testing ,scaling ,security

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}