Enabling Continuous Delivery by Leveraging the Deployment Pipeline

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

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

DevOps for the Mainframe

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

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

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

An Introduction to Continuous Delivery

Continuous Delivery Benefits, Best Practices and Practical Advice

HP Application Lifecycle Management

Continuous Delivery. Jez Humble, ThoughtWorks #continuousdelivery DevOpsDays, Hamburg

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

TRANSFORMING TO NEXT-GEN APP DELIVERY FOR COMPETITIVE DIFFERENTIATION

ACCELERATE DEVOPS USING OPENSHIFT PAAS

DevOps: Development Challenges and New Approaches

An introduction to the benefits of Application Lifecycle Management

AGILE SOFTWARE TESTING

The Continuous Delivery Effect

Align IT Operations with Business Priorities SOLUTION WHITE PAPER

Application Test Management and Quality Assurance

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Agile Requirements And Testing For Continuous Software Delivery

IKAN ALM and Collabnet TeamForge

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

Collaborating for Quality in Agile Application Development From Beginning to End

Continuous integration End of the big bang integration era

Fundamentals of Continuous Integration

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

Collaborative DevOps Learn the magic of Continuous Delivery. Saurabh Agarwal Product Engineering, DevOps Solutions

Bridging the Gap Between Acceptance Criteria and Definition of Done

INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE

SCALING AGILE. minutes

Agility via Software Engineering Practices

Increasing Business Efficiency and Agility for ATGbased. Systems. the business challenge: upgrading the development pipeline

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

DevOps Stack. Reid Holmes. Chris Parnin:

Distributed Agile Development in the Cloud

Bridging Development and Operations: The Secret of Streamlining Release Management

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

Digital Transformation with Intelligent Solutions from Infosys and Pega

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Adopting Agile Approaches for the Enterprise

Collaborative Project Management in a DevOps Culture

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

What is Application Lifecycle Management? At lower costs Get a 30% return on investment guaranteed and save 15% on development costs

WHITEPAPER. Solving database deployments with Database Lifecycle Management

DevOps for CA Plex Automated Testing

The Agile Maturity Model. Applied to Building and Releasing Software.

Key Benefits of Microsoft Visual Studio Team System

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

Driving Your Business Forward with Application Life-cycle Management (ALM)

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

How To Write Unit Tests In A Continuous Integration

Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY

Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011

Fast Feedback: Jenkins + Functional and Non-Functional Mobile App Testing Without Pulling Your Hair

Agile Scrum Workshop

how can I deliver better services to my customers and grow revenue?

Software Construction

The Tester's Role in Continuous Integration

Quality Assurance in an Agile Environment

HP DevOps by Design. Your Readiness for Continuous Innovation Rony Van Hove/ April 2 nd, HP Software: Apps meet Ops 2015

Continuous Delivery. Martin Fowler, Jez Humble YOW! Brisbane, 5 December Wednesday, December 7, 11

How To Achieve Continuous Delivery

DevOps. Happiest People Happiest Customers

Enterprise DevOps. Integrating Development and Operations to Deliver Continuous Value with Modern Business Applications

Continuous Integration, Delivery and Deployment. Eero Laukkanen T Software Testing and Quality Assurance P

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013

MIS Systems & Infrastructure Lifecycle Management 1. Week 13 April 14, 2016

ITIL V3 Foundation Certification - Sample Exam 1

How Silk Central brings flexibility to agile development

Free ITIL v.3. Foundation. Exam Sample Paper 1. You have 1 hour to complete all 40 Questions. You must get 26 or more correct to pass

Releasing High Quality Applications More Quickly with vrealize Code Stream

HP Agile Manager What we do

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Use Scrum + Continuous Delivery to build the right thing

State of Medical Device Development State of Medical Device Development seapine.com 1

Choosing the Right Project and Portfolio Management Solution

Software Development Methodologies

Software Continuous Integration & Delivery

112 BSIMM Activities at a Glance

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

Agile Delivery Framework Automation & Deployment With Puppet

WHITE PAPER. iet ITSM Enables Enhanced Service Management

Establishing your Automation Development Lifecycle

How to Ensure IT Compliance Without Compromising Innovation. Nik Teshima, IBM Phil Odence, Black Duck

Cisco Unified Communications and Collaboration technology is changing the way we go about the business of the University.

1 What does the 'Service V model' represent? a) A strategy for the successful completion of all service management projects

Continuous Delivery of Software

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

PointZERO Enabling the right first time principle

Transcription:

Enabling Continuous Delivery by Leveraging the Deployment Pipeline Jason Carter Principal (972) 689-6402 Jason.carter@parivedasolutions.com Pariveda Solutions, Inc. Dallas,TX

Table of Contents Matching Software Delivery with Business Innovation Continuous Delivery The Continuous Delivery Assessment 2 Pariveda Solutions. Confidential & Proprietary.

Traditional methods of software delivery have not kept pace with the demands a business needs to continuously innovate and stay competitive The rise of social media, mobile and cloud platforms has enabled companies to continuously interact with customers, employees and partners to create innovative new products and services Today innovation is fluid, fast paced and collaborative Software is the fuel for fast paced innovation Launch early, incorporate feedback fast and refactor Complex systems take teams; no more solitary genius Rising customer expectations and competition is driving faster product life cycles and forcing product development teams to adapt new software delivery practices Businesses must continuously deliver high quality software quickly and efficiently in order to stay competitive React quickly to market trends Build quality into the product Increase accuracy of deployments Establish tight feedback loops A process based on continuous improvement is essential to enable the rapid delivery of quality software Since the late 90 s, roughly 60% of IT projects have been challenged or failed, costing financial and political capital something has to change The first step to designing projects for success is engaging the right stakeholders, and this begins at the top with Executive Sponsorship 3 Pariveda Solutions. Confidential & Proprietary.

A software delivery revolution is underway to make the path from idea to realized value shorter and safer Evolution of software delivery System Delivery Iteration Delivery Feature Delivery Waterfall Release-ready after all functionality is developed Big design up front Substantial testing effort during last mile of project Changes are introduced in a large, big bang deployment Feedback occurs at end of project Agile Release-ready after all functionality in an iteration is developed Iterative design Testing occurs at the end of each development iteration and last mile Changes occur in batches at regular release cycles Feedback at end of iterations Continuous Delivery Release-ready at all times Minimum viable product design Testing is automated and triggered on any change made to the system Changes occur continuously, on business demand; software is always ready for release Constant feedback 4 Pariveda Solutions. Confidential & Proprietary.

Pariveda s approach to Continuous Delivery aims to deliver ideas earlier, gather feedback faster and evolve the business hypothesis Continuous Delivery Overview 1 2 3 4 5 Ideation Develop Accept Release Measure 1 Product teams innovate through lean product development and learning fast by delivering minimal viable products 2 Engineering teams frequently provide small change sets and regularly validate architecture and change management processes support effective collaboration and rapid development 3 Automated acceptance testing provides fast confidence on the production readiness of the system 4 Releases are entirely automated and fully compliant to reduce risk and cycle time 5 Tight feedback loops are established to fail fast and constantly improve 5 Pariveda Solutions. Confidential & Proprietary.

Continuous Delivery discipline requires tight collaboration and dedicated focus across the organization Business Engineering Operations Ideation Lean Product Development Re-examine assumptions Validate hypothesis Prioritize backlogs Technical debt prioritization Feature level estimation Develop Develop small change sets Minimum viable product Continuously improve and refactor Automate the repetitiveness Architecture of self-contained components Infrastructure as code across environments Automate the repetitiveness User Acceptance Testing Exploratory testing Automate acceptance testing Automate infrastructure testing Accept Automated application deployments Automated infrastructure rollouts Release Gather user feedback Analyze data from change Monitor application performance metrics Operational monitoring Support desk Measure 6 Pariveda Solutions. Confidential & Proprietary.

The benefits of moving to Continuous Delivery seem plainly obvious, however, there are significant hurdles and a big mind shift organizations face moving to this model Establish business goals Why do you want to change? What is the business driver? Hurdles to adoption Executive Sponsorship Organization Culture Change Management Architecture Tools are important but focus on people and process Recommend starting with Engineering to enable a smooth transition as others are involved Evaluate current state of software delivery and determine areas for improvement Begin with Continuous Integration and Automated Testing Establish trust with the business; prove increased stability and reduced risk Evolve business to lean product development Implement measureable change along the way even if reaching your goal takes years Many struggle to get the right engagement this impacts the ability to effectively roll out projects and obtain the benefits that justified the project. 7 Pariveda Solutions. Confidential & Proprietary.

We have developed a framework that will assess the current state of an IT organization and provide specific and actionable steps to enable Continuous Delivery Continuous Delivery Evolutionary Model Regressive Exploratory Defined Adoptive Adaptive No standard requirement, defect or release tracking tool Requirements and defects tracked ALM tracks requirements, defects and releases Product owners continuously groom backlog MVP idea, continuously iterate in production Ideation Develop No branching strategy No clear architecture/patterns Manual build process Monolithic architecture Defined branching strategy VCS used for all assets Automated builds Modular architecture Minimize branching Libraries and dependencies managed Any change triggers build Some independent components Branches used only for releases Devs check-in mainline at least once/day Builds are not left broken Component based architecture Regular validation of architecture and CM policy supports effective collaboration and rapid dev Branch by abstraction Build metrics gathered, acted on Accept Manual testing after development Promotions via rebuild from source Automated tests written as part of story development Promotion via binaries Testing is part of development process; no huge test effort on last mile Component versioning scheme Quality metrics and trends tracked Non-functional requirements defined and measured Testers write automated acceptance tests Defects found and fixed immediately Production rollbacks are extremely rare; roll forward Release Environments provisioned manually Binaries are environment-specific Manual deployment process Infrequent and unreliable releases Creating new environments is cheap All configurations are external and versioned Painful but reliable releases Limited traceability from requirements to release Environment virtualization Automated deployments to some environments Regulatory and compliance conditions met Infrastructure as code Fully automated deploy Same deploy process across all environments CM and approval process defined and enforced Ops and delivery teams regularly collaborate to reduce risk and cycle time Measure No automated alerts No defined SLAs Manual ad-hoc reporting Outage alerts Page/service level SLAs defined Static code analysis Custom reports SLA Alerting Pipeline traceability Environment and app health monitored and proactively managed Test coverage analysis Trend analysis Application dashboards QA reports on generated on build/accept steps 8 Pariveda Solutions. Confidential & Proprietary.

A comprehensive deployment pipeline should be implemented to provide fast, automated feedback on the production readiness of the system anytime there is a change Components of a Deployment Pipeline Application Lifecycle Management Source Control Management Continuous Integration Build Process Automated Testing Facilitates management of releases, requirements and defects Manages all changes to artifacts and facilitates development coordination across multiple efforts CI is triggered on any change to the system and executes steps to verify the production readiness of the system Builds are automated, compile quickly and executed with a single command Automated unit, integration and UI tests provide fast feedback the moment issues are discovered Automated Code Analysis Application Versioning Configuration Management Deploy Measure & Monitoring Code health is measured throughout the lifetime of the application and warn of potential issues with the maintainability of the application Application versioning allows for the building of rollback processes and gives flexibility in testing Change management policy supports effective collaboration, auditable change process and rapid development Operations and developers work together regularly to manage risk and reduce cycle time of delivering software Measures the impacts of change and enables rapid resolution to issues 9 Pariveda Solutions. Confidential & Proprietary.

Our deployment pipeline assessment provides a means to quickly determine opportunities to shorten cycle time from idea to go live Each component of the deployment pipeline is given a maturity score, value for improvement and level of effort Pipeline components include an assessment broken down by focus area with maturity rank, strengths, weaknesses and opportunities to improve Recommendations are provided by focus area in two types of activities Focused efforts Modify Practice 10 Pariveda Solutions. Confidential & Proprietary.