The secret to DevOps maturity isn’t technology or process, but people. It takes engaged leadership and all-for-one cooperation to achieve the kind of results that lead companies to superior IT performance.
High-performing DevOps teams can recover 168 times faster from failures and have 60 times fewer failures due to changes, according to the 2015 State of DevOps report by Puppet Labs. High-performing teams also release code at significantly increasing velocity as their teams grow in size, approaching three deploys per day per developer, for teams of around 1000 developers. The report concluded that high-performance outcomes depend upon a goal oriented culture, a modular architecture, continuous delivery and effective leadership.
First, let’s define the key traits of a high-performing DevOps team:
- Business Responsiveness: taking a business idea and moving it to implementation within weeks or less.
- Reliability: speed means nothing if it results in a broken or underperforming product. DevOps pros are always seeking out the la tools and processes to integrate quality at every step of development and production.
- Cross-functional prowess: developers, ers and operations managers should be able to perform some of the tasks of their counterparts and understand how all the roles and processes overlap. Developers should consider security when they write code, while operations people should take into account user needs when deploying the code.
How to grow high-performance capabilities
Engaging leadership on the technology and business side is becoming table stakes for DevOps. Without senior level buy-in and support, which may include creating new incentives and investing in training and tools, DevOps is merely an experiment not a wholesale transformation. Leaders can help by developing a culture which allows for experimentation, autonomy, self-organization and the adoption of Agile methods such as Scrum and Kanban. Hiring a DevOps specialist in either a consulting or full-time role can be invaluable to jumpstart the process and provide an objective lens on change. Consider these additional steps as you move along the DevOps maturity curve:
Find the champions: Conduct an assessment of people within the IT or product engineering organization to identify team members who are curious, open to change, adaptable and excited about helping lead others in best practices. Some companies use personality assessments to assign roles and pinpoint developing leaders.
Create a collaboration strategy: High-performance teams collaborate frequently and effectively. But adopting collaborative workflows takes time, especially in more traditional IT shops. Begin by introducing change that is productive while breaking down silos. Examples include paired programming and paired developer-er teams where employees work together or in a leader/observer model. This can enable higher levels of productivity, learning and also model the interactive processes required for continuous delivery.
Allow for self-organizing teams: There are many opinions on how to self- organize, but generally, this entails organizing work and selecting strategies with some level of freedom. Teams can manage day-to-day decisions and workflow as a group, but must communicate frequently and take on ownership and commitment to goals and outcomes. Take note, this doesn’t mean teams have no managers or guidance, but simply that they can be self-directed in the pursuit of objectives. Such freedom has been deemed valuable for innovation and performance, by DevOps experts.
Invest in training: It’s fine to have a DIY approach when you’re first getting started on DevOps, but once your company has committed to the philosophy, you’ll need to invest in education. That encompasses tactical skills for continuous delivery, continuous integration, Agile development and ing, collaborative workflows and cloud orchestration and security, to start. Soft skills training around entrepreneurialism, teamwork and organizational development may also be helpful. Gather input as to where individuals would like to grow, instead of having a top-down approach to training.
Create the technology infrastructure for speed and flexibility: Open the door to new automation, change management and monitoring tools, yet provide frameworks to avoid tool sprawl and silos of data. Wherever and whenever possible, move workloads to the public cloud, where the on-demand, dynamic infrastructure is a perfect fit for enabling DevOps processes and goals.
Give more focus to QA: Given the faster pace of DevOps, ing in software development is more important than ever. Adopt -driven development practices to accelerate quality and speed with a “ as you go” mentality. Automate your harnesses and plans and build as much automated coverage as you can into the process to ensure fast iterations.
Finally, keep it simple. Pilot the creation of a minimally viable product where team members can safely experiment with continuous development and other concepts, beginning a process of continual improvement. Measuring outcomes requires looking beyond standard measures such as critical defects and cycle times to incorporate business friendly KPIs including customer satisfaction and usability.
There is no single path toward developing high-performance teams. Just remember, the heart of DevOps success is people. Learning how to best attract, retain, and motivate top performers is more important than achieving any specific DevOps metric and will serve your company for the long term.
-Kris Bliesner, CTO
This article was originally published 0n Computer Technology Review on 12/17/15.
Midmarket and enterprise companies looking to transform their IT operations to new models based on the public cloud and Agile/DevOps have a long, arduous journey. Moving from internally-managed IT departments with predictable needs, to ones which must be flexible and run on-demand is one of the grea paradigm shifts for CIOs today.
It requires new skills and new ways of working including a fundamental reorganisation of IT organisations. Meanwhile, IT must continue with business as usual, supporting core systems and processes for productivity and operations.
Many companies can’t get there fast enough, which is why the market for service providers specialising in public cloud infrastructure and DevOps is growing. A new crop of MSPs that focus specifically on public cloud infrastructure has appeared in the last few years to address the specific needs of public cloud as it relates to migration, legacy systems, integration, provisioning and configuration, security and financial management.
IT organisations are moving on from ing and prototyping to launching production applications in the cloud; there is often not enough time to ramp up quickly in the new capabilities needed for success. Here’s a look at how MSPs can ease the pain of enterprise public cloud and DevOps initiatives:
In the public cloud, network management is handled differently due to the differences in the actual network environment and the fact that you just don’t have the same level of visibility and control as you do in your own data center. MSPs can help by lending a hand of expertise in building and managing secure networks in the public cloud.
Without the help of an MSP your business will need to do their own homework on how the network works and what tools are effective on the security side of things: heads up, it’s a much different list than the traditional data center. What do you get out of the box? When do you need third-party software to help? MSPs have years of experience running production workloads in the public cloud and can help you make the right decisions the first time without going through an exhaustive discovery phase.
Design and architecture:
Deploying systems into the cloud requires a mental shift, due to the elastic nature of virtual resources. This reinvents infrastructure design, since instances come and go according to demand and performance needs. IT needs to understand how to automate infrastructure changes according to shifting requirements and risks, such as hardware failures and security configurations. Experienced service providers that have helped companies migrate to the cloud over and again can deliver best practices and reduce risks.
Cloud and DevOps go hand-in-hand due to the joint requirements of frequent iteration, rapid change and continuous integration/development. The processes and tools for CI and CD are still emerging. Doing this well requires not only new, collaborative workflows but working with unfamiliar technologies such as containers.
While AWS has released a new service for managing containers, that’s just one piece of the puzzle. Many companies moving toward DevOps benefit from outside help in training, planning, measuring results and navigating internal barriers to change. Lastly, the automation infrastructure itself (Puppet, Chef, others) requires maintenance and is critical in the security landscape. An MSP can help build and manage this infrastructure so that you can focus on your code.
Security in the cloud is a shared responsibility. Many customers incorrectly assume that because public cloud providers have excellent security records and deep compliance frameworks for PCI and other regulations, that their infrastructure is secure by default. The reality is that providers do an excellent job of securing the underlying infrastructure but that is where things stop for them and begin for you as a customer.
Most security issues found in the public cloud today relate to misconfigurations.track configuration changes and validate architectural designs against them. In DevOps, rapid development processes may inadvertently trump security, and using containers and micro-services to speed deployment also introduces security risks. Missteps in the area of security can be long and costly to fix later; an MSP can help mitigate that risk through upfront design and ongoing monitoring and management.
Provisioning and cost management:
Virtual sprawl is no myth. IT teams that for years have used over-provisioning as a stopgap measure to ensure uptime may struggle to adapt to a different approach using on-demand infrastructure. Experts can help make that transition through proper provisioning at the outset as well as applying spend management tools built for the cloud to monitor and predict usage.
One of the best features of public cloud providers is high elasticity, the ability to spin up large amounts of virtual instances at a moment’s notice and then shut them off when you are done using them. The trick here is to remember to shut them off: many development teams claim to work 24×7 but the reality is usually much different. An MSP can set up cost alerting and monitoring and can even leverage tools to help you allocate costs to your heavy users or business units.
Large companies often want to move legacy systems to the public cloud to reduce the costly overhead of storage and maintenance. Yet no CIO wants to be accountable for migrating a mission-critical legacy system which later doesn’t perform well or is out of compliance.
Service providers can help evaluate whether a system can be migrated as is, “lift and shift,” or needs to be reconfigured to run in the cloud. CIOs may lean toward handling this task with their internal teams, yet doing so will likely take longer and require significant retraining of staff. There’s also the need to pay close attention to compliance. Experienced MSPs can help navigate financial regulations (Sarbanes-Oxley, PCI), privacy laws (HIPAA) and data management regulations in some sectors that go against the grain of DevOps.
Most IT infrastructure managers whom have been around for a while are well-versed in VMware-specific tools such as Vsphere. Yet unfortunately, most of those operational tools made to support virtualisation software don’t work well, or at all, in the public cloud. There are some cloud-native management tools available now, including those from AWS, yet none of them are clear winners yet.
IT departments are stuck with patching together their own toolsets or developing them from scratch, such as Netflix has done. That’s not always the best use of time and money, depending on your sector. MSPs can take over the operations management function altogether. Customers benefit through the continual learning on industry best practices that the service provider must undertake to effectively manage dozens or hundreds of customers.
As with any disruptive technology, people are the biggest barrier to change. While human beings are highly adaptable, many of us simply are not comfortable with change. Take a hard look at not just skills but your culture. Do you have the type of organisation where people are willing and able to adapt without threatening to quit? If not, using the services of an MSP might be the path of least friction. Some organisations simply want the benefits of new technologies without needing to understand nor manage every nook and cranny.
Beyond all the above advantages, the MSP partner helps IT organisations move faster by serving as a knowledgeable extension of the IT department. CIOs and their teams can focus on serving the business and its evolving requirements, while the MSP helps ensure that those requirements transition well to the public cloud. Executives who have decided that the public cloud is their future and that DevOps is the way to get there are progressive thinkers whom are unafraid to take risks.
Yet that doesn’t mean they should go it alone. Find a partner who you can trust, and move toward your future with an experienced team propping you up all the way. The old adage of “you won’t get fired for hiring <name legacy service provider>” has now changed to “My new MSP got me promoted.”
-Kris Bliesner, CTO
This article was first published on ITProPortal on 11/25/15.