dpr306. process and tools individuals and interactions over following a plan responding to change...
TRANSCRIPT
The Agile BuffetTweet and win: #dpr306
Joel SemeniukExecutive VPTelerik@joel_semeniuk
DPR306
Stephen ForteCSOTelerik@worksonmypc
About Joel and Steve
Joel Semeniuk@joel_semeniuk
Microsoft Regional DirectorCertified Scrum MasterMicrosoft MVP, ALMTelerik Executive VP
Steve Forte@worksonmypc
Microsoft Regional DirectorCertified Scrum MasterMicrosoft MVP, SQL AzureTelerik CSO
Is It Ok…?
Is It Ok To Change Scrum?Can you combine practices and still be Agile?Can you be Agile if you don’t to TDD?
Agenda
Back to the basics: Agile ManifestoInfluential Agile Methodologies Agile Scenarios –Eating from the Buffet Table
The Agile Manifesto–a statement of values
Process and toolsProcess and toolsIndividuals and interactions
Individuals and interactions
over
Following a planFollowing a planResponding to changeResponding to change over
Source: www.agilemanifesto.org
Comprehensive documentation
Comprehensive documentationWorking softwareWorking software over
Contract negotiationContract negotiationCustomer collaborationCustomer collaboration over
Back to the Basics
“Agile” is about “values” not “rules” and rigid adherence to a processAgile is about embracing change
12 Principles of Agile
Early and continuous delivery of softwareWelcome changing requirementsDeliver working software frequentlyBusiness people and developers must work together daily Build projects around motivated individualsMost effective method of communication is face-to-face Working software is the primary measure of progressAgile processes promote sustainable developmentContinuous attention to technical excellence Simplicity — is essentialSelf-organizing teamsReflect on how to become more effective
Agenda
Back to the basics: Agile ManifestoInfluential Agile Methodologies Agile Scenarios –Eating from the Buffet Table
Influential Agile Methodologies
XP (The Past)Scrum (The Present) Kanban (The Future)
Extreme Programming (aka XP)
Team of 5-10 programmers Single locationOn Site CustomerIterative delivery of releasable software“Requirements” are specified as user storiesPair ProgrammingStrict Code StandardsUnit TestingEmergent Requirements, architecture, and design
Core Practices of XP
Sit togetherWhole teamInformative workspaceEnergized workPair ProgrammingStoriesWeekly cyclesQuarterly CyclesSlackTen-Minute BuildContinuous IntegrationTest-First ProgrammingIncremental Design
Prince 2
Great for governance Works well w/ Agile Modelshttp://www.prince2.com/
Scrum
An Agile methodology that stresses communicationTime boxed (sprints) development cyclesBy design is a revolutionary processRigid by natureMost popular methodology today
Scrum
Core Practices of Scrum
Cross functional and collocated teams of 8 or lessDevelop in sprints of fixed durationEach sprint delivers incremental, tested functionality to the userWork within the sprint is fixedThe scrum master mentors and manages the self-organizing and self-managing teamsAll work to be done is carried from the Product BacklogThe product owner manages the product backlogA daily 15 min stand-up meeting (Daily scrum) is primary communication methodRequirements, architecture, and design emerge over timeEmpirical Process Control
Kanban
Japanese for “signal card”From the Toyoda production system (Lean)
Define a work flow and visualize itOrganize a queueLimit work in progress (WIP) for each queue
Allows you to constantly evaluate process improvements
Allow work to flow through the system in a controlled way (not iterative) No sprints!
Evolutionary by designChange is built into the model
Communication is about progress (not merely results)Eliminate Daily Scrum
Kanban
Core Practices of Kanban
Define and visualize the workflowLimit Work-in-progressMeasure and Manage FlowMake Process Policies ExplicitUse Models to Suggest Improvement
For more info: http://finance.groups.yahoo.com/group/kanbandev/message/9261
Agenda
Back to the basics: Agile ManifestoInfluential Agile Methodologies Agile Scenarios –Eating from the Buffet Table
Agile is Growing
Mixed Methods are the Norm
Mix of Agile Methods36%
Mix Agile and Non-Agile31%
No Agile At All2%
Adhere to Single
Agile32%
Source: Forrester/Dr. Dobb’s Global Developer Technographics Survey, Q3 2009
Agile is like a buffet table
It is ok to mix and match from different agile methodologies Just make sure your features are compatible Just make sure you eat healthy ;)
http://www.agileproductdesign.com/blog/2009/kanban_over_simplified.html
Eating from the buffet table
Designing an agile methodology
Scenario 1 – New Distributed Project
Characteristics Remote team in different time zoneGreenfield projectContractors
Core Practices for Scenario 1
From XPUser StoriesPair ProgrammingContinuous Integration
From ScrumUse Sprints of fixed durationDaily (virtual) Scrum meeting
From KanbanMake Process Policies ExplicitUse Models to Suggest ImprovementLimit work in progress
Scenario 2 - Maintenance
CharacteristicsReactiveContinual evaluationContinual deliveryMix of New Requirements and Bugs
Core Practices for Scenario 2
From XPExtensive use of Unit TestingRefactoring and Emergent DesignContinuous IntegrationSit togetherWhole teamInformative workspaceEnergized work
From ScrumDaily StandupSprints for Improvement Cadences and Reviews
From KanbanLimit work in progressContinuous DeliveryExplicit Gates
Scenario 3 – Managed Outsource
CharacteristicsCustomer / Supplier Cost and Budget CentricSupplier takes responsibility
Core Practices for Scenario 3
From XPExtensive use of Unit TestingRefactoring and Emergent DesignContinuous IntegrationIncremental DesignSit togetherWhole teamInformative workspace
From ScrumDaily StandupSprint PlanningSprints and Sprint ReviewsCustomer is Product OwnerProduct Owner Reprioritizes against value
From KanbanExplicit Gates
What about the others?
Can you use TDD and use Scrum?Can you use BDD and use Kanban?
Certain Practices Apply Often
Unit TestingAutomated BuildsIncremental and Continual ReleasesEmergent Requirements, architecture, and designDaily rhythm and standupsEngaged Product OwnersBacklogs Managed by Product Owners
Start with ScrumPull in Practices via Retrospectives
Questions?
Recommended Resources
Tom DeMarcoPeoplewareSlack
Fred BrooksThe Mythical Man Month
Parkinson's Law
DPR Track Resources
http://www.microsoft.com/visualstudio http://www.microsoft.com/visualstudio/en-us/lightswitch http://www.microsoft.com/expression/http://blogs.msdn.com/b/somasegar/http://blogs.msdn.com/b/bharry/http://www.microsoft.com/sqlserver/en/us/default.aspxhttp://www.facebook.com/visualstudio
Resources
www.microsoft.com/teched
Sessions On-Demand & Community Microsoft Certification & Training Resources
Resources for IT Professionals Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
Learning
http://northamerica.msteched.com
Connect. Share. Discuss.
Complete an evaluation on CommNet and enter to win!
Scan the Tag to evaluate this session now on myTech•Ed Mobile