3 reasons some teams may take years for a good Continuous delivery system and how to overcome

In this presentation, I would like to present the anti patterns of continuous delivery implementation in teams. This patterns
emerges time and again in various forms in various teams. These anti patterns may become bottlenecks to realize the goal of
a good system and having a strong continuous delivery system may just remain a dream. I would also provide some key solutions about how to overcome this in a systematic way.

I would cover the anti patterns related to Core System Engineering - Requirement Analysis, System amd Continuous Delivery Architecture , Deployment pipeline. I would bring out some of the deeper anti patterns of Test- like Ice Cream cone shaped test pyramid, Test Suite organization linked to Deployment pipeline and Test Automation architecture issues. Further, I would highlight the anti patterns related to Core Competency and other key Project Management aspects.

Following and some other anti patterns, I would like to cover in this presentation with specific examples and solutions :

1. Core System Engineering

Anti Pattern 1: Requirement analysis of the production environment and the other key details missed during requirement analysis or requirement documentation time. Realization of this happens late in the development cycle.

Anti Pattern 2: Build System (Continuous Delivery) Architecture and the Deployment Pipeline paid less attention

..

2. Code,  Inspection and Test

Anti Pattern 3: Test Automation Architecture  NOT taking all factors into account while designing

Anti Pattern 4: Ice Cream cone shaped test pyramid and the Test Suite Organization issues affecting the deployment pipeline.

..

3. Project Management

Anti Pattern 5: Competency, Team Culture and other project management issues

Anti Pattern 6: Done, Done but not Done :-(

..

I would provide examples of these pattern of occurences and provide pointers to some of the solution for these.

Some key solutions are:

Requirement Elicitation and Analysis: Requirement Elicitation and  analysis should cover the details about the production environment and other information when there is closer interaction between the customer and business analyst / any other member. We will cover solution about how this input helps in the Continuous delivery implementation in systematic way. For the benefit of the audience we will provide a small checklist which can help the business analyst during the requirement elicitation time.


CI Architecture and Deployment Pipeline: We will cover the solution about how team should look into the system architecture, dependency between the various components, based on which the CI architecture should be decided. CI Architecture may vary based on the type of system. Here we will cover some examples from network domain and an industry web application system of how the architecture is different when a system is delivered with various products packaged as a solution versus a web application system. Further we will cover the details of how the deployment pipeline should be built. We will cover the various factors for this like :
o Test Strategy
o Selection of the right test suite /test cases for faster feedback
o Test Suite Organization
o Tool Infrastructure including inspection tools
o ..
System Architecture should cover the details about the CI Architecture and deployment pipeline rather than CI Architecture being looked as a separate activity. Here we will provide solution about how the packaging requirements will help in deciding this. Also we will cover how the various views of system architecture should cover this perspective.


Test Automation Architecture- We will cover the solution related to how the test automation architecture should be designed. Test automation architecture is very important to ensure that the continuous delivery pipeline is built appropriately. Many times we find problems like slow running test cases, UI test cases taking long time, some scenarios cannot be automated etc. Will cover the aspects like:
o System under Test Architecture ( Architecture type ,Components, dependency etc.)
o System Under Test Programme Inputs
o System Under Test Program State
o Environmental Characteristics (Automation Tool, OS, DB, JDK, AS etc)
o Key Monitoring Tools
o …


Test Suite Organization and Ice Cream cone shaped test pyramid: Will cover the solution about how Unit Test, Functional Test, Non Functional Test (Performance, Reliability, Security) should be organized at each feature level. Many teams go wrong here due to which later during the continuous delivery implementation this becomes a pain area to refactor and organize it rightly. There is no silver bullet solution for improving the Test Pyramid. Teams have to think hard about this and make it happen. We will cover details about how this should be addressed in the test strategy and taken up further.


• Project Management: Done Criteria for each of the task will explained in detail. We will cover the solution about how to get the real benefits from continuous delivery rather than just making the deployment pipeline faster. Will cover solution about how to avoid situations where the pipeline is faster but still we have less confidence and require many days of manual testing. In this section we will cover the solution to some other aspects like Culture building, Competency, Self Organization and other related topics.


• ..


Conclusion- Until team realizes these anti patterns upfront, it is nearly impossible to have a strong continuous delivery system. Symptoms may be different in different teams but the pattern of issues may be same. Human energy is too costly to do the same mistake again and again. Lets avoid it.

 
3 favorite thumb_down thumb_up 9 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Introduction

Background of the Problem

Introduction to the Anti Patterns

Details of the Anti patterns

Solution to Overcome

Conclusion

Q&A

Learning Outcome

Audience would be able to understand some of the most frequently occuring anti patterns which re-occurs in different forms in different teams. But the reasons are same. The key take away are the anti patterns and the solutions for the same. Top 3 reasons related to Core System Engineering, Test, Project Management would be brought out.

Target Audience

Project Managers, Developer, Testers, System Architects

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Prasad
    By Prasad  ~  2 years ago
    reply Reply

    Anish,

    Will be useful if you can upload some draft presentations or any other confrence session which you have delivered.

    ~PP

  • Prasad
    By Prasad  ~  2 years ago
    reply Reply

    Anish,

    Like to know little more about the context.. is it was a custom development world? did it included packages, products, third party API, libraries etc..

    ~PP

    • Anish Cheriyan
      By Anish Cheriyan  ~  2 years ago
      reply Reply

      Hi Prasad,

      Thanks for the response.

      Context is product and platform development in network management system like servers, embedded system, protocol development etc. It does include third party API, Libraries etc.

      Sometimes it involves large solutions like the entere network management solution which includes mulitple products and platform.

       

      Regards

      Anish

  • Joel Tosi
    By Joel Tosi  ~  2 years ago
    reply Reply

    Hi Anish,

       Could you help me understand some of the solutions you would be proposing to these anti-patterns?

    Best,

    Joel

    • Anish Cheriyan
      By Anish Cheriyan  ~  2 years ago
      reply Reply

      Thanks Joel for the comments. Some of the solutions which we will cover are:

      Requirement Elicitation and Analysis: Requirement Elicitation and  analysis should cover the details about the production environment and other information when there is closer interaction between the customer and business analyst / any other member. We will cover solution about how this input helps in the Continuous delivery implementation in systematic way. For the benefit of the audience we will provide a small checklist which can help the business analyst during the requirement elicitation time.


      CI Architecture and Deployment Pipeline: We will cover the solution about how team should look into the system architecture, dependency between the various components, based on which the CI architecture should be decided. CI Architecture may vary based on the type of system. Here we will cover some examples from network domain and an industry web application system of how the architecture is different when a system is delivered with various products packaged as a solution versus a web application system. Further we will cover the details of how the deployment pipeline should be built. We will cover the various factors for this like :
      o Test Strategy
      o Selection of the right test suite /test cases for faster feedback
      o Test Suite Organization
      o Tool Infrastructure including inspection tools
      o ..
      System Architecture should cover the details about the CI Architecture and deployment pipeline rather than CI Architecture being looked as a separate activity. Here we will provide solution about how the packaging requirements will help in deciding this. Also we will cover how the various views of system architecture should cover this perspective.


      Test Automation Architecture- We will cover the solution related to how the test automation architecture should be designed. Test automation architecture is very important to ensure that the continuous delivery pipeline is built appropriately. Many times we find problems like slow running test cases, UI test cases taking long time, some scenarios cannot be automated etc. Will cover the aspects like:
      o System under Test Architecture ( Architecture type ,Components, dependency etc.)
      o System Under Test Programme Inputs
      o System Under Test Program State
      o Environmental Characteristics (Automation Tool, OS, DB, JDK, AS etc)
      o Key Monitoring Tools
      o …


      Test Suite Organization and Ice Cream cone shaped test pyramid: Will cover the solution about how Unit Test, Functional Test, Non Functional Test (Performance, Reliability, Security) should be organized at each feature level. Many teams go wrong here due to which later during the continuous delivery implementation this becomes a pain area to refactor and organize it rightly. There is no silver bullet solution for improving the Test Pyramid. Teams have to think hard about this and make it happen. We will cover details about how this should be addressed in the test strategy and taken up further.


      • Project Management: Done Criteria for each of the task will explained in detail. We will cover the solution about how to get the real benefits from continuous delivery rather than just making the deployment pipeline faster. Will cover solution about how to avoid situations where the pipeline is faster but still we have less confidence and require many days of manual testing. In this section we will cover the solution to some other aspects like Culture building, Competency, Self Organization and other related topics.


      • ..

      ·     

          We would like to drive this point that effective continuous delivery implementation requires a deeper engineering and management practice implementation. CD (Continuous Delivery) should not be seen in isolation as a practice. Only then we can get the benefits of this.

       

      • Joel Tosi
        By Joel Tosi  ~  2 years ago
        reply Reply

        Thanks for the elaboration Anish, much appreciated.

         

        Though now I am concerned your topics are so broad / different that it might be too much.  Is that a fair concern?

        Best,

        Joel

        • Anish Cheriyan
          By Anish Cheriyan  ~  2 years ago
          reply Reply

          Thanks Joel. We understood your point of concern. We had tried to  detail down all aspects for the consideration of the panel.

          From a presentation standpoint we will touch on the some of the key anti pattern and solutions only.

  • Naresh Jain
    By Naresh Jain  ~  2 years ago
    reply Reply

    Thanks for the proposal Anish. Request you to please update your proposal with links to slides and videos from past presentations. Without these the committee would not be in a position to select the proposal.

    • Anish Cheriyan
      By Anish Cheriyan  ~  2 years ago
      reply Reply

      Thanks Naresh for the review and your feedback.

      I dont have specific slides or videos related to this presented earlier in any forum. Following and some other anti patterns, I would like to cover in this presentation with specific examples and solutions :

      1. Core System Engineering

      Anti Pattern 1: Requirement analysis of the production environment and the other key details missed during requirement analysis or requirement documentation time. Realization of this happens late in the development cycle.

      Anti Pattern 2: Build System (Continuous Delivery) Architecture and the Deployment Pipeline paid less attention

      :

      2. Code,  Inspection and Test

      Anti Pattern 3: Test Automation Architecture  NOT taking all factors into account while designing

      Anti Pattern 4: Ice Cream cone shaped test pyramid and the Test Suite Organization issues affecting the deployment pipeline.

      :

      3. Project Management

      Anti Pattern 5: Competency, Team Culture and other project management issues

      Anti Pattern 6: Done, Done but not Done :-(

      :

      I would provide examples of these pattern of occurences and provide pointers to some of the solution for these.