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

7 Mistakes Companies Make When Implementing DevOps

DZone's Guide to

7 Mistakes Companies Make When Implementing DevOps

DevOps adoption is always tricky to get right. Here are some common mistakes you can try to avoid in your own organization.

· DevOps Zone
Free Resource

Download “The DevOps Journey - From Waterfall to Continuous Delivery” to learn learn about the importance of integrating automated testing into the DevOps workflow, brought to you in partnership with Sauce Labs.

In the last few years, DevOps has established itself as a must-have for all the most innovative companies. Many companies have adapted a continuous approach to software delivery and development, using one of many popular technologies and tools. However, the most important way to improve continuous integration strategies is to change the company’s processes by examining the frequency and scale of tests running throughout the development cycle. These tests help speed up the process by helping to identify and fix trouble spots in apps while the changes are still fresh in the developers’ minds.

The following are a few of the mistakes that companies make when it comes to DevOps, and how to fix them.

Choosing Speed Over Quality

Many companies get too focused on the importance of speed in DevOps that they allow things to be rushed out the door with little to no testing. You can’t have both speed and quality. However, you can equip dev teams to write their own tests with their own tools for quick feedback for every build and deployment candidate possible.

Testing for Problems Only at the End of the Lifecycle

This is a common misconception about load testing. Many people still think that it could only be done at the end of the lifecycle and that they have to wait for the performance tests to be developed and run by someone else. But this method creates surprises and unnecessary drama for everyone involved. However, with modern, open-sourced tools and domain-specific languages, developer driven performance testing is now possible and should be taken advantage of. With developers taking responsibility for functional tests, they are beginning to use low-volume performance tests to examine functionality and performance in one shot, especially with API endpoints, which become building blocks for automated integration, deployment, and post-production tests.

Running Just One Test at a Time

Another mistake many companies make is thinking that tests must be run one at a time, which combined amounts to a significant amount of time wasted. Instead, you can run all of your small tests simultaneously, saving you lots of time.

Assuming Your Tools Aren’t Compatible

When developing an app, the use of open-source tools have become common among developers, with many developers having a favorite tool that they use consistently. Oftentimes they are then wary to use other tools imposed on them by others. With many frameworks emerging that are compatible with a wide variety of tools, this should no longer be a problem, as long as you can have a unified orchestration framework that individual tools can tap into. However, regardless of what tool you use, the process of load testing can be part of a single, unified whole without restricting tool choice.

Not Communicating Testing Expertise and Sharing Responsibility

With DevOps becoming more popular, the roles and responsibilities of the developer teams are becoming less defined. Some teams dedicate members of the team to a select few “engineer in test” developers, limiting the ability for tests to run throughout all stages of the lifecycle. However, the responsibility to create high achieving performances and breaking silos should fall on everyone’s shoulders equally and should occur throughout the process, not just at the end.

Limiting Tools Developers Can Use

When companies are large and have large departments, many DevOps members can struggle under the single companywide set of tools. Instead, what many companies are doing, is setting up smaller, self-sufficient teams that run on their own, with minimal interactions between teams. This way, each team can set up DevOps and continuous delivery tools and technologies that work for them and meet their needs.

Forgetting About the Database

One key area often missed out when adopting DevOps is database. While DevOps rapidly expands, the database lags behind because of a mistrust in automating the database. If the code is on steroids but the database is limping behind, it can hold back the entire development lifecycle.

Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure, brought to you in partnership with Sauce Labs

Topics:
devops ,devops adoption

Published at DZone with permission of Yaniv Yehuda, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

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

{{ parent.tldr }}

{{ parent.urlSource.name }}