Enterprise IT is changing at a rapid pace, and organizations must practice modern software development to remain relevant and competitive. One of the key trends embraced by tech teams is DevOps, combining development and operations teams to work in an agile fashion toward a shared goal.
In a breakout session at the 2017 Dell EMC World conference on Tuesday, Dell EMC’s Emily Kaiser and Brian Roche, from the company’s DevOps Dojo, explained the importance of the DevOps movement and how businesses could implement it.
SEE: Riding the DevOps Revolution (ZDNet)
As part of their presentation, Kaiser and Roche offered the following seven key lessons that businesses must learn when engaging with DeVops:
1. What is DevOps?
For starters, a business must define DevOps as a concept, and how they will utilize its principles in their organization. Roche said that it is important to keep clear communication and get everyone on the same wavelength so the team can be unified in its mission.
Instead of measuring vanity statistics like the number of lines of code or number of commits, Roche said DevOps practitioners should focus on users and measure the effect that DevOps has on building the team up. Other core concepts are eliminating waste and employing automation.
“At its heart, DevOps is a cultural movement,” Roche said. And businesses “employ automation to support that movement.”
2. Why DevOps?
A key lesson for organizations to learn is to be able to understand and explain why they want to pursue DevOps, because it won’t be an easy rode. “DevOps is anything but comfortable,” Kaiser said.
Implementing change will require a cultural shift in that everyone becomes responsible for quality, Kaiser said. DevOps teams must “share context” and have empathy for one another, regardless of what aspect of the business they represent.
DevOps also won’t work unless the team has buy-in from every single level. So, would-be DevOps team members must understand how to position the investment to different levels of leadership in different parts of the business.
3. User obsession
One of the core concepts of DevOps is an understanding that the user is omnipresent. As such, everything from the project scope to the development cycle must be focused on providing value for the user. Kaiser and Roche recommended test-driven development (TDD), a model where teams write a test, implement the code, and refactor, over and over.
4. The glue
The team is the glue behind your DevOps deployment. Because of this, team leaders must focus on empathy, feedback, and feelings. Empathy helps team members understand where their coworkers are coming from. Feedback helps identify problems and celebrate success. Focusing on feelings helps to build trust and dependability within the team.
In the Dell EMC Dojo, Roche and Kaiser said they employ a retrospective, where team members connect after a project to discuss what they can learn, what problems they faced, learn empathy for their teammates, and decide what can be done differently next time.
5. We mess up a lot
Roche and Kaiser both noted that failure is common. But, by implementing continuous delivery, DevOps teams can learn from failure and make changes extremely quickly, fixing problems and making the experience better for the user.
To begin working in this model, first figure out the problem you’re looking to solve and start to develop a minimum viable product (MVP) for DevOps. Then, iterate on that product and make changes as you go, learning from each iteration.
6. Scaling DevOps
APIs are the building blocks when scaling DevOps, Roche said. But there are mindset shifts that also must happen for DevOps to scale effectively.
Operators must adopt a development mentality, Roche said, by thinking of infrastructure as code, automating where they can, using health monitoring, and learning empathy for their different team members. The truth is that both development and operations want the same thing–apps running in production, Roche said. And they both must take steps to work together effectively.
7. Learn by doing
Learning by doing can boost problem solving skills, deepen conceptual understanding, and more, Kaiser said. Using an agile or lean methodology makes it easier to work and learn as you go, and change things as the need arises.