Rapid customer response and efficient development are critical to creating a positive customer experience and remaining relevant in today’s marketplace.
The business puts significant pressure on development and operations teams to achieve these business objectives. DevOps is a popular approach to alleviate this pressure.
Critical Insight
Development and operations are traditionally siloed departments. Communication is limited to hand-offs and optimization efforts are focused locally. Cross-department collaboration is often discouraged.
Operational concerns are not accommodated early in the development lifecycle, leading to costly post-release fixes and poorly performing systems.
Focus only on your most impactful development and operations pain points. Trust your empowered teams to leverage the right DevOps practices to achieve quicker deployment throughput and better customer service.
Collaborate on the development and implementation of DevOps practices. Merging development and operations perspectives can help alleviate the tension between these two groups and initiate regular communication.
Impact and Result
There are many factors that may derail your DevOps initiatives, such as lack of management buy-in. Understand the current state of your development and operations teams to determine the focus of your efforts:
Conduct retrospectives: discuss experiences with previous projects amongst development and operations managers to identify issues that need to be addressed.
Complete a root cause analysis: review your development and operations metrics and processes to pinpoint the cause of your throughput inefficiencies, execution inconsistencies, and other pain points.
Develop customized solutions: there is no silver bullet. Each team and project may encounter different problems during their iterations. Tailor your solutions to the context of each team and regularly review their effectiveness.
1. Use DevOps to Respond Faster to End Customers
Fix, deploy, and support applications quicker.
What is DevOps?
DevOps emphasizes collaboration and knowledge sharing between development and operations roles. This approach adopts both lean and agile principles to eliminate wasteful development and deployment tasks, continuously and regularly release solutions to end users,
and promptly address end-user and system feedback.
DevOps emphasizes the inclusion of infrastructure and operational insights in development in order to improve delivery and deployment throughput, and identify opportunities to fine-tune systems for better performance.
Common myths about DevOps
Myth: DevOps is automation.
Truth: The goal of DevOps is to streamline a solution’s deployment in order to get it out to end users quickly and address feedback rapidly through collaboration and continuous monitoring. This can be achieved without the need for automation tools using frequent
discussions, trimming wasteful activities, and adopting operational values in development.
Myth: DevOps clashes with existing IT processes.
Truth: DevOps is a fit-to-purpose model and many of its practices can be and should be adjusted to align with the required stage gates and principles of your existing IT frameworks, such as Information Technology Infrastructure Library (ITIL). DevOps should not be used as an
excuse to abandon non-functional requirements.
Myth: DevOps means adopting continuous releases.
Truth: Regularly releasing changes to your end users can provide you with critical feedback about quality, performance, and acceptance. However, daily or even weekly releases can be impractical for complex systems. Schedule your releases based on the availability of your
operations team, business objectives, and the estimated value of your project at an established milestone.
Realize the complications with traditional silos for development and operations teams:
Development and operations traditionally operate within silos and function based on this mindset. Interactions are typically limited to deployment requests (e.g. infrastructure provisioning) and routing of change requests back to development. These silos likely came about
through well intentioned training, mandates, and processes.
Siloed departments often have poor visibility in the activities of other silos and they may not be aware of the ramifications their decisions have on teams outside their silo.
◦ They may make choices that are optimal largely for themselves without thinking of the effect they will have on the entire delivery pipeline. Localized improvements can be detrimental to the entire dev process.
◦ For example, an optimized development team will generate builds quickly. Deployment requests will pile up in front of operations because they are unable to keep up. This will generate higher holding costs and longer delays.
Understand development and operations are primarily driven by different values:
The conflict between development and operations often boils down to difference in values:
◦ Development strives for change – shorter cycle times are driven by Agile, and development produces change sets (e.g. new features, updates, patches) that need to be rolled out to production frequently.
◦ Operations strives for stability – operations care about ensuring all environments are up and smoothly running without disrupting end users and risking system reliability.
Fix, deploy, and support applications quicker with DevOps practices. Identify and adopt key DevOps practices that will help streamline your deployment and feedback, and alleviate existing conflicts between the development and operations teams. Realize that implementing DevOps is
not straightforward: you will encounter people, process, and technology obstacles throughout your journey up the DevOps implementation mountain. Experiment with various approaches and techniques since there is more than one way to reach the summit.
Organizations will approach the DevOps implementation mountain differently since they will require unique sets of practices to address their specific challenges.
Before beginning your climb:
1. Complete an assessment of the development and operations teams’ past experiences and behaviors, and existing toolsets and processes. Determine how DevOps can address your gaps and issues.
2. Prepare your teams by conducting the necessary training sessions, obtaining the DevOps mindset and ensuring they are supported by DevOps experts and leaders.
3. Map out the initial pathway to the summit and acquire the appropriate tools to get there. Be open to modify the pathway and tools when necessary.
Alleviate the bottlenecks in your deployment and operations processes to improve throughput with DevOps:
Development is under constant pressure from the business to deploy more applications with new features quickly. Operations, however, has traditionally attempted to limit change in order to minimize the risks of long downtime, breaking SLAs, and system degradation.
DevOps is intended to create a more continuous flow of work from development into operations by alleviating the bottlenecks from large batch releases and inefficient activities.
Optimize your entire deployment process, rather than individual functional groups or phases. Your overall throughput is only as good as your least optimized step.
DevOps can help uncover people and process issues that were previously masked, such as communication issues. Leaving these complications unaddressed will cause frustration and poor hand-offs between teams, which leads to further delays.
Promptly addressing end-user feedback is critical to achieving a positive customer experience:
Maintaining a positive and receptive customer experience is not only delivering high quality solutions, but also listening attentively to customer concerns and feedback and providing them with the necessary fixes and updates in a timely manner.
DevOps stresses the importance of short feedback loops which will allow your dev and ops teams to:
◦ Rapidly adjust the functionalities of your applications to align them with current stakeholder requirements.
◦ Fine-tune the production environment to enhance the application’s performance.
◦ Identify opportunities for additional features and improvements based on the common personas of your end users.
Teams need to respond to change and release updates quickly and efficiently without compromising quality or systems integrity. Failure to do so risks driving users to a competitor because of poor user experience.
Strengthen your system with lessons learned from each deployment:
DevOps practices stress the importance of small incremental builds periodically deployed to production environments. This approach can help minimize the risk of system failures since the scope of defects is small and typically predictable.
DevOps also gives you the opportunity to evaluate your system capacity with your latest releases. Valuable insights can be gathered to identify how your code, data, and system configurations can be optimized for better performance and stability. The end goal is to make
your systems antifragile though continuous learning and improvement.
Resilient systems improve or respond positively when shocked. They break a little all the time but evolve as a result, becoming less prone to catastrophic failure (source: Alan Morrison and Bo Parker. “The evolution from lean and agile to antifragile.” Technologyforecast: A
quarterly journal. 2013, Issue 2. PWC.com).
DevOps Improves Results
23% increased collaboration between departments.
22% improved quality of deployed applications.
20% reduced time-to-market for software/services.
Source: “TechInsights Report: What Smart Businesses Know About DevOps.” CA Technologies. Sept 2013.
DevOps produces 63% more frequent software releases.
DevOps results in 33% more time devoted to improving infrastructure.
DevOps reduces 60% of time spent handling support cases.
Source: DevOps Pushes Agile to IT's Limits: Implementing DevOps Where Agile Rules. ScriptRock.
DevOps is already being discussed in many IT organizations:
The business often sees the consequences of the conflicts between development and operations teams through delayed releases and poor end-user experiences, which does not reflect a positive light on the organization as a whole.