A Marine drill instructor and a kindergarten teacher have similar jobs; their goal is to transform the person in front of them into a different person. The Marine can scream and harshly punish to get his results, the teacher has to speak softly, be patient, and use naps.
Turning a group of formerly independent and often quite unique and differently focused IT professionals into teammates is the goal of DevOps. Without screaming and without forced nap time, how do we get the people in front of us to become better, more collaborative, and more invested in the final product at every step of the process?
What Is DevOps?
What began as a desire to bring more efficiency to web development has evolved into a feedback-oriented system designed to change every aspect of web development from coding all the way through the various layers to delivery to the customer.
Teams that adopt DevOps culture, practices, and tools become high-performing, building better products faster for greater customer satisfaction. Traditional IT is a risk-averse organization and yet, IT has a terrible track record: 30% of new projects are delivered late, 50% of all new enhancements are rolled back due to quality issues, and 40% of delays are caused by infrastructure issues.
A DevOps Organization
A DevOps organization is risk averse too but it also understands that failure is inevitable. So, instead of trying to eliminate failure, they prefer to choose when and how they fail. They prefer to fail small, fail early, and recover fast.
DevOps is bold enough to acknowledge how humans best operate and the inherent difficulties in top-down management and communication. With each cell empowered to make decisions along the way, the launch becomes a non-event. They have the goal in mind from the beginning rather than just “doing their job” and then letting the next group deal with it.
What trends in DevOps are we going to see in 2020?
The T-shaped Professional
Upskilling and cross-skilling will lead to the rise of the T-shaped professional. While they are highly skilled in one area (the vertical line), they have a breadth of knowledge of related disciplines (the horizontal line). With a tight labor market in desired skills, organizations and individuals will invest heavily in upskilling and cross-skilling in order to meet accelerating demands for new skills.
While all IT professionals will need to become more cross-domain competent, developers in particular will have to add new breadth to their skills portfolio in areas such as testing, containerization, infrastructure, AI, and security. There will also be a stronger emphasis on “soft” core skills such as empathy, customer experience, and collaboration. Silos are starting to come down in many areas, and the need for everyone to become T-shaped, with depth and breadth of knowledge will become necessary to enable and support innovation.
It’s time to let go of the traditional security stack and embrace security solutions at the speed of DevOps. In the collaborative framework of DevOps, security is a shared responsibility from beginning to end. It’s a mindset that is so important, it led some to coin the term “DevSecOps” to emphasize the need to build a security foundation into DevOps initiatives.
IT builds on the cultural changes of DevOps to integrate the work of security teams sooner rather than later. As new regulations are put into place, more application developers will be mandated to build strict security policies directly within code.
To the Cloud!
DevOps-minded teams are moving to the cloud more and more in order to facilitate faster changes to production, improve visibility across all applications and infrastructure, and build more resilient architecture. Cloud architecture such as AWS, Azure, or GCP can turn platforms, functions, and infrastructure into simple-to-operate services (PaaS, FaaS, and IaaS). By addressing scalable hardware problems with code, it’s becoming easier and easier to make changes quickly at the push of a button.
Normalization of Continuous Integration (CI), Continuous Deployment (CD), and Continuous Delivery (CD)
This trend indicates that engineering teams are beginning to look at CI and CD as a requirement. More people are understanding the nuances between CI, CD, and the other CD. Businesses are seeing that CI/CD can be used as a competitive advantage in order to serve value to customers faster and can also help DevOps-minded teams resolve incidents or rollback changes more easily. A well-built CI/CD pipeline will not only improve velocity but it should help improve the overall reliability of the services supported.
Automation Is Becoming More Important
Many enterprises take DevOps to an unproductive extreme. In an attempt to automate development processes, people link together too many tools and end up over-automating. The trick is to strike a balance between over- and under-automation of DevOps. It’s a matter of understanding your own requirements when it comes to development, testing, and deployment. Only when you have that information should you bring in the appropriate processes and automated tools.
Automation is about taking once manual processes and placing technology around them so they’re inherently repeatable. If your processes are bad or flawed, then you’re just making bad processes happen faster. Your first efforts should be focused on what processes occur during development. Once those are vetted and locked down, it’s just a matter of backing the appropriate DevOps automated tools into those processes. However, not all processes can—or should—be automated. Those who over-automate typically focus on the tools more than the processes. They select the technology based upon what others use and don’t understand how they’re doing—or should be doing—development. They end up with too many tools and must adjust their DevOps processes to accommodate those tools, not the other way around.
Slower and Better
We’ve learned that faster is not always better when it comes to software release cycles. The point is not to simply operate faster for the sake of it, but to figure out how that increased speed benefits your business. And while “business value” might sound fuzzy, the abstraction is really a placeholder for those specific benefits in your organization. Businesses today aren’t looking so much for fast releases as for quality releases. Competitors can spring up overnight, so it’s key to deliver capabilities that keep your customers satisfied and loyal; you don’t want them looking elsewhere.
DevOps is here to stay. It has proven its effectiveness which has translated to fewer glitches, happier developers, fewer days to market, and more satisfied customers.
The trends for 2020 reveal how it is fast becoming the standard way of doing business in the industry.