agile is as agile does

38
Agile is as Agile Does Clint Edmonson Evangelist, Microsoft

Upload: clint-edmonson

Post on 28-Jan-2015

121 views

Category:

Technology


3 download

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

Agile is as Agile Does Clint EdmonsonEvangelist, Microsoft

Page 2: Agile is as Agile Does

Got process?

Page 3: Agile is as Agile Does

Businesses live or die bytheir repeatable processes.

Page 5: Agile is as Agile Does

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

Lean

Page 7: Agile is as Agile Does

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

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

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

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

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

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

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

Agile

Page 15: Agile is as Agile Does

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

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

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

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

Agile Practices(by priority)

Page 20: Agile is as Agile Does

Business Value

• Customer representation on team• Evocative vision document• User stories• Use cases• Prioritized backlog• Feature teams

Page 21: Agile is as Agile Does

Time to market

• Iterative development• Continuous integration• Release often

Page 22: Agile is as Agile Does

Quality to market

• Test driven requirements• Test driven development (Red, Green, Refactor)• Done Done state• Pair programming

Page 23: Agile is as Agile Does

Flexibility

• Emergent/evolutionary architecture and design• Refactoring (Green code only)• Self-organizing teams

Page 24: Agile is as Agile Does

Visibility

• Information radiators • Project backlog• Daily stand-up meetings• Customer demos

Page 25: Agile is as Agile Does

Cost reduction

• Cross-functional teams• Co-located teams• Simple design (YAGNI)

Page 26: Agile is as Agile Does

Product lifetime

• Collective code ownership• Coding standards• Automated functional testing• Retrospectives• Sustainable pace

Page 27: Agile is as Agile Does

Supporting practices

• Training• Coaching & mentoring• Workshops• Reading circle• Planning poker• 2 pizza teams• Engaging the community

Page 28: Agile is as Agile Does

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

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

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

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

Scrum

Page 33: Agile is as Agile Does

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

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

Roles

• Product owner• Team• Scrum master

Page 36: Agile is as Agile Does

Artifacts

• Product backlog• Spring backlog• Burn down chart

Page 37: Agile is as Agile Does

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

Clint Edmonson

http://www.notsotrivial.net

clinted@microsoft

@clinted