51
World ® ’1 6 Requirements are King – Better Requirements = Better Software Benjamin Johnson-Ward – Senior Consultant, Presales – CA Technologies DO5X23E DEVOPS

Requirements are King – Better Requirements = Better Software

Embed Size (px)

Citation preview

Page 1: Requirements are King – Better Requirements = Better Software

World®’16

RequirementsareKing– BetterRequirements=BetterSoftwareBenjaminJohnson-Ward– SeniorConsultant,Presales– CATechnologies

DO5X23E

DEVOPS

Page 2: Requirements are King – Better Requirements = Better Software

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ForInformationalPurposesOnlyTermsofthisPresentation

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

Page 3: Requirements are King – Better Requirements = Better Software

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

Countlessresearchandcasestudieshavelongpointedtoacold,hardtruth:therequirements,notdevelopersortesters,introducethevastmajorityofdefectsthatwreakhavocinproduction.Ratherthansolvethisissue,thedevelopmentpracticesthathavearisenaround“Agile”haveintroducedanewchallenge,astestershavetopiecetogetherandreacttoaconstantbarrageofdisparateuserstoriesandchangerequests.What’smore,therequirementsremainstatic,sothattestershavetomanuallyconvertthemintotests.Thisisaslow,unsystematicprocess,whichcreatesdefectswhentheambiguousrequirementsaremisinterpreted.Inorderfortestinganddevelopmenttokeepupwithconstantlychanginguserneeds,requirementsmustbecapturedinaformatwhichminimizesmiscommunication,canreacttochange,andenablessubsequenttestassetstobederivedautomatically.§ Thissessionwillsetouthow“active”flowchartmodellingcan:§ Provideaformatalreadyfamiliartobusinessanalyststocaptureuserneeds§ Provideaformatfortesterstogenerateoptimizedtestcases,testscripts,dataandexpectedresults

automatically.§ AutomaticallyreflectchangesmadetotherequirementsinthetestsassetsInthisrequirements-drivenapproach,testingtherebybecomesalargelyautomatedcomparisonofhowasystemshouldfunctiontothesystemthathasbeendelivered.

BenjaminJohnson-WardCATechnologiesSeniorConsultant,Presales

Page 4: Requirements are King – Better Requirements = Better Software

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

WHATISAREQUIREMENT?

WHYFOCUSONREQUIREMENTS?

Q&A

HOWABOUTSOFTWAREENGINEERING?

HOWABOUTREQUIREMENTSENGINEERING?

INTRODUCINGTHEREQUIREMENT-DRIVENAPPROACH

1

2

3

4

5

6

Page 5: Requirements are King – Better Requirements = Better Software

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatisaRequirement?

Page 6: Requirements are King – Better Requirements = Better Software

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Definition:Requirement

Requirement:singulardocumentedphysicalandfunctionalneed thataparticulardesign,product

orprocessmustbeabletoperform.

ISO/IEC/IEEE29148:2011

Wikipedia

Requirement:statementwhichtranslatesorexpressesaneed anditsassociatedconstraintsand

conditions.

Page 7: Requirements are King – Better Requirements = Better Software

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatisaRequirement?

ErikSimmons,nuCognitive,“21st CenturyRequirements”,11/08/11

Arequirementisastatementof:

1. Whatasystemmustdo(functionalrequirement)

2. Howwellthesystemmustdowhatitdoes(qualityorperformancerequirement)

3. Aknownresourceordesignlimitation (constraint)

Moregenerally,

Arequirementisanythingthatdrivesadesign choice

Page 8: Requirements are King – Better Requirements = Better Software

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ThePurposeofRequirements

Thepurposeofrequirementsistohelpestablishaclear,common,andcoherentunderstandingofwhatthesystemmustaccomplish.

Sowhyfocusonrequirements?ErikSimmons,nuCognitive,“21stCenturyRequirements”,11/08/11

Clear

Allstatementsareunambiguous,complete,

andconcise

Common

Allstakeholderssharethesameunderstanding

Coherent

Allstatementsareconsistentandforma

logicalwhole

Page 9: Requirements are King – Better Requirements = Better Software

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhyFocusonRequirements?

Page 10: Requirements are King – Better Requirements = Better Software

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhataretheMainSoftwareChallengesYouareFacing?

Pre-webinarsurvey,“TestingImperativesintheWorldofAgileDevelopmentandContinuousDelivery”,HuwPrice&JonathonWright,28/07/15

0% 10% 20% 30% 40% 50% 60% 70%

Time/resourcesintestdatacompliance(PII)

Defectsstemmingfromambiguousrequirements

Testinginnefficienciesleadingtohighercost

Lackoftestcoveragecreatingdefects/rework

Difficultyfindingtherightdataforaparticulartest

Manualtestingleadingtoprojectdelays

Page 11: Requirements are King – Better Requirements = Better Software

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

VAGUENESS

ExamplesofAmbiguityandIncompleteness

Poor ScopingAmbiguous Reference

Omission Acronyms

Aliasing

Sentence Structure

DanglingElse

Incomplete Glossary

Implicit Constraints

I.E. or E.g.?

LexicalAmbiguity

Polysemy

Passive Sentences

Page 12: Requirements are King – Better Requirements = Better Software

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatMakesaGoodRequirement?

§ complete§ consistent§ correct§ modifiable§ ranked§ traceable§ unambiguous§ understandable§ testableNASA,AutomatedRequirementsMeasurementTool,1999,http://satc.gsfc.nasa.gov/tools/arm (archive.org)

Page 13: Requirements are King – Better Requirements = Better Software

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatistheProblemwithRequirements?

§ Thoughaplethoraoftechniquesexist,mostarewritteninambiguousnaturallanguage

§ Therequirementsare“static”–theyoffernowaytoderivetestsdirectlyfromthem…

§ …nowaytoupdatetestswhentherequirementschange– thishastobedonemanually

BenderRBT,2009

Page 14: Requirements are King – Better Requirements = Better Software

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

UserTheenduserknowswhattheywant

TheSDC:What’sSupposedtoHappen

BusinessAnalystTheanalystspecifieswhatthatis

DeveloperTheprogrammerwritesthecode

TesterThetesterteststheprogram

Page 15: Requirements are King – Better Requirements = Better Software

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheFundamentalIssueWithThisModel

§ Ateachstagethatinformationispassedonandtransformedtoanotherform,thereisanaturaldegradationinquality

§ ThetypicalSDLChasseveralofthese“hops”:1. Requirementsareconvertedtocode2. Requirementsareconvertedtotestcases,tobeappliedtothecode3. Testcasesareconvertedintoautomatedtests4. Datahastobefoundorcreated,basedontherequirements,for

developmentandtesting

InformationHops:Enterprise-Wide“ChineseWhispers”

Theimpactonqualityiscreatedbyuncertainty.Some(inherent)uncertaintyisunavoidable.Someisavoidable,andshouldbeavoided.

Page 16: Requirements are King – Better Requirements = Better Software

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

“RumsfeldMatrix”– AvoidablevsUnavoidableUncertainty§ InformationintheSDLCcanbebrokendowninto:

– KnownKnowns– UnknownKnowns– KnownUnknowns– UnknownUnknowns

Knowns Unknowns

Known Information AvoidableUncertaintyàObservableDefects

Unknown AvoidableUncertaintyàObservableDefects

Unavoidable Uncertainty

Inanidealworld,testerswillbeprovidedwithalltheinformationtodiscoverobservabledefects.Whateverpreviouslyunknowableinformationtheydiscoverwilladdtothe“knownknowns”

Page 17: Requirements are King – Better Requirements = Better Software

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Unambiguous,IncompleteRequirements

§ Poorqualityrequirementsintroduceuncertaintyatthebeginning,whichisthenperpetuatedthroughouttheSDLC

§ Asystemcanbebuildaroundmisunderstanding,sothat:– Atleast56%ofdefectsstemfromambiguityinrequirements1 – some

placethisashighas59%2 oreven65%3

– 64%oftotaldefectcost3originateintherequirementsanalysisanddesignphase– someplacethisashighas80%1

– 40-50%ofprojectcosts areexpendedinrework4

– Onaverage,only69%ofdesiredfunctionalityisactuallydelivered5

Introduceavoidableuncertaintyattheverybeginning

1– BenderRBT,2009

2– ITUniveristy,Copenhagen,2001

3- HyderabadBusinessSchool,20124– Critical-Logic,20145– StandishGroup’sChaosManifesto2014

Page 18: Requirements are King – Better Requirements = Better Software

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Unambiguous,IncompleteRequirementsAnexampleambiguityreview:

Page 19: Requirements are King – Better Requirements = Better Software

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AmbiguousNaturalLanguage

§ “Timeflieslikeanarrow;fruitflieslikeanapple”

§ “BuffalobuffaloBuffalobuffalobuffalobuffaloBuffalobuffalo”– Agrammaticallycorrectsentence,whichmeans“InthecityofBuffalo,

bisonwhoarebulliedbybison,arethemselvesbullyingbison”

§ Wesawherduck

Sentencestructure,homonyms,polysemy,lexicalambiguity,etc.

Page 20: Requirements are King – Better Requirements = Better Software

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheDanglingElse

§ IFATHENIFBTHENCELSED– IFATHEN(IFBTHEN(C)ELSED)– IFATHEN(IFBTHEN(C))ELSED

§ IFRAINTHENIFWINDYTHENCOATELSET-Shirt– Ifitisraining,thenwearacoatifitisalsowindy.Ifitisrainingbutnot

alsowindy,wearaT-Shirt.– Ifitisraining,andifitiswindy,thenwearacoat.OtherwisewearaT-

Shirt

Incompletesystemlogicstemmingfromsyntacticalambiguity

Page 21: Requirements are King – Better Requirements = Better Software

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ThoughaPlethoraofTechniquesExist,MostAreWritteninAmbiguousNaturalLanguage

Page 22: Requirements are King – Better Requirements = Better Software

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatAretheChallengesWithRequirements?

1– BenderRBT,20092– ITUniversity,Copenhagen,20013- HyderabadBusinessSchool,20124– Critical-Logic,20145– StandishGroup’sChaosManifesto2014

§ Asystemcanbebuildaroundmisunderstanding,sothat:– Atleast56%ofdefectsstemfromambiguityinrequirements1 – some

placethisashighas59%2 oreven65%3

– 64%oftotaldefectcost3originateintherequirementsanalysisanddesignphase– someplacethisashighas80%1

– 40-50%ofprojectcosts areexpendedinrework4

– Onaverage,only69%ofdesiredfunctionalityisactuallydelivered5

Page 23: Requirements are King – Better Requirements = Better Software

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheDanglingElse

§ IFATHENIFBTHENCELSED– IFATHEN(IFBTHEN(C)ELSED)– IFATHEN(IFBTHEN(C))ELSED

§ IFRAINTHENIFWINDYTHENCOATELSET-Shirt– Ifitisraining,thenwearacoatifitisalsowindy.Ifitisrainingbut

notalsowindy,wearaT-Shirt.– Ifitisraining,andifitiswindy,thenwearacoat.Otherwisewear

aT-Shirt

Incompletesystemlogicstemmingfromsyntacticalambiguity

Page 24: Requirements are King – Better Requirements = Better Software

24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheMissingElseAcommonmenacewhenusingBehaviour-DrivenDevelopment,GherkinandRSPEC

GIVENCurrentAccount

AndGIVENnegativebalance

WHENcustomerattemptspayment

THENgointooverdraft

Page 25: Requirements are King – Better Requirements = Better Software

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Requirements

Asmanyas56%ofdefectsareavoidedindevelopment

§ TestcasescanbeAuto-generatedandre-generatedfromrequirements

§ Theyareoptimizedtoprovide100%coverageinfewertests

§ Changescanbequicklyandeasilymade

§ Requirementsandtestcasesarelinkedtodatawith100%coverage,includingnegativeandfuturescenarios § Automatedtests

aregeneratedfromtestcases

§ Areupdatedifrequirementschange

§ Exhaustivelytestapplication

§ Pallet-basedUIAutomation

Requirementsaremodelledtoacomplete,unambiguous,“Active”Flowchart

ReduceUncertainty– ClearRequirementsandFewer“Hops”Code TestCases TestData Automation

Page 26: Requirements are King – Better Requirements = Better Software

26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

APossibleSolution:Model-BasedTesting

1. Mappingrequirementstoanunambiguous,activeflowchart– Codersknowwhatneedstobecoded

2. Auto-generatetestcasesandAutomatedtests–nomore“Hops”– Executethesetestsagainstthecode,testingthatitmatches

thefunctionalityspecifiedintherequirements

3. Updatethemodelastherequirementschange,orastestinguncoversfurther,previously“unknown”information

Testasystemagainstanagreedupon,cleardefinitionofwhatthefunctionalityshouldbe

Page 27: Requirements are King – Better Requirements = Better Software

27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

HowAboutSoftwareEngineering?

Page 28: Requirements are King – Better Requirements = Better Software

28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatisEngineering?

Engineeringistheapplicationofheuristicsunderuncertaintytocausethebestpossiblechangewithintheavailableresources(BillyVaughnKoen*)§ Aheuristicisanythingthatprovidesaplausibleaidordirectioninthe

solutionofaproblem§ Useofheuristicsdoesnotguaranteeasolutiontoaproblem,anddifferent

heuristicscanofferconflictingadviceforanygivensituation§ Heuristicsworkbyexploitingthestructureofanenvironmenttosimply

decisionmakingandnarrowthesolutionsearchspace

ErikSimmons,nuCognitive,11/09/16adaptedfrom“adiscussionofthemethod”,BillyVaughnKoenOxfordUniversityPress2003

Page 29: Requirements are King – Better Requirements = Better Software

29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

HowDoesThisApplytoSoftwareEngineering(SDLC)?Simpleexampleoflackofclarityandvisionwithinthesoftwaredevelopmentlifecycle

BusinessAnalyst Programmer TesterUser

TheUserKnowswhattheywantTheAnalystspecifieswhatthatis

TheProgrammerwritesthecode

TheTesterteststheprogram

Clarity&Vision

Page 30: Requirements are King – Better Requirements = Better Software

30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

HowAboutWithinLean&Agile?

DeanLeffingwell,ScaledAgileFrameworkFoundations(v4.0.6),“EmbracingLean-Agilevalues”,2016

HouseofLean AgileManifesto

LEADERSHIP

Res

pect

for

peop

le a

nd c

ultu

re

Flow

Inno

vatio

n

Rel

entle

ssim

prov

emen

t

VALUE

Valueinthesustainablyshortestleadtime

Thatis,whilethereisvalueintheitemsontheright,wevaluetheitemsontheleftmore.

Weareuncoveringbetterwaysofdevelopingsoftwarebydoingitandhelpingothersdoit.Throughthisworkwehavecometovalue:

Individualsandinteractionsoverprocessesandtools

Workingsoftwareovercomprehensivedocumentation

Customercollaborationovercontractnegotiation

Respondingtochangeoverfollowingaplan

Page 31: Requirements are King – Better Requirements = Better Software

31 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

HowAboutRequirementsEngineering?

Page 32: Requirements are King – Better Requirements = Better Software

32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Definition:RequirementEngineeringISO/IEC/IEEE29148:2011

Wikipedia

Referstotheprocessofdefining,documentingandmaintainingrequirementstothesub-fieldsof

systemsengineeringandsoftwareengineeringconcernedwiththisprocess.

Interdisciplinaryfunctionthatmediatesbetweenthedomainsoftheacquirerandsuppliertoestablishand

maintaintherequirementstobemetbythesystem,softwareorserviceofinterest.Requirementsengineering

isconcernedwithdiscovering,eliciting,developing,analysing,determiningverificationmethods,validating,

communicating,documenting,andmanagingrequirements.

Page 33: Requirements are King – Better Requirements = Better Software

33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatisRequirementsEngineering?

Requirementsengineeringistheuseofheuristicsfordiscovering,documenting,andmaintaining asetofrequirementsforasystemorserviceAtthehighestlevel,requirementsengineeringseeksto:§ Definethenecessaryandsufficientsystemscopeandfeaturesto

enablesystemdevelopmentatanacceptablelevelofrisk§ Enablerequirements-drivenarchitecture,design,construction,

andverificationactivities§ Provideinformationaboutsystemdevelopmentprogressandstatus§ Provideinformationtoorganizationallearningandcontinuous

improvementeffortsErikSimmons,nuCognitive,11/09/16adaptedfrom“adiscussionofthemethod”,BillyVaughnKoen,OxfordUniversityPress2003

Page 34: Requirements are King – Better Requirements = Better Software

34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

HowtoManageRequirementsEngineering?

ToGenerateTestCases

DesignandprovisionTestDataVirtualisation

ToManageChangeinTestCases

ToGenerateAutomation

Tests

ToEstimateComplexity

PopulateStoryBoards&Backlogs

ToBuildBetterRequirements

ToImproveExisting

TestCases DesignandprovisionServiceVirtualization

ImpactandDifferences

built by

CAAgileRequirementsDesigner

NativeSupport

Page 35: Requirements are King – Better Requirements = Better Software

35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

IntroducingtheRequirement-drivenApproach

Page 36: Requirements are King – Better Requirements = Better Software

36 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DesignOpsistheNewDeliveryParadigm:FromIdeationtoDesign,DevelopmentandTesting

Page 37: Requirements are King – Better Requirements = Better Software

37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ModelRequirementsasan“Active”Flowchart

§ AformalmodelthatisaccessibletothebusinesswhoalreadyuseVISIO,BPM,etc.

§ Whichisalsoamathematicallyprecisemodelofasystem,sothatiteliminatesambiguityandincompleteness

§ Itcanbeusedbytestersanddevelopers–itbringstheend-user,businessandITintoclosealignment

Page 38: Requirements are King – Better Requirements = Better Software

38 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TestingWiththe“Active”Flowchart

§ Testerscanoverlaytheflowchartwithallthefunctionallogicanddatainvolvedinasystem

§ Testscanthereforebeautomaticallyderivedfromit

Page 39: Requirements are King – Better Requirements = Better Software

39 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

GeneratingTestCases

§ Exhaustivelytestamodel– extractallpossibleroutesfromstart->end

§ Eachroute/pathbecomesatestcase

§ Numberofroutesgrowsexponentiallywitheveryaddeddecision32nodes+62edges=1,073,741,824possibleroutes

2145Paths

Page 40: Requirements are King – Better Requirements = Better Software

40 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Optimization/Coverage

§ Coverage,inmostcases,isrelatedtohowmuchfunctionalityisbeingcoveredinatestcase.

§ Traversethemodelbysatisfyingcoverageconstraints:19PathsEdgePairs

9PathsInOutEdges

5PathsEdges

3PathsNodes

Page 41: Requirements are King – Better Requirements = Better Software

41 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

GenerateTestData

NotReadyforTesting!

CATestDataManager+Requireddatacharacteristics

Provisionfitforpurpose dataanytimeandeverytimeProvisiondatawithorwithoutaccesstoproductionsystems

ReadyforTesting!

§ Automaticallyprofiledata,modelit,andaccuratelymeasureitscoverage§ Generaterichsyntheticdatawhichprovides100%coverage§ Covereveryoutlier,unexpectedresult,boundaryconditionandnegativepath

Page 42: Requirements are King – Better Requirements = Better Software

42 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ProvideFullTraceabilitywithRequirements

§ Knowwhatneedstobere-testedandwhentheintegrityofasystemisatrisk…“IfIchangethis,whatwillIbreak?”

§ Theimpactofachangemadetoanindividualcomponentisidentifiedsystemwide

§ Theimpactontestcasesanduserstoriesupanddownasystemcanalsobeidentifiedautomatically

Page 43: Requirements are King – Better Requirements = Better Software

43 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ButAllofThisStillDependsontheRequirementsBeingRight!§ Yes,youcanreaphugerewardsfrommaintainingonevery

highqualityartefact,ratherthanthousands.

§ No,nosilverbullet,modelscanbewrong,peoplecanstillmakemistakes

§ TheideabehindMBTandARDistomakethosepotentialmistakesmoreobviousandeasiertofixoncediscovered

§ Andofcourseleveragethemodel,whilstacknowledgingtheresidualrisk.

Page 44: Requirements are King – Better Requirements = Better Software

44 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Demo

Page 45: Requirements are King – Better Requirements = Better Software

45 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

FunExample:PokémonGo

PokémonGo,HuwPrice,22/07/16,(www.grid-tools-downloads.com/huw/POKEMONGO.zip)

Page 46: Requirements are King – Better Requirements = Better Software

46 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Summary:Heuristics,RiskandRequirementsEngineering§ Valueiskeytodeliveringsoftwarewhichmatterstousers:

– asolutionmustbefrequentlyanditerativelymeasuredforvalue

§ PoorRequirementsdegradequalitybutalsointerruptthevaluestream:– Testerscannottestrigorouslyorquicklyagainstcustomerneeds

§ Requirementscanalsothereforebekeytoimprovingthedeliveryrateofvaluablesoftware

§ Enablingrequirements-drivendesign,constructionandverification:– Modelrequirementsas“active”flowcharts– Testfromtheflowchartwithauto-generationoftests/scripts– Generatetestdatatomatchthetestcases– Updatetestswhentherequirementschange

Page 47: Requirements are King – Better Requirements = Better Software

47 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Questions?

Page 48: Requirements are King – Better Requirements = Better Software

48 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RecommendedSessions

SESSION# TITLE DATE/TIME

DO5T05TTechTalk:GoingFullCircle- LinkingCodetoTeststoRequirementsandBackAroundAgain

11/16/2016at12:45pm

DO5X27S What'sNewinCAAgileRequirementsDesigner? 11/17/2016at12:45pm

DO5X40S CaseStudy:WhyRabobankWasInspired 11/17/2016at3:45pm

Page 49: Requirements are King – Better Requirements = Better Software

49 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MustSeeDemos

UseModelBasedTesting

CAARDDevOpsTheatre5

DevOps5Theatre

AchieveMaxTestCoverage

CAARDDevOpsTheatre5

ImproveDataCompliance

CATestDataManagerDevOpsTheatre5

DeliverTestDataFaster

CATestDataManagerDevOpsTheatre5

Page 50: Requirements are King – Better Requirements = Better Software

50 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

Page 51: Requirements are King – Better Requirements = Better Software

@CAWORLD#CAWORLD ©2016CA.AllRIGHTSRESERVED.51 @CAWORLD#CAWORLD

DevOps– ContinuousDelivery

FormoreinformationonDevOps– ContinuousDelivery,pleasevisit:http://cainc.to/PiTFpu