2About Me Cambridge, MA Consultant, Coach, & Trainer Microsoft MVP for Visual Studio ALMTeam Foundation Server, Software Testing, Scrum, Software ArchitectureScrum.org ClassesProfessional Scrum Developer (PSD)Professional Scrum Foundations (PSF)
16Waterfall vs. Scrum Waterfall Scrum / Agile Requirements docs Just-in-time, informal requirementsOccasional “customer” involvementFrequent “customer” involvementStart-to-finish Project PlanProduct Backlog. Plan for Sprint. Sketchy beyond that.Tasks are assignedAssigned tasks are a bottleneckPotentially large team sizeTeams of 3 – 9 peopleMultiple phases, eventual deliveryWorking software each SprintResistant to changeChange is expectedContract says what we build, deliverContract is a lot closer to T&E
17Why Waterfall? Comes naturally Feels good Helps managers manage We’ve got a plan.We’ve got dates.What could possibly go wrong?Helps managers managePin down what’s going to be builtMinimize uncertainty
18Why Scrum / Agile? Embraces the uncertainty Empirical “Forecast” rather than “commitment”Self-organization by the “do-ers”
19Ever seen a company that is Agile at the top and Waterfall at the bottom?
20Do managers trust their team Do managers trust their team? What does the team think about the managers?
21Why Waterfall people think Agile-ists are nuts (Sandal-wearing anarchists)Their estimates are always wrongThey’re always lateThey’re lazyThe plan is flawless.Devs write crummy, buggy codeToo complex to not plan.
22Why Agile-ists think Waterfall people are nuts The plan is largely imposed“Voluntold”What we told them was bogus.Haven’t the foggiest clueJust enough to make them go awayDidn’t have anything real to estimate anywayToo complex to plan.
27Why SUW? Required by contract Required by law The Agile Experiment Just cuz.
28Leverage the strengths of each Scrum for day-to-day dev/test activitiesDetect problems with SprintsFocus on TDD, DoD & working softwareWaterfall for multi-team coordinationWaterfall for release planning
29Differences for Scrum / Agile ChangedBacklog = Project PlanLess emphasis on Sprint planningLess negotiation during SprintSameDaily ScrumSprint BurndownFocus on Definition of DoneSprint ReviewRetrospective
30Risks of SUW Impedance Mismatch Poor communication Lack of trust Two sets of booksExtra work?Lack of transparency?Everything is going great…until it isn’tUsing the Burndown for evil
32Making SUW work More like making peace Set some ground rules Must get pastWaterfall: changes = schedule slip = “bug”Agile: changes = adapting = “feature”Avoid “earned value”“I’m 72.6% done with my task.”Transparency
54$0.02: Orgs are too quick to go “planned” “No one ever got fired for choosing IBM.”Financial ServicesMore process where they can afford itSurprisingly little process where there’s high riskAdopting Agile: gets worse before better
55Beware of “no time for xyz” syndrome Best practices aren’t optionalBecause there is a “testing” phase, Waterfall sometimes thinks that unit tests can be dropped
56“Balancing Agility and Discipline” by Boehm & TurnerAddison-Wesley ProfessionalAugust 2003
58The setup process (1 of 2) Install TFS Install SharePoint Install Microsoft Project ServerCreate 1+ Enterprise Project PlansCreate 1+ TFS Team ProjectsRun TfsAdmin.exe commands
59The setup process (2 of 2)# register pwa and tfs tfsadmin projectserver /RegisterPWA /pwa:http://demosharepoint/pwa /tfs:http://demotfs2010:8080/tfs # map the team project collection TfsAdmin ProjectServer /MapPWAtoCollection /pwa:http://demosharepoint/pwa /collection:http://demotfs2010:8080/tfs/democollection # upload the field mappings TfsAdmin ProjectServer /UploadFieldMappings /collection:http://demotfs2010:8080/tfs/democollection /useDefaultFieldMappings # Map to Enterprise Project Plan “Product Xyz” TfsAdmin ProjectServer /MapPlanToTeamProject /collection:http://demotfs2010:8080/tfs/democollection /enterpriseProject:"Product Xyz" /teamproject:DemoAgile /workItemTypes:"User Story,Task"
60Helpful commands for debugging # view the current field mappings TfsAdmin ProjectServer /DownloadFieldMappings /collection:http://demotfs2010:8080/tfs/democollection /filePath:c:\temp\mappingfile.txt # view the current mapped WITs tfsadmin projectserver /GetMappedWorkItemTypes /collection:http://demotfs2010:8080/tfs/democollection /teamproject:DemoAgile # get mapped projects tfsadmin projectserver /GetMappedProjects /collection:http://demotfs2010:8080/tfs/democollection
61Unmap TFS & Project Server # unmap team project TfsAdmin ProjectServer /UnmapPlanFromTeamProject /collection:http://demotfs2010:8080/tfs/democollection /enterpriseProject:"The Master Plan" /teamproject:DemoAgile # unmap team project collection TfsAdmin ProjectServer /UnmapPWAFromCollection /pwa:http://demosharepoint/pwa /collection:http://demotfs2010:8080/tfs/democollection