35
The Agile Buffet Table Building your own Agile process

The Agile Buffet table

Embed Size (px)

Citation preview

Page 1: The Agile Buffet table

The Agile Buffet TableBuilding your own Agile process

Page 2: The Agile Buffet table

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

Page 3: The Agile Buffet table

Telerik around the world!

Page 4: The Agile Buffet table

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

Page 5: The Agile Buffet table

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?

Page 6: The Agile Buffet table

Agenda

Back to the basics: Agile ManifestoInfluential Agile Methodologies Agile Scenarios –Eating from the Buffet Table

Page 7: The Agile 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

Page 8: The Agile Buffet table

Back to the Basics

“Agile” is about “values” not “rules” and rigid adherence to a processAgile is about embracing change

Page 9: The Agile Buffet table

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

Page 10: The Agile Buffet table

Agenda

Back to the basics: Agile ManifestoInfluential Agile Methodologies Agile Scenarios –Eating from the Buffet Table

Page 11: The Agile Buffet table

Influential Agile MethodologiesXP (The Past)Scrum (The Present) Kanban (The Future)

Page 12: The Agile Buffet table

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

Page 13: The Agile Buffet table

Core Practices of XPSit togetherWhole teamInformative workspaceEnergized workPair ProgrammingStoriesWeekly cyclesQuarterly CyclesSlackTen-Minute BuildContinuous IntegrationTest-First ProgrammingIncremental Design

Page 14: The Agile Buffet table

Scrum

An Agile methodology that stresses communicationTime boxed (sprints) development cyclesBy design is a revolutionary processRigid by natureMost popular methodology today

Page 15: The Agile Buffet table

Scrum

Page 16: The Agile Buffet table

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

Page 17: The Agile Buffet table

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

Page 18: The Agile Buffet table

Kanban

Page 19: The Agile Buffet table

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

Page 20: The Agile Buffet table

Agenda

Back to the basics: Agile ManifestoInfluential Agile Methodologies Agile Scenarios –Eating from the Buffet Table

Page 21: The Agile Buffet table

Agile is Growing

Page 22: The Agile Buffet table

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

Page 23: The Agile Buffet table

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

Page 24: The Agile Buffet table

Eating from the buffet table

Designing an agile methodology

Page 25: The Agile Buffet table

Scenario 1 – New Distributed Project

Characteristics Remote team in different time zoneGreenfield projectContractors

Page 26: The Agile Buffet table

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

Page 27: The Agile Buffet table

Scenario 2 - Maintenance

CharacteristicsReactiveContinual evaluationContinual deliveryMix of New Requirements and Bugs

Page 28: The Agile Buffet table

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

Page 29: The Agile Buffet table

Scenario 3 – Managed Outsource

CharacteristicsCustomer / Supplier Cost and Budget CentricSupplier takes responsibility

Page 30: The Agile Buffet table

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

Page 31: The Agile Buffet table

What about the others?

Can you use TDD and use Scrum?Can you use BDD and use Kanban?

Page 32: The Agile Buffet table

Certain Practices Apply Often

Unit TestingAutomated BuildsIncremental and Continual ReleasesEmergent Requirements, architecture, and designDaily rhythm and standupsEngaged Product OwnersBacklogs Managed by Product Owners

Page 33: The Agile Buffet table

Start with ScrumPull in Practices via Retrospectives

Page 34: The Agile Buffet table

Questions?

Page 35: The Agile Buffet table

Recommended Resources

Tom DeMarcoPeoplewareSlack

Fred BrooksThe Mythical Man Month

Parkinson's Law