Você está na página 1de 6

HybridWaterfall/AgileDevelopment Methodology ARecipeforSuccessinDistributedSoftware Development

AWhitePaper

VSoftConsultingGroup,Inc.
2115 Stanley Gault Parkway, Suite 200 Louisville, KY 40223 Phone: (800) 792-4050

HybridWaterfall/AgileSoftwareDevelopmentMethodologyARecipeforSuccessinDistributed SoftwareDevelopmentAWhitePaper Page 1

The Hybrid Waterfall/Agile Model combines the best features of the Agile development modelwiththebestonesoftheWaterfall(SDLC)model.

TheWaterfallmodelofSoftwareDevelopmenthasbeenused,andstillbeingusedbymany organizations.Itworksverywell since itforcesthecreation ofa Requirements Document, FunctionalSpecification,TechnicalSpecification,andaTechnicalArchitectureDocument,if applicable, before a line of code is written. It does not work well because quite often you waitformanyweeksandmonthsbeforeasoftwaredeliveryismadeandfindouttoolate fromtheclientthatyouhavebeenoffcourseallalong! The Agile methodology with multiple, weekly or a build every ten days, closes this communicationgapearlieron,withareleaseandademotheclientcanplayaroundwith, andprovidefeedbackoncoursecorrectionsthatneedtobemadeearlyoninthecycle.You dontneedtowaitweeksandmonthstofindoutthatasoftwaredeliverywasoffcourseall along.Theclientlooksatthesoftwareearlieronandprovidesfeedbackonwhetheryouare ontherighttrackornot. PureAgile issuitableonlyforapurelyTimeand Materialsbased contractwithnocommitmentsaboutwhatisdeliveredbuttheclientpaysforateamona weeklyormonthlybasisandtheclientmanagesthedeliverablesthemselves.ForFixedPrice contracts, pure Agile methods do not have a good way of managing expectations within the timeframes available.

AHybrid WaterfallAgile Development Methodology is the best suited one for Distributed Software Development, especially across many timezones. It will make sure that there is a FormalDocumentationProcessfirstonverybroadexpectationsbutthereisflexibilityinthe Agile development methodology to make fine course corrections as we go along. Most importantly, we dont wait tillthefinal weeks and daysof a project to find out there were gapsincommunicationallalong.

Communication or the lack of Proper Communication between the Client and the Development Team is 90% of the problem in software development efforts. If you fix communication early on, the development goes that much more smoothly. The Hybrid Waterfall/AgileMethodologyemphasizescommunicationaspectsallthroughitscycle!

HybridWaterfall/AgileSoftwareDevelopmentMethodologyARecipeforSuccessinDistributed SoftwareDevelopmentAWhitePaper Page 2

VSoftDevelopmentProcessHybridWaterfallAgileMethodology
Start

Requirements Gathering

Client Questions/Clarifications

FunctionalSpecification

TechnicalSpecification

TechnicalArchitecture

Questions/Clarifications Client

HighLevelDesignDocument

PeriodicBuilds(Weekly,Every10 Days,orFrequentPlannedReleases)

PeriodicBuilds(Weekly,Every10 Days,orFrequentPlannedReleases) Client Feedback/Defects/Tickets

Client

Feedback/Defects/Tickets

OutofScope?ChangeOrder

OutofScope?ChangeOrder

Client Testing andAcceptance

Finish

SalientHighlights

The above process is an indicative process. Some parts may already have been performed by the end users IT group. For example, they may already have a RequirementsDocument,TechnicalSpecificationandFunctionalSpecificationready. Or they may have only a Requirements Document. The development team selects earlierpartsoftheprocessasapplicableonacasebycasebasis. Every project requires adetailed Project Plan donepreferablyin Microsoft Project or some variation of it, if it is online. It is not shown in the process diagram in this documentsincesometimesyoumayneedtodoitevenbeforeyoubidforaprojector sometimesitmaybepartofthedeliverablessomewhere

HybridWaterfall/AgileSoftwareDevelopmentMethodologyARecipeforSuccessinDistributed SoftwareDevelopmentAWhitePaper Page 3

Right from the RFP Document to a Requirements Document, at each stage, the developmentteamgeneratesalistofquestionsfortheclienttoanswer,iftheyarenot clearaboutsomethingorhavenoknowledge. Itbettertogetthesekindsofquestions outofthewayearlier,ratherthanmakingassumptionsaboutanything. The Functional Specification, Technical Specification and Technical Architecture documentsarealloptionalandtobeselectedandusedonacasebycasebasis.Ifit isashortdurationprojecttodesignapartofawebsite,allthesedocumentsmaybe overkill.Theprocessshowsasupersetofalldocumentswemayortheclientmayneed togeneratebeforewestartcodinganything. Once we are past the Specification Stage, for every project, the development team createsaHighLevelDesignDocument,evenitisjustacoupleofpages.Thiswilljust show mockups of user interface designs, etc. The reason we do this is to make sure that the development team goes over every aspect of the development effort and haveachancetoaskquestionsandclarifythingsbeforeproceedingtocoding. Weekly, Every10Day, or Periodic Builds The project plan breaks up the time available for development and testing into weekly, every10day or at a maximum, everytwoweek BuildRelease cycle. On this date, without fail, there is a release. TheremaybesomeflexibilityonwhatgoesintoaBuildandthedevelopmentteamcan haveameetingamongstthemanddecidewhatgoesintoaBuildbuttheBuildrelease isneverbedelayedforanyreason.Thereasonforthisistobuildabuildandrelease discipline.Everybuildwillbetestedformally,locallyandthenonlyreleased.Thisalso ensures that software istested many, many more times than in a purely Waterfall modelandincreasesthequalityofthesoftwareindirectly! While obtaining feedback from clientsand creating defectsor ticket entries, the first testistoseeifthechangerequiresaChangeOrder. Whatmakesadefectandwhat makesachangeorder?Simplethingslikefont,colorormisunderstandingsabouthow somethingneedstobecalculated mayallgoinasdefects.Ifsomethinginvolvessay morethan4 hoursofwork,itmaybeconsideredforachangeorder. Thisisjusta ruleofthumbandcanvaryonaprojectbyprojectbasis.

HybridWaterfall/AgileSoftwareDevelopmentMethodologyARecipeforSuccessinDistributed SoftwareDevelopmentAWhitePaper Page 4

ProjectDocumentDefinitions

Project Document definitions vary from organization to organization. Some capture all informationinonedocumentandcallittheRequirementsDocumentandsomebreakitapart intomultipleoneslikebelow:

RequirementsDocumentARequirementsDocumentisusedtocapturewhattheend userdesirestoaccomplishwiththesoftware.ItcanbeataveryhighlevellikeWantto managetheSalesAccountingProcess.Sometimesitencompasseswhatgoesintothe Functional Specification, Technical Specification and Technical Architecture issues describedbelow.

FunctionalSpecificationThisbreaksdowntheRequirementsintospecificabilitieslike TheAbilitytoEnterSalesDataintotheSalesAccountingSystemusingaBrowser. Technical Specification This spells out the software platforms and technologies preferredtobeusedinthesystem.CanbethingslikeMicrosoftWindows,SQLServer andIE6andaboveorOracle,Java,J2EE. Technical Architecture This spells out the hardware and software configurations neededandisespeciallymoreapplicableincaseofwebbasedapplications.Itmayspell outthingslikeLoadBalancers,OneprimaryDatabaseServer,OneBackupReplicated DatabaseServer,ThreeWebServers,etc. DesignDocumentThisisdonebythedevelopmentteamandcapturestheTechnical Architecture if it is not already captured in the Technical Architecture. It also has mockups, wireframes or screenshots of prototypes of the User Interface screens, and DatabaseDesignsSchemas,Constraints,etc.

Theideahereisthatthedocumentationwefollowwillembracesomewhatwhattheclients existingprocessesdictate.

HybridWaterfall/AgileSoftwareDevelopmentMethodologyARecipeforSuccessinDistributed SoftwareDevelopmentAWhitePaper Page 5

Benefits

TheformalapproachoftheWaterfallmodelwiththeflexibilityandearlyresultsofan AgileDevelopmentMethodology Bridgescommunicationgapsthatadistributedteamcreates,especiallywithclientsand developmentteamsspreadacrossmanytimezones. Predictability of the project timelines are enhanced since we can perform course correctionsintheearlystagesoftheprojectratherthanwaitingandfindingoutweeks andmonthsintothedevelopmenteffort.

Contact:

GregBrendel,MBA VicePresidentSales&Marketing VSoftConsultingGroup,Inc. 2115StanleyGaultParkway,Suite200 Louisville,KY40223,502.644.8006Cell502.425.6661 Direct502.412.5869Faxgreg@vsoftconsulting.com www.vsoftconsulting.com,www.vstechnologies.net

HybridWaterfall/AgileSoftwareDevelopmentMethodologyARecipeforSuccessinDistributed SoftwareDevelopmentAWhitePaper Page 6

Você também pode gostar