Top Banner
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]
54

Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Jul 18, 2018

Download

Documents

doantu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

ContinuousIntegration,Delivery,Deployment,andDevOps

WASPcourse:ContinuousSoftwareEngineering–SoftwareArchitectures,Model-BasedSoftware

EngineeringandContinuous-*,March30-31,Gothenburg

[email protected]

Page 2: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 3: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 4: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

DEFINITIONOFCONTINUOUSX

Part1:WhatisContinuousIntegration(Delivery,Deployment)andwhyisitimportant

EricKnauss- ContinuousX4WASP 4

Page 5: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

ContinuousIntegration:Keyideas

• BigBangintegrationverycostly

• Immediatefeedbackimportant

• Fowler:Mindsetmoreimportantthantechnology

EricKnauss- ContinuousX4WASP 5

• Integrateandtestcodeeveryfewhours(1dayatthemost)

• Dedicatedmachinehelps• IfMachineisfree:pairsitsdown,

integratestheirchanges,tests,anddoesnotleavebefore100%oftestsrun

Implies:smallagileteam

Page 6: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

EricKnauss- ContinuousX4WASP 6

https://techblog.betclicgroup.com/wp-content/uploads/2013/12/agileSubwayMap2.Alsocheck:http://guide.agilealliance.org

Origin:AgilePractice

Page 7: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

AgileManifestohttp://agilemanifesto.org• Beganasaprovocation:Plan-driven

developmentdidnotsafetheSoftwareworld…• Nowaveryseriousmovement,welladaptedin

industry.• Thereareacoupleofestablishedagile

methods:Howtointegratethesevaluesineverydaysoftwaredevelopment

EricKnauss- ContinuousX4WASP 7

Page 8: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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]

Page 9: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

AgileValues

1. Redefinedrolesfordevelopers,managers,andcustomers

2. No”BigUpfront”steps3. Iterativedevelopment4. Limited,negotiatedfunctionality5. Focusonquality,understoodasachievedthrough

testing

EricKnauss- ContinuousX4WASP 9

[Mey2014]

Page 10: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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.

Page 11: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

WhytodoContinuousIntegration

• Evidencethat– SWqualitycanbesignificantlyimproved

– SWdevelopmentcanbesignificantlyaccelerated(timetomarket)

• Likelythat– CIisnotcheaperthantraditionaldevelopment

– CIhaspositiveimpactonflexibility

à Tendencytoapplyatscaleandforsystems

EricKnauss- ContinuousX4WASP 11

Page 12: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

OrganizationalCategories

• Enterprises:softwaresupportsinternalprocessesandexternalservices(e.g.banks,insurancecompanies)

• Productorientedorganizations:developsoftwareorsoftwareintensiveproductsthatarenotdeployeddirectlybythedevelopmentteams

• Servicecompanies:developsoftwarethatishostedanddeployeddirectlybythedevelopingteam

MatthewBass(CMU)

EricKnauss- ContinuousX4WASP 12

Page 13: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

InsightsfromResearchProjects

SoftwareCenteraimstodevelopastrategicpartnershipwithpartnercompaniestosignificantly

acceleratetheiradoptionofnovelapproachestosoftwareengineering

http://www.software-center.se/partners

NGEApreparesthenextgenerationofelectricalarchitecturetoincreaseflexibility,decreasedevelopmentleadtime,andincreasetheabilitytodevelopcomplexsystemsandsystemofsystems.Thesegoalswillbereachedbyconsequentlyfacilitatingcontinuousintegration,delivery,anddeployment.

EricKnauss- ContinuousX4WASP 13

Page 14: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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]

Page 15: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Context

• Thisisjointandongoingwork– SynergiesbetweenNGEAandSoftwareCenterProject1

“ImplicationsofContinuousDeployment”– Basedongroupinterviewswith6companies

+cross-organizationalworkshopsforconsolidatingresults

• Researchgoal:– Manydefinitions,manyconcepts(ContinuousIntegration,

ContinuousDelivery,ContinuousDeployment,…)

– Understandwhichaspectsareimportantinpractice– Agreeonsharedlanguage =CommonUnderstanding

15

Agneta Nilsson

MagnusÅgren

Rogardt HeldalEricKnauss- ContinuousX4WASP

Page 16: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Integrateneworchangedcodewiththemainlinecodebaseatfrequenttimeintervals

• Integrate/Test• Sufficientqualityofcodebase• OneMainline/Several

• Aslongaseachcarrycustomervalue• FrequencyWeeks/Days/Instant• Whydoweintegrate– togetfeedback

Integrateandtestneworchangedcodewithacodebasetoenablefeedbackwheneverwewant

ContinuousIntegration

16

FromLiterature

FromInterview

Synthesis

Page 17: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Theabilitytoreleasesoftwarewheneverwewant

• ReleaseandInstallinrunning/Deliver• Higherqualitylevelofcodebase• Strongqualityassurance

Theabilitytoreleaseandinstallsoftwareinrunningsystemwheneverwewant

ContinuousDeployment

17

Otherwise:ContinuousDelivery

Page 18: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

WorkingDefinitionsforthislecture

18

DefinitionsandCharacterizations

ContinuousIntegration:Abilitytointegrateandtestneworchangedcodewithacodebase,whichcarriescustomervalue,wheneverdesiredtoenablefeedback.

ContinuousDelivery:Abilitytoreleasecustomerand/orproductvaluetoatargetenvironmentwheneverdesiredtoenablefeedback.

ContinuousDeployment:Abilitytoreleaseandinstallcustomerand/orproductvalueintoarunningsystematcustomersitewheneverdesiredtoenablefeedback.

DevOps:Setupwherecross-functionalfeatureteamsworkcloselywithoperationsteamstofacilitatecontinuousdeployment

EricKnauss- ContinuousX4WASP

Page 19: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Someconceptualview

19

Page 20: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

• ContinuousIntegrationoftenonteamlevel• ContinuousDeploymentimpliesthewholeorganizationtoworkinacontinuousway

• EnterpriseContinuousIntegration[Ståhl andBosch2015]

• ContinuousXincludesanumberofdimensions

Somethinginbetween…

20

Page 21: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

• 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

Page 22: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 23: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

TESTINGSTRATEGIESFORCONTINUOUSXFOREMBEDDEDSYSTEMS

Part2:

AutomationandDynamicOptimizationofTestSuites

EricKnauss- ContinuousX4WASP 23

Page 24: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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]

Page 25: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 26: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

TheCIVITModel

Once/release Month Week Day Hour Immediate/Minutes

Customer

Release

FullProduct

PartialProduct

Subsystem

Component

ImprovementDirections

Page 27: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 28: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

TestingStrategiesforCI

Haritha Gangineni SarahJamil:TestingStrategiestoSupportContinuousIntegrationforComplexSystems.Master’sthesisinSoftwareEngineering,ChalmersandUniversityofGothenburg,2016

+Testlifecycle

EricKnauss- ContinuousX4WASP 28

Page 29: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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]

Page 30: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Whytestprioritization&selection?

• Largeproduct,manyintegrationtests– Daysorevenweekstorunthemall

• ContinuousX=quickfeedback– “Wehave2h.Runthemostimportanttests.”– “Asacross-functionalteam,Iwanttorunimportantintegrationtestsregularlysothatintegrationwillbesmooth.”

– “Asanintegrationtester,Iwanttogivefeedbacktodevelopersasquicklyaspossibe.”

EricKnauss- ContinuousX4WASP 30

Page 31: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 32: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 33: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 34: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 35: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 36: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 37: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 38: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

THEROLEOFVALUE,FEATURES,ANDREQUIREMENTS

Part3:

Howtosupportflexibility,facilitatefeedback,andmaximizelearning

EricKnauss- ContinuousX4WASP 38

Page 39: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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”

Page 40: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 41: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 42: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

FelixEvbota,EricKnauss,AnnaSandberg:ScalingupthePlanningGame:CollaborationChallengesinLargeScaleAgileProductDevelopment.In:Proc.of17thInt.Conf.onAgileSoftwareDevelopment(XP2016),Edinburgh,UK,2016

LARGE-SCALEPLANNINGGAME

EricKnauss- ContinuousX4WASP 42

Page 43: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

UnderstandingCustomersandEnd-users

• Hugedistancetocustomersandend-users

• Hierarchyofproductowners

• Coordinateeffortsanddependenciesofmanyteams

• Informationsilosvs.overload

• Onsitecustomer/productowner

• Userstoriesfacilitatediscussions

• Planninggametofacilitatedialoguebetweencustomerandsupplier

• Cross-functionalteamoffersrichperspective

Large-Scaleagile Agile

EricKnauss- ContinuousX4WASP 43

Page 44: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 45: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Findings

PlanningAbility

PrioritizationAbility

EstimationAbility

“[Previouslywe]estimatedonavailabledaysinthesprint,thatisnotagoodwaybecauseyoudonotincludetheunexpectedthings”[OPO]

“[Sometimeswehavea]testerestimatingdesigntasksandadesignerestimatingtesttasks.Itisimportanttoknowwhoseestimationshouldbelookedat”.[Linemgr]

• Skepticalaboutestimations

• Needtomonitordiscussions

• Estimatetasksthatdonotfitrole

EricKnauss- ContinuousX4WASP 45

Page 46: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Findings

PlanningAbility

PrioritizationAbility

EstimationAbility

“Thechallengeisifyouhavealotofsmallbacklogyouarenotincontrolatallbe- causeifyouhaveonecommonbacklogandyoudecideonaprogramlevel,thatishowwework[...]ifnoteverythingisvisibleonthecommonbacklogprogramandonlyvisibleintheXFTsbacklogthenyoumaybehavingamismatch.”[OPO]

• Complexstructureofproductownersandbacklogs

• Inconsistenciesbetweenbacklogs

• Lackoftransparency

EricKnauss- ContinuousX4WASP 46

Page 47: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Findings

PlanningAbility

PrioritizationAbility

EstimationAbility

“...wehavebeenworkinglikethisfortwoandhalfyearsnow,andwearestillstrugglingfindingourroles”.[OPO]

• Unclearrequirements

• Unclearroleofoperationalproductowner

• Involvementofteams

”[planningisdoneby]measthemanagerandperhapswiththehelpoftheteamleaderssometimes...[unclear]justhowmuchshouldtheteambeinvolvedintheplanningphaseandstufflikethat..."[Linemgr]

EricKnauss- ContinuousX4WASP 47

Page 48: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Findings

Context

TeamSpirit

WorkEnvironment

TeamBuild-up

“...wehavescrummeetingsinopenofficespace[...].Youkindofgetdisturbedwhenotherteamsarehavingtheirscrummeetingintheopensetting.Itisbetter[if]everyteamhastheirdifferentrooms.“[Dev.]

• OpenSpace• Disturbing

otherteams• By-passing

operativeproductowner

EricKnauss- ContinuousX4WASP 48

Page 49: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Findings

Context

TeamSpirit

WorkEnvironment

TeamBuild-up

“[Sometimes]operativeproductownerhasoneviewandtheteamhasanotherview […It]canbeachallengetohavetheoperativeproductownerstounderstandwhatcapabilityacertainteamhasandhewantsmuchmorethantheyarecapableofdoing.”

• Capabilitiesofteam

• Movingteammembers

• Needforbroadercompetence

EricKnauss- ContinuousX4WASP 49

Page 50: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Findings

Context

TeamSpirit

WorkEnvironment

TeamBuild-up

“movingsomebodyfromoneteamtotheother,thenyouareimpactingtheteamspiritinbothteams,youmightgobacktotheteamdevelopmentstagewhenyougetanewteammemberorloseanewteammember”.

• Sharedconceptofagile

• Teammaturity

EricKnauss- ContinuousX4WASP 50

Page 51: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

Findings

CeremonyAgreement

• Lackofsuitableinformationchannels

• Coordinationmeetingsboringortooshort

• Inadequateanatomyoffeatures

“ThebiggestchallengeIpickisthecoordinationofthefeatureportfolio,[...]ontopofgettingoutfeaturesinourprogramfastandefficient,weneedtocollaborateonaportfoliobasistoalignthefeaturesovertwoprograms”.

[OPO]

EricKnauss- ContinuousX4WASP 51

Page 52: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

ConclusiononLarge-ScaleAgilePlanning

• QualitativeModelofwhatinfluencesagileplanning– Overviewofkeyaspectsofcollaborativeplanninginlarge-scale

agiledevelopment.– Large-scaleagileplanningnotonlydependsonteamabilitiesor

skill,butalsoonthecontextinwhichthoseteamsoperate.– Ceremoniesandpracticesoninter-teamandinter-productlevel

arecurrentlymissingandinvitefurtherresearch.

• Outlook:Weencourageconstructiveresearchtoprovideimprovementforoneorseveralaspects.Ourvisionisacollectionofbest,oratleastgood,practicesforeachareainoutmodel.

EricKnauss- ContinuousX4WASP 52

Page 53: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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

Page 54: Continuous Integration, Delivery, Deployment, and DevOpswasp-sweden.org/custom/uploads/2017/04/L2.6_Knauss... · Continuous Integration, Delivery, Deployment, and DevOps ... –In

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