(Published at Medium.)
To keep up with the competition, much less stay ahead, is a greater challenge than ever before due to increasingly compressed software development timelines. What once took years must now be done in months, weeks, days, or even hours.
At the same time, new software iterations must successfully incorporate feedback — that is, demands! — from end users while having the highest quality possible. All this, combined with unproductive organizational silos, conspires to slow things down just when the need for speed is critically important.
Different management theories to help improve design and manufacturing processes include Agile, Lean, Kanban, and Scrum. For those in software development and implementation, the best next step could be DevOps. More than just a new organizational chart or revamped workflow processes, however, DevOps requires a deliberate shift in company culture to be successful.
What exactly are the benefits offered by DevOps? What workplace and management culture is necessary for its success? Your need-to-know information is below.
What is DevOps?
Historically, software development and implementation has been divided into three distinct silos:
- Development
- Quality Assurance
- Operations
DevOps aligns these three activities within one overarching, collaborative system. This allows for faster — and continuous — coding of updated software releases and patches, more user-centric and responsive operations, and improved overall quality. Introduced in 2009, the use of DevOps is steadily increasing as per the chart below.
3 Keys to a DevOps Culture
While the benefits of DevOps are well documented, successfully using its concepts, processes, and tools can be a challenge. Initial buy-in can be a tough sell. After all, frontline employees often see management theories from on high come and go with each new nonfiction bestseller list.
That’s why you must create the right culture — not just buy a new piece of software or redraw the organizational chart yet again — for DevOps to succeed.
1. Hire the Right Employees
Successfully deploying DevOps requires a significant shift in how your company thinks and operates. Given that, you must have the right employees. Sure, you need people with the necessary technical skills such as a clear understanding of Linux fundamentals and scripting, Infrastructure as Code (IAC), and Continuous Integration and Continuous Delivery. There is, however, another fundamental component: soft skills.
Communication and collaboration form the core of DevOps’ continuous improvement and development of software. It’s not enough to hire someone who has advanced technical skills but no ability to think beyond themselves. You need people who:
- Understand the macro and micro goals of a project
- Have an innate sense of curiosity combined with critical thinking
- Display strong interpersonal skills when solving problems and overcoming challenges
No matter what kind of continuous improvement system you use, selecting the right employees will directly contribute to its success or failure. Current research clearly demonstrates the particular importance of soft skills for DevOps.
2. Create Cross-Functional Teams
Once you’ve hired the right people, the next key is how you put them to work. Avoid grouping them together solely by technical skill sets such as software architecture and coding, operations, or quality assurance.
That’s because DevOps requires cross-functional teams to be successful. After all, you’ll never have a recursive system of continuous development and deployment while using legacy silos of knowledge and personnel. Teams which are skill-centric too often justify avoiding necessary tasks by saying it’s another group’s responsibility.
GitLab recently switched to cross-functional teams based on individual products to improve its DevOps processes. Each team — or “squad” — consists of a product manager, user experience (UX) designer, and software developers. The result? Using a collaborative team for each product line has led to better communication, shared learning, and more cohesiveness during development and improvement.
3. Employ Strategic Automation
While hiring the right people to create effective cross-functional teams is key, it’s also important to automate recurring tasks such as testing. While code and end-user testing used to be done manually, automated testing produces more feedback faster, dramatically reducing time to market.
In addition, as opposed to looking at software development as an end unto itself — a common attitude when micro goals are divorced from macro ones — there is better integration of stakeholder needs within the continuous development cycle:
- Faster responses to evolving business demands
- Improved customer service
- Increased productivity
Whether it’s evaluating software performance, mobile applications, or tool development, a robust system of automated testing enables teams to work smart and hard as demonstrated in this Cognizant case study. Knowledge workers are also freed up to concentrate on the critical tasks only they can do.
Fostering a DevOps Culture
Effectively aligning people and resources to employ DevOps may seem insurmountable at times. That’s why the first step is to incorporate the three tips above to create your own DevOps culture.
Still not convinced it’s worth the effort? Check out these DevOps resources:
- DevOps Adoption and Implementation in Software Development: Concepts, Practices, Benefits, and Challenges
- DevOps for Digital Enterprises
- DevOps Adoption Benefits and Challenges in Practice: A Case Study
For DevOps to work, employees at all levels of responsibility in every department must consciously commit to joining a fully realized DevOps culture. Only then can you reap the rewards of this highly integrated collaboration: faster time to market with increased quality.

