SlideShare une entreprise Scribd logo
1  sur  23
Succeeding with Integration

                  Integrating the work of several Scrum
                                  teams


christophe.achouiantz@avega.se
The Ideal Team




Development
 Development
   Team
    Team


                   Product / Service
               increment in production
The Integration Team: integrating
    work from several teams


      Dev
       Dev
     Team
      Team




      Dev
       Dev     Integration
                Integration
     Team
      Team        Team
                   Team


                                  Product / Service
      Dev
       Dev                    increment in production
     Team
      Team
The Classical
               Integration/Release process


Environments




       Dev Project            Release Project                  IT Dept.

                      Handover                   Handover
                     (at the end)               (at the end)
The Integration Team:
      to integrate continuously
  Development Phase        Release Phase

Development Teams




  Concurrent, iterative,
  incremental Activities




Integration Team
10 Key success factors for the
          integration team @ PPM
1.    Integrate early
2.    Team has the necessary resources
3.    Continuous integration
4.    Automated tests
5.    At least two test environments
6.    Early performance tests
7.    Stop the line
8.    Clear contract between Dev. and Integration teams
9.    Make the process visible
10.   Make the status visible (and understandable)
1 - Integrate early

• Slice User Stories the ”right way” to start integrating
  from the start (”tracer bullet”)
• Multiple component teams must synchronize their
  backlogs to achieve the “tracer bullet” effect



                                                       Sprint 3
                                                       Sprint 2

                                                       Sprint 1
         Front-end   Middle-wear   Back-end      DB
2- Team has the necessary
           resources: competence

                          Business
                          • Acceptance testers


Integration
  backlog
              Product                 Testers
                                      • Functional/Integration testers
              Owner
                                      • Performance testers




                        Technical Support
                        • Code build & deploy
                        • Environment setup and config
                        • Components Responsible
2- Team has the necessary resources:
           environments
Team is responsible for setting-up and maintaining the
              required test environments

Environments @ PPM:




Virtualized HW      Virtualized HW        Production-like HW     Production HW
   Test data           Test data            Production data      Production data
(Daily deploy)   (Deploy when needed)   (Deploy when needed)   (Controlled deploy)
3- Continuous Integration
Continuous Integration goals @ PPM:
• After each commit
    –   Build
    –   Run all unit tests
    –   Create RPM
    –   Deploy RPM in dev environments

•   Each night
    –   Build, run unit tests, create RPM
    –   Deploy RPM in integration environment
Continuous Integration @ PPM

                                     poll   CruiseControl
                                            CruiseControl            Checkout, build,
                      CVS
                       CVS                    & Maven                 run unit tests,
                                               & Maven
                      SVN
                       SVN                  (+nexus +clover)
                                             (+nexus +clover)
                                                                       build RPMs
Developer


                          After every                             RPM
                        successfull build


                                              Puppet
                                               Puppet      RPM
                                                            RPM
                                                           repo
                                                            repo



                                                        Nightly

                            Dev.
                             Dev.                                             Dev.
                                                                               Dev.
                            env.
                        Dev. env.
                         Dev.                                                 env.
                                                                          Dev. env.
                                                                           Dev.
                           Server
                        env.Server
                          env.                                               Server
                                                                          env.Server
                                                                            env.
                       Server
                        Server
                    Server
                     Server                                              Server
                                                                          Server
                                                                      Server
                                                                       Server


            Devlopment Environment                              Integration Environment
                   (mocked)                                           (un-mocked)
4- Automated Tests

         To regression test as often as needed

Test goals @ PPM:
   Test the result of the integration (no-mocks)
   – Unit tests
   – Functional regression tests (automated & manual)
   – Performance benchmarking (automated)
Automated Tests @ PPM
                                               (model based testing)




                                                                                                                              Integration Environment
                                                                                                                                    (un-mocked)
                    SVN
                     SVN                                   Test Runner (perl)
   Test                                                                             1. Run
Automation                                            2. Collect
             Test definitions .xml                      results
  Expert                                                                                     MBT
                                                                                              MBT
             Test models & scripts                                                                    GUI
                                                                             API
                                                                                                               Selenium
                                                                                                                Selenium       QTP
                                                                                                                                QTP
                                                                   Shell
                                                                    Shell                                                                         Firefox
                                                                                        Perf.                                           Windows   IE
                                 Executions
                                 Executions                                 Perl
                                                                             Perl                           Virtual machine             Linux
                                                                                                                                        Mac OS
                                                                                                                                                  Safari
                                                                                                                                                  Opera
                                   Results
                                   Results                                                                  Virtual machine

                                     (times, log files,
                                      (times, log files,                               JMeter
                                                                                        JMeter
                                     screen capture)                                             Load-
                                                                                                   Load-
                                      screen capture)
                                                                                                Runner
                                                                                                  Runner
5 - At least two test environments


     Integration env. (nightly builds)
         Acceptance env. (stable)




         Virtualized HW      Virtualized HW
            Test data           Test data
         (Daily deploy)   (Deploy when needed)
6 - Early performance tests



  Create performance tests early
       to use as benchmarks
    (Delivered by Development teams)
7 - Stop the line




Integration Team stops new development
           if integration is broken
8- Clear Contract between
 Dev & Integration Teams

   Code deliverable (maven, RPM)
   Configuration info (Puppet scripts)
   Tested! (x% unit tests coverage)

   Requirements & Test cases in QaTraq
   Automated tests integrated in test framework




                               ”Stop the line!”
                              Trouble Reports
                      Running Tested Features
9 - Make the process visible
Contract Integration
                                      Acceptance Production
                check       env.         env.       env.




Work to do
 to pull the
  features




                  Features
through the                   Integration process
  process
10- Make Status visible and
                      understandable
          Integration status can be hard to grasp (”nothing works!”)


                                                            Green =
                                                     Running Tested Feature




   Features
(Requirements)
Running Tested Features @ PPM
                         Acceptance Criteria/   QaTraq
                           Requirements
                             (from PO)


                                                                 Req.
                                                                  Req.
                                                               Test cases
                                                               Test cases

                             Test cases
                          (checked by PO)
Report: how many                                               Testers use QaTraq regs (tags)
                                                Test results
features are passing                                                 In Automated tests
their acceptance tests
    Running                     Dashboard
     Tested
    Features                                                      Automate
                                                                   Automate
                                                                                            Manual
                                                                                             Manual
                                                                      dd
                                                                                          Integration
                                                                                           Integration
                                                                 Integration
                                                                  Integration
                                                                                             tests
                                                                                              tests
                                                                    tests
                                                                     tests
                                                                       Integration Environment
                                                                             (un-mocked)
10 Key success factors for the
          integration team @ PPM
1.    Integrate early
2.    Team has the necessary resources
3.    Continuous integration
4.    Automated tests
5.    At least two test environments
6.    Early performance tests
7.    Stop the line
8.    Clear contract between Dev. and Integration teams
9.    Make the process visible
10.   Make the status visible (and understandable)
Next Steps
     • Hunt waste, waiting time, etc. in the integration
       process
            – Optimize value flow


     • Pull through the integration process instead of push
            – Kanban


     • Release possible after every sprint
       (instead of a few times per year)!


christophe.achouiantz@avega.se

Contenu connexe

En vedette

System integration complexity
System integration complexitySystem integration complexity
System integration complexitySergey Tozik
 
1 Value Proposition Examples (Per Ed Jowdy)
1  Value Proposition Examples (Per Ed Jowdy)1  Value Proposition Examples (Per Ed Jowdy)
1 Value Proposition Examples (Per Ed Jowdy)richardholloway
 
Top 10 systems integration interview questions with answers
Top 10 systems integration interview questions with answersTop 10 systems integration interview questions with answers
Top 10 systems integration interview questions with answersthompsonhollie02
 
PMP Preparation 1 - Framework
PMP Preparation 1 - FrameworkPMP Preparation 1 - Framework
PMP Preparation 1 - FrameworkAndrew Mikityuk
 
PMP Preparation 2 - Processes
PMP Preparation 2 - ProcessesPMP Preparation 2 - Processes
PMP Preparation 2 - ProcessesAndrew Mikityuk
 
PMP Prep 3 - Project Integration Management
PMP Prep 3 - Project Integration ManagementPMP Prep 3 - Project Integration Management
PMP Prep 3 - Project Integration ManagementAndrew Mikityuk
 
SAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftSAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftMuleSoft
 

En vedette (8)

System integration complexity
System integration complexitySystem integration complexity
System integration complexity
 
Social Media Integration Survey
Social Media Integration SurveySocial Media Integration Survey
Social Media Integration Survey
 
1 Value Proposition Examples (Per Ed Jowdy)
1  Value Proposition Examples (Per Ed Jowdy)1  Value Proposition Examples (Per Ed Jowdy)
1 Value Proposition Examples (Per Ed Jowdy)
 
Top 10 systems integration interview questions with answers
Top 10 systems integration interview questions with answersTop 10 systems integration interview questions with answers
Top 10 systems integration interview questions with answers
 
PMP Preparation 1 - Framework
PMP Preparation 1 - FrameworkPMP Preparation 1 - Framework
PMP Preparation 1 - Framework
 
PMP Preparation 2 - Processes
PMP Preparation 2 - ProcessesPMP Preparation 2 - Processes
PMP Preparation 2 - Processes
 
PMP Prep 3 - Project Integration Management
PMP Prep 3 - Project Integration ManagementPMP Prep 3 - Project Integration Management
PMP Prep 3 - Project Integration Management
 
SAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftSAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoft
 

Plus de Christophe Achouiantz

Implementing kanban at scale at sandvik IT
Implementing kanban at scale at sandvik ITImplementing kanban at scale at sandvik IT
Implementing kanban at scale at sandvik ITChristophe Achouiantz
 
Lessons Learned from Coaching 50+ Teams
Lessons Learned from Coaching 50+ TeamsLessons Learned from Coaching 50+ Teams
Lessons Learned from Coaching 50+ TeamsChristophe Achouiantz
 
See and understand how to improve your team using kanban
See and understand how to improve your team using kanbanSee and understand how to improve your team using kanban
See and understand how to improve your team using kanbanChristophe Achouiantz
 
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sättUser Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sättChristophe Achouiantz
 
Introduction to Behaviour Driven Development
Introduction to Behaviour Driven DevelopmentIntroduction to Behaviour Driven Development
Introduction to Behaviour Driven DevelopmentChristophe Achouiantz
 
Igniting change in 20 teams within 6 months
Igniting change in 20 teams within 6 monthsIgniting change in 20 teams within 6 months
Igniting change in 20 teams within 6 monthsChristophe Achouiantz
 
Scaling Scrum in the Enterprise with Kanban
Scaling Scrum in the Enterprise with KanbanScaling Scrum in the Enterprise with Kanban
Scaling Scrum in the Enterprise with KanbanChristophe Achouiantz
 

Plus de Christophe Achouiantz (17)

How to train to Kanban.
How to train to Kanban.How to train to Kanban.
How to train to Kanban.
 
Staying on the high performing path
Staying on the high performing pathStaying on the high performing path
Staying on the high performing path
 
Insights coaching 70 kanban teams
Insights coaching 70 kanban teamsInsights coaching 70 kanban teams
Insights coaching 70 kanban teams
 
From Good-enough to Great (LKFR16)
From Good-enough to Great (LKFR16)From Good-enough to Great (LKFR16)
From Good-enough to Great (LKFR16)
 
From Good-Enough to Great
From Good-Enough to GreatFrom Good-Enough to Great
From Good-Enough to Great
 
The art of delivering value on time
The art of delivering value on timeThe art of delivering value on time
The art of delivering value on time
 
Implementing kanban at scale at sandvik IT
Implementing kanban at scale at sandvik ITImplementing kanban at scale at sandvik IT
Implementing kanban at scale at sandvik IT
 
Succeed using lean agile
Succeed using lean agileSucceed using lean agile
Succeed using lean agile
 
Lessons Learned from Coaching 50+ Teams
Lessons Learned from Coaching 50+ TeamsLessons Learned from Coaching 50+ Teams
Lessons Learned from Coaching 50+ Teams
 
See and understand how to improve your team using kanban
See and understand how to improve your team using kanbanSee and understand how to improve your team using kanban
See and understand how to improve your team using kanban
 
Depth of a Kanban Implementation
Depth of a Kanban ImplementationDepth of a Kanban Implementation
Depth of a Kanban Implementation
 
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sättUser Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
 
The value of timely feedback
The value of timely feedbackThe value of timely feedback
The value of timely feedback
 
Thinking agile
Thinking agileThinking agile
Thinking agile
 
Introduction to Behaviour Driven Development
Introduction to Behaviour Driven DevelopmentIntroduction to Behaviour Driven Development
Introduction to Behaviour Driven Development
 
Igniting change in 20 teams within 6 months
Igniting change in 20 teams within 6 monthsIgniting change in 20 teams within 6 months
Igniting change in 20 teams within 6 months
 
Scaling Scrum in the Enterprise with Kanban
Scaling Scrum in the Enterprise with KanbanScaling Scrum in the Enterprise with Kanban
Scaling Scrum in the Enterprise with Kanban
 

Dernier

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Dernier (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

10 key success factors for an integration team

  • 1. Succeeding with Integration Integrating the work of several Scrum teams christophe.achouiantz@avega.se
  • 2. The Ideal Team Development Development Team Team Product / Service increment in production
  • 3. The Integration Team: integrating work from several teams Dev Dev Team Team Dev Dev Integration Integration Team Team Team Team Product / Service Dev Dev increment in production Team Team
  • 4. The Classical Integration/Release process Environments Dev Project Release Project IT Dept. Handover Handover (at the end) (at the end)
  • 5. The Integration Team: to integrate continuously Development Phase Release Phase Development Teams Concurrent, iterative, incremental Activities Integration Team
  • 6. 10 Key success factors for the integration team @ PPM 1. Integrate early 2. Team has the necessary resources 3. Continuous integration 4. Automated tests 5. At least two test environments 6. Early performance tests 7. Stop the line 8. Clear contract between Dev. and Integration teams 9. Make the process visible 10. Make the status visible (and understandable)
  • 7. 1 - Integrate early • Slice User Stories the ”right way” to start integrating from the start (”tracer bullet”) • Multiple component teams must synchronize their backlogs to achieve the “tracer bullet” effect Sprint 3 Sprint 2 Sprint 1 Front-end Middle-wear Back-end DB
  • 8. 2- Team has the necessary resources: competence Business • Acceptance testers Integration backlog Product Testers • Functional/Integration testers Owner • Performance testers Technical Support • Code build & deploy • Environment setup and config • Components Responsible
  • 9. 2- Team has the necessary resources: environments Team is responsible for setting-up and maintaining the required test environments Environments @ PPM: Virtualized HW Virtualized HW Production-like HW Production HW Test data Test data Production data Production data (Daily deploy) (Deploy when needed) (Deploy when needed) (Controlled deploy)
  • 10. 3- Continuous Integration Continuous Integration goals @ PPM: • After each commit – Build – Run all unit tests – Create RPM – Deploy RPM in dev environments • Each night – Build, run unit tests, create RPM – Deploy RPM in integration environment
  • 11. Continuous Integration @ PPM poll CruiseControl CruiseControl Checkout, build, CVS CVS & Maven run unit tests, & Maven SVN SVN (+nexus +clover) (+nexus +clover) build RPMs Developer After every RPM successfull build Puppet Puppet RPM RPM repo repo Nightly Dev. Dev. Dev. Dev. env. Dev. env. Dev. env. Dev. env. Dev. Server env.Server env. Server env.Server env. Server Server Server Server Server Server Server Server Devlopment Environment Integration Environment (mocked) (un-mocked)
  • 12. 4- Automated Tests To regression test as often as needed Test goals @ PPM: Test the result of the integration (no-mocks) – Unit tests – Functional regression tests (automated & manual) – Performance benchmarking (automated)
  • 13. Automated Tests @ PPM (model based testing) Integration Environment (un-mocked) SVN SVN Test Runner (perl) Test 1. Run Automation 2. Collect Test definitions .xml results Expert MBT MBT Test models & scripts GUI API Selenium Selenium QTP QTP Shell Shell Firefox Perf. Windows IE Executions Executions Perl Perl Virtual machine Linux Mac OS Safari Opera Results Results Virtual machine (times, log files, (times, log files, JMeter JMeter screen capture) Load- Load- screen capture) Runner Runner
  • 14. 5 - At least two test environments Integration env. (nightly builds) Acceptance env. (stable) Virtualized HW Virtualized HW Test data Test data (Daily deploy) (Deploy when needed)
  • 15. 6 - Early performance tests Create performance tests early to use as benchmarks (Delivered by Development teams)
  • 16. 7 - Stop the line Integration Team stops new development if integration is broken
  • 17. 8- Clear Contract between Dev & Integration Teams Code deliverable (maven, RPM) Configuration info (Puppet scripts) Tested! (x% unit tests coverage) Requirements & Test cases in QaTraq Automated tests integrated in test framework ”Stop the line!” Trouble Reports Running Tested Features
  • 18. 9 - Make the process visible
  • 19. Contract Integration Acceptance Production check env. env. env. Work to do to pull the features Features through the Integration process process
  • 20. 10- Make Status visible and understandable Integration status can be hard to grasp (”nothing works!”) Green = Running Tested Feature Features (Requirements)
  • 21. Running Tested Features @ PPM Acceptance Criteria/ QaTraq Requirements (from PO) Req. Req. Test cases Test cases Test cases (checked by PO) Report: how many Testers use QaTraq regs (tags) Test results features are passing In Automated tests their acceptance tests Running Dashboard Tested Features Automate Automate Manual Manual dd Integration Integration Integration Integration tests tests tests tests Integration Environment (un-mocked)
  • 22. 10 Key success factors for the integration team @ PPM 1. Integrate early 2. Team has the necessary resources 3. Continuous integration 4. Automated tests 5. At least two test environments 6. Early performance tests 7. Stop the line 8. Clear contract between Dev. and Integration teams 9. Make the process visible 10. Make the status visible (and understandable)
  • 23. Next Steps • Hunt waste, waiting time, etc. in the integration process – Optimize value flow • Pull through the integration process instead of push – Kanban • Release possible after every sprint (instead of a few times per year)! christophe.achouiantz@avega.se