+ All Categories
Home > Documents > Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming...

Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming...

Date post: 26-Sep-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
80
Transcript
Page 1: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 2: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 3: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 4: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 5: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

DataFlowDiagrammingbyExample

ProcessModelingTechniquesforRequirementsElicitation

ThomasHathawayAngelaHathaway

©2015byBA-Experts.

Allrightsreserved.Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmittedinanyformorbyanymeans,electronic,mechanical,photocopying,

recording,orotherwisewithoutpriorpermissionofthecopyrightholder.

ThecontentsofthispublicationareprovidedingoodfaithandneitherTheAuthorsnorThePublishercanbeheldresponsibleforanyerrorsoromissionscontainedherein.Anypersonrelyingupontheinformationmustindependentlysatisfyhimselforherselfastothesafetyoranyotherimplicationsofactinguponsuchinformationandnoliabilityshallbe

acceptedeitherbyTheAuthororThePublisherintheeventofrelianceuponsuchinformationnorforanydamageorinjuryarisingfromanyinterpretationofitscontents.

Thispublicationmaynotbeusedinanyprocessofriskassessment.

Page 6: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

PrefaceThiseBookwasneithercreated“ForDummies®”nor“ForCompleteIdiots®”,butfornormalpeopleintherealworldtogivethemabasicunderstandingofbusinessanalysisconceptsandtechniques.Manypeopledobusinessanalysisalthoughitisnotintheirjobdescription.WhetheryouaretheCEO,COO,Director,Manager,oronthefrontlines,youmaybeinvolvedindefininghowtechnologycanbenefityouandyourorganization.Whenyouareinthatawesomerole,youareatthattime“theonewearingtheBusinessAnalysis(BA)hat”.

Intoday’swiredworld,softwareapplicationsoftentakecenterstageinoptimizingworkflowandincreasingproductivity.Unfortunately,theprocessofdeliveringtherightsoftwaretotherightpeopleattherighttimeischallengingtosaytheleast.ThiseBookpresentsDataFlowDiagrams(DFDs)asaphenomenaltoolforvisualizingandanalyzingdependenciesandinteractionsamongstmanualandautomatedbusinessprocesses.ItexplainswhataDFDis,whyyouneedone,andhowtocreateit.Youwilllearnthebenefitsofprocessvisualizationforthebusinesscommunity,fortheonewearingtheBAhat,forthosetaskedwithdevelopingthesolution,andultimatelyfortheentireorganization.YouwillalsodiscoverhowDFDsarepowerfultoolsforrecognizingandeliminatingtwoofthemajorproblemsthathauntITprojects,namelyScopeCreepandProjectOverrunscausedbylateprojectchangerequests.

Page 7: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

AbouttheAuthorsAngelaandTomHathawayhaveauthoredanddeliveredhundredsoftrainingcoursesandpublicationstothousandsofbusinessanalystsaroundtheworld.Theyhavefacilitatednumerousrequirementsdiscoverysessionsforinformationtechnologyprojectsunderavarietyofacronyms(JAD,ASAP,JADr,JRP,etc.).

Basedontheirpersonaljourneyandexperiencesreportedbytheirstudents,theyrecognizedhowmuchanyonecanbenefitfromabasicunderstandingofwhataDataFlowDiagramis,whattheyrepresent,whoneedsone,andhowtogetstartedcreatingone.

Angela’sandTom’smissionistoallowanyone,anywhereaccesstosimple,easy-to-learntechniquesbysharingtheirexperienceandexpertiseintheirtrainingseminars,blogposts,eBooks,videocourses,KnowledgeKnuggets™,andpublicpresentations.

Page 8: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

AdditionalResourcesThecontentsofthiseBookarealsocontainedinourinstructor-ledtrainingwhichweofferonlineoratyoursite.Peruseourtrainingprogram.

Page 9: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

TableofContentsPreface

AbouttheAuthors

TableofContents

IntroductiontoDataFlowDiagrams(DFDs)fortheBusiness

BusinessProcesses,DataFlows,andValueChains

WhyCreateaDataFlowDiagram?

ModelingtheFlowofMaterialandData

VisualizingProjectScope

HowtoIdentifyInternalProcessesonaDFD

GettingtotheNextLevel

MiningforProcesses

DrawingaDetailLevelDFD

DiscoveringMissingProcessesandData

DetailedProcessandDataSpecifications

OptionalProcessMini-Specs

CapturingDataElements

HorizontalBalancingRevealsMissingDataElements

ThePowerofDataFlowDiagrams

WhatDoestheDataFlowDiagramDoforYou?

AFullyBalancedDFD

CreatingaDFDFragment

Summary

Page 10: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 11: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Questionsansweredinthischapter:

WhatisaDataFlowDiagram(DFD)?

WhendoIneedone?

IntroductiontoDataFlowDiagrams(DFDs)fortheBusiness

Page 12: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

BusinessProcesses,DataFlows,andValueChains

Apicturereallyisworthathousandwords,especiallyintheworldofBusinessAnalysisforITprojects.TrytodescribeworkflowsorbusinessprocessesinnaturallanguageandthechancesthatITwilldeliverthesolutionyouwantareverysmallindeed.Thechallengeiswhatpicturedoyouneedtodraw?

Thereareseveraltechniquesfordrawingprocessmodelsordiagramsatvariouslevelsofdetailandeachhasaspecificfocus.DataFlowDiagrams(DFDs)representtheworkfloworstepswithinaprocesswithafocusontheflowandtransformationofdata.YoucancreateDFDsatthebusinesslevel(asinthisexample)representingbusinessprocessesandbusinessdataoratthesystemleveldepictingITapplications,databases,andfiles.Sincewearetalkingaboutbusinessanalysis,ourfocuswillbecreatingandusingdataflowdiagramsatthebusinesslevel.

Everybusinessprocessisamore-or-lesscomplexsequenceofstepsthatchangessomethingcomingintocreatesomethingnew.Assuch,theprocessneedssomeformofinput,whichcouldbeinformationoranyotherresource.Bydefinition,adataflowdiagramisapictureofhowthedepictedprocessescreate,consume,transport,andstoredata.ADFDistherightchoiceforbusinessprocessmodelingifyouneedtounderstandthecreationanduseofdatawithintheindividualbusinessprocesses.Thoseprocessescanbemanualorautomated;itdoesnotmatterasfarasthediagramisconcerned.

Page 13: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Processesuseinputtocreateoutput,whethertheoutputissomethingaltogetherneworsimplyanalteredversionoftheoriginalinput.Sincetheprocessaddssomemeasurablevaluetotheinput,weoftenrefertothe“valuechain”oftheorganization.

Fundamentally,anydiagramissimplyapicturewithconstraints.InthecaseoftheDFD,theconstraintsarewhichsymbolsyoucanuseandwhateachsymbolmeans.TherearereallyonlytwowidelyusedconventionsfordrawingDFDsandthedifferencesareminimal.Bothallowonlyfourbasicsymbols.

Aroundedrectangle(oracircledependingonwhichconventionyoufollow)representsaprocessatsomelevelofdetail.Thenameoftheprocesstellsuswhattheprocessdoes(i.e.,whatitsprimaryfunctionis)incommonbusinessterms.Sincefunctionsareactions,thenameconsistsofanactiveverb(whatisdone)andadirectobject(whatisitdoneto—e.g.,PROCESSCREDITCARD,SELLPRODUCT,CHECKITEMPRICE).

Asyoucanseefromtheexamples,thenamedprocesscanbeatanylevelofdetail,fromtheveryhigh-level(SELLPRODUCT)totheverylow-level(CHECKITEMPRICE).

ProcessesInteractwithData

Anarrowrepresentsadataflow,meaninginformationcomingfromsomewhereandgoingsomewhereelse.Becausethedataismovingfromsomewheretosomewhere,thearrowpointsinthedirectionofmovement.Everydataflowhastohaveaname.Becauseitrepresentsdataanddataisathing,thenamehastobeanounwithorwithoutappropriatemodifiers(i.e.,CreditCardAuthorization,Invoice,ItemNumber).Aswiththeprocess,thenameddataflowcanbeatanylevelofdetail.

Page 14: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Adatastoreissimplydataatrest.Itisnotgoinganywheresoitcannotbeadataflow;itiswaitingtobeconsumedbyaprocess.Adatastoreisnotnecessarilyafilealthoughafileisadatastore(likeasquareisarectanglebutarectangleisnotnecessarilyasquare).Aspecialsymbolconsistingofasmallsquarewiththetopandbottomlinesextendingoutwardtotheright(orsimplytwoparallellines,againdependingonconvention)representsadatastore.

ADFDMakesScopeVisible

Asimplesquare(withorwithoutanoptionalshadow)representsanexternalentity.Intheworldofdataflowdiagramming,anexternalentityrepresentsaperson,organization,orapplicationthatisoutofscopefortheprojectfromtheperspectiveoftheDFD.Specifically,itimpliesthattherepresentedobjectisnotgoingtobeanalyzedorimpactedbyanyprojectusingthisdiagramalthoughdataflowstoandfromtheexternalentityhavetobeanalyzed.

Page 15: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

WhyCreateaDataFlowDiagram?

ADFDservesmultiplepurposes.Youmightcreateonetobeabletoanalyzethecurrentsituationwiththegoalofidentifyingroadblocksandimprovingefficiency.Youmightalsocreateonetopresentanddiscusstheprocesswithothers.YoucouldcreateaDFDofaproposedbusinessprocessbeforeyoudevelopdetailedprocessesandsupportingITapplicationstoidentifypotentialissuesbeforetheyoccur.Itsprincipleuseispresumablytoidentify,document,andcommunicatestakeholderrequirementsforanITproject.

Fundamentally,therearetwogoodreasonswhyyouneedadiagram.Firstoff,peoplecanpointtothediagramtodiscussaprocessorflowinsteadofusingwordstodescribewhattheymean.Thediagramrepresentsavisualmodeofcommunication,whichallstudiesshowismuchmoreeffectivethanmerewords.Pointingpowerprovesthatitworks.Secondly,studyingthediagramgeneratesquestionsthatmightindicatemissingstepsorexternalentities.Ifthediagrampiquesyourcuriosity,itiswellworthyourwhiletoinvestigatethesituationtofindananswer.

Page 16: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 17: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Questionsansweredinthischapter:

WhatisaRigorousPhysicalProcessModel(RPPM)andwhydoIneedone?

Whatsymbolsdoesituse?

HowcanIcreateanRPPMfrominterviewnotes?

ModelingtheFlowofMaterialandData

ARigorousPhysicalProcessModelshowsthemovementofphysicalobjectsanddataamongsttheunitsinanorganization.Theideaistorepresenttherealworldascloselyaspossible.Giventhattheproposedinformationtechnology(IT)solutionwillneedtoknowsomethingaboutthephysicalobjects,thesewillhavetoberepresentedindataaswell.ThepowerofanRPPMliesinitssimplicity.Itonlyallowstwosymbols,acircletorepresentpeopleorplacesandanarrowrepresentingthemovementofphysicalmaterialordata.ThissimplicitymakesiteasytoimplementanditisanidealprecursortoaDataFlowDiagram.

NowthatyouknowthesymbolsforcreatinganRPPM,Iwouldliketowalkyouthroughtheexerciseofanalyzingasituationtocreateoneusingastandardscenariofromourinstructor-ledclass.FYI,thisisatranscriptofaninterviewwiththeManageroftheOrderEntryDepartment,Mary(theprojectsponsor).

InterviewNotes

Thecustomertriggersalltheactioninourdepartment.Wereceiveanorder(withorwithout

payment),acomplaintorapayment(withorwithoutinvoicecopy)fromthecustomer.Theseareseparated

andthefollowingactionstakeplace:

Ifitisanorder,weverifyanexistingcustomer’screditstatusandthenweverifythattheitemnumbers

arevalidbycheckingourinventoryfile.Newcustomer’sordersaresenttothecreditdepartmentandhelduntiltheyclearacreditcheck.(Ifhalf

Page 18: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

paymentormoreisincluded,thatorderistreatedasifitwereacreditorderwithgoodcredit.)

Validordersareaccumulatedandgroupedintoshippingzonesandtransmittedtothewarehousetobefilled.Afteranorderisfilled,thecustomeraddressisattached,thebestorrequestedshippingmethod

determined,postageorshippingcostscalculated,theorderisshipped,andthewarehouseinventoryisreduced.Acopyofthepackingslipgoesto

accountingwhereaninvoiceiscreatedandsenttothecustomer,andthecustomer’saccountupdated.Copies

oforderswithpaymentsandpaymentsgotoaccounting,wherethepaymentsareappliedtothecustomer’saccount.Theiteminventoryisofficially

updatedinaccounting.

Customercomplaintsgodirectlytocustomerservice.Theyresearchthesituationandrespondtothecustomerassoonaspossible.Anyactiontakenby

customerservice,whichaffectsaccountingorinventory,ispassedtothemforupdating.Possibleactionsareaneworder,adebit,oracredit.These

lookexactlyliketheregularorderprocess.

MyapproachistoreadthetextandlookforpeopleandplacesthatIwanttorepresentinmyRPPM.WhenIfindanoun,IdecidewhetheritnamesapersonorplaceonmyprocessmodelorsimplynamesdataorphysicalmaterialIneedtotrack.I’lltrymybest,butdon’thavetobeperfectasthisismyfirstcutatit.

InterviewNotes

Thecustomertriggersalltheactioninourdepartment.Wereceiveanorder(withorwithout

payment),acomplaint,orapayment(withorwithout

Page 19: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

invoicecopy)fromthecustomer.Theseareseparatedandthefollowingactionstakeplace:

Ifitisanorder,weverifyanexistingcustomer’screditstatusandthenweverifythattheitemnumbers

arevalidbycheckingourinventoryfile.Newcustomer’sordersaresenttothecreditdepartmentandhelduntiltheyclearacreditcheck.(Ifhalf

paymentormoreisincluded,thatorderistreatedasifitwereacreditorderwithgoodcredit.)

Validordersareaccumulatedandgroupedintoshippingzonesandtransmittedtothewarehousetobefilled.Afteranorderisfilled,thecustomeraddressisattached,thebestorrequestedshippingmethod

determined,postageorshippingcostscalculated,theorderisshipped,andthewarehouseinventoryisreduced.Acopyofthepackingslipgoesto

accountingwhereaninvoiceiscreatedandsenttothecustomer,andthecustomer’saccountupdated.Copies

oforderswithpaymentsandpaymentsgotoaccounting,wherethepaymentsareappliedtothecustomer’saccount.Theiteminventoryisofficially

updatedinaccounting.

Customercomplaintsgodirectlytocustomerservice.Theyresearchthesituationandrespondtothecustomerassoonaspossible.Anyactiontakenby

customerservice,whichaffectsaccountingorinventory,ispassedtothemforupdating.Possibleactionsareaneworder,adebit,oracredit.These

lookexactlyliketheregularorderprocess.

Iusuallyusecolor-codingwhileIamdoingthis,soasyouseehere,Ihighlightedfive

Page 20: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

nounsthatIthinkrepresentpeopleorplaces(ourdepartment–akaORDERENTRY,CREDITDEPARTMENT,WAREHOUSE,ACCOUNTING,andCUSTOMERSERVICE)andtheCUSTOMER.Therearealotofothernounsinthenarrative,butIthinktheyareallsimplythingsImayneedtokeeptrackof,soIamgoingtoignorethemfornow.Atthistime,Iamonlyinterestedinpeopleandplaces(inthiscase,organizationalunits)wherethedatamightcomefromorgoto.

Sincethetextindicatesthateverythingstartswiththecustomer,Istartmydiagrambydrawingacircleintheupperleft-handcornerofthepageandlabelingitCUSTOMER.Thenextpartmentionedinthenarrativeis‘ourdepartment’,soIdrawanothercirclediagonallytotherightofandbelowtheCUSTOMERandnameitORDERENTRY.SinceIwilladdflowsbetweentheentities,Ineedtoleaveroomenoughforalabelandoneormorearrowsbetweenthetwocircles.Analyzingthenarrative,IseethatORDERENTRYreceivesOrders,Payments,andComplaintsfromtheCUSTOMER,soIdrawthearrowindicatingtheflowfromtheCUSTOMERtoORDERENTRYandlabelitrespectively.

Next,IreadseveralthingsthatORDERENTRYdoeswiththeincomingflow.Iamgoingtobeinterestedinthesespecificactionslater(onceIknowthescopeofthisproject)butforthetimebeing,Iamignoringthem.AllIamreallyinterestedinatthistimeistheflowofdatabetweendepartmentsandnotwhateachdepartmentdoeswithit.Becauseofthat,thenextflowIfindinthenarrativeisthatORDERENTRYsendsnewcustomerorderstotheCREDITDEPARTMENT.ThatcausesmetoaddacirclediagonallyaboveandtotherightoftheORDERENTRYsymbol,labellingitCREDITDEPARTMENT,addinganarrowfromORDERENTRYtotheCREDITDEPARTMENT,andlabellingthearrowNewCustomerOrder.Again,Ineedtomakesurethespacingbetweenthecirclesleavesroomforthearrowanditslabel.

Page 21: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Readingon,InotethatvalidordersaretransmittedtotheWAREHOUSE,soIaddacirclelabelled“WAREHOUSE”belowtheonelabelledCREDITDEPARTMENTandaddaValidOrderarroworiginatingfromORDERENTRY.Asyoucanbynowsurmise,Iamtryingtodrawthediagramdiagonallyfromtheupperlefttothelowerrightofthepagefollowingtheflowoftheorderasexpressedinthenarrative.Themajorreasonforthisiscultural.Englishandmanyotherlanguagesarewrittenfromlefttorightstartingatthetopofthepageandcontinuedowntothebottom.Ifmydiagramconformstothisconvention,itiseasierformostpeopletofollow.

Backtothenarrative,thenextflowofdatathatInoteistheWAREHOUSEshippingtheordertothecustomer.Torepresentthisflow,IcoulddrawanarrowfromtheWAREHOUSEaroundtheCREDITDEPARTMENTbacktotheCUSTOMERbutthatwouldviolatemyleft-to-right,top-to-bottomflow.SinceIconsiderthereadabilityofthe

Page 22: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

diagramtobecritical,I’mgoingto‘cheat’byaddingasecondcirclelabelledCUSTOMER/2(indicatingthatthissymbolisarepeat)diagonallybelowandtotherightoftheWAREHOUSEsymbolandinsertanarrowlabelledShipmentfromtheWAREHOUSEtotheCUSTOMER/2symbol.Thispositioningkeepsthedirectionalflowintact.

Next,IreadacopyofthePackingSlipgoesfromtheWAREHOUSEtoACCOUNTING,soIaddanappropriatelylabelledcirclebelow,totheleftoftheWAREHOUSEsymbol,andaddtheflowCopyofPackingSlipfromtheWAREHOUSEtoACCOUNTING.ACCOUNTINGsendsaninvoicetothecustomerwhichIrepresentwithanarrowlabelledinvoicefromACCOUNTINGtoCUSTOMER/2,againmaintainingtheproperreadingdirectionofthediagram.WhenIread‘copiesoforderswithpaymentsandpaymentsgotoaccounting’,IhavetobacktracktothebeginningofthenarrativetodiscoverthatthesearecomingfromtheCUSTOMERtoORDERENTRY,sothissimplyaddsanewflowfromORDERENTRYtoACCOUNTINGwiththelabelCopyofOrderwithPayment,Payments.UpdatingtheItemInventoryisinternaltoACCOUNTING,soitdoesnotconcernmehere.

Page 23: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Thefinalparagraphisabitmoreconfusing.Firstoff,complaintsgodirectlytoCUSTOMERSERVICE.Again,byrereadingthefirstparagraph,IrecognizethatORDERENTRYreceivedthecomplaints,soIaddthearrowcomplaintsgoingfromORDERENTRYtoCUSTOMERSERVICE.CUSTOMERSERVICEsendsaResponsetothecustomerwhichisanarrowbetweenCUSTOMERSERVICEandCUSTOMER/2.InreadingtheactionsCUSTOMERSERVICEtakes,IconcludethatIalsoneedaflowlabeledDebitorCreditfromCUSTOMERSERVICEtoACCOUNTINGandaNewOrderflowfromCUSTOMERSERVICEbacktotheORDERENTRYdepartment(whichmakesthese“lookexactlyliketheregularorderprocess”asexpressedintheinterviewnotes).

Page 24: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

InowhaveapictureoftheprocessdepictedintheinterviewnotesfromMary.Icanuseittopresenttheprocesstoanyaudience.Wecanfocusourdiscussionsabouttheprocessbypointingatthevariousunitsandflows.Asimple,clearpicturelikethisincreasescomprehensionandretention.OnceIhavegainedMary’sapprovalthatmydiagramisanaccuraterepresentationoftheprocessflow,wecaninitiatetheprocessofmorphingthisRigorousPhysicalProcessModelintoalegitimateDataFlowDiagram.

Page 25: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 26: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Questionsansweredinthischapter:

WhatisthedifferencebetweenaRigorousPhysicalProcessModelandaContext-LevelDFD?

HowcanIconverttheRPPMtoalegitimateDFD?

Whyisthisconversionnecessary?

VisualizingProjectScope

Atthispoint,Ihaveagreatdiagramofthesituationdescribedinthenarrative.TheproblemisthatitdoesnotfollowtherulesgoverningsymbolsonaDataFlowDiagram.AllIhavearecircleswithNOUNnamesbutaccordingtotherules,circlesrepresentPROCESSESonaDFDandPROCESSEShavetohaveaVERB/OBJECTname(dosomethingtosomething)!ThereasonforthisisthatIdrewtheRigorousPhysicalProcessModelwithoutknowingwhichofthesedepictedpeopleandplacesareinscopeformyprojectandwhicharenot.IneedtogetananswertothescopequestiontoconvertthisRigorousPhysicalProcessModeltoaContextDataFlowDiagram.

AstheonewearingtheBAhat,Icannotmakeadecisionregardingthescopeoftheproject.Thatdecisionultimatelyhastobemadebytheprojectsponsor(thecommontitlefortheindividualintheorganizationwhoisfundingtheproject).MaryisourprojectsponsorandtheDepartmentManagerofOrderEntry.HerauthorityislimitedtoanythingtheOrderEntryDepartmentdoes.Basedonherauthority,Icannowconvertmyinitialdiagrambyfollowingafewsimplerules.Firstoff,sinceORDERENTRYisinscopeformyproject,IneedtochangethenounORDERENTRYtoaVERB/OBJECTtomakeitalegitimatefunction.WhatIlookforistheprimaryfunctionthatORDERENTRYperformsandMaryagreesthattheirprimaryfunctionistoENTERORDERS.

Page 27: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

BychangingthenameofthecirclefromthedepartmentORDERENTRYtothefunctionENTERORDERS,Inotonlyhavealegitimatefunction,Ialsomadeacriticalpsychologicalshift.Astheprojectprogresses,IamgoingtoanalyzewhathappensinsidetheENTERORDERSprocesswhichwillleadtotherecognitionthatthereareseveralproblemswithhowtheunitcurrentlyprocessesorders(that’swhytheprojectwasinitiated).

IfIleavethenameoftheobjectORDERENTRY,Iwouldbeaccusingthedepartmentofmakingerrors,whichleadstopointingfingersandmakingaccusations.Thiscanresultinalotofpushbackfromtheemployeesinthedepartmentastheyfeelunjustlycriticized.Havingchangedthenamefromthedepartmenttothefunction,IcancriticallyanalyzetheENTERORDERSfunctionandfindflawsinit.Inthiscase,thesameemployeeswilljoininenthusiasticallybecausetheproblemsarecausedbytheprocessanditisnottheirfault.Thisseeminglysimplestepcanliterallymakeorbreaktheproject.

Next,IconvertallothercirclesonthediagramtosquarestoturnthemintolegitimateexternalentitiestogettoanalmostlegitimateDFD.Theonlyremainingproblemisthatthediagramviolatesasimplebutpowerfulruleofdataflowdiagramming,namelythatflowsbetweentwoexternalentitiesarelogicallyoutofscope(sincebothendsoftheflowareoutofscope).

Page 28: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Tocomplywiththatrule,IeliminatetheDebitorCreditflowfromCUSTOMERSERVICEtoACCOUNTINGandtheflowResponsefromCUSTOMERSERVICEtoCUSTOMER/2.IcanfurtherignoretheShipmentflowfromtheWAREHOUSEtoCUSTOMER/2,theCopyofPackingSlipfromtheWAREHOUSEtoACCOUNTING,andtheInvoiceflowfromACCOUNTINGtoCUSTOMER/2.Aftereliminatingalloftheseout-of-scopeflows,IseethattheCUSTOMER/2entityIhadaddedtomaintainthelogicalleft-to-right,top-downflowisunnecessarysinceitisnolongerinvolvedinanydataflows,soIcanalsodeleteit.

Page 29: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

InowhaveaperfectlylegitimateContextLevelDataFlowDiagram(akaa“ContextDiagram”,a“LevelO(Zero)DFD”,orsometimesa“Level1DFD”)fortheproject.Notethateveryflowonthediagrameithergoesintoorcomesoutoftheoneprocessonthediagramthatisinscope,namelyENTERORDERS.ThatisoneofthehallmarksofagoodContextLevelDFD.Itsprimaryreasonforbeingistomanagethescopeoftheproject.Assumingmydiagramisanaccuraterepresentationofthesituation,anythingdoneduringtheENTERORDERSprocessisinscopeandsubjecttochange;everythingelseisoutofscopeforthisproject.Ifanyonestartstodiscussproblemswithselectingthebestshippingmethodforashipment(basedonthenarrativethisisdoneintheWAREHOUSE),Ipointtothediagramtoshowwhythatproblemisirrelevanttothecurrentscopeoftheprojectandthereforeweshouldnotspendprojectresourcesdiscussingit.

WhenIlookatthisdiagram,Irecognizeadifferentproblem.IamsendingNewCustomerOrderstotheCREDITDEPARTMENTwhereaccordingtothenarrativetheyare‘helduntiltheyclearacreditcheck’.Thatbegsthequestion,‘Whathappenstothemoncetheyhaveclearedthecreditcheck?’WhatdoestheCREDITDEPARTMENTdowiththem?WhenIposethatquestiontomyprojectsponsor,sheexplainsthattheCREDITDEPARTMENTsendsapprovedordersbacktoORDERENTRY,whichODERENTRYhastocontinueprocessingthesameasotherordersfromknowncustomerswithgoodcredit.ThatfactcausesmetoaddtheflowCreditOKOrdersfromtheCREDITDEPARTMENTtotheENTERORDERSprocess.

Page 30: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Asasidenote,itisnotunusualtodiscovermissingflowssuchasthisonceyoustarttoworkwiththeContextLevelDFD.Theearlierintheprojectthatyoucanidentifythem,thecheaperitistoincorporatethemintoyourprojectwork.Bytheway,ifyouidentifiedthisissuewhileyouwerecreatingtheoriginaldiagramandaddedthisflowatthattime,kudos,youareonestepaheadofme.

Page 31: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 32: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Questionsansweredinthischapter:

Whatdoes“explodingaprocess”mean?

Whatisthebusinessvalueofdoingit?

Whatprocesseswillthelowerleveldiagramcontain?

HowtoIdentifyInternalProcessesonaDFD

Page 33: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

GettingtotheNextLevel

AsrevealingandusefulasaContextDiagrammaybe,itiscertainlylackingalotofdetail.InDataFlowDiagramminglingo,thedetailisrevealedby“exploding”or“levelling”complexprocesses(e.g.ORDERGOODS)toidentifyinternalprocessesandflowsthatarenotvisibleatthehigherlevel.Byexplodingaprocess,youwillalsoidentifyinternaldatastores,meaningplaceswherethedatajustsitswithintheprocesswaitinguntilitisusedbyanotherprocess.DelvingintothislevelofdetailmayallowyoutodiscoveradditionalmissingflowssuchastheCreditOKOrdersflowwedealtwithpreviously.

Eachoftheseinternalprocessescreatesandconsumesspecificdata.Ifyoudrawadataflowdiagramatthismoredetailedlevel,youuncoverinternaldataflowsanddatastoresthataremorespecificanddetailedaswell.Anyprocessatanylevelofdetailisapotentialcandidateforexploding.Theonlyfactortoconsideriswhetheryouunderstandtheprocesssufficientlytopredicthowchangewillaffectit.

Forexample,toanalyzehowtheENTERORDERSprocessworks,Ineeddetails.Torepresentit,IamgoingtolookinsidetheENTERORDERSprocessanddefinehowitcurrentlyworks.

Page 34: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

MiningforProcesses

GiventhatallIhaveatthistimearemyinterviewnotesfromtheprojectsponsor,Istartbyanalyzingthemtofindtheselower-leveldetails.Specifically,IamlookingforactionsthatrepresentlowerlevelprocessesperformedwithinENTERORDERS.Weexpressactionsasverbs,buttheverbshavetopassacoupleofothertestsbeforeIwillconsiderthemcandidatesforaprocessonmydetail-leveldiagram:

1. Verb-Object

Iwillonlyacceptverbsintheiractivevoice(e.g.,‘enterorders’isactivewhereas‘ordersareentered’ispassive).WhenIfindaverbinthepassivevoice,Iconvertittoactivevoicetoevaluateifitisalegitimateprocess.Specifically,Itrytogiveeachprospectaproperactive-verb-direct-objectnameasrecommendedfornamingprocessesonaDFD(e.g.,CheckInventory,SeparateMail).

2. TransformingAction

Thestatedactionhastodosomethingthatwillultimatelyberepresentedintheformofdata,meaningittransformsincomingdataintooutgoingdata.Iftheactionaffectsphysicalmaterial(e.g.,‘Shipment’),theapplicationwillhavetoknowsomethingaboutthematerialandthatsomethingwillalsobedatainsomeformoranother.

3. InScope

TheactionhastobewithinthescopeoftheprocessIamanalyzing(inthiscase,EnterOrders).

OnlyiftheactionpassesallthreeruleswillIconsideritasapotentialinternalprocess.

TomakesurethatmylowerleveldiagramisanaccuratedepictionofhowtheENTERORDERSprocessreallyworkstoday,Iinvolvearepresentativefromthegroupwhoactuallydoesthework.ManagerssuchasMarytypicallydonotneedtoknowthelevelofdetailIneed.Assumingtheywerepromotedfromtheranks,theyprobablyknowhowtheydidtheworkbackthenbuttheymaynotbeuptodateonexactlyhowtheworkisdonetoday.TogetatrulyaccurateandcurrentpictureoftheENTERORDERSprocess,IreviewthenarrativeandidentifytheinternalprocesseswithPaul,anOrderEntryClerk.SinceprocessesonaDFDareactions,wesimplylookforverbsstatingorimplyingactionsandthenapplymythreerules.Hereisalistofthecandidatesweidentifyinouranalysisoftheinterviewnotes.

InterviewNotes

Thecustomertriggersalltheactioninourdepartment.Wereceiveanorder(withorwithout

payment),acomplaint,orapayment(withorwithout

Page 35: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

invoicecopy)fromthecustomer.Theseareseparatedandthefollowingactionstakeplace:

Ifitisanorder,weverifyanexistingcustomer’screditstatusandthenweverifythattheitemnumbers

arevalidbycheckingourinventoryfile.Newcustomer’sordersaresenttothecreditdepartmentandhelduntiltheyclearacreditcheck.(Ifhalf

paymentormoreisincluded,thatorderistreatedasifitwereacreditorderwithgoodcredit.)

Validordersareaccumulatedandgroupedintoshippingzonesandtransmittedtothewarehousetobe

filled.Afteranorderisfilled,…

Afterapplyingouraforementionedrules,thefollowingpictureemerges:

Ananalysisoftheremaininginterviewnotesdoesnotrevealanyadditionalactionsthat

Page 36: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

areinscopeANDtransformdata.Asyoucansee,outoftheratherlengthyinterviewnotesfromMaryweactuallyidentifiedonlyfourinternalprocessesthatarepartoftheENTERORDERSprocess:

SORTMAIL

VERIFYCREDIT

VALIDATEITEMS

GROUPVALIDORDERS

ALevel2DataFlowDiagramwillshowhowthesefourinternalprocessestransformtheincomingflowstocreatealloutgoingflows.Whiledrawingthediagram,wemaydiscovermissingflowsand/ormissinginternalprocesses.Thatisnotabadthing;itisoneofthemajorbenefitsofexplodingorlevelingaprocess.

Page 37: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 38: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Questionsansweredinthischapter:

Whatisasimpleapproachfordrillingdownintoaprocess?

WhydoitandwherecanIstart?

HowcanIshowtheinternalprocessesandflowsthatproducetheresults?

DrawingaDetailLevelDFD

LookingattheContextdiagram,the“Orders,Complaints,andPayments”dataflowfromtheCUSTOMERiswhereitallstartsandlookingatourlistofpotentialinternalprocesses,SORTMAILappearstobethefirststepintheprocess.

Thecustomertriggersalltheactioninourdepartment.Wereceiveanorder(withorwithout

payment),acomplaint,orapayment(withorwithoutinvoicecopy)fromthecustomer.Theseareseparated

andthefollowingactionstakeplace:

Therefore,IstartmydetaileddiagramontheleftsideofanewsheetofpaperwiththeOrders,Complaints,andPaymentsflowcomingfromtheleftintotheprocessSORTMAIL.Bytheway,dataflowdiagramstendtogrowwideasopposedtohighsoIsuggestdrawingthediagramin‘Landscape’orientation.Withthatlayoutoption,Iamgoingtotrytosimplydrawthediagramhorizontallyacrossthemiddleofthepage,leavingspacebothaboveandbelowthesymbolsforadditionalinformationthatIsomehowalwaysneed.

NotethatIamexplodingaprocessENTERORDERSfromahigherleveldiagramwhichclearlyshowstheOrders,Complaints,andPaymentsdataflowcomingfromtheexternalentityCUSTOMER.Technicallyspeaking,Idonothavetorepeattheexternalentitysymbolonthelowerleveldiagram—butIwillifitaddsclarity.

BasedonPaul’sexplanationofwhattheSORTMAILprocessentails,IaddthreeseparateflowsOrders,Complaints,Paymentsastheoutcomeoftheprocess.SincemyprimaryinterestistheOrders,thatisthedataflowgoingouttotherightoftheprocess.Theothertwosecondaryflowscomeoutofthelowerpartoftheprocesssymbol.

Page 39: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Basedonthenarrative,thenextstepintheprocessisVERIFYCREDITsoIaddaprocesswiththatnametotherightoftheSORTMAILprocesswiththeOrdersdataflowcomingintoitfromtheleft.

InterviewNotes

Ifitisanorder,weverifyanexistingcustomer’screditstatusandthenweverifythattheitemnumbers

arevalidbycheckingourinventoryfile.Newcustomer’sordersaresenttothecreditdepartmentandhelduntiltheyclearacreditcheck.(Ifhalf

paymentormoreisincluded,thatorderistreatedasifitwereacreditorderwithgoodcredit.)

Theverb‘Verify’onaprocessmodelalwaysimpliestwoinputs.Ineedsomethingtoverify(inthiscasethecustomerinfofromtheOrder)andsomethingtoverifyitagainst.ThenarrativedoesnotstatewhatthatisbutPaulexplainstomethatheverifiesacustomer’screditstatusbycheckingtheCUSTOMERSdatastore.

Page 40: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

ThisrevelationcausesmetoaddthedatastoreCUSTOMERSabovetheVERIFYCREDITprocessandthedataflowCustomerCreditStatusfromCUSTOMERStoVERIFYCREDIT.DrawingthisforcesmetoaskPaulwhathappensifthecustomerisnotintheCUSTOMERSdatastore?“Well,thatwouldmeanitisanewcustomerinwhichcasewesendtheorderovertotheCREDITDEPARTMENTforacreditcheck,”Paulreplies.

IrepresentthisknowledgebyaddingadataflowlabeledNewCustomerOrdercomingoutofthebottomoftheVERIFYCREDITprocess.SincetheflowwiththatnameisshownontheContextDiagramgoingfromENTERORDERStotheCREDITDEPARTMENT,IdonothavetodrawtheexternalentityCREDITDEPARTMENTonmydetaileddiagram(butIwillifitaddsclarity).

Customerswithgoodcreditgotothenextprocess,whichournarrativeindicatesistheVALIDATEITEMSprocesssoIaddCreditOKOrderscomingoutoftheright-handsideoftheVERIFYCREDITprocessgoingintotheleftsideofthenewVALIDATEITEMSprocess.

InterviewNotes

Ifitisanorder,weverifyanexistingcustomer’screditstatusandthenweverifythattheitemnumbers

Page 41: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

arevalidbycheckingourinventoryfile.Newcustomer’sordersaresenttothecreditdepartmentandhelduntiltheyclearacreditcheck.(Ifhalf

paymentormoreisincluded,thatorderistreatedasifitwereacreditorderwithgoodcredit.)

Thatbegsthequestion,“Whathappenstocustomerswithbadcredit?”whichPaulexplainsarealsosenttotheCREDITDEPARTMENT.ThisaddstheflowCreditNOKOrdersdrawnparalleltotheNewCustomerOrdersflowbelowtheprocess.SincebothdataflowsaregoingtotheCREDITDEPARTMENT,Iaddthatexternalentitytothediagramtomakeitvisibleatthislevel.

Havingdonethat,IreferbacktothecontextdiagramandseetheCreditOKOrdersdataflowcomingfromtheCREDITDEPARTMENTonceanewcustomerhasclearedacreditcheck.IaskPaulandheexplainsthattheseordersgodirectlyintotheVALIDATEITEMSprocessthesameastheCreditOKOrderscomingfromourinternalVERIFYCREDITprocess.IcansimplifymydiagramthenbymergingthetwoincomingflowsandremovingthenamefromthedataflowfromtheCREDITDEPARTMENT.Iliketokeepthediagramas‘clean’aspossibleastoomuchclutterconfusespeople.Iftwoflowsareidentical,Iwouldliketohavethenameofthedataflowonthediagramwherethetwo

Page 42: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

becomeone.

Accordingtothenarrative,theVALIDATEITEMSprocessneedsaccesstoanINVENTORYfile,soweaddthedatastoresymbolwiththatname.WhenIaskPaulwhattheyneedfromtheINVENTORYfiletoverifytheitemnumbers,herepliesItemNumbersandDescriptions,soIaddthatflowfromINVENTORYtoVALIDATEITEMS.

Theaction‘validate’isjustlike‘verify’inthattherewillalwaysbetwopossibleoutcomes,agoodandabad.OrdersonwhichallitemnumbersarevalidarecalledValidOrdersandtheseareaccumulated—whichisnotalegitimateinternalprocessbutimpliesadatastore.IaddthedataflowValidOrdersgoingouttherightsideofVALIDATEITEMSintoanewdatastorewiththesamename.

AnotherconventionofDFD’sstatesthatifthedataflowgoingintoadatastorehasthesamenameasthedatastoreitself,Idonothavetonamethedataflowasitisself-evident.RemovingthenamefromtheflowallowsmetoshortenthearrowandmovethedatastoreVALIDORDERSclosertoVALIDATEITEMS,whichfreesupspaceforonemoreprocess.

First,however,IhavetoaskPaulwhathappensifthereisamismatchbetweenanitemnumberanddescriptionontheorderandtheitemnumberanddescriptionontheINVENTORYfile.HerepliesthatwouldmakeitanInvalidOrderwhichtheysendtoCUSTOMERSERVICEsotheycancontactthecustomertoclarifyexactlywhatthecustomerintendedtoorder.Sincethisrevelationisnewtome,Iaddtheexternal

Page 43: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

CUSTOMERSERVICEbelowtheVALIDATEITEMSprocessastherecipientoftheComplaintsflowandaddthedataflowInvalidOrderscomingfromVALIDATEITEMStoCUSTOMERSERVICE.

AsalwayswhenIdiscoveranewflowtoanexternal,Ineedtoaskthefollow-onquestion,“Doyougetanythingback?”

“Sure,wegetaValidOrderbackfromCUSTOMERSERVICE,”Paulreplies.

“AndwhatdoyoudowiththatValidOrder?”

“ItgoesdirectlyintotheVALIDORDERSpilejustlikethoseordersthatpassedtheVALIDATEITEMtest.”

ThisstatementaddstheflowfromCUSTOMERSERVICEtothedatastoreVALIDORDERS.Again,sincethedataflowandthedatastorehavethesamename,Idonotputthenameonthedataflow.

Page 44: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

ThefinalinternalprocessonourlistofcandidatesisGROUPORDERSandthenarrativeconfirmsthatvalidordersare‘groupedintoshippingzones’,soIaddaprocessGROUPORDERStothediagramandaddadataflowcomingfromtheVALIDORDERSdatastore.

InterviewNotes

Validordersareaccumulatedandgroupedintoshippingzonesandtransmittedtothewarehousetobefilled.Afteranorderisfilled,thecustomeraddressisattached,thebestorrequestedshippingmethod

determined,postageorshippingcostscalculated,theorderisshipped,andthe…

MydiscussionwithPaulrevealsthatSHIPPINGZONESisadatastore,whichIaddabovetheprocessGROUPORDERSandconnectthetwowithadataflowdowntotheprocess.

Page 45: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Thephrase‘transmittedtothewarehouse’representsaflowfromtheGROUPORDERSprocesstotheWAREHOUSE.

InterviewNotes

Validordersareaccumulatedandgroupedintoshippingzonesandtransmittedtothewarehousetobefilled.Afteranorderisfilled,thecustomeraddressisattached,thebestorrequestedshippingmethod

determined,postageorshippingcostscalculated,theorderisshipped,andthe…

Logically,wenamethedataflowGroupsofValidOrderstoindicatethatboththevalidationandgroupingprocessesarecomplete.Asperconvention,IcaneitherputtheWAREHOUSEentityonthediagramorleaveitoff,asitisobviousonthecontextdiagram.

Page 46: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

ThenextsentencesintheinterviewnotesfromMarydescribewhattheWAREHOUSEthendoeswiththeorder.TheWAREHOUSEmightbeofinterestifIdecidetocreateadataflowdiagramoftheorderfulfillmentprocess,butinthatcase,IwouldreallyhavetotalktosomeoneintheWAREHOUSEtomakesureIunderstandthatprocess.SincetheWAREHOUSEisanexternalentity,Idonothavetoworryaboutthatforthisproject.

Atthispoint,wehaveusedalloftheinternalprocessesweidentifiedinourinitialanalysisoftheinterviewnotes.Lookingatthediagram,InoticethateveryflowleavingoneoftheinternalprocessesgoestoanexternalentityatthislevelwiththeexceptionofthePaymentsflow,soIaddACCOUNTINGtothediagramtomakeitconsistent.Voila,wenowhaveafirstcutdataflowdiagramofhowtheENTERORDERSprocessworks.Theonlyquestionis,howcanweconfirmthatitiscomplete?

Page 47: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 48: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 49: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Questionsansweredinthischapter:

WhatdoesbalancingaDataFlowDiagrammean?

Whatisthebusinessvalueofbalancing?

WhatisthemostefficientapproachtobalancingaDFD?

DiscoveringMissingProcessesandData

Toconfirmthatitisindeedcorrectandcomplete,thenextstepisto‘balance’thetwodiagrams.Whatdoesthatmean?

ThereareactuallytwostepstobalancetheindividuallevelsofDFDs.Thefirststepisverysimpleinthatyouarecomparingflowsenteringandleavingthedetailleveldiagramwiththehigherleveldiagram.Todothat,Ineedtobeabletoviewbothdiagramsatthesametime.

Inourexample,weexplodedtheENTERORDERSprocessfromthecontextdiagram.IfInowcomparetheexplodedversionwiththecontextversion,logicdictatesthatallflowsgoingintoorcomingoutoftheENTERORDERSprocessonthecontextdiagramhavetoshowupontheexplodedversiongoingintoorcomingfromoneofthemoredetailedprocessesatthatlevelandviceversa.

Ifinditsimplesttobalancestartingattheupperlevelandcomparingflowsclockwisefromthatdiagramtomakesuretheyallappearonthelowerlevel.IchecktheflowsoffonbothdiagramsasIgotohaveavisibletrailandensurethatIamnotmissinganything.Lookingatthecontextdiagram,IseeOrders,Payments,ComplaintscomingfromcustomerintoENTERORDERS.Iseethesameflowonthedetailedviewcomingfrom

Page 50: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

CUSTOMERintoSORTMAIL.Theseflowsarethesame;therefore,Iputacheckmarkonthemoneachdiagram.

ContinuingclockwisearoundENTERORDERSontheContextLeveldiagram,IseeaNewCustomerOrdergoingtotheCREDITDEPARTMENT.Iseethesameflowinthesamedirectiononthelowerleveldiagram,soIcheckthoseoff.IalsoseematchingCredit

Page 51: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

OKOrderscomingbackfromtheCREDITDEPARTMENTandcancheckthemoffaswell.

NextIseeValidOrdersgoingfromENTERORDERStotheWAREHOUSE.Onthedetaileddiagram,IseeGroupsofValidOrdersgoingtotheWAREHOUSE.AfterconfirmingwithPaulthatthatistheonlydataflowtothewarehouse,Iwouldliketoremovethediscrepancytoavoidmisinterpretation.Sincethedetailedlevelismorespecific,IchangethecontextdiagramtoreadGroupsofValidOrdersandcheckbothflowsoff.

Onthecontextdiagram,thenextflowoutofENTERORDERSistheCopyofOrderwithPayment,PaymentsbeingsenttoACCOUNTING.OnthedetaillevelIseePaymentsgoingfromSORTMAILtoACCOUNTING,soIcancheckoffthatpartoftheflow,butwhatabouttheotherhalf?Itappearsthatwemissedsomething.

Page 52: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

IaskPaulwheretheCopyofOrderwithPaymentcomesfromandheexplainsthatACCOUNTINGrequestedacopyofanyorderthathasanattachedpayment.Asaresult,whiletheysortthemail,theyseparateorderswithpaymentfromorderswithoutpayment.Oncetheyaredonesorting,theygothroughthestackwithattachedpayments,removeattachedchecksfromorders,makeaphysicalcopyofthatorder,attachthechecktothecopy,andputthecopyoftheorderwiththeattachedcheckonthestackofpaymentsdestinedforACCOUNTING.Iftheattachedpaymentisatleasthalfofthetotalorderprice,theoriginalorderisstamped“CreditOK”andsentdirectlytotheVALIDATEITEMSprocess,bypassingtheVERIFYCREDITprocess.

Thisadditionalinformationcreatesaproblem.Obviously,wemissedthislittlenuanceinouroriginalanalysis,sowehavenochoicebuttocorrectthelowerleveldiagramtoreflectthenewlydiscoveredfacts.WeaddaprocessCOPYORDERSw/$betweenSORTMAILandACCOUNTING.WeaddaflowOrdersw/$fromSORTMAILtoCOPYORDERSw/$andthenaddtheoutgoingflowsCopiedOrdersw/$toACCOUNTING,OriginalOrdertoVERIFYCREDIT,andCreditOKORDERSflowtotheVALIDATEITEMSprocess.IhavetochangetheOrderflowbetweenSORTMAILandVERIFYCREDITtoreadOrdersw/o$.Inaddition,IchangethecontextdiagramflowCopyofOrderwithPayment,PaymentstoreadCopiedOrdersW/$,Paymentsandcheckmatchingflowsoffonbothdiagrams.

Page 53: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Thatisagreatexampleofhowexplodingandlevelingadataflowdiagramcanidentifyamissingprocess.

Backtothecontextdiagram,IseeaNewOrdercominginfromCUSTOMERSERVICE.Onthedetailview,IhaveaValidOrderandaCreditOKOrderbothcomingfromCUSTOMERSERVICE.WhichistheNewOrder?PaulexplainsthattheNewOrderisonethatCUSTOMERSERVICEcreatesinresponsetoacomplaint.ItisconsideredaCreditOKOrderbytheOrderEntryDepartmentandtheyjustchecktheitemnumbers,soIchangetheNewOrderflowonthecontextdiagramtoreadCreditOKOrderandmarkthosetwoflowsoff.Note,IcanonlymarktheCreditOKOrderfromCUSTOMERSERVICEoffonthedetaileddiagramalthoughIhavethreeotherflowsonthatdiagramthatareallnamedCreditOKOrders.IalsomarkthematchingflowsComplaintsgoingfromENTERORDERStoCUSTOMERSERVICEonbothdiagrams.

Havingcompletedthatstep,IamsatisfiedthatallflowsthatareonthecontextdiagraminvolvingENTERORDERSaretakencareof.Whatabouttheopposite,haveIcheckedoffalloftheflowscomingintoorleavingthedetaileddiagram?HereIamonlyinterestedinflowsthatarebetweenthedetailedprocessesandexternalentitiesandcanignorethe

Page 54: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

internalflowsbetweenprocesses.

StartingwiththedataflowOrders,Payments,ComplaintscomingfromtheCUSTOMER,Iproceedclockwisearoundthelower-leveldiagramtoseeifthereareanyunmatchedflows.InoteanInvalidItemsdataflowgoingtoCUSTOMERSERVICEthathasnomatchatthecontextlevel.ConfirmingwithPaulthatthedetailedviewiscorrect,IsimplyhavetoaddthatflowtothecontextdiagramflowingfromORDERENTRYtoCUSTOMERSERVICE.Icanthenmarkbothflowsasmatching.

Page 55: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Continuing,IdiscoverthatthedetaileddiagramalsoshowsCUSTOMERSERVICEsendingValidOrdersdirectlyintotheinternaldatastorewiththatname.Onthecontextleveldiagram,theyonlysendCreditOKOrders.CheckingwithPaul,IdiscoverthatValidOrdersfromCustomerServicearethecorrectedInvalidOrderstheyreceivedfromVALIDATEITEMS.Asaresult,IaddaseparateflowValidOrdersfromCUSTOMERSERVICEtoENTERORDERSonthehigherleveldiagram.

Finally,IfindaCreditNOKOrdergoingtotheCREDITDEPARTMENTonthelowerlevelthatisalsounmatched.Again,sincetheflowiscorrect,Isimplyaddittothecontextdiagramandmarkitoffonbothdiagrams.

Page 56: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Inowhaveawonderfullybalancedsetoftwodiagrams,oneshowingthecontextoftheprojectandtheseconddetailingtheENTERORDERSprocess.Obviously,ifmyprojecthadincludedtheWAREHOUSEorCREDITDEPARTMENT,Iwouldrepeattheprocessforeachrespectivelyandwouldprobablyidentifyadditionaldisconnectsthere.Giventhescopeofthisproject,Icouldbedoneatthistime.IfIfeelthatallprojectstakeholdersunderstandeveryprocessonmylowerleveldiagramatthelevelofdetailtheyneedtomaketheircontributions,Iwouldconsiderthediagrammingstepcomplete.Otherwise,thereisstillworktobedone.

Page 57: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 58: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Questionsansweredinthischapter:

Whatbusinessvaluedodetailedprocessspecificationsoffer?

HowcanIexpressdetailedspecificationsforprocessesanddata?

Whatis“metadata”andwhydoyouneedit?

DetailedProcessandDataSpecifications

Page 59: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

OptionalProcessMini-Specs

Ifwefeelthataprocessonthedetaildiagram,e.g.,theVERIFYCREDITprocess,isstilltoovagueandweneedmoredetail,wecouldexplodethatprocessfollowingthestepsIjustoutlined.Indataflowdiagramminglanguage,anyprocessthatyoudonotexplodetoalowerlevelofdetailiscalleda‘FunctionalPrimitive’.FunctionalPrimitivesarenotgoodcandidatesforfurtherexplosionbecauseanalyzingthedataflowswithinthemwouldrevealnothingofvalue.

Nonetheless,youmayneedtodescribewhathappensinsideaFunctionalPrimitiveusingadifferenttooltoenableathoroughanalysisortoinformthedownstreamdeveloperswhattheprocessreallydoes.AdescriptionofaFunctionalPrimitiveiscalleda‘Mini-Spec’ora‘ProcessSpecification’.YouhaveawiderangeofpossibletoolsfordocumentingtheseSpecifications.

Youcoulduseplain,simpleEnglishbywritingabriefdescriptionofhowweSORTMAIL.Inourexample,Icouldwrite:

Themailarrivesbetween8amand10amMondaythroughFriday.TheMailClerkopenseachenvelopeandseparatesthecontentsintofourstacks:OrderswithPayments,OrderswithoutPayments,Payments,andComplaints.Oncethatiscomplete,theMailClerkprocessesthestackofOrderswithPayments.

Foreachorder,hecarefullyseparatesthecheckfromtheorderwithoutdamagingeither,makesacopyoftheorder,staplesthechecktothecopy,andaddsthecopywithcheckattachedtothestackofPaymentsdestinedforACCOUNTING.Iftheamountofpaymentexceeds50%ofthetotalprice,hestampstheorder“CreditOK”andputsitonastacklabeledPrepaidOrders;otherwise,heplacestheoriginalorderonthe

Page 60: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

OrderswithoutPaymentstacks.

OncehehasprocessedallOrderswithPayment,theMailClerkdistributesthestackstotheappropriatedepartment:

OriginalOrdersstayintheOrderEntryDepartmentPaymentsandCopiesofOrderswithPaymentgottoAccountingComplaintsgotoCustomerService

IfyouandyourtargetaudiencearecomfortablewithconceptssuchasPseudoCodeorStructuredEnglish,youcouldalsowritethespecificationthusly:

Iftheprocessisprimarilyadecision-makingprocessandyourtargetaudienceiscomfortablewiththem,youcanalsouseadecisiontable(alsocalled‘TruthTables’).Tocreateadecisiontable,openaspreadsheet,andwritedowneachpotentialactionasacolumnheaderstartingwiththesecondcolumn.Ourcolumnheadersforthisexamplewillbe:

Page 61: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Iftheprocessinvolvesalotoflogicalbranching,youmightconsideranActivityDiagram,anEvent-ResponseDiagram,aSystemFlowChart,oranyothertoolsuitedfordepictingconditionalsequencesofactions.

IftheFunctionalPrimitiveisalreadyautomated,considerreferencingexistingdocumentationfromthatapplication.Ifitisnotautomated,checkforaproceduremanualdescribinghowtodoit.

Often,processesarecontrolledbybusinessrules.Youmightconsidersimplylistingtherelevantbusinessrulesasprocessspecifications:

SortMailRules:

1. Orderswithmorethan½paymentarecreditOKorders.2. Checkswillbeforwardedtoaccountingforimmediatedeposit.3. ComplaintswillbeforwardedtoCustomerService.

Giventhestateoftechnologytoday,youcanuseyoursmartphonetomakeavideoshowingthepeopleperformingtheprocess.ThekeyhereisthatyouhavemanyoptionsforcapturingandexpressingwhataFunctionalPrimitivedoesandtheseoptionsfarexceedthescopeofthispublication.EachofthepresentedexamplescontainthesameinformationabouttheSORTMAILprocess.AstheonewearingtheBAhat,youhavetopickthemodeofpresentationthatissuitablefortheprocessitdefinesandthatyouandyourtargetaudiencebothunderstand.

Page 62: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

CapturingDataElements

Theothersideofadataflowdiagramisthedata.Recognizethateveryarrowonthediagramrepresentsdataflowingfromsomewheretosomewhereandeverydatastorerepresentsdataatrest.Atthelowestlevelofdetail,youneedtounderstandexactlywhatdataiscontainedwithineachdataflowandineachdatastore.

Veryoften,problemsinaprocessarecausedbymissing,incomplete,inaccurate,oruntimelydata.Tobeabletoisolatedataissuesandtodefinetherequirementsforhowafutureapplicationcanavoidthem,youneedtoknowthedataelements.Youcouldconsiderthistheequivalentofexplodingaprocess.Ifyouexplodeadatafloworadatastoretoitslowestlevelofdetail,youfindabunchofDataElements.

ADataElementisatomicdata,meaningapieceofdatathatonlyhasvalueasawhole.Forexample,thedataflowCreditOKOrdercontainsallofthedatadescribingtheorder(customernameandaddress,itemsordered,orderdate,etc.)andsomeindicatorthatthiscustomerhasgoodcredit.Toshowthedataonyourdataflowdiagram,youcanlistallofthedataelementsoneverydataflowandeverydatastore.Whereasthislevelofdetailisoverkillformostprojects,itmightbeveryvaluabletoexplodeoneortwodataflowsordatastoresdowntotheelementaryleveltouncoverhiddenproblemsorensureunderstandablerequirements.Youmightalsoconsiderhyperlinkingthedataflowordatastoretoaworddocumentlistingtherelevantdataelements.

Letuslookataconcreteexample.ThisistheOrderFormthatourexampleuses:

Page 63: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

IfIignorethephysicallayoutandlookonlyattheindividualdataelementsontheform,Igetthislist:

OrderDateOrderNumberCustomerPO#CustomerIDCustomerNameShip-ToAddressBill-ToAddressItem#ItemDescriptionUnitPriceQuantityOrderedExtendedPriceDesiredShippingMethodTotalPrice

ThislistrepresentstheminimumdatacontentforeverydataflowonmydiagramthatcontainsthewordOrder(e.g.,Ordersw/$,Ordersw/o$,NewCustomerOrder,etc.).ItisalsothedatacontentforthedatastoreValidOrders.Ofcourse,thatisprimarilybecausethediagramrepresentsamanualprocessinvolvingphysicalorderformsbeingmovedfromoneprocesstoanother.Therewillbeadditional,flow-specificdataelements

Page 64: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

associatedwiththestatetheorderisin(withpayment,withoutpayment,newcustomer,etc.)butthislistismystartingpoint.

WhatdoestheonewearingtheBAhatneedtocommunicateabouteachofthesedataelementstothesolutionproviderssotheycandotheirjob?Typically,theyneedtoknowwhattheelementcontains(itsdescription),wheredoesitcomefrom(itssource),whohastheauthoritytochangeit(itsowner),whatkindofdatadoesitcontain(itstype),howtovalidateitscontents(datarange,validationrules),etc.Collectively,thisdataabouteachdataelementiscalled‘Metadata’.DependingontheroleyouastheonewearingtheBAhathaveontheproject,capturingandcommunicatingtheMetadatamayormaynotfallintoyourareaofresponsibility.

Ifyoudohavetocapturethis,Irecommendcreatingasimplespreadsheetcontainingallrelevantmetadataabouteachdataelement,forexample:

Obviously,thecolumnsinthespreadsheetcanbedifferentbasedonyourorganization’sneedsandtheproject.Thekeytakeawayhereisthatsolutionprovidersneedtoknowatonofdetailsaboutthedatathatthesolutionwillmanipulate.WhethertheresponsibilityoftheonewearingtheBAhatoranotherrole(i.e.,theonewearingthedataanalysthat)doesthis,itshouldbebusinessdecisionsmadebytheappropriatedecisionmakerswithinthebusinesscommunityandnotlefttotheimaginationofthosetaskedwithdevelopingthesolutionoreventheonewearingtheBAhat.

Page 65: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

HorizontalBalancingRevealsMissingDataElements

Ifyouinvestthetimetocreateadataflowdiagram(DFD),makesurethatyouaregettingthemostoutofit.Youcanusethediagramtoidentifypotentiallymissingdata,redundantdata,andpossibledataconflicts.Wewouldliketointroduceatechniquecalled‘HorizontalBalancing’orthe‘PreservationofData’law.Thetechniquecanbeveryusefulforidentifyingdatadiscrepancies,inconsistencies,andconflictswhicharethreemajorcontributorstoITprojectoverrunsandfailures.

BasedontherulesgoverningDFDs,aprocesshastotransformdata,meaningthedataitproduceshastobedifferentthanthedataitconsumes.Logicdictatesthatthedatacomingoutofaprocesscanonlycomefromtwopossiblesources:eitheritcomesdirectlyviaanincomingdataflowORtheprocesscreatesitusingthedataitreceives.

Adataflowcancomefromadatastore,anotherprocess,oranexternalentity.Processesneedalgorithmsorbusinessrulestocreatedata.Forexample,thesimpleprocessDetermineAgecontainsthealgorithmAge=CurrentYear(fromtoday’sdate)–BirthYear(fromtheEmployee’sDateofBirth).Algorithmsandbusinessrulesinturnneeddata(gettingtheBirthYearrequiresanEmployeeIDtoselecttheappropriateemployee)whichhastoeithercomeintotheprocessfromanincomingdatafloworitselfbecreatedbyadifferentalgorithmorbusinessrule.Intheend,youshouldaccountforeverydataelementtheprocesscreatesandeverydataelementitneedstocreatetheoutput.

Page 66: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Tosimplifyhorizontalbalancing,focusondatafromtheincomingdataflowthateachprocessneedstocreatetherelevantoutput.Forexample,thephysicalorderformissentfromoneprocesstothenextinourexample,buteachprocessonlyneedsspecificdataelements.Forexample,theVERIFYCREDITprocessonlyneedstheCustomerIDand/orCustomerNametoaccesstheCUSTOMERSdatastore.CustomerIDandCustomerNameareessential;alloftheotherdataelementsontheorderformareirrelevanttoaccessingthecustomerdata.

IwilldemonstratethisconceptusingtheVERIFYCREDITprocessfromourretailstoreorderentryexample.

Allthreeoutgoingdataflowshavetheword‘Orders’intheirnamebecausetheydealwithphysicalorderforms.

InmyanalysisoftheOrderFormshowninthelastchapter,Idiscovereditcontainsthedataelements:

OrderDateOrderNumberCustomerPO#CustomerIDCustomerNameShip-ToAddressBill-ToAddress

Page 67: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Item#ItemDescriptionUnitPriceQuantityOrderedExtendedPriceDesiredShippingMethodTotalPrice

FromthesampleordersPaul,anOrderEntryClerk,provided,Ialsonotethatsomehaveastamp‘AttachedPayment’withadollaramounthandwrittenbelowit.Somealsohavea‘CreditOK’stampandothershaveonestating‘CreditCheckRequested’.Inriflingthroughthosestamped‘CreditCheckRequested’,IalsofindseveralordersinwhichtheCustomerIDfieldisblank.

Iinitiatehorizontalbalancingstartingwiththe‘norm’ormostcommonflowcreatedbytheprocess.AccordingtoPaul,thatistheCreditOKOrdersdataflowgoingtotheVALIDATEITEMSprocess.WhenIaskPaultoidentifytheEssentialDataElementsonthatflow,hereplies,“TheonlyEssentialDataElementinthiscasewouldbetheCreditOKIndicatorontheorder.Itjustshowsthattheorderisapprovedforfurtherprocessing.”

“Iunderstand.ButIalsothinkyouwouldneedtoknowwhichorderthat‘CreditOKStamp’ison,wouldn’tyou?”

Paulreplies,“Thatmakessense.IguesswealsoneedtheOrderNumber,whichis

Page 68: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

assignedwhenwesortthemail.Itisaddedtoeachorderbywhicheverofusissortingthemail.Itsimplyconsistsofthecurrentdateplusa4-digitrunningnumber.TheexampleIhaveherehasordernumber141103_1966writtenonitbywhoeversortedthemailonNovember3,2014.”

Basedonthatinformation,IaddOrder#,CreditOKIndicatorbeneaththelinelabeledCreditOKOrdersinparenthesistoindicatethesearedataelements.

“OK,thenextflowistheCreditNOKOrdersbeingsenttotheCREDITDEPARTMENT.Whatistheessentialinformationonthatflow?IassumetheOrderNumberandsomekindofastampindicatingthecreditisnotOK?”

Paul:“Thosewouldbetheoneswith‘CreditCheckRequested’stampedonthem.Thatindicatesitiseitheranewcustomerwhichweindicatebyleavingthe‘CustomerID’blankoranexistingcustomerwhoowesusfrompreviousorders.”

“Makessense.SoEssentialDatafortheCreditNOKOrdersdataflowwouldbethe‘OrderNumber’andthe‘CheckCreditRequestStamp’,right?DoestheCREDITDEPARTMENTneedanyotherinformationtodealwiththeseorders?”

“Sure,theyneedtoknowthe‘TotalPrice’ontheordersotheycandeterminewhethertheyshouldOKtheorderandsenditbacktouswiththe‘CreditOKStamp’onitornot.”

“WhatdotheydowithCreditNOKOrdersthatyousendthemthattheydonotapprove?”

“YouwouldhavetoasksomeoneintheCREDITDEPARTMENTthat.Ithinktheysend

Page 69: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

themovertoCustomerServicetocontactthecustomersincetheyaretheonlyonesinthecompanywhoarealloweddirectcustomercontact.”

“Ifthatistrue,thatwouldbebetweentheCREDITDEPARTMENTandCUSTOMERSERVICE,bothofwhomareoutofscopeforourprojectsowewon’tworryaboutthoseorders.”IjotdownOrder#,CheckCreditRequestIndicator,TotalPricebelowtheCreditNOKOrderslabel.

“AndIguessthesameistrueforNewCustomerOrders,right?”

“No.Anorderisfromanewcustomerifwecan’tmatchthe‘CustomerName’and‘Bill-To’fromtheorderwithanycustomersinourCUSTOMERSfile.Actually,ifthecustomerprovidesa‘CustomerID’,welookforthatfirstandifwefinditinourfile,wecomparethe‘CustomerName’and‘Bill-ToAddress’fromthe‘Order’toourfile.Iftheymatch,thenwesimplylookatthecustomer’s‘CreditStatus’andputtherespectivestampontheorder.

“Ifthe‘CustomerID’ontheformisblank,wehavetosearchthealphabeticalcustomerlisttotrytofindthecustomer.Ifwehaveacustomerwithamatchingname,wecomparethe‘Bill-ToAddress’ontheformwiththeoneinourCUSTOMERSfile.Iftheymatch,wefillinthe‘CustomerID’onthe‘Order’andagain,addtherespective‘CreditStatusStamp’.Ifwecan’tfindthecustomereitherbythe‘CustomerID’orbythe‘CustomerName’,westampthe‘OrderCreditCheckRequested’andputitonthepilegoingtotheCREDITDEPARTMENT.”

Page 70: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

IaddthedataelementsCustomerID,CustomerName,Bill-ToAddress,andCreditStatustothedataflowcomingfromtheCUSTOMERSdatastoreintotheVERIFYCREDITprocess.Inaddition,IaddtheCustomerName,Bill-ToAddress,CheckCreditRequestIndicator,andTotalPricebelowtheNewCustomerOrderslabelandask,“Doesthataccuratelyrepresentwhatyoujusttoldme?”

Paulreplies,“Ithinkso.Idon’tknowwhethertheCREDITDEPARTMENTneedsanythingelsefromusforaNewCustomerOrder,butwhatyouwrotedownmakessensetome.Iamnotsuretheydon’tneedtheShip-ToAddressforthecustomeraswell.Youmightwanttocheckwiththemtoconfirmthattheydonotneedanythingelse,though.”

“IwillcertainlyrunthisbythemtoseeifthisisallthedatatheyneedtoprocesseitheraNewCustomerOrderoronefromacustomerwithbadcredit.Fornow,wewillassumethattheDataElementsIlistedonthediagramaretheessentialDataElementsoneachflowcomingoutoftheVERIFYCREDITprocess.AsIexplainedearlier,eachofthesedataelementshastocomeintotheprocessononeoftheincomingdataflowsorbecreatedintheprocess.ComingbacktotheprimarydataflowCreditOKOrders,youtoldmethattheOrder#iscreatedintheSORTMAILprocess,right?”

“Right.That’sthenumberwehavetoaddtomakesurewecankeeptrackoftheorder.”

“Great.”IwriteOrder#beneaththedataflowlabelsOrdersw/o$andOriginalOrderandadd“Iassumethatthisistruewhethertheorderhadanypaymentattachedornot,correct?”Paulconfirmsmyassumption.

Page 71: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

“Furthermore,Iunderstoodyouearliertoindicatethatyoualwaysgeta‘CustomerName’,and‘Bill-toAddress’fromtheorderandsometimesyoualsogeta‘CustomerID’.”AfterPaulconfirms,IaddthoseDataElementnamesbelowtheOrder#onboth,theOrdersw/o$andOriginalOrderdataflows.IalsonoticethattheTotalPriceisonorderformsoIadditasadataelementtotheOrdersw/o$andtheOriginalOrderdataflows.

Havingdealtwithalloutgoingandincomingflows,InowreviewtheresultswithPaul.“ItappearsthattheonlydataVERIFYCREDITcreatesistheCreditOKIndicatorortheCheckCreditRequestIndicator.BothofthemarecreatedbasedonthecontentsoftheCustomer’sCreditStatus,whichiscomingoutoftheCUSTOMERSFile.YoufindthecustomerbasedoneithertheCustomerIDorbothCustomerNameandBill-ToAddress.Bothofthemarecominginononeofthetwoorderdataflows.Isthatallcorrect?”

Paulagrees.

Page 72: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process
Page 73: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Questionsansweredinthischapter:

WhyshouldIdrawaDataFlowDiagram?

WhatdoesafullybalancedDFDlooklike?

WhatvaluedoesaDFDfragmentprovide?

ThePowerofDataFlowDiagrams

Page 74: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

WhatDoestheDataFlowDiagramDoforYou?

FromtheperspectiveoftheonewearingtheBAhat,theactofcreatingadataflowdiagramisanawakening.Drawingthediagramforcesyoutoaskquestionsthatyoumightotherwiseoverlook.Itisalsoanawakeningformembersofthebusinesscommunitywhoseprocessyouaredepicting.Thepeopleinthetrenchesandthosemanagingthemquiteoftenhaveneverseenapictureoftheirprocessandapictureactivatespartsofthehumanbrainthatwordscannot.Asaresult,thephrase,“Isee”takesonawholedifferentmeaningwhenyouarepresentedwithapictureofyourprocess.Forthatreason,IrecommenddrawingaDFDjusttogeteveryoneinvolvedonthesamepage.

OnceyouhaveaDFD,explodingaprocessandbalancingthedatainputsandoutputsbetweenthelevelsoftenrevealsmissingdataflows.

Afterall,noonecanthinkofeverythingatonce.Ifthetoolfindsasinglemisseddataflow,itisprobablywellworththetimeittooktodrawthediagramandapplythetechnique.Thesameistrueofhorizontalbalancingtorevealmissingdataelements.IfweaskedITtoautomateaprocesswithamissingdataflow,wemostlikelywillendupwithanapplicationthatdoesnotmeetthebusinessneeds.

ITprofessionalsaregenerallyextremelygoodattheirjobandtheywillmostlikelyrecognizethattheyaremissingsomethingatsomepointinthedevelopmentprocess.Theproblemisthetimingofthediscoveryandtherelatedcostwhentheomissionis

Page 75: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

discovered.Addingamissingprocesslateintheprojectisarelativelysimplestep,butmissingdataoftenaffectsamultitudeofprocesses,makingitoneofthemostexpensiveerrorsforITprojects.Thesimpleactofidentifyingdataelementsandensuringtheircompletenessallowsyoutorecognizeandresolvetheseissuesbeforeyouinvolvedevelopers.Inmyexperience,thatisoneofthemostpowerfulargumentsforspendingtimetodevelopandanalyzeadataflowdiagram.

Page 76: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

AFullyBalancedDFD

Torecap,acompletelybalanced(levelled)dataflowdiagramstartsatthetopwithacontextdiagramconsistingofoneormoreprocessesthatareinscopeforyourprojectandallexternalentitieswithwhichthoseprocessesexchangedata.

EachofthoseLevel1processesexplodestoaLevel2dataflowdiagramdepictingthedetailedprocessesinsidetheLevel1processwithalldataflowsanddatastoresthatareinternaltotheexplodedprocess.EachprocessontheLevel2diagramwouldeitherexplodefurthertoaLevel3DFD(andfromLevel3toLevel4,etc.)orbedescribedindetailedprocessspecifications.EachdataflowandeachdatastoreonthelowestlevelDFDwouldexplodetoalistofthecontaineddataelements.

Page 77: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

CreatingaDFDFragment

AlthoughbalancingacompletelylevelledDFDrevealsdatadiscrepanciesanddisconnects,itmaynotbenecessaryforyourproject.Manypeople(inparticularonprojectsfollowinganAgileapproachtodeliveringtechnology)onlyneedasmallfragmentofaDFDtounderstandtheinnerworkingsofaspecificprocess.ThetimerequiredtocreateacompletelybalanceddiagramisnotjustifiedifadeveloperonlyneedstoknowhowtheCREDITDEPARTMENTestablishesthecreditlimitforanewcustomer.Inthatcase,aDFDfragmentmightsuffice.

ThefollowingisanexampleofaDFDfragmentbasedonanexercisethatweuseinourinstructor-ledclasses.Totestyourunderstandingoftheconceptspresented,youmightwanttotakethisopportunitytodrawaDFDfragmentusingtheprojectScopeStatementandtheInterviewNotesthatfollowbeforepeekingatoursolution.

ScopeStatement:Thisprojectwillenhanceourweb-basedPolicyMaintenanceSystembyallowingpolicyholderstointeractdirectlywiththeirinsurancepoliciesorclaims.Thesystemwillsupportweb-basedpolicypaymentsandallowprospectstoapplyfortemporarycoveragependingunderwritingrateapproval.OncetheapplicationisreceivedbyUnderwriting,itwillfollowstandardUnderwritingprocedures.

InterviewNotes:Inthefuture,aprospectwillsubmithis/herapplicationviaourwebsite.Iftheprospectdoesnotyethaveapolicywithus,thesitewillrequestacreditcheckwebserviceandeitherrejectorapprovetheapplicationdirectly.Iftherequestisfromoneofourcurrentcustomersingoodstandingorapprovedviathecreditcheck,thesitewillprovideatemporaryproofofinsurancecertificatethattheprospectcanprintoutandusetoregisterhis/hervehicle.Inanycase,therequestwillthenbeforwardedtounderwritingfornormalprocessing,whichwilleitherleadtoacceptance(thenorm),modification(overridingawebrejection)orrejection(badrisk).Iftherequestisapproved,apolicywillbeissuedandsenttothecustomerviastandardmail.

Page 78: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Hereisanexampleofthediagramthatmanyofourstudentshaveproducedforthisscenario.

Notethatthisdataflowdiagramshowsabusinessprocessatsomeindeterminatelevelofdetail.Someoftheprocessesmightbeveryhigh-levelwhereasothersareveryspecific.Ifyouneedtounderstandhowanyoftheseprocessesworksindetail,youcould“explode”ittoseeitsinternalprocesses.

Page 79: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

Summary

CreatingaDataFlowDiagramisanextremelyrevealingandrewardingstepintheanalysisofabusinessprocess.Ihaveneverusedanyothertoolthatisaseffectiveattriggeringanimateddiscussionsamongstthestakeholdersabouthowabusinessprocessworksandhowitcouldbeimproved.Obviously,creatingthediagramisjustthefirststep.Thediagramopensthedoortoaseriesofspecificbusinessanalysistechniquesthatwillhelpthebusinesscommunityrecognizehowtheiractionsimpactotherdownstreamprocesses.Youcanalsoidentifyproblemareas,timinganomalies,anderrorhandlingissuesthatcanleadtomissingrequirements.

Itisimportanttonotethatthediagramisasnapshotintime.Onceyoupresentthebusinesscommunitywiththisversatilevisualaid,theymayimmediatelystarttomakechanges.Becauseofthecumulativeeffectofthosechanges,youshouldneverassumethatthediagramyoucreatedafewmonthsorevenyearsagoisvalid.Ifyoureallyneedtounderstandthecurrentbusinessprocess,youarebestservedbystartingfromscratchaswedemonstrated.Theproblemyoufaceis,ofcourse,theeffortrequiredtoflushoutallofthedetailspresentedinthebalancingsection.Isitreallyworththetime?

Adataflowdiagramasatoolthatbenefitstheprojectorreducestheriskofpotentialprojectfailurecanbeworthitsweightingold.Werecommendagainstspendingprojectresourcesdevelopingonejustforthesakeofhavingapicture.

“Ithinkbydrawing,soI’lldrawordiagrameverythingfromapieceoffurnituretoastagegesture.Iunderstandthingsbestwhenthey’reingraphics,notwords.”-RobertWilson

Page 80: Data Flow Diagramming by Example: Process Modeling ...index-of.co.uk/Various/Data Flow Diagramming by... · Data Flow Diagrams (DFDs) represent the workflow or steps within a process

TableofContents

Preface

AbouttheAuthors

TableofContents

IntroductiontoDataFlowDiagrams(DFDs)fortheBusiness

BusinessProcesses,DataFlows,andValueChains

WhyCreateaDataFlowDiagram?

ModelingtheFlowofMaterialandData

VisualizingProjectScope

HowtoIdentifyInternalProcessesonaDFD

GettingtotheNextLevel

MiningforProcesses

DrawingaDetailLevelDFD

DiscoveringMissingProcessesandData

DetailedProcessandDataSpecifications

OptionalProcessMini-Specs

CapturingDataElements

HorizontalBalancingRevealsMissingDataElements

ThePowerofDataFlowDiagrams

WhatDoestheDataFlowDiagramDoforYou?

AFullyBalancedDFD

CreatingaDFDFragment

Summary


Recommended