Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lean & agile -- an overview

Lean & agile -- an overview

A small presentation giving an overview of lean and agile methods in software development, touching on Scrum, Kanban and SAFe.

schaueho

May 15, 2013
Tweet

More Decks by schaueho

Other Decks in Technology

Transcript

  1. Holger Schauer
    2013-05-15

    View Slide

  2. Traditional project management
     Phase-based model
     Plan (scope, time and costs)
     Implement
     Finalize (tests, deploy)
     You can never swim up the waterfall again
     JLLT model is often more or less waterfall
    (“just like last time” © Judith Andreesen)

    View Slide

  3. Problems with traditional PM
    Golden triangle (scope, time
    and costs) is never met
    … because of external reasons
    Scope changes over the project
    … because of need to adapt
    Implemented plan doesn‘t fit needs
    … because the world moved on
    Requires lots of artifacts
    … which do not add value
    Command and control approach
    … is hindering positive collaboration

    View Slide

  4. Project noise level
    Simple
    Complex
    Anarchy
    Technology
    Requirements
    Far from
    Agreement
    Close to
    Agreement
    Close to
    Certainty
    Far from
    Certainty
    Source: Strategic Management and
    Organizational Dynamics by Ralph Stacey
    in Agile Software Development with Scrum
    by Ken Schwaber and Mike Beedle,
    Taken from “Redistributable Intro to
    Scrum”, Mountain Goat Software

    View Slide

  5. Hob and Nob: a reference problem
    Geach’s puzzle: “Hob thinks a witch
    has blighted Bob's mare, and Nob
    wonders whether she killed Cob's sow.”
    Hob and Nob may not even recognize
    that there is a problem.
    Wait … there are no witches, they
    are mythical creatures.
    Take away: resolving the reference problem
    requires communication in order to come to
    a common understanding.

    View Slide

  6. View Slide

  7. Lean principles
    2. Map the
    value
    stream
    3. Create
    flow
    4. Establish
    pull
    5. Seek
    perfection
    1. Identify
    value
    http://www.lean.org/WhatsLean/Principles.cfm
    … for customers
    … and eliminate waste
    … create value in
    tight sequence
    … (not only) for customers
    … continuously

    View Slide

  8. Lean software development
     Optimize the whole
     Focus on customers
     Energize workers
     Eliminate waste
     Learn first
     Deliver fast
     Build quality in
     Keep getting better
     Defer commitment
    by Mary and Tom Poppendieck
    cf. http://www.poppendieck.com/

    View Slide

  9. Kanban: six core practices
     Visualize
     Limit WIP
     Manage flow
     Make policies explicit
     Implement feedback loops
     Improve collaboratively, evolve experimentally
    by David J. Anderson, taken from Wikipedia

    View Slide

  10. Summary
     Lean development addresses problems of
    traditional PM problems by
     focusing on customer needs
     visualizing current state of affairs
     avoiding waste
     continuous learning

    View Slide

  11. Agile manifesto
    Process and tools
    Individuals and
    interactions
    over
    Following a plan
    Responding to
    change
    over
    Comprehensive
    documentation
    Working software over
    Contract
    negotiation
    Customer
    collaboration
    over
    cf. http://www.agilemanifesto.org/

    View Slide

  12. Agile principles
     Satisfy the customer
     Welcome changing requirements
     Deliver working software frequently
     Business and developers work together daily
     Build projects around motivated individuals
     Convey information via face-to-face conversation
     Working software is the primary measure of progress
     Promote sustainable development
     Continuous attention to technical excellence
     Simplicity is essential
     Emergent design and architecture from self-organizing teams
     Team reflects on how to become more effective, tunes and
    adjusts
    Condensed from http://www.agilemanifesto.org/principles.html

    View Slide

  13. Sequential vs. overlapping development
    Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986,
    taken from MountainGoat Software ‘Redistributable Intro to Scrum’,
    http://www.mountaingoatsoftware.com/uploads/presentations/English-Redistributable-Intro-Scrum.ppt
    Rather than doing all of
    one thing at a time...
    … agile teams do a little of
    everything all the time
    Requirements Design Code Test

    View Slide

  14. Scrum framework
    •Product owner
    •Scrum Master
    •Team
    Roles
    •Sprint planning
    •Sprint review
    •Sprint retrospective
    •Daily scrum meeting
    Ceremonies
    •Product backlog
    •Sprint backlog
    •Burndown charts
    Artifacts

    View Slide

  15. Scrum process

    View Slide

  16. Continuous feedback cycle
     Team communicates in daily meetings about
    current sprint issues
     Product owner and team work on the plan /
    backlog for next iteration(s)
     Review of the built results at the end of a
    sprint provides feedback about quality and
    velocity and influences future plan
     Development team reflects after each sprint
    to improve

    View Slide

  17. Big bang vs. incremental results
    Plan
    Design
    Implement
    Verify

    View Slide

  18. Accounting for the cone of uncertainty
    time
    uncertainty and
    required level of detail
    Current and next iteration

    View Slide

  19. Definitions of …
     Done (for current / last iteration)
     User level acceptance tests pass
     Development quality goals are met
     Design requirements are met
     …
     Ready (for next / current iteration)
     “INVEST” in “SMART” requirements / specifications
     Required architecture is understood
     Required technology is mastered
     Design is ready
     ….

    View Slide

  20. INVEST in SMART
     I – Independent
     N – Negotiable
     V – Valuable
     E – Estimable
     S – Small
     T – Testable
     S – Specific
     M – Measurable
     A – Achievable
     R – Relevant
     T – Time-boxed

    View Slide

  21. Governance: Scaled agile framework
    • Business epics, architectural epics, investment themes,

    Portfolio
    • Roadmap, product management, agile release train,
    features, …
    Program
    • Scrum, product owners, development teams, iterations,
    stories, …
    Team
    cf. Scaled Agile Framework, D. Leffingwell
    http://scaledagileframework.com/

    View Slide

  22. The agile release train from SAFe
     incremental releases of value
    in a value stream
     Potentially shippable increments
    (PSI) vs. Releases
     Development occurs with a standard cadence
     Dates are fixed – quality is fixed – scope is variable
     Release Planning Meeting to align to a common,
    committed set of objectives for next PSI timebox.
    cf. Scaled Agile Framework, D. Leffingwell
    http://scaledagileframework.com/agile-release-train/

    View Slide

  23. Summary
     Agile methods build on top of lean principles
     Agile addresses problems of traditional PM
    problems by
     focusing on customer needs
     continuous learning
     embracing changes
     time boxing in iterations
     minimizing overhead

    View Slide

  24. Picture sources
     https://en.wikipedia.org/wiki/File:Triangle_instrument.png (public domain)
     https://en.wikipedia.org/wiki/File:Goodwood2007-121_The_Blue_Flame.jpg (by Troxx, license Public domain)
     http://the-flick.com/wordpress/2012/12/a-definitive-guide-to-christmas-pressies/ (Creative Commons from Hades2k’s
    Flickr photostream, original URL missing)
     https://de.wikipedia.org/wiki/Datei:Makulatur.jpg (by Monster 4711, license CC0 1.0)
     https://en.wikipedia.org/wiki/File:Danny_O%27Connor_fighting_House_of_Blues.jpg (by Tirrnanogirl license CC-SA 3.0)
     https://de.wikipedia.org/wiki/Datei:Mannequin_with_jeans.jpg (by Lion Hirth, GFDL 1.2)
     http://coliandre.deviantart.com/art/Two-Witches-141014676 (by Xavier Collette, CC NC-3.0)
     http://ecx.images-amazon.com/images/I/41d0WXfsICL._SS500_.jpg Poppendiecks ‘LLSD-book cover, certainly non-
    free
     http://www.mountaingoatsoftware.com/scrum/a-reusable-scrum-presentation (acknowledge source, but use presentation
    widely)
     https://en.wikipedia.org/wiki/File:Simple-kanban-board-.jpg (Jeff.lasovski, license CC-SA 3.0)
     http://www.mountaingoatsoftware.com/uploads/blog/ScrumSmallLabelled.png
    https://secure.flickr.com/photos/yeowatzup/149186300/ Railyway, cc by 2.0 , yeowatzup
     https://upload.wikimedia.org/wikibooks/en/5/53/Yellowstickies.JPG

    View Slide