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. 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)
  2. 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
  3. 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
  4. 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.
  5. 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
  6. 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/
  7. 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
  8. Summary  Lean development addresses problems of traditional PM problems

    by  focusing on customer needs  visualizing current state of affairs  avoiding waste  continuous learning
  9. 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/
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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  ….
  15. 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
  16. 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/
  17. 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/
  18. 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
  19. 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