Craig Larman's Certified Less Practitioner
Total Page:16
File Type:pdf, Size:1020Kb
LeSS Practitioner More with LeSS Craig Larman craiglarman.com & less.works Please... Do not copy or share this material, or re-use for other education. Exceptions require prior written consent of the author. Copyright © 2016 Craig Larman, All rights reserved. May not be reproduced without written consent of the author. v.44 1 1 2 Opening Topics Scaling? 3 3 4 first, a caution... One of the directors of SAGE was discussing why the programming had gotten out of hand. He was then asked, “If you had it to do all over again, what would you do differently?” … 5 6 5 6 His answer: after years working in “Find the ten best large people and write multisite the entire thing offshore themselves.” development, [Horowitz74] our key advice? … 7 8 7 8 but groups still ‘scale’, large - don’t for reasons… multisite - don’t compelling (“create LTE”) offshore - don’t questionable (“low-cost sites”) 9 10 9 10 Descaling & so is LeSS for scaling? Simplifying 11 11 12 “How can we apply is this the right agile at scale in our big question? … complex organization?” 13 14 13 14 This is an Important Question… traditional large groups are complicated — though not “How can we simplify because they need to be, but the unnecessarily big and because their organizational complex organizational designs create an illusion of unnecessary complexity design, and be agile rather than do agile?” 15 16 15 16 LeSS descales organizational complexity, dissolving unnecessary complex organizational solutions, and solving in More with LeSS simpler ways. 17 18 17 18 Some Big Keeping it Simple Ideas 19 19 20 not here just to explore own “LeSS system”, rather: vs how to think about systems in general rent 21 22 21 22 The IKEA Effect why 23 24 23 24 don’t believe “It is difficult to get a man to anything i say understand something when his job depends on not fads & gurus -> insight understanding it.” rent -> own — Upton Sinclair 25 26 25 26 Guide: Job Safety, but not Role Safety Practicalities 27 27 28 Course PDF & Room Photos at less.works 29 30 29 30 9:00 18:00 31 32 31 32 #LeSSWorks @less_works 33 34 33 34 local meetups Your this week? Backgrounds 35 35 36 (optional) team re-organization Introductions > diversity at each table 37 38 37 38 coach background? course overview? team: standing: round-robin > briefly (30 seconds each), we’ll defer these warm-up introduce each other topics until later today > when team done, please sit why? so day-1 morning is more focused on learning 39 40 39 40 Where are We? 1. Opening Topics System Optimization 2. System Optimization, not Local not Optimization Local Optimization 3. Organizational Structure 4. LeSS Overview 5. <Your Priorities> 41 42 41 42 what are we Local about to learn? Optimization 43 43 44 in traditional large- scale organizational individual: design, the overarching > write a definition of what you and repeating theme is think is local optimization coach: review local optimization 45 46 45 46 focus on moving the ball? examples of local optimization… or on player job title? 47 48 47 48 focus on delivering dishes? Local Optimization Cognitive Bias “Everyone is busy and doing their best, efficiently on their task, yet the system is delivering slow and not delighting the user.” or on chopping onions? 50 49 50 Local Optimization Cognitive Bias Local Optimization Cognitive Bias > (incorrect) belief: optimizing a part optimizes “It’s more efficient or the whole system > locally optimize, for a person or sub-group: productive when a >local efficiency person/group does >local performance >local output one specialization.” >local activity 51 52 51 52 Local Optimizations… Local Optimizations… are justified as “good/best/efficient” … are not thought of as sloppy quick-fixes or hacks … but their consequence is system- level sub optimization of (e.g.) they are justified as customer value, customer cycle time, customer delight, company “good/best/efficient” robustness, company adaptiveness 53 54 53 54 Local Optimization Cognitive Bias individual > think of 1 example of local Q: “Why are you doing that?” optimization you’ve seen A: “Because it’s best & efficient.” coach: review and yet, the system-level consequence is a sub-optimization > compare & contrast “quick fixes” with local optimization 55 56 55 56 local optimization is a Why Local cognitive bias Optimization? list of cognitive biases? 57 58 57 58 Reinforcing Loop Local Optimization is related to… > sub- > measurement & optimization metrics belief in local org support for > > optimization local optimization management by performance objectives management > resource > appraisals management 59 60 59 60 group > examples of metrics or System objectives or “resource management” that led to local Optimization optimization? 61 61 62 Systems Optimization “watch the ball, not the players” the One True system optimizing goal? “deliver the dish, not the onions” 63 64 63 64 Systems Optimization > there are no ‘good’ or ‘bad’ organizational systems coach > counter-intuitive example of a > but if the observed behavior is inconsistent with its espoused local optimization inconsistent optimizing goal, it is unskillful with system optimization goal? 65 66 65 66 Local vs Systems Optimization the LeSS System Goals > local optimization is a local “best” or > company-level system “efficient” that… optimization for > sub-optimizes system optimization goal > deliver highest customer > often generates the “lean wastes” value (first) > overproduction, inventory, handoff, waiting, not using people’s full > agility (“turn on a dime, for a potential, hidden defects, … dime”) 67 68 67 68 Systems Thinking 70 69 70 What is the SYSTEM? Scaling Lean & Agile Development Thinking and Organizational Tools > at least… for Large-Scale Scrum Craig Larman Bas Vodde > the entire company + > customers/markets + > supply chain > (it isn’t a group within a company) 71 72 71 72 Systems Thinking Systems Thinking > understand there is a > optimize the whole > see the whole SYSTEM > beware local-optimization > optimize the whole > learn to reason about cognitive bias ‘any’ system, not 1 system > focus on > think & talk about system > see the whole, over space dynamics by drawing interaction and time systems model diagrams effects, not on in groups separate parts > see how things influence one another and the interaction effects 73 74 73 74 pairs: standing individual: > with your graphics (but without > draw a graphic for each looking at course notes), one systems thinking idea person explain to partner the > when done, please stand systems thinking ideas > please sit when done 75 76 75 76 Systems Thinking Sketch a System Model learn to reason about ‘any’ system not just 1 system how? … AKA causal loop diagram 77 78 77 78 we model to have a conversation own vs the output is shared understanding, not a model rent 79 80 79 80 Common Elements coach: > sketch a system model 81 82 81 82 team > sketch a system model, given this: > “We don’t have time to create clean code, because we are too busy going slow because of dirty code.” > start with these variables; write them verbatim 1.% clean code 2.# defects coach: debrief 3.time available to craft clean code 4.time dealing with defects 5.time living with dirty code & its consequences 6.velocity 7.pressure to “go faster” 83 84 83 84 we model to have a conversation own vs the output is shared understanding, not a model rent 85 86 85 86 group Local > in LeSS, when do systems modeling? Optimization > in what contexts or in Backlogs meetings can it help? 87 87 88 team > sketch a system model, given this: let’s start to apply > 1 product, many teams, each team has a Team “Product Backlog” prioritized by a Team “Product Owner” > start with these variables verbatim; do NOT try to link this to old variables in system modeling to prior exercises… until you have finished linking these first 1.# backlogs (e.g. 1 backlog per team, 1 backlog for 2 teams, 1 backlog for all teams) “scaling agile” 2.quality of overview at product level 3.% of total (product) items a team knows well (requirements & design) organizational design 4.agility of teams to change direction at the company level 5.% of items worked on each Sprint that are highest value from a company view choices… 6.likelihood that a single team will see they may be working on low-value items, from a company view 7.local team identity 89 90 89 90 coach > if system optimizing goals are “local > highest value & agility, at optimization company level > … how many backlogs? in backlogs” > … is the answer “good” or “bad”? 91 92 91 92 LeSS Rule(s) therefore… 1 Product Backlog 93 94 93 94 1 Product Backlog … and no “redefining” by calling a set of team educate: why backlogs “part of 1 Product Backlog” 95 96 95 96 supporting secondary own goals or constraints vs (e.g. “team local identity”) rent without sub-optimizing the system goal 97 98 97 98 1 Product Backlog Scrum Guide: “[Multiple Teams] often work and therefore… together on the same product. One Product Backlog is used to describe the upcoming work on the product.” 99 100 99 100 LeSS Rule(s) 1 (and only 1) biased by Product Owner choice of variables? 101 102 101 102 team “driving variables” > update your system model with the “good enough” model refined during the debrief 103 104 103 104 1 Product Backlog team > update your system model with but still these variables; replace # backlogs with: implicit > # explicit backlogs team queues > (note: a backlog is a queue) > # implicit queues 105 106 105 106 coach team > if system optimizing goals are > update your system model: > highest value & agility, at > % time teams spend on company level broader learning of more items > … in general, how many items should a team learn about? 107 108 107 108 LeSS Rule(s) Do multi-team PBR and/or overall PBR to therefore… increase shared understanding and broader learning.