The Agile Buffet table
-
Upload
stephen-forte -
Category
Technology
-
view
10.613 -
download
0
Transcript of The Agile Buffet table
The Agile Buffet TableBuilding your own Agile process
About Joel and SteveJoel Semeniuk@joel_semeniuk
Microsoft Regional DirectorCertified Scrum MasterPMPMicrosoft MVP, ALMTelerik Executive VPTeam Productivity Division
Steve Forte@worksonmypc
Microsoft Regional DirectorCertified Scrum MasterMicrosoft MVP, SQL AzureTelerik CSO
Telerik around the world!
Telerik in Austrilia
We are looking for partners in AustraliaTeam Productivity Tools DivisionContent Management System Division (Sitefinity)Developer Productivity Tools DivisionTesting Tools Division
A copy of Telerik JustCode is in your folderAnd a trial of Telerik Ultimate collection
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 change
Responding to change
over
Source: www.agilemanifesto.org
Comprehensive documentationComprehensive documentationWorking softwareWorking software over
Contract negotiationContract
negotiationCustomer
collaborationCustomer
collaborationover
Back to the Basics
“Agile” is about “values” not “rules” and rigid adherence to a processAgile is about embracing change
12 Principles of Agile
1. Early and continuous delivery of software2. Welcome changing requirements3. Deliver working software frequently4. Business people and developers must work
together daily 5. Build projects around motivated individuals6. Most effective method of communication is face-
to-face 7. Working software is the primary measure of
progress8. Agile processes promote sustainable
development9. Continuous attention to technical excellence 10. Simplicity — is essential11. Self-organizing teams12. Reflect on how to become more effective
Agenda
Back to the basics: Agile ManifestoInfluential Agile Methodologies Agile Scenarios –Eating from the Buffet Table
Influential Agile MethodologiesXP (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 XPSit togetherWhole teamInformative workspaceEnergized workPair ProgrammingStoriesWeekly cyclesQuarterly CyclesSlackTen-Minute BuildContinuous IntegrationTest-First ProgrammingIncremental Design
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 ScrumCross 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
KanbanJapanese for “signal card”
From the Toyoda production system (Lean)Define a work flow and visualize it
Organize 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 KanbanDefine 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 Methods
36%
Mix Agile and Non-Agile
31%
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