use devops to respond faster to end customers

18
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.

Upload: info-tech-research-group

Post on 15-Jul-2015

588 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Use DevOps to Respond Faster to End Customers

Use DevOps to Respond Faster to End CustomersFix, 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 DevOpsMyth: 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 Results23% 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.

Page 2: Use DevOps to Respond Faster to End Customers
Page 3: Use DevOps to Respond Faster to End Customers
Page 4: Use DevOps to Respond Faster to End Customers
Page 5: Use DevOps to Respond Faster to End Customers
Page 6: Use DevOps to Respond Faster to End Customers
Page 7: Use DevOps to Respond Faster to End Customers
Page 8: Use DevOps to Respond Faster to End Customers
Page 9: Use DevOps to Respond Faster to End Customers
Page 10: Use DevOps to Respond Faster to End Customers
Page 11: Use DevOps to Respond Faster to End Customers
Page 12: Use DevOps to Respond Faster to End Customers
Page 13: Use DevOps to Respond Faster to End Customers
Page 14: Use DevOps to Respond Faster to End Customers
Page 15: Use DevOps to Respond Faster to End Customers
Page 16: Use DevOps to Respond Faster to End Customers
Page 17: Use DevOps to Respond Faster to End Customers
Page 18: Use DevOps to Respond Faster to End Customers

http://www.infotech.com/research/ss/use-devops-to-respond-faster-to-end-customers