agile is as agile does
DESCRIPTION
Lately that the terms Agile and Lean have been thrown around casually with little disregard for what they truly mean and how they can be applied correctly. Join us in this session for a lively, interactive discussion about what it means to be lean and agile and how we can incorporate the principles and practices from each of these industry movements to help us build world class software.TRANSCRIPT
![Page 1: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/1.jpg)
Agile is as Agile Does Clint EdmonsonEvangelist, Microsoft
![Page 2: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/2.jpg)
Got process?
![Page 3: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/3.jpg)
Businesses live or die bytheir repeatable processes.
![Page 4: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/4.jpg)
Capability Maturity Model Index
![Page 5: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/5.jpg)
Defined vs. Empirical Processes
How would you code an algorithm to keep this room at a constant temperature for the entire day? (What variables would you consider?)
• Defined processes try to predict the future• Empirical processes adapt to the future
– Frequent inspection – Just in time planning
![Page 6: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/6.jpg)
Lean
![Page 7: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/7.jpg)
Eliminate waste
• Poor requirements• Unnecessary functionality, code, documentation• Delays in the development process• Slow or poor internal communication• Bureaucracy
Empower the team to recognize and eliminate it!
![Page 8: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/8.jpg)
Amplify learning
• Accept that software development is a continuous learning process
• Iterate to learn and adapt
Fail early and fail often!
![Page 9: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/9.jpg)
Decide as late as possible
• Change happens• Don’t fight it• Accept it and adapt to it
Each iteration should still have an explicit planning phase.
![Page 10: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/10.jpg)
Deliver value as fast as possible
• Embrace continuous deployment• Keep iterations short, short, short!
Relish feedback and evolve with the next iteration
![Page 11: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/11.jpg)
Empower the team
• Avoid command and control management style• Avoid rigidly defined roles• Team should have direct access to the customer• Team is responsible for “done done”
Give them responsibility and accountability and they will take ownership.
![Page 12: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/12.jpg)
Build integrity in
• Build in integrity checks – unit tests become regression tests
• Refactor aggressively to retain emergent architectural integrity
There should be NO code you’re afraid to touch.
![Page 13: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/13.jpg)
See the whole
• Understand the whole domain and problem space
• Segregate along functional boundaries instead of cross cutting technical concerns
• Cultivate high value communication
Provide the team with a higher purpose to work towards
![Page 14: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/14.jpg)
Agile
![Page 15: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/15.jpg)
What is Agile?
Agile
Scrum XPFDD Others
TDD
BDD
CI
Burn-down Refactor
StandUps
ProductBacklog
SprintBacklog
Domain Model
Feature Team
Pairwise Programming
Agile is a movement…
represented by a set of methodologies…
comprised of a set a best practices.
![Page 16: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/16.jpg)
Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan
![Page 17: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/17.jpg)
Agile principles
1. Customer satisfaction by rapid delivery of useful software
2. Welcome changing requirements, even late in development
3. Working software is delivered frequently (weeks rather than months)
4. Working software is the principal measure of progress
5. Sustainable development pace
6. Close, daily co-operation between business people and developers
![Page 18: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/18.jpg)
Agile principles
7. Face-to-face conversation is the best form of communication (co-location)
8. Projects are built around motivated individuals, who should be trusted
9. Continuous attention to technical excellence and good design
10. Simplicity
11. Self-organizing teams
12. Regular adaptation to changing circumstances
![Page 19: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/19.jpg)
Agile Practices(by priority)
![Page 20: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/20.jpg)
Business Value
• Customer representation on team• Evocative vision document• User stories• Use cases• Prioritized backlog• Feature teams
![Page 21: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/21.jpg)
Time to market
• Iterative development• Continuous integration• Release often
![Page 22: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/22.jpg)
Quality to market
• Test driven requirements• Test driven development (Red, Green, Refactor)• Done Done state• Pair programming
![Page 23: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/23.jpg)
Flexibility
• Emergent/evolutionary architecture and design• Refactoring (Green code only)• Self-organizing teams
![Page 24: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/24.jpg)
Visibility
• Information radiators • Project backlog• Daily stand-up meetings• Customer demos
![Page 25: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/25.jpg)
Cost reduction
• Cross-functional teams• Co-located teams• Simple design (YAGNI)
![Page 26: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/26.jpg)
Product lifetime
• Collective code ownership• Coding standards• Automated functional testing• Retrospectives• Sustainable pace
![Page 27: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/27.jpg)
Supporting practices
• Training• Coaching & mentoring• Workshops• Reading circle• Planning poker• 2 pizza teams• Engaging the community
![Page 28: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/28.jpg)
Success factors
• Freedom to change• Energized team• Communication with customer• Collaboration• Attention to quality• Incrementalism• Automation• Continuous improvement
![Page 29: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/29.jpg)
Anti-patterns
• No definitive process• Guestimating & estiquotes• Huge cases• Technical debt• Egos• Scrummerfall• Scrumdamentalism• Large, complex, high risk projects
![Page 30: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/30.jpg)
Agile Adoption
a “Agile Development: Mainstream Adoption Has Changed Agility – Jan 2010”, Forrester
“Agile processes have not only gained increasing adoption levels; they have also rapidly joined the mainstream of development approaches.”
![Page 31: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/31.jpg)
Agile Modeling
Feature Drive Development (FDD)
Lean
Waterfall
Test Driven Development (TDD)
Extreme Programming (XP)
Iterative
Scrum
17.4%
18.3%
26.1%
32.8%
38.2%
38.2%
46.9%
83.8%
What Methodologies are You Using? b
Agile Adoption
a “Make Agile Lean – Dec 2008”, Forresterb “Microsoft ALM Consulting Day – Mar 2009”, Forrester presentation; c “State of Agile Development – July 2008”, Version One
“In the past five years, Forrester has seen a growing interest in the adoption of Agile processes. This interest is slowly changing to adoption. In 2008, even shops that weren’t moving immediately to Agile processes began to take baby steps in that direction.” a
Coding Standards
Refactoring
Automated Builds
Continuous Integration
Unit Testing
Digital Taskboard
Retrospectives
Burndown
Release Planning
Daily Standup
Iteration Planning
57%
59%
62%
65%
77%
35%
59%
60%
72%
75%
86%
Agile Practices Survey c
20082007
![Page 32: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/32.jpg)
Scrum
![Page 33: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/33.jpg)
SCRUM
• Simple and lightweight framework for lean and agile practices
• Time-boxed events to control chaos• Simple, straight forward roles for accountability• Transparent artifacts• Empirical inspection and adaptation to reach
goals• Simple rules that facilitate complex emergent
behavior
![Page 34: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/34.jpg)
Events• Sprint
– Iterative development period not to exceed one month
• Sprint planning meeting– 8 hours– Prioritize product backlog and select items for the sprint backlog
• Daily stand up meeting– 15 minutes, – What was accomplished since last meeting?– What are you doing today?– Do you have any impediments?
• Sprint Review meeting– 4 hours– Review what was completed and not completed during spring– Demo the completed work with stakeholders
• Sprint retrospective– 3 hours– What went well?– What could be improved?
![Page 35: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/35.jpg)
Roles
• Product owner• Team• Scrum master
![Page 36: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/36.jpg)
Artifacts
• Product backlog• Spring backlog• Burn down chart
![Page 37: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/37.jpg)
References
Agile in a Flash – Langr and Ottinger
Agile Adoption Patterns - Elssamadisy
Succeeding with Agile – Cohn
Agile Project Management with Scrum – Schwaber
The Agile Sumurai – Rasmusson
User Stories Applied – Cohn
![Page 38: Agile is as Agile Does](https://reader034.vdocuments.net/reader034/viewer/2022042508/54c83e504a7959d54e8b4601/html5/thumbnails/38.jpg)
Clint Edmonson
http://www.notsotrivial.net
clinted@microsoft
@clinted