2
According to Martin Fowler, “Continuous De- livery is a software development discipline where you build software in such a way that the software can be released to production at any time.” The key word in this definition is “discipline.” Continuous delivery is not a product or something you can purchase off the shelf. It is a domain wherein a number of processes come together to form a practical implementa- tion of a highly efficient and productive software development process. At its foundation, Continuous Delivery embod- ies the practices prescribed by Continuous Integration and the Agile principal of satisfying customers through early and continuous deliv- ery of valuable software. Continuous Delivery builds upon this foundation using solid SCM, Testing, and Planning practices. Continuous Delivery is not defined as continu- ous deployment, continuous release, or some- thing that only cloud applications need to worry about. Continuous Delivery uses a set of key principles that involve staging the software development and delivery process. Each stage within the process possesses a distinct set of criteria that must be validated before software can progress to the next stage. These pro- cesses leverage automation for testing, soft- ware deployment and promotion. The end result of the stage-based process is the formation of a delivery pipeline through which new software can continuously flow, and as it flows, it is vali- dated to progressively higher levels of quality. Because Continuous Delivery is not a tool or product, achieving it is difficult. The approach to a successful Continuous Delivery process is a holistic one, where software development organizations must align technology, process, people and values. Best Practices for Achieving Successful Continuous Delivery Best Practices for Continuous Delivery 1. Model a staged release pipeline with distinct delivery and development pipelines 2. Maintain discrete software configurations in SCM for each stage in the release pipeline 3. Scale development activity by creating additional parallel development pipelines 4. Partition development along architectural, functional, organi- zational, or project boundaries 5. Maintain traditional Continuous Integration at commit and system integration stages 6. Promote change in small, incremental batches as frequently as possible 7. Immediately integrate to all descendant pipeline stages on commits 8. Establish “Done” = “Integrated” as a definition of done for the development teams 9. Aggressively automate validation or testing at each stage, and trigger automatic promotion of change to the next stage based on passing validations 10. Tightly integrate SCM, Agile planning, and Issue Tracking Systems 11. Elevate the definition of “Done” to “Done” = “Delivered” once automation is in place Flash Point Paper AccuRev Figure 1. Continuous Delivery Pipeline

AccuRev Best Practices for Achieving Successful Continuous ... · Because Continuous Delivery is not a tool or product, achieving it is difficult. The approach to a successful Continuous

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AccuRev Best Practices for Achieving Successful Continuous ... · Because Continuous Delivery is not a tool or product, achieving it is difficult. The approach to a successful Continuous

According to Martin Fowler, “Continuous De ­liv ery is a software development discipline where you build software in such a way that the software can be released to production at any time.” The key word in this definition is “discipline.” Continuous delivery is not a product or something you can purchase off the shelf. It is a domain wherein a number of processes come together to form a practical implementa-tion of a highly efficient and productive software development process.

At its foundation, Continuous Delivery embod-ies the practices prescribed by Continuous Integration and the Agile principal of satisfying customers through early and continuous deliv-ery of valuable software. Continuous Delivery builds upon this foundation using solid SCM, Testing, and Planning practices.

Continuous Delivery is not defined as continu-ous deployment, continuous release, or some-thing that only cloud applications need to worry about. Continuous Delivery uses a set of key principles that involve staging the software

development and delivery process. Each stage within the process possesses a distinct set of criteria that must be validated before software can progress to the next stage. These pro-cesses leverage automation for testing, soft-ware deployment and promotion. The end result of the stage-based process is the formation of a delivery pipeline through which new software can continuously flow, and as it flows, it is vali-dated to progressively higher levels of quality.

Because Continuous Delivery is not a tool or product, achieving it is difficult. The approach to a successful Continuous Delivery process is a holistic one, where software development organizations must align technology, process, people and values.

Best Practices for Achieving Successful Continuous Delivery

Best Practices for Continuous Delivery

1. Model a staged release pipeline with distinct delivery and development pipelines

2. Maintain discrete software configurations in SCM for each stage in the release pipeline

3. Scale development activity by creating additional parallel development pipelines

4. Partition development along architectural, functional, organi-zational, or project boundaries

5. Maintain traditional Continuous Integration at commit and system integration stages

6. Promote change in small, incremental batches as frequently as possible

7. Immediately integrate to all descendant pipeline stages on commits

8. Establish “Done” = “Integrated” as a definition of done for the development teams

9. Aggressively automate validation or testing at each stage, and trigger automatic promotion of change to the next stage based on passing validations

10. Tightly integrate SCM, Agile planning, and Issue Tracking Systems

11. Elevate the definition of “Done” to “Done” = “Delivered” once automation is in place

Flash Point PaperAccuRev

Figure 1. Continuous Delivery Pipeline

Page 2: AccuRev Best Practices for Achieving Successful Continuous ... · Because Continuous Delivery is not a tool or product, achieving it is difficult. The approach to a successful Continuous

Micro FocusUK HeadquartersUnited Kingdom+44 (0) 1635 565200

U.S. HeadquartersRockville, Maryland301 838 5000877 772 4450

Additional contact information and office locations: www.microfocus.comwww.borland.com

Large, enterprise organizations are faced with unique challenges when attempting to attain a successful Continuous Delivery strategy, including:

Scale of parallel activity

Complexity of software and environment

Variance in skills or expertise of teams and individuals across the organization

Variance in the ability to integrate a “work in progress” across the organization

Lack of continuous integration across team boundaries

In order to embrace and address these chal-lenges, companies must adopt a set of best practices. The practices outlined below will help

large, enterprise software development organi-zations achieve the highest levels of software development and delivery.

184-000004-001 | B | 03/16 | © 2016 Micro Focus. All rights reserved. Micro Focus and the Micro Focus logo, among others, are trademarks or registered trademarks of Micro Focus or its subsidiaries or affiliated companies in the United Kingdom, United States and other countries. All other marks are the property of their respective owners.

Figure 2. Continuous Delivery vs. Continuous Integration

Figure 3. Multi stage CD process in AccuRev

Does Your Company Follow These Best Practices Today?With Micro Focus’s help, your organization could implement AccuRev to achieve successful Continuous Delivery for your software devel-opment process.

ConclusionBecause continuous Delivery is a software de-velopment “discipline”, as opposed to a tool or product, achieving it is difficult and requires a holistic approach. Micro Focus has identi-fied best practices for successful Continuous Delivery within enterprise organizations.

Micro Focus® AccuRev optimizes Con tin­u ous Del ivery, empowering companies to increase pro duc tivity, improve quality and drive competitive advantage.

Find out more at: www.borland.com/accurev