• Like
  • Save
Agile is as Agile Does
Upcoming SlideShare
Loading in...5
×
 

Agile is as Agile Does

on

  • 1,509 views

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.

Statistics

Views

Total Views
1,509
Views on SlideShare
1,463
Embed Views
46

Actions

Likes
0
Downloads
39
Comments
0

1 Embed 46

http://www.notsotrivial.net 46

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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

Agile is as Agile Does Agile is as Agile Does Presentation Transcript

  • Agile is as Agile Does
    Clint Edmonson
    Evangelist, Microsoft
  • Got process?
  • Businesses live or die bytheir repeatable processes.
  • Capability Maturity Model Index
  • 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
  • Lean
  • 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!
  • Amplify learning
    Accept that software development is a continuous learning process
    Iterate to learn and adapt
    Fail early and fail often!
  • 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.
  • Deliver value as fast as possible
    Embrace continuous deployment
    Keep iterations short, short, short!
    Relish feedback and evolve with the next iteration
  • 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.
  • 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.
  • 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
  • Agile
  • 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
  • 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
  • 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
  • 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
  • Agile Practices(by priority)
  • Business Value
    Customer representation on team
    Evocative vision document
    User stories
    Use cases
    Prioritized backlog
    Feature teams
  • Time to market
    Iterative development
    Continuous integration
    Release often
  • Quality to market
    Test driven requirements
    Test driven development (Red, Green, Refactor)
    Done Done state
    Pair programming
  • Flexibility
    Emergent/evolutionary architecture and design
    Refactoring (Green code only)
    Self-organizing teams
  • Visibility
    Information radiators
    Project backlog
    Daily stand-up meetings
    Customer demos
  • Cost reduction
    Cross-functional teams
    Co-located teams
    Simple design (YAGNI)
  • Product lifetime
    Collective code ownership
    Coding standards
    Automated functional testing
    Retrospectives
    Sustainable pace
  • Supporting practices
    Training
    Coaching & mentoring
    Workshops
    Reading circle
    Planning poker
    2 pizza teams
    Engaging the community
  • Success factors
    Freedom to change
    Energized team
    Communication with customer
    Collaboration
    Attention to quality
    Incrementalism
    Automation
    Continuous improvement
  • Anti-patterns
    No definitive process
    Guestimating & estiquotes
    Huge cases
    Technical debt
    Egos
    Scrummerfall
    Scrumdamentalism
    Large, complex, high risk projects
  • 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
  • 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
  • Scrum
  • 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
  • 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?
  • Roles
    Product owner
    Team
    Scrum master
  • Artifacts
    Product backlog
    Spring backlog
    Burn down chart
  • 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
  • Clint Edmonson
    http://www.notsotrivial.net
    clinted@microsoft
    @clinted