Quality Assurance in Agile Distributed Software Teams Goal/Question/Metric Application in Agile Globally Dis- tributed Software Development Teams G.H. Kuijer e c n e ci S r e t u p m o C y t ul c a F Q A A UALITY SSURANCE IN GILE D S T ISTRIBUTED OFTWARE EAMS GOAL/QUESTION/METRIC APPLICATION IN AGILE GLOBALLY DISTRIBUTED SOFTWARE DEVELOPMENT TEAMS by G.H.Kuijer inpartialfulfillmentoftherequirementsforthedegreeof MasterofScience inComputerScience specialisationInformationArchitecture attheDelftUniversityofTechnology, TobedefendedonJune14,2016at1.00PM. Studentnumber: 4094107 Projectduration: July1,2015–June14,2016 Supervisor: Prof.dr.ir.R.vanSolingen Thesiscommittee: Prof.dr.ir.G.J.P.M.Houben(TUDelft) Prof.dr.ir.R.vanSolingen(TUDelft) T.Hurkmans(ExactSoftware) P REFACE Thisreportiswrittenaspartofthegraduationofmasterofscienceincomputerscience,informationarchi- tecture,attheDelftuniversityoftechnology,theNetherlands. IstartedthisresearchwhenanopportunitypresenteditselfforacasestudyinMauritius. Itwasnotthe tripabroadwhatinterestedmebutthecasetoliftateamtoahigherlevelofsoftwarequality. Duringmy researchIgotmoreinterestedinsoftwarequalityassurance.EspeciallybecauseInoticedthatonmanyofthe developer’sprioritylists,ithasalowpriority. Softwarequalityassuranceisoftenobservedasanobligation insteadofahandytool.MytruemotivationforthisresearchwastoseeifIcouldchangethis. Inthisresearchthechallengewastodevelopanewapproachforqualityassurancewithinagiledistributed developmentenvironments. Theresearchwasstartedasfollow-upofseveralinterviewsperformedwithex- pertsintheareaofsoftwaredevelopmentinwhichtheopportunitiesinthefieldwereobserved. Theresearchpresentedinthisreportcanbeofvalueforallsoftwaredevelopmentengineers,withorwith- outexpertiseinqualityengineering. Theresearchmightparticularlyberelevantifsearchingforstructured approachesforimprovingsoftwareprocessesorproducts. Nexttothesespecificgroups,anyonewhoisin- terestedinsoftwarequality(assurance),agile(distributed)approachesorthechallengesinthese,canobtain relevantandinterestinginformationfromthisreport. FortheguidanceIexperiencedduringmythesisIwouldliketothankRinivanSolingen,mymentorat theUniversityandToineHurkmans, whoactedasmentoratExactSoftware. Iwouldfurtherliketothank ExactSoftwarefortheopportunityofconductingacasestudyandinspecialtheTitan,ResearchandSystem teamfortheircooperation. FurtherthanksgoestoSanderKrugerandGlobalEdgeSoftwarewhoofferedthe opportunityforperformingtheorientatingcasestudy. G.H.Kuijer Delft,May2016 iii C ONTENTS 1 Introduction 1 2 TheoreticalBackground 3 2.1 SearchStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1 KeyTermsandSynonyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.2 StudySelectionCriteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.3 PerformedSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.1 Whatarecurrentapproachestowardssoftwarequalityassuranceproveninpractice? . . . 4 2.2.2 Whichchallengesandproblemsarepresentinsoftwarequalityassuranceincollocated andgloballydistributedagilesoftwaredevelopment? . . . . . . . . . . . . . . . . . . . 5 2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 CaseStudyProtocol 9 3.1 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Questions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3 Propositions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4 Unitsofanalysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.5 DataCollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.6 DataAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.7 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.8 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.9 Validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 TitanTeam 13 4.1 Iteration1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.1 QuestionsandMetricsDetermination. . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.2 MetricandVisualizationImplementation . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.3 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1.4 TeamFeedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1.5 Improvements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.1.6 ObservationsoftheIteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5 ResearchTeam 29 5.1 Iteration1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.1.1 QuestionsandMetricsDetermination. . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.1.2 MetricandVisualizationImplementation . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.1.3 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.1.4 TeamFeedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.1.5 Improvements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.1.6 ObservationsoftheIteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.2 Iteration2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2.1 QuestionsandMetricsDetermination. . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2.2 Metricandvisualizationimplementation . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2.3 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2.4 TeamFeedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.5 Improvements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2.6 ObservationsoftheIteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 v vi CONTENTS 5.3 Iteration3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3.1 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3.2 ResultsRetrospective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.3.3 Improvements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.3.4 ObservationsoftheIteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6 SystemTeam 47 6.1 Iteration1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.1.1 QuestionsandMetricsDetermination. . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.1.2 MetricandVisualizationImplementation . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.1.3 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.4 TeamFeedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.1.5 Improvements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.1.6 ObservationsoftheIteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.2 Iteration2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.2.1 QuestionsandMetricsDetermination. . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.2.2 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.2.3 ResultsRetrospective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.2.4 ObservationsoftheIteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 7 AgileGQM:TheEmergedApproach 55 7.1 QualityGoals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.2 Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.3 MetricsImplementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.4 Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7.5 Retrospective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 8 Discussion 59 8.1 ExactCaseStudyResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 8.2 Whatarethechallengesinqualityassuranceinagloballydistributedagilehighorganisational maturitylevelcompany? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 8.3 Howcanthechallengesofsoftwarequalityassurancebesolvedinagloballydistributedagile highorganisationalmaturitylevelcompany? . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 8.4 BroaderApplicationofAgileGQM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 9 Conclusion 63 9.1 Whatarecurrentapproachestowardssoftwarequalityassuranceproveninpractice? . . . . . . 63 9.2 Which challenges and problems are present in software quality assurance in collocated and globallydistributedagilesoftwaredevelopment? . . . . . . . . . . . . . . . . . . . . . . . . . 64 9.3 Whatarethechallengesinqualityassuranceinagloballydistributedagilehighorganisational maturitylevelcompany? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 9.4 Howcanthechallengesofsoftwarequalityassurancebesolvedinagloballydistributedagile highorganisationalmaturitylevelcompany? . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 9.5 Howcanthechallengesandproblems,thatariseinsoftwarequalityassuranceatsoftwarede- velopmentthatisperformedinanagilegloballydistributedsetting,besolved? . . . . . . . . . 66 9.6 FutureWork. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 10LessonsLearned 69 10.1 Measuringinpractice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 10.2 WorkingatExact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 10.3 ACaseStudyAbroad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 A ExploratoryCaseStudy 71 A.1 ProjectUnify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 A.1.1 InitialProjectProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 A.1.2 AnalysisofInitialProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 A.1.3 UnifySoftwareQuality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 A.1.4 UnifySoftwareQualityAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 A.1.5 PlannedChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 CONTENTS vii A.1.6 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 A.1.7 Experiences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 A.1.8 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 B PerformedSearches 77 C Goal1:MetricSummary 79 D FullAnalysis 81 D.1 TeamTitanIteration1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 D.1.1 Whatinfluencestheaccuracyofestimationofstoryduration?. . . . . . . . . . . . . . . 81 D.1.2 Whatfactorsinfluencethevariationindurationofastorywiththesameamountofstory points?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 D.2 ResearchTeamIteration1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 D.2.1 Whatinfluencestheaccuracyofestimationofstoryduration?. . . . . . . . . . . . . . . 88 D.2.2 Whatfactorsinfluencethevariationindurationofastorywiththesameamountofstory points?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Bibliography 95
Description: