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

Xanpan @SoftShake 2014

Xanpan @SoftShake 2014

Johnny Graber

October 24, 2014
Tweet

More Decks by Johnny Graber

Other Decks in Programming

Transcript

  1. Scrum is great, when •Your team is co-located •All have

    the same goal •You control your environment •You work with professionals •Your team size is 7±2 Is this your project? Keep using Scrum!
  2. However, sometimes… •You don’t control your environment •Have to work

    with whomever is available •Everyone has his own agenda •You work in different places (or time-zones) Sounds familiar? Then keep listening!
  3. The same is true when •You are a small team

    •You are fully focused on your customers •You deploy multiple times a day •Quality is really important
  4. In a sprint •We focus on a goal •We pretend

    nothing changes •We ignore new facts
  5. Unplanned work •Is considered bad •Will occur •Needs to be

    handled •Often the highest priority (e.g. Bugs)
  6. Commitment •Great when you control your environment •Bad if you

    don’t •Work on support issues • Changes in priority •Dysfunctional organisations
  7. Commit to a goal Follow the plan Unplanned work pops

    up Unable to change Forbid changes Plan more
  8. Task size •Not all work fits in a sprint •Artificial

    slices without business value •Work can’t span multiple sprints • Less important work as a fill-in
  9. Velocity •Is a negative metric •Good to point out problems

    •Bad indicator of progress •Easily manipulated
  10. 5 often occurring symptoms 1. We are unable to learn

    while doing the work 2. Unplanned work pops up and can’t be handled 3. Commitment is impossible 4. We do artificial tasks with no business value 5. High velocity only creates little value
  11. Xanpan •Created by Allan Kelly •Shows how you can combine

    different practices to one full methodology •Book: Leanpub.com/xanpan
  12. Xanpan uses •Extreme Programming for technical practices •Kanban for organisational

    practices •Some unique ideas •Whatever works and seems appropriate
  13. Kanban •Inspired by the Toyota Production System •Just in time

    (JIT) delivery •Pull-principle: Work gets pulled, not pushed •Goal: reduce waist (lean manufacturing)
  14. Kanban and software development •Production is different from development •Repetitive

    tasks should be done the same way •Build • Deploy •Value generating tasks should have a structure
  15. High level view on development 1. Identify the problem 2.

    Find a solution 3. Implement the solution 4. Verify if the solution solves the problem (A)TDD
  16. Kanban rules 1. Visualise your work flow 2. Limit the

    work in progress (WIP-Limit) 3. Continuously improve your system
  17. The Kanban board •Start with your current work flow •Columns

    specify the steps in the work flow •Set WIP-Limits for the different steps •Pull the work horizontally through your board
  18. Flow •Cycle time: how long it takes to finish a

    task •Optimise for capacity or speed https://www.flickr.com/photos/33581336@N02/6565898403 https://www.flickr.com/photos/johnny_graber/6097268715
  19. Xanpan: Agile, but different •Work can span more than one

    iteration •No personal commitment •Unplanned work is allowed and handled
  20. “Unless a team is actively working to improve software quality,

    not only will Xanpan fail, but any attempts at Agile are also likely to fail.” – Allan Kelly
  21. Quality driven •Is free when you invest in it •Necessary

    to go fast •XP-Practices to keep it up from the start • TDD •ATDD • Code Reviews
  22. How work is organised •All items have an absolute priority

    order • PO can change it when necessary •Ballpark estimates until stories are split in tasks •Unplanned work & bugs get prioritised •Work is tracked on a Kanban board •Small iterations as pacemaker
  23. The team •Creates a releasable product in every iteration •Accepts

    a certain amount of work •Average Velocity as guidance plus a bit more • No guarantee that it will be delivered •Work is done following the absolute priority order •Creates its own Kanban board
  24. Suggested colours for cards •Blue – stories with business value

    •White – tasks (smallest practical work items) •Red – bugs •Yellow – unplanned work
  25. Different planning horizons •Iteration: 1/2/4 weeks •Quarterly plan: next 3

    months •Only ballpark estimates •Roadmap: 1 – 2 years ahead •Only high-level • What could be •No estimates
  26. 1. Planning meeting Agree on expected velocity Present candidate stories

    Discuss & break down high. priority story into tasks More capacity? Order stories & tasks Yes No © Xanpan by Allan Kelly
  27. Present candidate stories Discuss & break down high. priority story

    into tasks More capacity? Order … Yes No Following planning meetings Demo completed work Review work, count points Hold retrospective Agree on expected velocity based on prev. iterations © Xanpan by Allan Kelly
  28. Xanpan in action (as a developer) 1. Planning meeting: Split

    stories, agree on work 2. You pick the top prioritised item 3. You implement the item 4. You put it in the ready queue of the next step downstream 5. Repeat at step 2
  29. Xanpan in action (as product owner) 1. You pick a

    set of candidate stories (quart. plan) 2. You address open questions with the business 3. You bring them to the planning meeting 4. You agree on the ordering of the items 5. You update your quarterly plan 6. Repeat at step 1
  30. Bugs and unplanned work •They pop up, even when you

    use Xanpan •Product Owner (and team) sets a priority •They get implemented when they reach the top •Drop everything only when current work is less important
  31. All comes together •When unforeseen things occur, you create a

    task •Unplanned work gets prioritised and done when on top of the queue •No commitment to work, only agreement •Work can span two iterations (no artificial chunks) •Velocity only used for planning, optimise cycle time
  32. Start small •Define your goal and write it down •Start

    with your daily routines or a pet project •Create a Kanban board •Limit your work in progress •Focus on value, not on the number of cards
  33. Plan ahead •What should be done in the next 3

    months? •And what in the next year? •Write it down and include it in the backlog
  34. Read these books •“Xanpan” by Allan Kelly ISBN: 978-1-291-85273-8 •“Kanban”

    by David J. Anderson ISBN: 978-0-984-52140-1 •“Extreme Programming Explained” by Kent Beck ISBN: 978-0-321-27865-4
  35. Evaluate your goal •Did you reach it? •What have you

    learned? •Was it a success? •What obstacles did you find? •Are you ready to implement it at work?
  36. Conclusion •In Xanpan you can use whatever works for you

    •Quality is the driving force •Unplanned work is accepted •Work can overlap an iteration