Continuous Integration, Delivery, Deployment, and...

54
Continuous Integration, Delivery, Deployment, and DevOps WASP course: Continuous Software Engineering – Software Architectures, Model-Based Software Engineering and Continuous-*, March 30-31, Gothenburg Eric Knauss [email protected]

Transcript of Continuous Integration, Delivery, Deployment, and...

ContinuousIntegration,Delivery,Deployment,andDevOps

WASPcourse:ContinuousSoftwareEngineering–SoftwareArchitectures,Model-BasedSoftware

EngineeringandContinuous-*,March30-31,Gothenburg

[email protected]

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

Someconceptualview

19

• 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