140 likes | 255 Views
How to Get Started with Agile Project Management Methods for eLearning Megan Torrance TorranceLearning Training magazine’s Online Learning Conference 2013 Session 605. Megan Torrance has 20 years of experience in the learning industry,
E N D
HowtoGetStartedwith AgileProjectManagement MethodsforeLearning MeganTorrance TorranceLearning Trainingmagazine’sOnlineLearningConference2013 Session605 MeganTorrancehas20yearsofexperienceinthelearningindustry, coveringeverythingfrominstructionaldesign,elearning development,instructor-ledtraining,technicalwriting,LMS deployment&systemadministration,tochangemanagementand projectmanagement.MeganistheChiefEnergyOfficer(CEO)of TorranceLearning,anelearningdesignanddevelopmentfirmnear AnnArbor,MI.ShegraduatedfromCornellUniversitywithaBSin CommunicationandanMBA. GetintouchwithMegan: mtorrance@torrancelearning.com|m:734-368-5086 www.torrancelearning.com twitter.com/mmtorrance|linkedin.com/in/megantorrance
SelectedNotes&References Howdoyoukeepyourprojectfromfallingshortindeliveringclient(internalorexternal)needs ontime,andwithinbudget?Howdoyouadjustwhenclientneedsareoftenchanging?The softwaredevelopmentindustryisembracingAgiledevelopmentmethodstoaddressthese issuesandthereismuchthattheelearningdevelopmentworldcanlearnfromthem.Agile providesaframeworkforauthorizingadaptingtochangeasithappens,andworkingwiththe clienttodeliverthecontentmost-neededbylearners. ParticipantsinthissessionwilllearnabouttheAgilemethodswe’veadaptedandhowour projectteamsactuallyusethemonthejob.We’lltalkaboutthetools&suppliesyouneed,how tochooseaprojecttopilot,andhowwetrainourteam. Agileisoneofthe“nextbigthings”tohittheelearningworld.There’salotoftalkoutthere aboutwhatitis,andhowit’suseful(ornot)…butnotsomuchabouthowtogetstarted.This presentationwillfocusontheactualhow-to.Learnaboutatoolthatcanstreamlineyour process,figureoutifAgileisrightforyou,andgetanswerstoyourquestions. Agileletsyouadjustyour courseasyougo… whichmakesaheckofa lotofsense. page2 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
TheAgileManifesto InFebruaryof2001,agroupofseventeensoftwaredevelopmentprofessionalsgatheredinUtah todiscussprojectdevelopmentmethods.Eachbroughtuniqueperspectivesandexperiences, andcollaboratedinanefforttofindamoreefficientwaytodevelopsoftware.Bytheendofthe weekend,thegroup—whobegantorefertothemselvesas“TheAgileAlliance”—managedto agreeonfourmainvalues.ThesevaluesbecametheManifestoforAgileSoftwareDevelopment, whichwaspublishedandusedtodefinetheapproachnowknownasAgileSoftware Development. “TheAgileAlliance”alsorealizedthat,whiletheManifestoprovidedsomespecificideas,there wasadeeperthemethatdrovemanymembersofthegroup.Theywerebroughttogetherbya setofcompatiblevalues:valuesbasedontrustandrespectforeachother;valuesthat promotedorganizationalmodelsbasedonpeopleandcollaboration;valuesthatbuiltthetype oforganizationalcommunitiesinwhichpeoplewouldwanttowork.TheyconcludedthatAgile Methodologistsfocusedondeliveringgoodproductstocustomersbyoperatinginan environmentthatmadepeopleandcultureapriority. -- More: http://agilemanifesto.org/history.html http://en.wikipedia.org/wiki/Agile_software_development#Agile_Manifesto http://www.agilealliance.org/the-alliance/the-agile-manifesto/ http://scrummethodology.com/the-agile-manifesto-and-twelve-principles/ page3 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
AgilePrinciples “TheAgileAlliance”alsoestablished12additionalprinciplestosupportthefourcorevalues mentionedintheAgileManifesto.EachisusedtofurtherdescribewhatitmeanstobeAgile. page4 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
page5 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
AgileVariations Scrum Scrumisaniterativesubsetoftheagilemethodology.Projectsarebrokenupintosprints,which arethebasicunitsofdevelopmentinScrum.Sprintsaredecideduponinaplanningmeeting betweenstakeholdersanddevelopmentteammembers,andcanlastbetweenoneweekand onemonth.Aftereachsprintiscompleted,themeetingmembersreconvenetoassessthe progressofaprojectandplanitsnextsteps.Thisallowsaproject’sdirectiontobeadjustedor reorientedbasedoncompletedwork,ratherthanonguessesorpredictions. Thescrummethodologyalsoreliesonasetofspecificroles:theProjectOwner,theScrum Master,andtheTeamMembers.TheProductOwnerhasthemostresponsibility.Theyrepresent thecustomer’sinterestsandareinchargeofcommunicatingthevisionoftheproducttothe developmentteam.TheScrumMasteristhego-betweenfortheProductOwnerandtherestof theteam.Theyensurethatthingsaregoingaccordingtoplanandthattherearen’tany obstaclespreventingtheteamfromcompletingitssprint.TheTeamMembersareresponsible forcompletingwork.Theydecidehowtogettheworkdoneandthentheyexecutetheirplans. Atypicalteamconsistsofapproximatelysevencross-functionalmembers.Asoftwareproject team,forexample,wouldbemadeupofsoftwareengineers,architects,programmers,analysts, QAexperts,testers,andUIdesigners. -- More: http://scrummethodology.com/ http://en.wikipedia.org/wiki/Scrum_(development) Kanban Kanbanisateammanagementmethodthatencouragessmallcontinuous,incrementaland evolutionaryworkflowchangesthatstickovertime.Itscoreconceptsare:makeworkvisible, limitworkinprogress,andhelpworktoflow.Workismadevisiblethroughtheuseofvisual- taskboards,whicharealsocalledKanbanboards.Theseareusedtoshowateamhowaproject isprogressing:itrevealsactivities,limits,andblocks.Italsoallowsthemtoseethecauseand effectofchangestotheprocess,aswellaswhetherornotflowishappening. AkeyelementofKanbanisthatitplacesalimitonhowmuchworkinprogress(WIP)canexist inanystageatanyonetime.Thismeansteammemberscannotpullanewitemfromthework queueuntiltheyfinishanin-progressitemandaspaceontheboardopensup.Thefocus,then, becomesonfinishingandmulti-taskingorreceivingmoreworkthanthedeveloperscanhandle page6 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
becomesminimal.Inaddition,limitspreventoverproduction,revealbottlenecksbeforetheygetbecomesminimal.Inaddition,limitspreventoverproduction,revealbottlenecksbeforetheyget outofhand,andmaximizethroughput. TheWIPlimitstieintothethirdcoreconcept,whichishelpworktoflow.Kanbanutilizesthe leanconceptofflowtocontinuouslyandpredictablydelivervalue.Kanbanpracticesallow teamstolookattheentireproductionprocess,ratherthanaspecificdevelopmentphase;they spotworkflowissuesassoonastheyoccur,allowingforbottleneckstobeconfrontedand workedout,andtheyreducewaste,smoothingoutcostlydelaysintheprocess.WIPlimitsalso improveflowinthattheybringfocusandcompletionatasteadyrate,allowingteamstoswarm onlimiteditemsandthusincreasingtheamountofteamwork. -- More: http://www.kanban101.com/ http://richhewlett.com/2012/02/13/an-introduction -to-kanban/ http://niksilver.com/2011/02/16/what-is-a-kanban -limit/ ExtremeProgramming(XP) ExtremeProgramming,otherwiseknownasXP,focusesoncustomersatisfactionandteamwork. Itvaluesofsimplicity,communication,feedback,andcourage,andthegoalistoproduce outstandingproductsatlowercost,withfewerdefects,highproductivity,andahighreturnon investment.XPisalsobasedon12keypractices:ThePlanningProcess,FrequentSmallReleases, SystemMetaphor,SimpleDesign,TestDrivenDevelopment,Refactoring,PairProgramming, CollectiveCodeOwnership,ContinuousIntegration,SustainablePace,On-siteCustomer,and CodingStandard.However,thebasiclifecycleofanXPprojectisbrokendownintofourstages: Planning,Coding,Design,andTesting. ThePlanningProcessaddressestwokeyquestionsinsoftwaredevelopment:predictingwhat willbeaccomplishedbytheduedate,anddeterminingwhattodonext.Thetwokeystepsin thisprocessincludeReleasePlanningandIterationPlanning.Releaseplanningiswherethe Customerpresentsthedesiredfeaturestotheprogrammers,andtheprogrammersmakea high-leveltimeestimate.ThisallowstheCustomeristolayaplanfortheprojectthrough featureandcostprioritization.Iterationplanningisthedirectiontheteamisgivendirection everycoupleofweeks.Iterationsareestablishedaccordingtowhatthecustomerwantsdone byacertainpoint.Then,programmersbreakthoseneedsdownintotasks,andestimatetheir cost(withahigheramountofcertaintythantheestimatecreatedduringReleasePlanning). Bothstepsintheplanningprocesskeepprogressentirelyvisible,allowingXPprojectstodeliver moreofwhatisneeded,withlesspressureandstress. page7 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
InanXPproject,codingisdoneinpairs.Theprogrammerssitside-by-sideatthesamemachine,InanXPproject,codingisdoneinpairs.Theprogrammerssitside-by-sideatthesamemachine, whichensuresthatallproductioncodeisreviewedbyatleastoneotherprogrammer.This resultsinbetterdesign,bettertesting,andbettercode.Additionally,pairingservesto communicateknowledgethroughouttheteam.Aspairsswitch,teammembersbenefitfrom exposuretoeveryone’sspecializedknowledge.Programmerslearn,theirskillsimprove,and theybecomemorevaluabletotheteamandtothecompany. XPpractitionersalsoplaceemphasisonsimpledesign.Programmersonlydesignwhat’sneeded forthecurrentfunctionalityofthesystem.However,thisalsomeansthatdesignoccurs throughouttheproject,asitgetsupdatedwitheachiteration. XPrequiresfeedback,andgoodfeedbackrequiresgoodtesting.Assuch,manyXPteams practice“test-drivendevelopment,”orworkinginveryshortcyclesofaddingatest,then makingitwork.Testingallowsprogrammerstoreceiveimmediatefeedback,andprovide invaluablesupportastheproductdesignisimproved. -- More: http://www.extremeprogramming.org/ http://csis.pace.edu/~marchese/CS616/Agile/XP/XP_Overview.pdf http://www.comptechdoc.org/independent/xp/summary/intro.html http://xprogramming.com/book/whatisxp/ Lean ThecoreideaofLeanistomaximizecustomervaluewhileminimizingwaste.Theultimategoal istoprovideperfectvaluetothecustomerthroughaperfectvaluecreationprocessthathas zerowaste.Toaccomplishthis,leanthinkingchangesthefocusofmanagementfromoptimizing separatetechnologies,assets,andverticaldepartmentstooptimizingtheflowofproductsand servicesthroughentirevaluestreamsthatflowhorizontallyacrosstechnologies,assets,and departmentstocustomers.Eliminatingwastealongentirevaluestreams,insteadofatisolated points,createsprocessesthatneedlesshumaneffort,lessspace,lesscapital,andlesstimeto makeproductsandservicesatfarlesscostsandwithmuchfewerdefects,comparedwith traditionalbusinesssystems.Companiesareabletorespondtochangingcustomerdesireswith highvariety,highquality,lowcost,andwithveryfastthroughputtimes.Information managementalsobecomesmuchsimplerandmoreaccurate. LeanismorestrategicallyfocusedthanotherAgilemethodology.Thegoalsaretodevelop softwareinone-thirdthetime,withone-thirdthebudget,andwithone-thirdthedefectrate. Leanisnotamanagementordevelopmentmethodologyperse,butitoffersprinciplesthatare applicableinanyenvironmenttoimprovedevelopment.It’sbasedonseveralprinciples: page8 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
Eliminatewaste,Amplifylearning,Decideaslateaspossible,Deliverasfastaspossible,Eliminatewaste,Amplifylearning,Decideaslateaspossible,Deliverasfastaspossible, Empowertheteam,Buildintegrityin,andSeethewhole. • • • • • • • Eliminatewaste:Wasteisdefinedasanythingthatdoesnotcreatevalue—forexample, anactivitythatcouldbebypassedortheresultcouldbeachievedwithoutitiswaste. Thiscanincludeunnecessaryfunctionality,delayinthedevelopmentprocess,slow internalcommunication,bureaucracy,insufficienttesting,andunclearrequirements. Leanusesavaluesteammappingtechniquetodistinguishandrecognizewaste. Amplifylearning:Enablesprogrammersand/ordeveloperstoattaintheknowledgethey needtodevelopasystemthatdeliversbusinessvalue. Decideaslateaspossible:Delayingdecisionsaslongaspossibleuntiltheycanbemade basedonfactsandnotonuncertainassumptionsandpredictions. Deliverasfastaspossible:Thesoonertheendproductisdeliveredwithout considerabledefect,thesoonerfeedbackcanbereceived,andincorporatedintothe nextiteration. Empowertheteam:Theteamisthemostimportantelementinsuccessfullydeliveringa product.Inordertogivepeoplemotivationandresponsibility,theyneedtobe authorizedtomakeithappen. Buildintegrityin:Therearetwokindsofintegrity—perceivedandconceptual.Perceived integrityisthecustomer’sexperiencewiththeproduct.Conceptualintegrityishowwell thearchitectureandsystemcomponentsflowtogethertobringabouttheperceived integrity. Seethewhole:Leanthinkinghastobeunderstoodwellbyallmembersofaproject, beforeitcanbeimplemented.It’sonlywhenalloftheprinciplesarecombinedthat there’sabasisforsuccessinproductdevelopment. -- More: http://www.lean.org/whatslean/ http://codebetter.com/darrellnorton/2005/02/02/lean-software-development-overview/ http://en.wikipedia.org/wiki/Lean_software_development page9 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
AgileTechniques StoryCards Storycards,oruserstories,helptheteam defineandauthorizescopewithineach iteration.They’rehigh-levelandwritten fromtheperspectiveofthecustomerin ordertocapturewhatthecustomerneeds andwhy,ratherthanthetechnicaldetailsof how.Gooduserstoriesshouldbesixthings: Independent,Negotiable,Valuable, Estimable,Small,andTestable(INVEST). Auserstoryshouldbeindependentinthatitshouldhavenodependencyonoroverlapwith anyotherstorycard.Theoretically,thismeansthatstorycardsshouldbeabletobecompleted inanyorderaswell. Auserstoryshouldbenegotiableinthatitcanberewrittenorchangedupuntilitsproduction. Astorycardshouldcapturetheessenceofthecustomer'sneedwithoutactuallygoingintoany technicaldetails.Thoseshouldbediscussedafterthestorycardhasbeenwritten. Everyuserstoryshouldbeofvaluetothecustomerand/orenduser. Auserstoryneedstobeestimablesothatdeveloperscanprovideatimeestimate.Theestimate allowsforprioritizationandcontinuedprojectplanning. Auserstoryneedstobesmallorsizedappropriatelysothatit'seasytoplan,prioritize,andtask. Italsoleadstomoreaccurateestimatesandbetterpredictability. Auserstoryshouldbetestableinthatthere'sawaytodeterminethatthecustomer's requirementscanbeorhavebeenmet.Ifacardisn'ttestable,itshouldnotbedevelopedas thereisnowaytotellwhenthetaskisdone. -- Sources: http://www.agileforall.com/2009/05/14/new-to-agile-invest-in-good -user-stories/ http://paulecoyote.com/2009/02/22/agile-development-vocabulary/ http://xp123.com/articles/invest-in-good- stories-and-smart-tasks/ page10 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
PlanningLevels/TheBigPlanningBoard AnAgileprojectplancanhaveseverallevelsofdetail,dependingonthescopeoftheproject.At thehighlevelisaholisticviewofproductrequirementsaswellasatimeframeforwhenthe requirementswillbecompleted.IntraditionalAgile,therearetypicallytwolevelsofhigh-level planning:ProductRoadmapsandReleasePlans. Theproductroadmapisahigh-levelviewoftheproductrequirementsintheformofabig visiblechart.Itliststhekeyfeaturesandcharacteristicsaproductwillneedtodeliverinorderto achievethecustomer’svision.Assuch,ittypicallyspansanumberofreleasesoftheproduct.It isalsoatime-basedviewoftheanticipateddeliverylifecycleoftheproduct.Theproductowner andprojectmanagerareoftentaskedwithcheckingandupdatingtheboardaschangesare madeanditemsareadded,moved,andremovedfromtheroadmap. Thereleaseplanshowsthefeaturesthataretobedeliveredinthecurrentreleaseofthe product.Releaseplanningstartswiththeproductownerexplainingthegoalsfortherelease. Theteamdiscusseswhatisneededtodeliveragainstthesegoalsandexpressesanyother factorsthatneedtobetakenintoaccountwhendeliveringtherelease.Theplancontainsthe currentlyagreedprioritizedlistoffeaturesatstorylevel.It’sbasedaroundtheteam’s anticipatedrateofprogress(velocity)andconveysasharedunderstandingaboutwhatneedsto beincludedinthecurrentrelease. Weusecodenamesforeachofourprojectstoprotectthe anonymityofourclientsand,well,let’sfaceit,it’sfun! Thisway,anyonecanwalkthroughourfrontdoorandsee ourprojectboardsandtheywon’thaveacluewhether projectCherisforoneoftheFortune100companyclients orthecoffeeshopfranchisethatstartedjustdownthe street.Sometimesourclientsjointhefunandparticipate withchoosingtheirproject’scodename,othertimeswe getthecreativejuicesflowingourselves. -- More: http://www.dummies.com/how-to/content/the-agile- roadmap-to-value.html http://www.infoq.com/articles/many-levels -planning- agile-project page11 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
page12 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
WeeklyPlanningBoards Weeklyplanningboardsareusedwithineachiteration.Afteracustomeranddevelopment teamidentifythestoriestobeworkedon,theteambreakstheworkdownintospecifictasksfor eachteammember.Taskallocationisideallydoneona“pull”basiswherebyteammembers identifytheworktheyareabletodoandselecttheirowntasks.Tasksshouldbeverysmall– fromafewhourstoadayorso,andarediscretemeasurableactivities.Theprojectmanager confirmsthatallthetasksareallocatedandmakessuretheworkcommittedisrealistically deliverable,andthentheteammemberssequenceandestimatethem.Estimationisnowatthe levelofhoursofworkneededtoundertakeasingletask.Thesetasksarethenwrittenupon taskcardsandthetaskcardstrackedontheweeklyplanningboard. Ourweeklyboardshave“swim-lanes”for eachpersonwhoisassignedtoaproject. Aheadshotatthetopindicateswhois responsibleforthecardsthatarelaidout intheverticalcolumnbelow.Each project’sweeklyboardhashorizontal rowsforeachdayoftheweek(Monday, Tuesday…etc.)aswellasarowatthevery bottom,labeledpull-ahead.Anycards placedinthepull-aheadrowarecards thatcanbebroughtintoplayifsomeone completesalloftheirassignedtaskcards forthatweek. -- More: http://www.infoq.com/articles/many- levels- planning-agile-project page13 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605
Estimating InAgile,estimatesaremadetodetermineaproject’sdevelopmentscheduleaswellascosts. Therearetwolevelsofestimation:estimationdoneattheuserstorylevel,andestimationdone atthetasklevel.Estimationsdoneatstorylevelareusuallyinincrementsofdays,and estimationsattasklevelarebrokenupintohours.Inclassicagile,everyoneontheteammakes anestimate,thentheteamcalculatestheaverageandreportsitbacktotheclient.However, whenitcomestimetofinallyworkonthetask,theestimatethatwinsoutistheonethatwas madebythepersonwho’scompletingthetask. Weestimatecardsintwodifferentways.Wheneverpossiblethepersonwhowillbedoingthe workestimatestheamountoftimeneededtocompletethework—bottom-upestimating. However,therearetimeswhenthepersonwhowillbedoingthetaskneedssomeoneelseto provideanestimateforthem—top-downestimating.Thishappensmostofteninoneoftwo scenarios.First,whenthepersonisn’texperiencedinthetask;it’ssomethingtheyhaven’tdone beforesothey’reunsureofhowlongitwouldtake.Second,whenataskisnebulous;weneed toplaceboundariesonitforthesakeofprojectmanagementandbudgeting(e.g.researchbest practicesforimplementingcorporatementoringprogram—thiscouldtaketwoweeksortwo hoursdependingonthedepthofresearchneeded). Afewofourestimatingtips: Breakestimatesdowntothesmallesttimeincrements Themoreestimatesyoudo,thebetteryou’llgetatthem Nooneisyelledatforabadestimate Wecandiscussitanddisagreebutifittakesyou4hours,ittakes4hours.Thisisoneof thehardestthingstocommunicatewithclientsbecausetheyassumethatanestimateis eitheroursetpriceorourmaximumprice.Anestimateisanestimate. -- More: http://www.dotnetfunda.com/interview/exclusive/x1167-how-do-we-estimate-in-agile.aspx page14 HowtoGetStartedwithAgileProjectManagementMethodsforeLearning MeganTorrance|Trainingmagazine’sOnlineLearningConference|Session605