You are here

You are here

How to build a DevOps army

public://pictures/tom_steihm_0.jpg
Tom Stiehm Chief Technology Officer, Coveros Inc.
 

As you scale DevOps, you need more people who understand the fundamentals—​including dev and test pros, IT operations pros, and even stakeholders.

You could bring in external folks, but they're expensive and in short supply. So start building your DevOps army now by training existing employees on the basics.

Here's what each role needs to know at a minimum, and how to provide —or where to go to get—that training.

Testing and quality assurance pros

One key enabler of DevOps is feedback, including on the health of your software, and test automation is integral to assessing your software's health.

The only way to move quickly and not break things is to have a suite or multiple suites of automated tests that prove the software still works and still implements your requirements. Without test automation, your stakeholders will never gain enough confidence to allow the software to progress through the build pipeline and release it to production. 

Your test professionals—especially software development engineers in test (SDETs)—need to learn how automated tests fit into multiple levels, including at the service layer, UI layer, and database layer. They also need to learn how test automation fits into the build pipeline and what passing or not passing those tests means to the health of your software.

You can provide test automation training from a variety of resources—including classes offered at industry events such as the upcoming EPIC Conference.

Not all situations lend themselves to relying only on the build pipeline to determine whether or not you should put software into production. With a lot of software there's testing you must do, such as usability testing and accessibility testing.

Manual testing's place

Some organizations do these tests before putting their software into production. Others perform manual testing after they've put the software into production, and testing happens in production or in a parallel environment. 

Companies that test in production have confidence that, with the current tests and checks in their build pipeline, only a few small bugs might make it into production. They feel that their process is good enough to address those quickly, before they become a bigger problem. 

This kind of manual testing requires subject-matter experts (SMEs) that have either an in-depth understanding of the business or an in-depth understanding of specific testing practices that require subjective evaluation.

To help transform your manual testers into SMEs, you should offer them training in both the software development method you plan on using in your DevOps process and in how to write user stories. This way, they can write the requirements while working with the product owner to ensure that the requirements fit the business and have sufficient acceptance criteria. 

Software development pros

DevOps leverages and adds to the feedback cycles software developers learn from agile practices. These practices include things such as build automation, continuous integration, code analysis, and unit testing.

Then there are things such as continuous delivery, or automatically deploying to an environment with a test suite to evaluate the software in the environment; continuous deployment, pushing a new release into production based on passing all of the tests; and checking code and software quality in the build pipeline. 

Developers must learn how to leverage the build pipeline to get feedback on the health of their software. They must learn how to change their code and coding practices to take advantage of that feedback.

And they must learn how to take their current development and build processes and map those into a value stream or the set of steps needed to take code that is checked by a developer and get it into the hands of users. 

By understanding your value stream and where your processes and practices have delays and slowdowns, your team can focus on automating those with the idea of reducing the amount of time they're waiting for a process or practice to happen. It also helps them understand where they’re not using time efficiently and where they're not leveraging work outputs so they can eliminate those from their processes.

Developers should also learn where to create test automation or how to work with test professionals to create and use it. While automation and test automation are cornerstone practices of DevOps, to get the most value out of them you need to understand the foundations of DevOps. Every design decision and tradeoff should be made with a full understanding of how it will move the team toward the best version of DevOps and the product. 

Train your developers in DevOps, agile methodologies, and agile engineering practices so they can fully leverage the feedback cycles that a move to DevOps will make available to them. 

IT operations pros

IT Ops is the last line of defense for production software. In traditional software development models, the concerns of operations are always the last thing developers consider, and they often only do so just before the software is about to go into production.

The dev team writes a runbook, which lists how to provision, deploy, configure, and run the software. They often do this quickly, with a best-effort mentality. 

But many details may be missing, and you may find large holes in your procedures for getting your software into production. It also means that features intended to make the product work and emit telemetry that the team can use to figure out the internal state of the software, such as log messages for audit and security, will be missing and will not be put into the software for months or years. 

One of the goals of DevOps is to bring ops into the product conversation from the beginning. Part of the DevOps value stream involves getting ops into the room, where they can help to create the requirements needed to launch healthy, functional software—including things that will allow the software to be monitored and tweaked successfully once it's in production. 

IT operations professionals should learn when they need to get involved in DevOps from the beginning of the product lifecycle and how their input will help make the software more reliable and maintainable in production. They also must learn how to help by creating infrastructure as code to leverage the same provisioning, deployment, and configuration processes through the entire product development lifecycle, from developers' laptops to production releases. 

Once your IT Ops team members understand the foundations of DevOps, they will also need training in the specific tools your organization will use to automate your builds, provisioning, and deployments. Classes might cover things such as Chef or Puppet, or perhaps Docker and Kubernetes, depending on your situation.

Many of these topics are covered in classes and sessions at STAREAST, Agile + DevOps, and other industry conferences.

IT managers and executives

DevOps is, as much as anything else, a culture-change movement. Culture changes live and die by the decisions managers and executives make about how much the organization can change—and how fast they will allow it to change.

Managers and executives are responsible to business stakeholders, so they need to shepherd their employees to better ways of working while maintaining the business commitments they have already made.

Learning the goals and processes of DevOps can help your leadership team learn how to best help their organizations change the culture, habits, behaviors, and practices your people use in order to improve customer outcomes and employee satisfaction.

Empowered knowledge workers provide the most positive impacts on their work, products, and companies. 

Start with the basics

Creating DevOps expertise within your organization—building your own army— starts with training your team on the basics of DevOps. Along with providing the skills they will need, the training you offer should give them an understanding of the value your team will get out of it

With training, your team members will gain an understanding of DevOps and what it means to be a learning organization so that they can make decisions that will move you toward the business value your stakeholders want. Get started creating your own DevOps army by getting your team grounded in what it means to have a DevOps culture.

For more details, attend the tutorial, "Foundations of DevOps" at the STAREAST conference, which is now virtual. The session will cover the basics  every software test professional, operations engineer, software developer, project manager, and business owners​​​​​​ should know, whether you're just beginning to learn about DevOps or you've been working with DevOps for years​​​​​​. Attendees who complete the course earn the ICAgile Professional (ICP-FDO) certification. The STAREAST online conference takes place from May 4-7. Register by April 3 using promo code SECM to save up to $200.

 

 

Keep learning