Att lyckas med integration av arbetet från flera scrum team - Christophe Achouiantz
-
Upload
manssandstrom -
Category
Technology
-
view
356 -
download
0
Transcript of Att lyckas med integration av arbetet från flera scrum team - Christophe Achouiantz
DevelopmentTeam
Product/Serviceincrementinproduc0on
TheIdealTeam
DevTeam
DevTeam
DevTeam
Integra0onTeam
Product/Serviceincrementinproduc0on
TheIntegra0onTeam:integra0ngworkfromseveralteams
TheClassicalIntegra0on/Releaseprocess
Environments
Dev Project IT Dept. Release Project
Handover(attheend)
Handover(attheend)
TheIntegra0onTeam:tointegratecon0nuously
Integra0onTeam
Dev App
Pre‐prod Produc0onIntegra0on Acceptance
DevelopmentTeams
Concurrent,itera-ve,incrementalAc-vi-es
DevelopmentPhase ReleasePhase
10Keysuccessfactorsfortheintegra0onteam@PPM
1. Integrateearly2. Teamhasthenecessaryresources3. Con0nuousintegra0on4. Automatedtests5. Atleasttwotestenvironments6. Earlyperformancetests7. Stoptheline8. ClearcontractbetweenDev.andIntegra0onteams9. Maketheprocessvisible10. Makethestatusvisible(andunderstandable)
• SliceUserStoriesthe”rightway”tostartintegra0ngfromthestart(”tracerbullet”)
• Mul0plecomponentteamsmustsynchronizetheirbacklogstoachievethe“tracerbullet”effect
1‐Integrateearly
Front‐end Back‐end DBMiddle‐wearSprint1
Sprint2
Sprint3
2‐Teamhasthenecessaryresources:competence
Integra0onScrumTeam
Testers • Functional/Integration testers • Performance testers
Technical Support • Code build & deploy • Environment setup and config • Components Responsible
Business • Acceptance testers
Product Owner
Integration backlog
Integra0on Acceptance Performance Produc0on
Teamisresponsibleforse]ng‐upandmaintainingtherequiredtestenvironments
Environments@PPM:
VirtualizedHWTestdata
(Deploywhenneeded)
Produc0on‐likeHWProduc0ondata
(Deploywhenneeded)
Produc0onHWProduc0ondata
(Controlleddeploy)
VirtualizedHWTestdata
(Dailydeploy)
2‐Teamhasthenecessaryresources:environments
3‐Con0nuousIntegra0on
Con0nuousIntegra0ongoals@PPM:• Aaereachcommit
– Build– Runallunittests– CreateRPM– DeployRPMindevenvironments
• Eachnight– Build,rununittests,createRPM– DeployRPMinintegra0onenvironment
Con0nuousIntegra0on@PPM
CVSSVN
CruiseControl & Maven
(+nexus +clover)
Checkout, build, run unit tests, build RPMs
Puppet RPMrepo
Dev. env.
Server Dev. env.
Server Server
RPM
Developer
poll
Dev. env.
Server Dev. env.
Server Server
Devlopment Environment (mocked)
Integration Environment (un-mocked)
After every successfull build
Nightly
4‐AutomatedTests
Toregressiontestasoaenasneeded
Testgoals@PPM:Testtheresultoftheintegra0on(no‐mocks)– Unittests– Func0onalregressiontests(automated&manual)– Performancebenchmarking(automated)
AutomatedTests@PPM(modelbasedtes0ng)
SVNTest
Automation Expert Test definitions .xml
Test models & scripts
Execu0onsResults
(0mes,logfiles,screencapture)
MBT
Test Runner (perl) 2. Collect
results
JMeterLoad‐Runner
Shell
Perl
Integration Environment (un-mocked)
Virtual machine
QTPSelenium
Windows Linux Mac OS
Virtual machine
1. Run
API
Perf.
GUI
Firefox IE Safari Opera
5‐Atleasttwotestenvironments
Integra0onenv.(nightlybuilds)
Acceptanceenv.(stable)
Integra0on Acceptance Performance Produc0on
VirtualizedHWTestdata
(Deploywhenneeded)
VirtualizedHWTestdata
(Dailydeploy)
6‐Earlyperformancetests
Createperformancetestsearlytouseasbenchmarks
(DeliveredbyDevelopmentteams)
7‐Stoptheline
Integra0onTeamstopsnewdevelopmentifintegra0onisbroken
8‐ClearContractbetweenDev&Integra0onTeams
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
Integra0onTeam
DevelopmentTeam
9‐Maketheprocessvisible
Integration process
Work to do to pull the features
through the process
10‐MakeStatusvisibleandunderstandable
Integra0onstatuscanbehardtograsp(”nothingworks!”)
Green=RunningTestedFeature
Features (Requirements)
Integration Environment (un-mocked)
DevTeam
Acceptance Criteria/ Requirements
(from PO)
Test cases (checked by PO)
QaTraq
Automated
Integra0ontests
Report: how many features are passing their acceptance tests
Req.Testcases
Testers use QaTraq regs (tags) In Automated tests Test results
Dashboard
RunningTestedFeatures@PPM
ManualIntegra0on
tests
Running Tested
Features
10Keysuccessfactorsfortheintegra0onteam@PPM
1. Integrateearly2. Teamhasthenecessaryresources3. Con0nuousintegra0on4. Automatedtests5. Atleasttwotestenvironments6. Earlyperformancetests7. Stoptheline8. ClearcontractbetweenDev.andIntegra0onteams9. Maketheprocessvisible10. Makethestatusvisible(andunderstandable)
NextSteps
• Huntwaste,wai0ng0me,etc.intheintegra0onprocess– Op0mizevalueflow
• Pullthroughtheintegra0onprocessinsteadofpush– Kanban
• Releasepossibleaaereverysprint(insteadofafew0mesperyear)!