continuous integration, delivery, deployment, and...
TRANSCRIPT
ContinuousIntegration,Delivery,Deployment,andDevOps
WASPcourse:ContinuousSoftwareEngineering–SoftwareArchitectures,Model-BasedSoftware
EngineeringandContinuous-*,March30-31,Gothenburg
Hello,mynameis…
• AssociateProf.@CTH&GU– RE,Agile,CI,CD,SoftwareEcosystems– CommunicationandKnowledgeManagement
• Previously– PostDoc @UVic:ClarificationpatternsinLarge-ScaleAgile
– PostDoc @LUH:GlobalSoftwareEngineering– PhD@LUH:RequirementsEngineering
• Teachingphilosophy– EnablestudentstolearnmorethanIknow
EricKnauss- ContinuousX4WASP 2
Agendatoday
• ContinuousX:
– Integration,Delivery,Deployment,andDevOps–TerminologyandOrigin
– InthecontextofLarge-ScaleSystemDevelopment– ContinuousDeploymentPractices
• TestingStrategiesforContinuousXforEmbeddedSystems
• TheRoleofValue,Features,andRequirements
EricKnauss- ContinuousX4WASP 3
Keytakeaways:- Fundamental
- Agilevalues- Testing
- Advanced- Uservalue- Systemknowledge- Architecture
DEFINITIONOFCONTINUOUSX
Part1:WhatisContinuousIntegration(Delivery,Deployment)andwhyisitimportant
EricKnauss- ContinuousX4WASP 4
ContinuousIntegration:Keyideas
• BigBangintegrationverycostly
• Immediatefeedbackimportant
• Fowler:Mindsetmoreimportantthantechnology
EricKnauss- ContinuousX4WASP 5
• Integrateandtestcodeeveryfewhours(1dayatthemost)
• Dedicatedmachinehelps• IfMachineisfree:pairsitsdown,
integratestheirchanges,tests,anddoesnotleavebefore100%oftestsrun
Implies:smallagileteam
EricKnauss- ContinuousX4WASP 6
https://techblog.betclicgroup.com/wp-content/uploads/2013/12/agileSubwayMap2.Alsocheck:http://guide.agilealliance.org
Origin:AgilePractice
AgileManifestohttp://agilemanifesto.org• Beganasaprovocation:Plan-driven
developmentdidnotsafetheSoftwareworld…• Nowaveryseriousmovement,welladaptedin
industry.• Thereareacoupleofestablishedagile
methods:Howtointegratethesevaluesineverydaysoftwaredevelopment
EricKnauss- ContinuousX4WASP 7
Whatisagile?Whatisnot?• Agile– acompendiumofideas
– Appliedbynumberofmethods(incl.XP,Scrum,Kanban,LeanSoftwareDevelopment)
• Corecharacteristicsdefinedthrough– Values:Generalassumptionsframingtheagileviewoftheworld– Principles:Coreagilerules,organizationalandtechnical– Roles:responsibilitiesandprivilegesofthevariousactorsinan
agileprocess– Practices:specificactivitiespracticedbyagileteams– Artifacts:tools,bothvirtualandmaterial,thatsupportthe
practices
EricKnauss- ContinuousX4WASP 8
[Mey2014]
AgileValues
1. Redefinedrolesfordevelopers,managers,andcustomers
2. No”BigUpfront”steps3. Iterativedevelopment4. Limited,negotiatedfunctionality5. Focusonquality,understoodasachievedthrough
testing
EricKnauss- ContinuousX4WASP 9
[Mey2014]
AgilePrinciples– Revisedlist(accordingto[Mey2014])
Organizational
1. Putthecustomeratthecenter.2. Lettheteamself-organize.3. Workatasustainablepace.
4. Developminimalsoftware:1. Produceminimal
functionality.
2. Produceonlytheproductrequested.
3. Developonlycodeandtests.5. AcceptChange
EricKnauss- ContinuousX4WASP 10
Technical1. Developiteratively:
1. Producefrequentworkingiterations.
2. Freezerequirementsduringiterations.
2. Treattestsasakeyresource:1. Donotstartanynew
developmentuntilalltestspass.
2. Testfirst.3. Expressrequirementsthrough
scenarios.
WhytodoContinuousIntegration
• Evidencethat– SWqualitycanbesignificantlyimproved
– SWdevelopmentcanbesignificantlyaccelerated(timetomarket)
• Likelythat– CIisnotcheaperthantraditionaldevelopment
– CIhaspositiveimpactonflexibility
à Tendencytoapplyatscaleandforsystems
EricKnauss- ContinuousX4WASP 11
OrganizationalCategories
• Enterprises:softwaresupportsinternalprocessesandexternalservices(e.g.banks,insurancecompanies)
• Productorientedorganizations:developsoftwareorsoftwareintensiveproductsthatarenotdeployeddirectlybythedevelopmentteams
• Servicecompanies:developsoftwarethatishostedanddeployeddirectlybythedevelopingteam
MatthewBass(CMU)
EricKnauss- ContinuousX4WASP 12
InsightsfromResearchProjects
SoftwareCenteraimstodevelopastrategicpartnershipwithpartnercompaniestosignificantly
acceleratetheiradoptionofnovelapproachestosoftwareengineering
http://www.software-center.se/partners
NGEApreparesthenextgenerationofelectricalarchitecturetoincreaseflexibility,decreasedevelopmentleadtime,andincreasetheabilitytodevelopcomplexsystemsandsystemofsystems.Thesegoalswillbereachedbyconsequentlyfacilitatingcontinuousintegration,delivery,anddeployment.
EricKnauss- ContinuousX4WASP 13
CCTSThe Code-Churn Test Selection model identifies the most optimal test suite based on the changes in the source code.
� E. Knauss, M. Staron, W. Meding, O. Söder, A. Nilsson, M. Castell, “Supporting Continuous Integration by Code-Churn Based Test Selection”, Proceedings of the 2nd International Workshop on Rapid and Continuous Software Engineering (RCoSE), ICSE 2015, Italy
� …
• Reduction of test suite by 73% without any loss of effectiveness
• Can speed up continuous integration and reduce cycle times
• Can be applied at all test levels
For more information please contact [email protected], [email protected] and/or [email protected]
Context
• Thisisjointandongoingwork– SynergiesbetweenNGEAandSoftwareCenterProject1
“ImplicationsofContinuousDeployment”– Basedongroupinterviewswith6companies
+cross-organizationalworkshopsforconsolidatingresults
• Researchgoal:– Manydefinitions,manyconcepts(ContinuousIntegration,
ContinuousDelivery,ContinuousDeployment,…)
– Understandwhichaspectsareimportantinpractice– Agreeonsharedlanguage =CommonUnderstanding
15
Agneta Nilsson
MagnusÅgren
Rogardt HeldalEricKnauss- ContinuousX4WASP
Integrateneworchangedcodewiththemainlinecodebaseatfrequenttimeintervals
• Integrate/Test• Sufficientqualityofcodebase• OneMainline/Several
• Aslongaseachcarrycustomervalue• FrequencyWeeks/Days/Instant• Whydoweintegrate– togetfeedback
Integrateandtestneworchangedcodewithacodebasetoenablefeedbackwheneverwewant
ContinuousIntegration
16
FromLiterature
FromInterview
Synthesis
Theabilitytoreleasesoftwarewheneverwewant
• ReleaseandInstallinrunning/Deliver• Higherqualitylevelofcodebase• Strongqualityassurance
Theabilitytoreleaseandinstallsoftwareinrunningsystemwheneverwewant
ContinuousDeployment
17
Otherwise:ContinuousDelivery
WorkingDefinitionsforthislecture
18
DefinitionsandCharacterizations
ContinuousIntegration:Abilitytointegrateandtestneworchangedcodewithacodebase,whichcarriescustomervalue,wheneverdesiredtoenablefeedback.
ContinuousDelivery:Abilitytoreleasecustomerand/orproductvaluetoatargetenvironmentwheneverdesiredtoenablefeedback.
ContinuousDeployment:Abilitytoreleaseandinstallcustomerand/orproductvalueintoarunningsystematcustomersitewheneverdesiredtoenablefeedback.
DevOps:Setupwherecross-functionalfeatureteamsworkcloselywithoperationsteamstofacilitatecontinuousdeployment
EricKnauss- ContinuousX4WASP
• ContinuousIntegrationoftenonteamlevel• ContinuousDeploymentimpliesthewholeorganizationtoworkinacontinuousway
• EnterpriseContinuousIntegration[Ståhl andBosch2015]
• ContinuousXincludesanumberofdimensions
Somethinginbetween…
20
• SystematicLiteratureReviewtounderstanddifferentdimensionsoftheseterms
Currentwork
21
Organizationalscope
-- Departmentlevel
-- Teamlevel
-- Companylevel
-- Customer
Technicalscope
Integration--Delivery--
Deployment--
Feedbackspeed
Day--Hour--
Week--
Otherdimensions:• Managingarchitecture,
requirements,businessdrivers
• Transparency• Testing• Practicalscope:Vision,
Constructive,Experience
ContinuousDeploymentPractice Description
Automateddeployment Makingsoftwareavailabletoend-usersautomatically
Automatedtesting Automatedtechniquestoperformvarioustestingactivities(testcasemanagement,testmonitorandcontrol,testdatageneration,testcaseexecution,…)
Codereview Requiresdeveloperstopresentsoftwarechangesforcommentandapproval
Darklaunching Deployingsoftwarechangesbykeepingthefunctionalaspectsofthesoftwarechangeshiddentoend-users
End-usercomm. Communicatingwithend-usersinordertoreceivefeedbackandgatherrequirementsaboutthesoftwareofinterest
Featureflag (=featuretoggleorfeatureflipper)isatechniquethatfacilitatesintriggeringaspecificbranchamongstseveralbranchesofthesoftwaretoenableordisable(partsof)features
Intercommunication Sharingallnecessarydevelopmentanddeploymentinformationamongstsoftwareteammembers
Monitoring Collectingdeploymentrelatedinformation,producingappropriateperformancemetrics,andreportingtheminanappropriateformat
Softwarerepository Softwarelibrarythatcontainsallthenecessarysoftwareartifacts.Wemustdistinguishbranch andtrunkshipment.
Staging Executingaspecificsetoftechniquesbytheadopteeaftersoftwarechangesarewritten,tested,andbeforesoftwarechangesaredeployedtoend-users
Dogfooding Whenasoftwareteamusesitsownsoftwareaspartoftheirsoftwaredevelopment
Gradualrollout Deployingsoftwarechangesstep-by-steptofractionsofend-users22
Rahman,A.A.U.;Helms,E.;Williams,L.;Parnin,C.:Synthesizingcontinuousdeploymentpracticesusedinsoftwaredevelopment.In:Proc.ofAgileConference;pg.1-10;DOI:10.1109/Agile.2015.12;WashingtonDC,USA.2015
EricKnauss- ContinuousX4WASP
TESTINGSTRATEGIESFORCONTINUOUSXFOREMBEDDEDSYSTEMS
Part2:
AutomationandDynamicOptimizationofTestSuites
EricKnauss- ContinuousX4WASP 23
CIVITThe CIVIT model is a test process improvement technique with the purpose to visualizing the end-to-end testing activities involved (from component to product level) to create a shared understanding of the current situation and support the identification of improvement areas.
Picture of the Model
• Nilsson, A., Bosch, J. and Berger, C. (2014) ‘Visualizing testing activities to support continuous integration: A multiple case study’. In proceedings of Agile Software Development, XP, Rome, Italy, 26-30 May, 2014. Springer Volume 179, pp. 171–186
• Often a lack of an adequate overview
• Tend to lead to double work, slow feedback loops, issues found too late, disconnected organizations, unpredictable release schedules
• It enables a solid understanding of the end-to-end testing activities
• Particularly useful as a basis for discussion, to identify problems and to reason about suitable measures
For more information please contact [email protected]
ExampleCivit modelThe CIVIT model
!!!Once!/release !Month !Week !Day !Hour !Immediate/!! ! ! ! ! !Minutes!
Customer!!!Release!!!Full!Product!!!Par=al!Product!!!Subsystem!!!Component!
F! Q!L! E!
F! Q!L! E!
F! Q!L! E!
F! Q!L! E!
F! Q!L! E!
F! Q!L! E!
F! Q!L! E!
F! Q!L! E!
F! Q!L! E!
Software Center, Project 1, Sprint 4
25EricKnauss- ContinuousX4WASP
TheCIVITModel
Once/release Month Week Day Hour Immediate/Minutes
Customer
Release
FullProduct
PartialProduct
Subsystem
Component
ImprovementDirections
FFunctional
requirements
LLegacy
functionality
QQuality
requirements
EEdgecases
F QL E
NotestingofthistypeatallSometestingbutlessthan30%coveragePartialtesting30%<coverage<70%Significanttesting70%<coverage<95%Completecoverage
NoautomationatallSomeautomation,lessthan30%Partialautomation,between30and70%Significantautomation,between70and95%Fullyautomated
Coverageforeachtypeoftesting
Leveloftestautomation
Legend
TestingStrategiesforCI
Haritha Gangineni SarahJamil:TestingStrategiestoSupportContinuousIntegrationforComplexSystems.Master’sthesisinSoftwareEngineering,ChalmersandUniversityofGothenburg,2016
+Testlifecycle
EricKnauss- ContinuousX4WASP 28
CCTSThe Code-Churn Test Selection model identifies the most optimal test suite based on the changes in the source code.
� E. Knauss, M. Staron, W. Meding, O. Söder, A. Nilsson, M. Castell, “Supporting Continuous Integration by Code-Churn Based Test Selection”, Proceedings of the 2nd International Workshop on Rapid and Continuous Software Engineering (RCoSE), ICSE 2015, Italy
� …
• Reduction of test suite by 73% without any loss of effectiveness
• Can speed up continuous integration and reduce cycle times
• Can be applied at all test levels
For more information please contact [email protected], [email protected] and/or [email protected]
Whytestprioritization&selection?
• Largeproduct,manyintegrationtests– Daysorevenweekstorunthemall
• ContinuousX=quickfeedback– “Wehave2h.Runthemostimportanttests.”– “Asacross-functionalteam,Iwanttorunimportantintegrationtestsregularlysothatintegrationwillbesmooth.”
– “Asanintegrationtester,Iwanttogivefeedbacktodevelopersasquicklyaspossibe.”
EricKnauss- ContinuousX4WASP 30
Recommendingtests(idea)
• Prioritizetestsbasedonheatmap– Collectwhichmodules/componentswherechanged
– Sorttestsbyfrequencythatthefailedinconnectionwithcollectedchanges
– Cutofflistbysomecriteria
Module 1 Module 2 Modeul 3 … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … Module n
Testsuite 1 Testsuite 2 Testsuite 3 …
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
Testsuite m
EricKnauss- ContinuousX4WASP 31
Principle1
Startingfromaheatmap…
0
5
10
15
20
25
30
35
40
45
Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10
Sum(Testfailures)
…wecanunderstandtestefficiency
EricKnauss- ContinuousX4WASP 32
Principle
0
5
10
15
20
25
30
35
40
45
Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10
Sum(Testfailures)
0
5
10
15
20
25
30
35
40
45
Test7 Test8 Test10 Test9 Test4 Test1 Test3 Test2 Test5 Test6
Sum(Testfailures)
Wecanprioritizethesetests(=sorting)
…andselecttests.
EricKnauss- ContinuousX4WASP 33
Principle2
Ifweknowthemodulesthathaverecentlychanged…
0
2
4
6
8
10
12
Test10 Test4 Test7 Test1 Test2 Test8 Test9 Test3 Test5 Test6
Sum(TestfailuresforselectedModules)
…wecancharacterizetestefficiencyspecificallyforthesemodules
EricKnauss- ContinuousX4WASP 34
Principle3
0
2
4
6
8
10
12
14
16
Test7 Test4 Test9 Test10 Test1 Test2 Test8 Test3 Test5 Test6
BusinessValue
Sum(TestfailuresforselectedModules)
Perhapsatestisnotlikelytofail,butitwouldbestrategicallyproblematic.Therefore,wecanalsotakeintoaccountbusinessvalue
EricKnauss- ContinuousX4WASP 35
Type%I:(Test(never(executed(
Type%II:(Test(never(failed(
Type%III:(Test(failures(have(occured(
Appliedtorealisticdata
36
918Tests,historyoveroneyear(255testexecutions)Principle1: Usehistoricaldataontestexecution
Didnotfaillastyearà don’trundaily
NotaselectionproblemPrinciple2:Usehistoricaldataoncodechange
Optimizethelast13%?Butmightbelargerinyourcase!
Linlin Wang:ImplementationandEvaluationofanAutomaticRecommenderforIntegrationTestCases.MasterthesisatChalmers,Gothenburg,Sweden,supervisor:EricKnauss,examiner:Miroslaw Staron.2015
EricKnauss- ContinuousX4WASP
Appliedtorealisticdata(ongoing)
37
Principle1: Usehistoricaldataontestexecution
Principle2:Usehistoricaldataoncodechange
Optimizethelast13%?Butmightbelargerinyourcase!
IfyouapplyPrinciple2:• Only6%oftheteststhatfailwere
notrecommended• Only23%ofthetestswedid
recommenddon’tfail• Overall:Moderate strength
recommendations(MCC>0.2• Onaverage/foronthirdofthe
tests:Strong (MCC>0.4)recommendations
Didnotfaillastyearà don’trundaily
0"
0.2"
0.4"
0.6"
0.8"
1"
1.2"
1" 9" 17"
25"
33"
41"
49"
57"
65"
73"
81"
89"
97"
105"
113"
121"
"MCC"(S)""
"Recall(S)""
"Precision(S)""
“Youcandothattomorrow!”
Stillgoodpotentialforspeedup.
EricKnauss- ContinuousX4WASP
THEROLEOFVALUE,FEATURES,ANDREQUIREMENTS
Part3:
Howtosupportflexibility,facilitatefeedback,andmaximizelearning
EricKnauss- ContinuousX4WASP 38
Requirementsnowandthen
EricKnauss- ContinuousX4WASP 39
Then
Requirementsa“waterfallphase”withspecialists
V Now
Requirements are everybody’s responsibility
It. n-2 It. n-1 It. n It. n+1
Breadth-First RE
Just-in-time
RE
Just-in-time
RE
Just-in-time
RE
Just-in-time
RE
2017-May-24à Knowledge Management Problem
= “Stakeholder needs/properties a system should fulfill/exhibit”
Mindthegap:ChallengeswithREinLarge-ScaleAgileSystemsDevelopment
EricKnauss- ContinuousX4WASP 40
Case DataCollection Discussion andValidationofresults
Metalevel
Telecom
Automotive 1
Automotive2
Technology
Comment- Scopestudy- IdentifyRQs
- Individualscopingandsamplingforeachcase- Selectionofappropriatedatacollectionmethodforeachcase
- Presentationofprel.Results
XComp 1ScopingWS
FG-1+ScopingWS Int-1… Int-7
ScopingWS Int-1 FG-2
ScopingWS
FG-3
Int-1… Int-11
XComp 2ValidationWS
FG-4
FG-5Int-1
Mult.CaseStudyDesign
Kasauli,R.;Liebel,G.;Knauss,E.;Gopakumar,S.;Kanagwa,B.:RequirementsEngineeringChallengesinLarge-ScaleAgileSystemDevelopment.SubmittedtoREconference,2017
Mindthegap:ChallengeswithREinLarge-ScaleAgileSystemsDevelopment
EricKnauss- ContinuousX4WASP 41
CommunicationandKnowledgeManagement
SharedUnderstandingofValuea) CustomerValuetoTeamb) MeaningfulUserStoriesc) FeedbackandClarification
BuildandMaintainSystemUnderstanding- InformandSynchronize- CreateandMaintainTraces- BridgePlan-DrivenandAgile- ComplementTests&Stories- AgileToolChain
RoleofRE- Reqts:Order,Goal,orDialogue?- EmbraceChangeofReqts?- Reqts asTechnicalDoc.?
VRequirementsengineering- Definetests- Informdevelopers- Documentformaintenance
Scopeofagiledevelopment
AgileIslandsinWaterfall
Componentvs.SystemThinking
Safetycritical&agile
Impactoninfrastructure
Timeforinventionandplanning
Tobesupportedby:
Kasauli,R.;Liebel,G.;Knauss,E.;Gopakumar,S.;Kanagwa,B.:RequirementsEngineeringChallengesinLarge-ScaleAgileSystemDevelopment.SubmittedtoREconference,2017
FelixEvbota,EricKnauss,AnnaSandberg:ScalingupthePlanningGame:CollaborationChallengesinLargeScaleAgileProductDevelopment.In:Proc.of17thInt.Conf.onAgileSoftwareDevelopment(XP2016),Edinburgh,UK,2016
LARGE-SCALEPLANNINGGAME
EricKnauss- ContinuousX4WASP 42
UnderstandingCustomersandEnd-users
• Hugedistancetocustomersandend-users
• Hierarchyofproductowners
• Coordinateeffortsanddependenciesofmanyteams
• Informationsilosvs.overload
• Onsitecustomer/productowner
• Userstoriesfacilitatediscussions
• Planninggametofacilitatedialoguebetweencustomerandsupplier
• Cross-functionalteamoffersrichperspective
Large-Scaleagile Agile
EricKnauss- ContinuousX4WASP 43
Findings
ResearchMethod
• QualitativeCaseStudy(Ericsson)
• 10Semi-Structuredinterviewswith
– op.productowner,– linemanager,
– programleader,– projectleader,– releaseleader,– teamleaderand– developer
Context
TeamSpirit
CeremonyAgreement
WorkEnvironment
TeamBuild-up
PlanningAbility
PrioritizationAbility
EstimationAbility
EricKnauss- ContinuousX4WASP 44
Findings
PlanningAbility
PrioritizationAbility
EstimationAbility
“[Previouslywe]estimatedonavailabledaysinthesprint,thatisnotagoodwaybecauseyoudonotincludetheunexpectedthings”[OPO]
“[Sometimeswehavea]testerestimatingdesigntasksandadesignerestimatingtesttasks.Itisimportanttoknowwhoseestimationshouldbelookedat”.[Linemgr]
• Skepticalaboutestimations
• Needtomonitordiscussions
• Estimatetasksthatdonotfitrole
EricKnauss- ContinuousX4WASP 45
Findings
PlanningAbility
PrioritizationAbility
EstimationAbility
“Thechallengeisifyouhavealotofsmallbacklogyouarenotincontrolatallbe- causeifyouhaveonecommonbacklogandyoudecideonaprogramlevel,thatishowwework[...]ifnoteverythingisvisibleonthecommonbacklogprogramandonlyvisibleintheXFTsbacklogthenyoumaybehavingamismatch.”[OPO]
• Complexstructureofproductownersandbacklogs
• Inconsistenciesbetweenbacklogs
• Lackoftransparency
EricKnauss- ContinuousX4WASP 46
Findings
PlanningAbility
PrioritizationAbility
EstimationAbility
“...wehavebeenworkinglikethisfortwoandhalfyearsnow,andwearestillstrugglingfindingourroles”.[OPO]
• Unclearrequirements
• Unclearroleofoperationalproductowner
• Involvementofteams
”[planningisdoneby]measthemanagerandperhapswiththehelpoftheteamleaderssometimes...[unclear]justhowmuchshouldtheteambeinvolvedintheplanningphaseandstufflikethat..."[Linemgr]
EricKnauss- ContinuousX4WASP 47
Findings
Context
TeamSpirit
WorkEnvironment
TeamBuild-up
“...wehavescrummeetingsinopenofficespace[...].Youkindofgetdisturbedwhenotherteamsarehavingtheirscrummeetingintheopensetting.Itisbetter[if]everyteamhastheirdifferentrooms.“[Dev.]
• OpenSpace• Disturbing
otherteams• By-passing
operativeproductowner
EricKnauss- ContinuousX4WASP 48
Findings
Context
TeamSpirit
WorkEnvironment
TeamBuild-up
“[Sometimes]operativeproductownerhasoneviewandtheteamhasanotherview […It]canbeachallengetohavetheoperativeproductownerstounderstandwhatcapabilityacertainteamhasandhewantsmuchmorethantheyarecapableofdoing.”
• Capabilitiesofteam
• Movingteammembers
• Needforbroadercompetence
EricKnauss- ContinuousX4WASP 49
Findings
Context
TeamSpirit
WorkEnvironment
TeamBuild-up
“movingsomebodyfromoneteamtotheother,thenyouareimpactingtheteamspiritinbothteams,youmightgobacktotheteamdevelopmentstagewhenyougetanewteammemberorloseanewteammember”.
• Sharedconceptofagile
• Teammaturity
EricKnauss- ContinuousX4WASP 50
Findings
CeremonyAgreement
• Lackofsuitableinformationchannels
• Coordinationmeetingsboringortooshort
• Inadequateanatomyoffeatures
“ThebiggestchallengeIpickisthecoordinationofthefeatureportfolio,[...]ontopofgettingoutfeaturesinourprogramfastandefficient,weneedtocollaborateonaportfoliobasistoalignthefeaturesovertwoprograms”.
[OPO]
EricKnauss- ContinuousX4WASP 51
ConclusiononLarge-ScaleAgilePlanning
• QualitativeModelofwhatinfluencesagileplanning– Overviewofkeyaspectsofcollaborativeplanninginlarge-scale
agiledevelopment.– Large-scaleagileplanningnotonlydependsonteamabilitiesor
skill,butalsoonthecontextinwhichthoseteamsoperate.– Ceremoniesandpracticesoninter-teamandinter-productlevel
arecurrentlymissingandinvitefurtherresearch.
• Outlook:Weencourageconstructiveresearchtoprovideimprovementforoneorseveralaspects.Ourvisionisacollectionofbest,oratleastgood,practicesforeachareainoutmodel.
EricKnauss- ContinuousX4WASP 52
Pre-Study:Addingvalueeverysprint• Benefits
– Internal:Increasefocus,qualityoftests,feedback– External:Reduceddistancetocustomerandrisk,increasedflexibility,fasterlearning
• Challenges– Highefforttomaintainquality
– Riskoftechnicaldebt– Managelong-termperspective
• Howtocheckvalue– Reviews,Sprintdem,DefinitionofDone,Testing
• Suggestedimprovements– Bepro-active– Componentguardians– Focusonprocessquality
– Includeteamearlier– Improvedchecksofvalue– Transparency
Consequence to Continuous Delivery Impediments
Lack of shared understanding of customer value
Bottlenecks / Disruptors Distance to CustomerLack of focus on Sprint goalLack of test infrastructure
Catalysts / EnablersAdding value every sprintDefinition of DoneUser stories linked to requirements and tests
Kasauli,R.;Knauss,E.;Nilsson,A.,Klug,S.:AddingValueEverySprint:ACaseStudyonLarge-ScaleContinuousRequirementsEngineering.In:Proc.Of3rd
WorkshoponContinuousRE,Essen,Germany,2017
EricKnauss- ContinuousX4WASP 53
Agendatoday
• ContinuousX:
– Integration,Delivery,Deployment,andDevOps–TerminologyandOrigin
– InthecontextofLarge-ScaleSystemDevelopment– ContinuousDeploymentPractices
• TestingStrategiesforContinuousXforEmbeddedSystems
• TheRoleofValue,Features,andRequirements
EricKnauss- ContinuousX4WASP 54
Keytakeaways:- Fundamental
- Agilevalues- Testing
- Advanced- Uservalue- Systemknowledge- Architecture