Вы находитесь на странице: 1из 10

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?   Waterfall vs. Agile: Which is the Right Development

Waterfall vs. Agile: Which is the Right Development Methodology for Your Project?

WrittenbyMaryLotzonJuly5,2013

SHARE +

for Your Project? WrittenbyMaryLotzonJuly5,2013 SHARE +

OneofthefirstdecisionswefaceforeachofourprojectimplementationsatSegueisWhich

developmentmethodologyshouldweuse?Thisisatopicthatgetsalotofdiscussion(andoften

heateddebate).Ifthisisnotsomethingyou’veworkedwithbefore,adefinitionofdevelopment

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

methodologyisinorder;putverysimply,it’sawayoforganizingtheworkofsoftware

order;putverysimply,it’sawayoforganizingtheworkofsoftware deve lopment.This is NOT

development.ThisisNOTaboutastyleofprojectmanagementoraspecifictechnicalapproach,

althoughyouwilloftenhearthesetermsallthrowntogetherorusedinterchangeably.

Thetwobasic,mostpopularmethodologiesare:

1.Waterfall:(ugh,terriblename!),whichmightbemoreproperlycalledthetraditional

approach,and

2.Agile:aspecifictypeofRapidApplicationDevelopmentandnewerthanWaterfall,butnot

thatnew,whichisoftenimplementedusingScrum.

Bothoftheseareusable,maturemethodologies.Havingbeeninvolvedinsoftwaredevelopment

projectsforalongtime,herearemythoughtsonthestrengthsandweaknessesofeach.

The Waterfall Methodology

Waterfallisalinearapproachtosoftwaredevelopment.Inthismethodology,thesequenceof

eventsissomethinglike:

1.Gatheranddocumentrequirements

2.Design

3.Codeandunittest

4.Performsystemtesting

5.Performuseracceptancetesting(UAT)

6.Fixanyissues

7.Deliverthefinishedproduct

InatrueWaterfalldevelopmentproject,eachoftheserepresentsadistinctstageofsoftware

development,andeachstagegenerallyfinishesbeforethenextonecanbegin.Thereisalso

typicallyastagegatebetweeneach;forexample,requirementsmustbereviewedandapproved

bythecustomerbeforedesigncanbegin.

TherearegoodthingsandbadabouttheWaterfallapproach.Onthepositiveside:

Developersandcustomersagreeonwhatwillbedeliveredearlyinthedevelopment

lifecycle.Thismakesplanninganddesigningmorestraightforward.

Progressismoreeasilymeasured,asthefullscopeoftheworkisknowninadvance.

Throughoutthedevelopmenteffort,it’spossibleforvariousmembersoftheteamtobe

involvedortocontinuewithotherwork,dependingontheactivephaseoftheproject.For

example,businessanalystscanlearnaboutanddocumentwhatneedstobedone,while

thedevelopersareworkingonotherprojects.Testerscanpreparetestscriptsfrom

requirementsdocumentationwhilecodingisunderway.

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

Exceptforreviews,approvals,statusmeetings,etc.,acustomerpresenceisnotstrictly

requireda ftertherequirementsphase. 

requiredaftertherequirementsphase.

Becausedesigniscompletedearlyinthedevelopmentlifecycle,thisapproachlends

itselftoprojectswheremultiplesoftwarecomponentsmustbedesigned(sometimesin

parallel)forintegrationwithexternalsystems.

Finally,thesoftwarecanbedesignedcompletelyandmorecarefully,baseduponamore

completeunderstandingofallsoftwaredeliverables.Thisprovidesabettersoftware

designwithlesslikelihoodofthepiecemealeffect,adevelopmentphenomenonthat

canoccuraspiecesofcodearedefinedandsubsequentlyaddedtoanapplicationwhere

theymayormaynotfitwell.

HerearesomeissueswehaveencounteredusingapureWaterfallapproach:

Oneareawhichalmostalwaysfallsshortistheeffectivenessofrequirements.Gathering

anddocumentingrequirementsinawaythatismeaningfultoacustomerisoftenthe

mostdifficultpartofsoftwaredevelopment,inmyopinion.Customersaresometimes

intimidatedbydetails,andspecificdetails,providedearlyintheproject,arerequired

withthisapproach.Inaddition,customersarenotalwaysabletovisualizeanapplication

fromarequirementsdocument.Wireframesandmockupscanhelp,butthere’sno

questionthatmostendusershavesomedifficultyputtingtheseelementstogetherwith

writtenrequirementstoarriveatagoodpictureofwhattheywillbegetting.

AnotherpotentialdrawbackofpureWaterfalldevelopmentisthepossibilitythatthe

customerwillbedissatisfiedwiththeirdeliveredsoftwareproduct.Asalldeliverablesare

basedupondocumentedrequirements,acustomermaynotseewhatwillbedelivered

untilit’salmostfinished.Bythattime,changescanbedifficult(andcostly)to

implement.

The Agile Methodology

Agileisaniterative,team-basedapproachtodevelopment.Thisapproachemphasizestherapid

deliveryofanapplicationincompletefunctionalcomponents.Ratherthancreatingtasksand

schedules,alltimeistime-boxedintophasescalledsprints.Eachsprinthasadefined

duration(usuallyinweeks)witharunninglistofdeliverables,plannedatthestartofthesprint.

Deliverablesareprioritizedbybusinessvalueasdeterminedbythecustomer.Ifallplannedwork

forthesprintcannotbecompleted,workisreprioritizedandtheinformationisusedforfuture

sprintplanning.

Asworkiscompleted,itcanbereviewedandevaluatedbytheprojectteamandcustomer,

throughdailybuildsandend-of-sprintdemos.Agilereliesonaveryhighlevelofcustomer

involvementthroughouttheproject,butespeciallyduringthesereviews.

SomeadvantagesoftheAgileapproachareeasytosee:

Thecustomerhasfrequentandearlyopportunitiestoseetheworkbeingdelivered,and

tomakedecisionsandchangesthroughoutthedevelopmentproject.

Thecustomergainsastrongsenseofownershipbyworkingextensivelyanddirectlywith

theprojectteamthroughouttheproject.

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

Iftimetomarketforaspecificapplicationisagreaterconcernthanreleasingafull

featureset

featuresetatinitiallaunch,Agilecanmorequicklyproduceabasicversionofworking

softwarewhichcanbebuiltuponinsuccessiveiterations.

Developmentisoftenmoreuser-focused,likelyaresultofmoreandfrequentdirection

fromthecustomer.

And,ofcourse,therearesomedisadvantages:

Theveryhighdegreeofcustomerinvolvement,whilegreatfortheproject,maypresent

problemsforsomecustomerswhosimplymaynothavethetimeorinterestforthistype

ofparticipation.

Agileworksbestwhenmembersofthedevelopmentteamarecompletelydedicatedto

theproject.

BecauseAgilefocusesontime-boxeddeliveryandfrequentreprioritization,it’spossible

thatsomeitemssetfordeliverywillnotbecompletedwithintheallottedtimeframe.

Additionalsprints(beyondthoseinitiallyplanned)maybeneeded,addingtotheproject

cost.Inaddition,customerinvolvementoftenleadstoadditionalfeaturesrequested

throughouttheproject.Again,thiscanaddtotheoveralltimeandcostofthe

implementation.

ThecloseworkingrelationshipsinanAgileprojectareeasiesttomanagewhentheteam

membersarelocatedinthesamephysicalspace,whichisnotalwayspossible.However,

thereareavarietyofwaystohandlethisissue,suchaswebcams,collaborationtools,etc.

TheiterativenatureofAgiledevelopmentmayleadtoafrequentrefactoringifthefull

scopeofthesystemisnotconsideredintheintialarchitectureanddesign.Withoutthis

refactoring,thesystemcansufferfromareductioninoverallquality.Thisbecomesmore

pronouncedinlarger-scaleimplementations,orwithsystemsthatincludeahighlevelof

integration.

Making the Choice Between Agile and Waterfall

So,howdowechoose?First,wechangethegamealittle(whichiswhatmostsoftware

developmentorganizationsdo)bydefiningourownprocess.AtSegue,it’scalledourProcess

Framework,andit’savariationonthetraditionalWaterfallmethodology.Ourmodifications

includeuseofprototypingwherepossibletoprovidethecustomerabetterviewoftheirfinished

productearlyinthedesign/developmentcycle.Thishelpstoimprovetheteam’sunderstanding

ofrequirementsandcommunicationwiththecustomer.Aftertheprimaryframeworkofthe

applicationiscompletedperhighlevelrequirements,wecontinuetodevelopandalsotoreach

outtothecustomerforrefinementofrequirements.Inthisway,westrivetobeasiterativeas

possiblewithoutcompromisingouroverallsystemarchitecture.

Weconsiderthefollowingfactorswhenconsideringwhichmethodologytouse:

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?  

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

Thefactorsabovearenotequallyweighted;eachisassesseddependingontheindividualproject

and circumstances . 

Oncewe’vedecidedwhichbasicmethodologytoutilize,wecanfurtherrefinetheprocesstobest

fitourprojectgoals.Ultimately,althoughthewayinwhichwedoourworkisimportant,delivering

asolidandmaintainableproductthatsatisfiesourcustomeriswhatreallycounts.

FILED UNDER:

About the Author

MaryLotzisSegue'sDirectorofEngineering.Sheisacertifiedprojectmanager(PMP) andscrummaster(CSM),andhasbeendirectingapplicationdevelopmentteams

andprojectsforavarietyofcustomersandindustriesforover15years.Aformer

applicationdeveloper,MaryholdsbothB.S.andM.S.degreesinAppliedComputer

Science.

Related Content

Get Weekly Blog Updates!

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?  DownloadSegue’sNeweBook, “ AdoptingAgileDevelopment

NEW EBOOKS

GET APPLICATION DEVELOPMENT INSIGHT AND ADVICE SENT TO YOUR INBOX!

GET EMAIL HOT TIPS

LET’S BUILD SOMETHING AMAZING TOGETHER

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?  QUICK LINKS Services Government Commercial HealthIT OurWork

QUICK LINKS

Building innovative Web, Data, and Mobile applications to help your organization succeed.

CONNECT WITH US

    

Copyright2016SegueTechnologiesInc.AllRightsReserved.

2300WilsonBlvd,Suite420

Arlington,VA22201

07/05/2017

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?

Waterfallvs.Agile:WhichMethodologyisRightforYourProject?  Tel: 703-549-8033 |Toll-free:1-888-549-8033

Tel:703-549-8033|Toll-free:1-888-549-8033

4031ColonelGlennHighway

Beavercreek,OH45431