Your SlideShare is downloading. ×
Agile is as Agile Does
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Agile is as Agile Does

1,259

Published on

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, …

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,259
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
40
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Lean & AgilePhoto credits: Flickr creative commons - http://www.flickr.com/photos/randysonofrobert/340282243/
  • Agile is as Agile Does Level 100Lately 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.
  • State of Agile Development – July 2008, 3,061 respondents from 80 countries.* “Which of the following do you employ within your Agile methods?”
  • Definition: A framework within which people can address complex problems, and productively and creatively develop products of the highest possible value
  • Transcript

    • 1. Agile is as Agile Does
      Clint Edmonson
      Evangelist, Microsoft
    • 2. Got process?
    • 3. Businesses live or die bytheir repeatable processes.
    • 4. Capability Maturity Model Index
    • 5. 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
    • 6. Lean
    • 7. 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!
    • 8. Amplify learning
      Accept that software development is a continuous learning process
      Iterate to learn and adapt
      Fail early and fail often!
    • 9. 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.
    • 10. Deliver value as fast as possible
      Embrace continuous deployment
      Keep iterations short, short, short!
      Relish feedback and evolve with the next iteration
    • 11. 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.
    • 12. 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.
    • 13. 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
    • 14. Agile
    • 15. What is Agile?
      Agile
      Agile is a movement…
      represented by a set of methodologies…
      comprised of a set a best practices.
      Scrum
      XP
      FDD
      Others
      CI
      TDD
      BDD
      StandUps
      Burn-down
      Domain Model
      ProductBacklog
      Refactor
      Pairwise Programming
      SprintBacklog
      Feature Team
    • 16. 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
    • 17. Agile principles
      Customer satisfaction by rapid delivery of useful software
      Welcome changing requirements, even late in development
      Working software is delivered frequently (weeks rather than months)
      Working software is the principal measure of progress
      Sustainable development pace
      Close, daily co-operation between business people and developers
    • 18. Agile principles
      Face-to-face conversation is the best form of communication (co-location)
      Projects are built around motivated individuals, who should be trusted
      Continuous attention to technical excellence and good design
      Simplicity
      Self-organizing teams
      Regular adaptation to changing circumstances
    • 19. Agile Practices(by priority)
    • 20. Business Value
      Customer representation on team
      Evocative vision document
      User stories
      Use cases
      Prioritized backlog
      Feature teams
    • 21. Time to market
      Iterative development
      Continuous integration
      Release often
    • 22. Quality to market
      Test driven requirements
      Test driven development (Red, Green, Refactor)
      Done Done state
      Pair programming
    • 23. Flexibility
      Emergent/evolutionary architecture and design
      Refactoring (Green code only)
      Self-organizing teams
    • 24. Visibility
      Information radiators
      Project backlog
      Daily stand-up meetings
      Customer demos
    • 25. Cost reduction
      Cross-functional teams
      Co-located teams
      Simple design (YAGNI)
    • 26. Product lifetime
      Collective code ownership
      Coding standards
      Automated functional testing
      Retrospectives
      Sustainable pace
    • 27. Supporting practices
      Training
      Coaching & mentoring
      Workshops
      Reading circle
      Planning poker
      2 pizza teams
      Engaging the community
    • 28. Success factors
      Freedom to change
      Energized team
      Communication with customer
      Collaboration
      Attention to quality
      Incrementalism
      Automation
      Continuous improvement
    • 29. Anti-patterns
      No definitive process
      Guestimating & estiquotes
      Huge cases
      Technical debt
      Egos
      Scrummerfall
      Scrumdamentalism
      Large, complex, high risk projects
    • 30. Agile Adoption
      “Agile processes have not only gained increasing adoption levels; they have also rapidly joined the mainstream of development approaches.”
      a “Agile Development: Mainstream Adoption Has Changed Agility – Jan 2010”, Forrester
    • 31. Agile Adoption
      “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
      a “Make Agile Lean – Dec 2008”, Forrester
      b “Microsoft ALM Consulting Day – Mar 2009”, Forrester presentation;
      c “State of Agile Development – July 2008”, Version One
    • 32. Scrum
    • 33. 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
    • 34. 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?
    • 35. Roles
      Product owner
      Team
      Scrum master
    • 36. Artifacts
      Product backlog
      Spring backlog
      Burn down chart
    • 37. 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
    • 38. Clint Edmonson
      http://www.notsotrivial.net
      clinted@microsoft
      @clinted

    ×