10 key success factors for an integration team

1,770 views

Published on

How to succeed integrating the work of several Scrum Teams.
I present 10 Key success factors for an integration team based on a large project at PPM (swedish pension agency).
This talk was given at Agila Sverige conference in 2009. The video for the talk is available in swedish here: https://vimeo.com/57062631

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,770
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

10 key success factors for an integration team

  1. 1. Succeeding with Integration Integrating the work of several Scrum teamschristophe.achouiantz@avega.se
  2. 2. The Ideal TeamDevelopment Development Team Team Product / Service increment in production
  3. 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. 4. The Classical Integration/Release processEnvironments Dev Project Release Project IT Dept. Handover Handover (at the end) (at the end)
  5. 5. The Integration Team: to integrate continuously Development Phase Release PhaseDevelopment Teams Concurrent, iterative, incremental ActivitiesIntegration Team
  6. 6. 10 Key success factors for the integration team @ PPM1. Integrate early2. Team has the necessary resources3. Continuous integration4. Automated tests5. At least two test environments6. Early performance tests7. Stop the line8. Clear contract between Dev. and Integration teams9. Make the process visible10. Make the status visible (and understandable)
  7. 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. 8. 2- Team has the necessary resources: competence Business • Acceptance testersIntegration backlog Product Testers • Functional/Integration testers Owner • Performance testers Technical Support • Code build & deploy • Environment setup and config • Components Responsible
  9. 9. 2- Team has the necessary resources: environmentsTeam is responsible for setting-up and maintaining the required test environmentsEnvironments @ 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. 10. 3- Continuous IntegrationContinuous 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. 11. Continuous Integration @ PPM poll CruiseControl CruiseControl Checkout, build, CVS CVS & Maven run unit tests, & Maven SVN SVN (+nexus +clover) (+nexus +clover) build RPMsDeveloper 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. 12. 4- Automated Tests To regression test as often as neededTest goals @ PPM: Test the result of the integration (no-mocks) – Unit tests – Functional regression tests (automated & manual) – Performance benchmarking (automated)
  13. 13. Automated Tests @ PPM (model based testing) Integration Environment (un-mocked) SVN SVN Test Runner (perl) Test 1. RunAutomation 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. 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. 15. 6 - Early performance tests Create performance tests early to use as benchmarks (Delivered by Development teams)
  16. 16. 7 - Stop the lineIntegration Team stops new development if integration is broken
  17. 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. 18. 9 - Make the process visible
  19. 19. Contract Integration Acceptance Production check env. env. env.Work to do to pull the features Featuresthrough the Integration process process
  20. 20. 10- Make Status visible and understandable Integration status can be hard to grasp (”nothing works!”) Green = Running Tested Feature Features(Requirements)
  21. 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 resultsfeatures are passing In Automated teststheir acceptance tests Running Dashboard Tested Features Automate Automate Manual Manual dd Integration Integration Integration Integration tests tests tests tests Integration Environment (un-mocked)
  22. 22. 10 Key success factors for the integration team @ PPM1. Integrate early2. Team has the necessary resources3. Continuous integration4. Automated tests5. At least two test environments6. Early performance tests7. Stop the line8. Clear contract between Dev. and Integration teams9. Make the process visible10. Make the status visible (and understandable)
  23. 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

×