Enterprise DevOps. No more silos. March 2014 Dave van Herpen. Sogeti Nederland B.V White paper



Similar documents
Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

DevOps. Happiest People Happiest Customers

Continuous delivery Release software on-demand, not on Red Alert

NIH PROJECT MANAGEMENT COMMUNITY THE DEVOPS EFFECT DONNA KNAPP ... educate & inspire ITSM Academy

MasterClass 26 th March 2015 DevOps and Continuous Deployment

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

18/09/2015. DevOps. Prof. Filippo Lanubile. Outline. Definitions Collaboration in DevOps Automation in DevOps. Prof.

Goodbye war room, hello DevOps 2.0

The Continuous Delivery Effect

INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE

Crossing the DevOps Chasm

Application Outsourcing: The management challenge

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Continuous Delivery of Software

Best Practices in Release and Deployment Management

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

SCALING AGILE. minutes

DevOps: The Key to Delivering High Quality Application Services Faster

Scrum vs. Kanban vs. Scrumban

Customer-Centric Cloud Provisioning. White Paper

Scaling Agile Is Hard, Here s How You Do It!

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Scale agile throughout the enterprise A PwC point of view

Anatomy of an Enterprise Software Delivery Project

Continuous Delivery Software-Deployments ohne graue Haare. 3. April 2012 Corsin Decurtins

THE STATEFUL CONDITION: OR HOW I LEARNED TO STOP WORRYING AND EMBRACE THE CLOUD

THE METIER OF ERP PROJECT MANAGEMENT Successful Projects above all require Business-IT Leadership

Lean and Kanban at Scale Extending Kanban across the portfolio, program and team levels. Al Shalloway, Net Objectives. September 4 th, 2014

Taking the first step to agile digital services

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Five Reasons why Agile Won t Scale Without Automation

Chapter 10. Becoming an Agile Enterprise

An Introduction to Continuous Delivery

How To Develop An Application

Service OnBoarding: A Process Approach for Uniting ITIL and DevOps. Bill Cunningham

What makes a good process?

Orchestrated. Release Management. Gain insight and control, eliminate ineffective handoffs, and automate application deployments

Lean Software Development and Kanban

White Paper Software Quality Management

EB TechPaper. Managing complexity with agile development. automotive.elektrobit.com

WHAT DOES DevOps MEAN FOR YOU?

HP Agile Manager What we do

Three Asset Lifecycle Management Fundamentals for Optimizing Cloud and Hybrid Environments

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

Global Software Change Management for PVCS Version Manager

THE 7 STEPS TO A SUCCESSFUL CRM IMPLEMENTATION DEPLOYING CRM IN THE NEW ERA OF CONNECTED CUSTOMERS

Business Agility SURVIVAL GUIDE

First Call/Visit Resolution Getting It Fixed the First Time

Leveraging the full potential of automation

Putting DevOps and the Hybrid Cloud into Practice with CollabNet TeamForge. Laurence Sweeney October 2012

Continuous Delivery: implementation considerations. Léon Hagenaars-Keus Edwin van Dillen

The Continuous Delivery Tool Chain: So Many Choices!

How cloud computing can transform your business landscape

MTAT Software Engineering

The Network Approach to Inventory Management

What is meant by the term, Lean Software Development? November 2014

Going Lean the ERP Way

Introduction. Principle 1: Architects focus on what is essential. A Pragmatic View on Enterprise Architecture

ACCELERATE DEVOPS USING OPENSHIFT PAAS

RTM Consulting. Change Management. Key to Avoiding a Failed Knowledge Management Implementation. Randy Mysliviec CEO

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Implement a unified approach to service quality management.

Establish a Continuous Delivery Pipeline: IBM UrbanCode Deploy

Agile Release Management: Towards Frequent, Low Risk Releases. by Jez Humble, Build and Release Principal, ThoughtWorks Studios.

DevOps to Enterprise Agile

Accelerating Time to Market:

MANAGING DAILY SECURITY OPERATIONS WITH LEAN AND KANBAN

DevOps. Jesse Pai Robert Monical 8/14/2015

Redefining Agile to Realize Continuous Business Value

Extend the value of your core business systems.

SEVEN WAYS THAT BUSINESS PROCESS MANAGEMENT CAN IMPROVE YOUR ERP IMPLEMENTATION SPECIAL REPORT SERIES ERP IN 2014 AND BEYOND

Senior IT managers are putting their best foot forward by harnessing DevOps to bring in agility in the business processes and enhance growth

The Promise and the Reality of a Software Defined Data Center

IT SERVICE MANAGEMENT & INTERNAL CLOUD

Reaching for the cloud: the potential and the reality of using cloud-based platforms. Speaker: Michael Michaelides October 22, 2015

Maximize the synergies between ITIL and DevOps

ICAgile Learning Roadmap Agile Testing Track

CLOUD MIGRATION STRATEGIES

FUJITSU Transformational Application Managed Services

10 Best Practices for Application Performance Testing

(Dev + Ops) ITSM = Calamity

Transcription:

Enterprise DevOps No more silos March 2014 Sogeti Nederland B.V White paper

Contents 1 DevOps: no more silos... 2 2 DevOps defined... 3 3 DevOps relations... 4 4 Continuous Delivery... 5 5 DevOps in practice... 6 6 Enterprise DevOps... 7 Addendum: 10 Golden Rules of Enterprise DevOps...8 1/10

1 DevOps: no more silos Organizations worldwide have adopted the Agile way of working. This, however, does not say that these organizations actually bring new or adapted software to production with the required speed and frequency. Predominantly during this final step (often referred to as the last mile ) the delivery process hampers. The root cause? The (IT) organization has too many silos. The solution? DevOps, an organizational movement and way of thinking which enables continuous delivery. This sounds a lot easier than it is in real life. Who doesn t know them: IT departments where designers, developers, testers, support and operations live in splendid isolation from each other, with a minimal level of collaboration. The designers cherish their own requirements methodologies, developers working on their code (possibly in Scrum teams), after which the results are pulled through the test factory, in order to be thrown over the operations wall at the end. Products, as delivered by the development teams (Scrum has named these potentially shippable products ), pile up in front of operations doorstep. And when these product increments are eventually implemented in a large release, it takes unacceptably long before errors/bugs can be related to their source. Integration problems don t come to the surface before the tester is running the acceptance tests. And what about the user, who is constantly faced with latency in the availability of critical changes? 2/10

2 DevOps defined The time has come to get rid of these silos, which have triggered the compartmentalization of IT. The answer to this originates from (mostly) Belgium and the USA, where the DevOps movement experienced a boost. On a global scale, this movement has rapidly gained terrain and relevance ever since being given its name in 2009. Initiated by joining a number of ideologies and good practices from the worlds of development and operations, DevOps has catalyzed a true IT revolution. To illustrate this, it has enabled several organizations to deploy (software, configurations) to production up to 8000 times faster than traditional organizations. Although the name suggests only Development (Dev) and Operations (Ops) will more closely collaborate, the movement is much broader than just that. That is why bringing together Dev and Ops is referred to as DevOps Lite (after Patrick Debois), whereas true DevOps also entails the integration of crucial roles such as the business, testing/qa and security. This holistic thinking is the first principle of DevOps. Besides that, it is considered fundamental to DevOps to not only have (mostly Agile) development teams deliver potentially shippable products, but to have the target deployment environments available as well (provisioning). Clearly this is where DevOps takes Agile implementations one step further, thereby providing the IT organization more valuable feedback on the quality of the delivered products. Surely automation plays an essential role here. Without a high degree of automation, it is virtually impossible to provision and synchronize (DTAP) environments in a fast and standardized way. Probably the most fundamental shift which is part of the DevOps way of working, is the way errors and risks are dealt with. Traditional organizations tend to have a cultural heritage where errors are being punished, hence covered up. DevOps organizations assume that errors are excellent, as they improve the organization s resilience. It enhances the organizational capability to learn, moving these types of organizations towards a state of antifragility (Nicholas Taleb). They are known for their ability to absorb disturbances, even grow from them, and continuously adapt to changing circumstances. Source: Mike Kavis Antifragile Systems: Designing for Agility vs. Stability 3/10

3 DevOps relations The revolutionary aspect of DevOps is not about the individual components it touches. It is the contextual combination and application of these techniques, methods and ideologies. The following essential relations are identified in relation to DevOps: Agile: Many of the principles applied in organizations that have adopted DevOps, concur with the Agile principles. Think of short feedback loops, minimizing unit size and fast flow of planned work. Agile Lean Lean: The Lean way of thinking is not only applicable to the factory floor. Lean elements such as Voice of the Customer, Flow, Pull and Kaizen are used more and more in IT organizations. Waste is reduced and errors are identified and solved at the source ( no defects downstream ). ALM Cloud DevOps ITIL ToC Theory of Constraints (ToC): This methodology, related to Lean, is characterized by the elimination of bottlenecks. By consistently searching for essential limitations in your organization s product and service flows, these constraints (or bottlenecks) can be taken away adequately. A wonderful example of a bottleneck in an IT organization is found in the The Phoenix Project book (Behr, Kim, Spafford), where the IT organization is hampered by the heroism of one particular IT specialist (Brent), the incarnate bottleneck. ITIL: Without a doubt, ITIL also plays a significant role in DevOps organizations. If well applied, the introduction of Agile and Lean principles and instruments in the entire IT delivery chain (so including operations and support) account for faster and more flexible service management processes. Take Configuration Management, which is crucial in DevOps in sharing information between several roles and domains. Cloud: Many organizations have started their transformation to the cloud, either partly or full blown. Cloud technology enables fast provisioning, adjustment (scaling up/down) and synchronization of (DTAP) environments and in automating several build, integration, test or deployment tasks. Application Lifecycle Management (ALM): As said, DevOps is seriously slashing traditional silos in organizations. These silos often represent the stages in the application lifecycle, such as design, build, test and operations. In bringing these functions together in multidisciplinary teams, DevOps is directly related to the emergence of integrated ALM tooling. 4/10

4 Continuous Delivery The Continuous Delivery discipline has been of the primary contributors to the initiation of DevOps. The principles behind Continuous Delivery are virtually identical to those behind the DevOps movement. Although the name Continuous Delivery is actually much better in depicting the actual business need, the DevOps philosophy has a much more dominant position in the global market at this moment. Continuous Delivery is mostly aimed at joining all (semi-)finished IT products in the so-called deployment pipeline and automating as much processes as possible within this pipeline. DevOps also explicitly includes the cultural and organizational impact in order to truly deliver on this continuous delivery promise. Thus, Continuous Delivery is in fact a subset of DevOps, with primary components as Continuous Integration (continuously integrating and testing code which was built separately) and Continuous Deployment (continuously and automatically deploying all changes to production). The objective of Continuous Delivery is to build and maintain software in such a way, that it can be promoted to production at any given time. 5/10

5 DevOps in practice From its international context the DevOps movement has its origin mainly in start-ups and internet companies, such as Flickr, Amazon, Netflix, Twitter, Etsy, Facebook and Salesforce. Of course, this is strongly related to the innovative culture and dynamic business these companies are facing. In the past few years however, its adoption has migrated rapidly to other sectors. This is also very much the case in The Netherlands. Several banks, Insurance companies, logistic suppliers, industrial multinationals, energy providers, but also (semi-)government organizations have started adopting DevOps principles and practices, including the organizational and cultural consequences. Some organizations have rigourously changed their organizational model towards a DevOps collaboration model, others are still in the experimental stage. The problems these organizations are facing, can be related explicitly to the DevOps CAMS pilars (see below). Particularly the essential cultural (C) shift to a multidisciplinary and interdepartmental collaboration model is a really tough hurdle; to IT professionals, yet even more to their managers. CAMS DevOps is a lot more than just automating the IT delivery processes to a high degree. This notion is illustrated by the so-called CAMS pilars, which are fundamental to all successful applications of the DevOps philosophy: No matter to what extent an organization has applied IT process automation, as long as its professionals and managers do not have the required competences or show the right behavior, the silos will never truly disappear. This calls for a thorough change approach. Once processes have been standardized, they can be automated. Tools are an essential catalyzer in achieving continuous integration, in applying consistent version control and configuration management, automating deployments, or provisioning and monitoring environments. In order to improve, information is indispensable. By means of metrics, information can be offered to professionals and managers for decision making purposes, such as number of deployments per time unit or FTE, or the number of implemented improvements. Joining several roles in teams is fundamental to DevOps, preferably co-located and with adequate knowledge management tools. Sharing knowledge on requirements, development, test findings and operational issues contribute to the continuous feedback flows within these multidisciplinary teams. 6/10

6 Enterprise DevOps This almost sounds too good to be true. And in fact it is. Even though the DevOps movement is delivering numerous best and worst practices on a global scale, there is no such thing as reading the book or blog and start doing DevOps tomorrow. If you want to make a success out of your DevOps-related efforts, it is advisable to take into account the 10 Golden Rules of Enterprise DevOps (see addendum). The term Enterprise DevOps is synonymous to the conscious implementation of the DevOps (and Continuous Delivery) philosophy in your organization, with careful consideration of complex landscapes and the overall business needs. Practical documentation: - N.N. Taleb, Antifragile: Things That Gain From Disorder, 2012. - G. Kim, K. Behr & G. Spafford, The Phoenix Project, 2013. - J. Humble & D. Farley, Continuous Delivery, 2010. - R. England, Plus! Standard + Case, 2013 is Management Consultant at Sogeti Netherlands, mainly active in the field of Agile, Lean, Operations and Service Management. 7/10

Addendum: 10 Golden Rules of Enterprise DevOps 1 Do not forget about your core systems It goes without saying that mostly start-ups and internet companies have adequately adopted the DevOps principles. After all, they did not have any legacy systems and historical complexity. The average (Dutch) organization, however, simply has these type of complex environments to deal with on a daily basis. At first it might not always seem logical to include these traditional environments while moving to DevOps. Resistance in these environments tends to be quite substantial. Moreover, the necessity to deploy and deliver in a frequent and fast manner may not be present. These situations ask for careful listening to actual business needs, thereby connecting to these new ways of working as much as desired. Even in these (eg. mainframe) environments, automated testing, integration and deployment scan add substantial value, just as much as more intensive collaboration between the disciplines. 2 Embrace the cloud Speed and flexibillity. It should not surprise you that the cloud is a core driver behind successful DevOps organizations. Platform-as-a-Service (PaaS) enables the prompt availability and adaptability of DTAP environments. This way, a developer does not need to wait 3 weeks for a test environment; instead it is built within a matter of minutes, and broken down when it is no longer needed. This not only saves time and money, but also effectively optimizes the quality of the synchronized environments by means of standardization. 3 Reward risk takers In achieving a DevOps organization, creating and nurturing a DevOps culture is an essential vehicle. A DevOps culture can be distinguished by its open en stimulating attitude with regard to risks. By decreasing the size of work units (changes) and intense automation, also in testing, risks are limited to a large extent and errors are prevented. Nonetheless, should errors occur, then foremost they need to be treated as learning points, instead of being hidden in fear of punishment. Only then a truly resilient (Taleb: antifragile ) organization can grow with future- and shockproof environments. In DevOps production environments we even see destructive agents (like Netflix Chaos Monkey) being launched in order to bring down random services, and then learn from this; all in order to optimize the organization s learning capability. 4 Not everything can be automated A strong discipline of continuous delivery within DevOps organizations require a high degree of automation. All activities that can be standardized are eligible for automation. You may think of integration, testing, deployments and provisioning. However, there will always remain a substantial part of the work that cannot be automated. It is helpful using the practical partition Rob England (The IT Skeptic) has introduced, where Standard requests are distinguished from Case requests. Standard requests are repeatable, predictable and eligible for automation. The process, solution and timeframe for Cases, however, cannot be determined up front, as they simply did not occur before. Every organization, DevOps or not, will always need to consider how these Cases are handled most effectively. 5 Remove bottlenecks Organizations that plan to adopt the DevOps philosophy, generally have this desire in order to better deal with all types of changes, internal and external. The related processes change as well. As a matter fact, process improvement is an essential part of daily work, or even more important than that. This results in a continuous quest for bottlenecks in work processes, so as to reduce and eliminate them. Central to this belief is that only improvements on the bottleneck are considered useful; all other improvements are some kind of waste. 8/10

6 Manage your portfolio Working in and with DevOps teams takes a great amount of discipline, as well as trust. In line with the Agile way of thinking, the DevOps philosophy is based on creating space and freedom in deciding how the required products are realized and maintained by the teams. Typically, this liberty leads to the overall business case (on program or portfolio level) not being picked up adequately by the different teams. The importance of management information and performance data is not decreasing if DevOps has been adopted. More than ever, it has become relevant for organizations to facilitate decision making across innovation (project portfolio) and the status quo (application portfolio). 7 Include IT support DevOps primarily concentrates on improving the collaboration between the (business and) IT domains and speeding up the delivery cycles. Providing support on the existing information systems and functionalities can implicitly be assigned to the teams, but in practice many DevOps adoption programs fail to include this vital function within the teams focus. Whereas particularly in handling information requests, support demands and other service requests, DevOps (eg. Agile, Lean) practices can be really beneficial. A great example if the use of kanban systems to visualize, handle and monitor (mostly Case) requests, such as problems, changes or improvements. 8 Use IM to involve your business The direct consequence of breaking down the traditional IT silos, is that teams start collaborating more closely in highly automated environments. The risk this might produce is that IT has lost sight of the customer (business, user) in an enthousiastic search for efficiency and collaboration within IT. In The Netherlands we should be proud of the professional position of Functional Management (Business Information Management),in representing the business interest in IT development and operations. Let s not squander this position and give the business information manager the (Product Owner) role it deserves, with regard to functional support, demand articulation and functionality management, also in DevOps cultures. 9 Facilitate multidisciplinarity Merely rebranding your current IT teams to DevOps teams is not exactly a panacea here. In order to really make the Agile and Lean principles work, the teams will need to be composed and managed on a multidisciplinary basis. This means that developers, testers and operations/support engineers should complement and help each other, as long as it supports the team result. This also implies no restrictions should be imposed in fulfilling this multidisciplinarity by means of rigid resource management or dogmatically chasing KPIs on management level. The team members should be given the freedom to expand their knowledge and competences outside their original domain. 10 DevOps engineers do not exist Now that the DevOps movement has gained significant ground from traditional methods, new function titles are growing out of all proportion. Some organizations adopting the DevOps philosophy have started their search for DevOps engineers. But these do not really exist. Surely, a multidisciplinary team demands developers to do testing, while operations engineers will write documentation together with the developer. But still that does not lead to pure generalists, or DevOps engineers. There will always be specialists, but with a multidisciplinary (DevOps) state of mind. 9/10