The BEST agile process: The BEST agile process A discussion of XP, Scrum, Kanban … and TSP Twitter: @ LMaccherone
THERE ARE NO BEST PRACTICES… ONLY GOOD PRACTICES… …IN CONTEXT: THERE ARE NO BEST PRACTICES… ONLY GOOD PRACTICES… …IN CONTEXT Twitter: @ LMaccherone
PowerPoint Presentation: LARRY MACCHERONE Twitter: @ LMaccherone
What is Agile?: What is Agile? VALUES + Controller System Sensor Reference Measured error Measured output System input System output + - Twitter: @ LMaccherone
PowerPoint Presentation: TRADITIONAL/DMAIC AGILE PROCESS FEEDBACK FORMAL, AND CAN BE HEAVY WEIGHT LIGHT BUT OFTEN PRODUCT AND DESIGN FEEDBACK ? EARLY, OFTEN, AND CLOSE TO THE CUSTOMER PLAN FEEDBACK ? FREQUENT BUT QUICK DOMINANT VALUE PLANNING/CONTROL COLLABORATION Twitter: @ LMaccherone
PowerPoint Presentation: Every great cause begins as a movement, becomes a business, and turns into a racket . ~Christopher McDougall Twitter: @ LMaccherone
PowerPoint Presentation: AGILE Scrum Kanban XP many others TSP Twitter: @ LMaccherone
PowerPoint Presentation: Twitter: @ LMaccherone
XP FOCUS: ENGINEERING PRACTICES BEST AT: REDUCTION IN COORDINATION COSTS: XP FOCUS: ENGINEERING PRACTICES BEST AT: REDUCTION IN COORDINATION COSTS Build the thing right! Twitter: @ LMaccherone
PowerPoint Presentation: Twitter: @ LMaccherone
PowerPoint Presentation: Twitter: @ LMaccherone
XP: Reduces coordination costs: XP: Reduces coordination costs Continuous integration Test driven development Test-first design Comprehensive test suites Simple design Refactoring System metaphor Also: Coding standard Whole team Pair programming Collective code ownership Twitter: @ LMaccherone
Simple design: Simple design All tests must pass No code is duplicated Code is self- explanatory No superfluous parts exist Passes tests (given TDD ) Minimizes duplication Maximizes clarity (great identifiers) Has fewer elements Twitter: @ LMaccherone
SCRUM FOCUS: PROJECT MANAGEMENT BEST AT: CHANGE IN FEEDBACK EMPHASIS: SCRUM FOCUS: PROJECT MANAGEMENT BEST AT: CHANGE IN FEEDBACK EMPHASIS Build the right thing! Twitter: @ LMaccherone
PowerPoint Presentation: Project Inception Discovery Assessment Iteration 0 Set up Project Infrastructure Target System Iteration 1 Iteration 2 Iteration 3 Iteration n AGILE PROJECT LIFECYCLE release 1 release n Incremental delivery in time-boxed iterations Twitter: @ LMaccherone
PowerPoint Presentation: Product Backlog Iteration Backlog Iteration 2-4 Weeks Daily Meeting Product Increment SCRUM MECHANICS Twitter: @ LMaccherone
PowerPoint Presentation: What did you work on yesterday ? What are you committing to today ? Do you have any impediments ? STAND-UP DAILY Twitter: @ LMaccherone
POTENTIALLY SHIPPABLE PRODUCT: POTENTIALLY SHIPPABLE PRODUCT Demo and get feedback EVERY SPRINT!!! Twitter: @ LMaccherone
Burndown chart: Burndown chart Twitter: @ LMaccherone
Scrum framework: Scrum framework Product Increment Daily Daily Scrum Meeting Planning Meeting Revisit Release Plan Review Product Backlog Create Sprint Backlog Commit to 2-4 weeks of work Sprint Backlog Product Backlog Items assigned to Sprint Emergent list of estimated tasks Vision 2-4 weeks Sprint Retrospective Product Backlog Prioritized Features desired by Customer Sprint Review (Demo) Release Planning Burndown Chart Twitter: @ LMaccherone
KANBAN FOCUS: INCREMENTAL IMPROVEMENT BEST AT: REDUCTION IN EVOLUTION COSTS: KANBAN FOCUS: INCREMENTAL IMPROVEMENT BEST AT: REDUCTION IN EVOLUTION COSTS Go faster! Get better! Twitter: @ LMaccherone
A kanban: A kanban Twitter: @ LMaccherone
Characteristics of the Kanban Method: C haracteristics of the Kanban Method 0. Start where you are 1. Visualize workflow 2. Limit WIP 3. Make management policies explicit 4. Manage flow 5. Improve collaboratively Adapted from Kanban by David J. Anderson Twitter: @ LMaccherone
0. Start where you are: 0 . Start where you are
1. Visualize workflow: 1. Visualize workflow Twitter: @ LMaccherone
1. Visualize workflow: 1. Visualize workflow
2. Limit work in process (WIP): 2. Limit w ork in p rocess (WIP) Twitter: @ LMaccherone
3. Make policies explicit: 3. Make policies explicit Twitter: @ LMaccherone
4. Manage flow: watch WIP: 4. Manage flow: watch WIP Twitter: @ LMaccherone
5. Improve collaboratively: measure outcomes: 5. Improve collaboratively: measure outcomes Twitter: @ LMaccherone
5. Improve collaboratively: use data for decision making: 5. Improve collaboratively: use data for decision making Twitter: @ LMaccherone
The Team Software Process (TSP): The Team Software Process (TSP) Where does it fit? Twitter: @ LMaccherone
PowerPoint Presentation: XP Scrum Kanban Product evolution also (TSP, design, design patterns) Twitter: @ LMaccherone
I recommend: I recommend Adopt XP engineering practices. Add peer review. Add design patterns and possibly more design/design review. If you are doing product design and new to agile, adopt Scrum. If you are doing IT work, or have a mature agile culture, or can’t accept all of Scrum’s changes, adopt Kanban . If you need CMMi , adopt TSP. If safety is critical, consider Crystal. Buy Rally Software . Twitter: @ LMaccherone
PowerPoint Presentation: LARRY MACCHERONE Twitter: @ LMaccherone
Credits: Credits Kanban content. Rick Simmons.( rsimmons @ rallydev.com ) Scrum content. Various at Rally Software. XP content. Mostly from Kent Beck. Simple design. Alistair McKinnell , Declan Whelan.