Adopt Continuous Delivery, face Challenges and reap the Benefits

Adopt Continuous Delivery, face Challenges and reap the Benefits

What is better than automating the software's build-test-deployment cycle. Do the builds, run automated tests and deploy the software. And you can do this many times a day. All of this controlled by a "Build Master". Yes..you want it? then adopt Continuous delivery approach. You can toggle your features to be released and can release selective features to selective audience. e.g. the social media site Facebook uses continuous delivery to roll out certain features only to “female users between the ages of 18 and 34 in the US.” 

The Continuous Delivery pipeline is made of of feature definition, design, development, build, automated testing and deployment. Neither it manages development with milestones ( Waterfall) or as stories or sprints (Agile). It considers rolling out features as Continuous. Continuous delivery offers a number of benefits and challenges for organizations.

Benefits

  • Strategic impact: Once we adopt Continuous delivery, we loose very less time between initiation of a feature and its availability in production. Compared with those competitors who use longer delivery cycles, this approach offers a very crucial strategic advantage for the company that uses this methodology.
  • More chances of evaluation: Rather than following the approach to do an elaborate requirements gathering, analysis and design, continuous delivery enables features to be rolled out quickly with the evaluation of how useful they were or not, deferred past deployment. Feedback can be obtained with each release in production and they can be turned off, if they are negative.
  • Toggle the Feature:  Sometimes we come across features that organizations are not sure of but want to experiment. Based on them, certain features are available to a user or turned off. Feature toggling offers a very rapid way of doing end user testing or even customizing the software for different kinds of users. It also provides a way of turning off or on a feature as needed at any time. 
  • Value analysis is available: When gathering requirements, it is hard to predict the value of each software feature to users. Toggling enables continuous delivery environments to track actual usage by feature. This can enable the comparison of predicted usage vs. actual usage and by inference, predicted value vs. actual value of different features. Those that failed can be turned off.
  • Better quality: Since automation tests run each time when you do multiple build-test-deployment cycles per day, the test automation traverses through the entire software many times a day, catching any software defect that slips through anytime, especially with unit tests are also rolled in. Better quality of software is ensured.
  • Reduction of software backlogs: Since the features could be deployed more rapidly than with other methodologies, CD has the potential of rapidly reducing software backlogs.
  • Streamlining of processes: To achieve CD, a high degree of discipline at every stage of the build-test-deployment automation cycle is required. It ensures all internal business processes streamlined and be efficient.

 There has to be Challenges if Benefits are offered.

  • Disciplined efforts may not suit Large organizations: The high degree of discipline and close, quick coordination is needed in a build-test-deployment cycle. This suits smaller organizations more than larger organizations.
  • Features need to be granulated: Large features need to be broken down into smaller ones to achieve CD. This may cause issues with long running features as they may not be suitable for breaking down.
  • Methodology leapfrogging challenges: Many organizations are still in the process transitioning to Agile development methodologies. Continuous delivery demands a higher level of process discipline than the other ones and as such may be difficult for such organizations to handle.
  • Tool support on various platforms: Availability of automation tools for continuous delivery is best on Linux, and in other environments, somewhat spotty. This is especially true of organizations with legacy computing environments.
  • Time to commit, validation challenges: Features may be deployed but still may need to be validated before being committed. Validation of feature usage and utility takes more time as compared to the earlier parts of the continuous delivery cycle. So even if a feature is developed, tested and deployed, it may take time for it to be committed. However, continuous delivery offers features like toggling to speed the data collection for validation.

The never-ending quest to produce better quality software has led to development of Continuous Delivery methodology. It uses build-test-deployment automation to achieve its goals. It presents a number of benefits, but only if organizations are able to win against the challenges in its adoption.

要查看或添加评论,请登录

Vipin Jain的更多文章

  • Tricentis Testim: Introducing low-code mobile testing for Agile development teams

    Tricentis Testim: Introducing low-code mobile testing for Agile development teams

    Mobile UI testing is more difficult than tests conducted on browsers. Unlike browsers, the size, performance, operating…

    8 条评论
  • Tosca 16.0

    Tosca 16.0

    Tricentis recently launched Tosca 16.0! With this new release, they have added several new capabilities that strengthen…

    1 条评论
  • Tricentis Test Management for Jira

    Tricentis Test Management for Jira

    Tricentis recently launched TTM for JIRA or Tricentis Test Management for JIRA. TTM for Jira is completely focussed on…

    2 条评论
  • Help DevOps to help you succeed

    Help DevOps to help you succeed

    Everyone is excited as the organization has confirmed that they are adopting DevOps and will soon transform all…

  • Avoid Silos disrupting your Agile Process

    Avoid Silos disrupting your Agile Process

    We all know that agile has become one of the most widely accepted and implemented software development methodologies…

    1 条评论
  • GLOCALIZATION - Think Global Implement Local

    GLOCALIZATION - Think Global Implement Local

    “Global”, the word every company in the world wants to add to its branding. A global company exists everywhere, the…

  • BDD - keeping me alive in testing world

    BDD - keeping me alive in testing world

    Article/Idea credits: Vikram Ingleshwar (the German Friend) I am a normal tester, upgrading myself on new technologies…

    3 条评论
  • Implementing DevOps using an Integrated set of tools

    Implementing DevOps using an Integrated set of tools

    The flavor of the IT world DevOps is often considered by some as synonym of Agile whereas few would argue that it is…

    2 条评论
  • Why Kanban is a great tool in today’s “frequent changing requirement” scenario

    Why Kanban is a great tool in today’s “frequent changing requirement” scenario

    Kanban is proving to be a great tool when it comes to smaller organizations or startups where the requirements keep…

    3 条评论
  • End to End testing in Real World

    End to End testing in Real World

    The production date has been finalized and QA teams are all set to test. They are working and check marks are placed…

社区洞察

其他会员也浏览了