- we talked at great length about how agile *coding* practice can be seen as combining several attempts at attacking the thinking knee, but what about agile *non-coding* practices.
https://twitter.com/GeePawHill/status/948957984536875008
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 16:43:08 - as i push towards the topic, which is it what got me started on this set of muses, i want to offer a bit of caution before we start.
https://twitter.com/GeePawHill/status/948958299231318016
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 16:44:23 - i've used the thinking-knee idea to elucidate a bunch of seemingly unconnected corners of the practice. it might seem i believe that's all there is to agile: means to outwit the thinking knee. i don't believe that.
https://twitter.com/GeePawHill/status/948959580415029248
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 16:49:29 - i'm using "fighting the thinking knee" as a lens to help us clarify & unify a bunch of behaviors that don't seem related on the surface. and as a lens, it's useful. but it's partial. lots of parts of the agile practice have little to do with the thinking knee.
https://twitter.com/GeePawHill/status/948960183333646336
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 16:51:53 - still, as we push out from coding practice, i hope you'll see that the idea of the non-linear thinking knee is still useful in our considerations. let's go to it.
https://twitter.com/GeePawHill/status/948960578252496897
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 16:53:27 - almost every "make it smaller" impulse you see has as part of its rationale based in cheating the thinking knee. making things smaller, after all, very often directly reduces the piece count.
https://twitter.com/GeePawHill/status/948963171808808960
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:03:45 - if we force all stories that get to be WIP to be two days or less of work, we're very likely reducing the number of points a given story touches the existing code. that's piece count.
https://twitter.com/GeePawHill/status/948963762438057986
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:06:06 - why have five daily 12-minute standups instead of one weekly hour-long standup? one of the reasons, smaller scope, which is just another way to say fewer pieces.
https://twitter.com/GeePawHill/status/948965020804812800
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:11:06 - not all of the tricks are this direct. consider pairing & mobbing. do these reduce the piece count? no. they really don't. does that mean they're not related at all to the thinking knee?
https://twitter.com/GeePawHill/status/948965521906700288
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:13:06 - here we step into chunking. we said before that all chunkings aren't created equal. some "work" better than others. what's one way we can get *better* chunking?
https://twitter.com/GeePawHill/status/948965951466360833
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:14:48 - well, "better chunking" certainly seems to be closely related to "shared & sharable chunking", doesn't it? pairs & mobs have among other effects that they help create chunking schemes that are consistently more nearly optimal.
https://twitter.com/GeePawHill/status/948966338051141637
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:16:20 - we prate endlessly on smaller cycle times. shortening these actually relates to the thinking knee twice.
https://twitter.com/GeePawHill/status/948967302292295680
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:20:10 - first, smaller cycles usually still means fewer pieces, the direct contact. anything i can turn around in a few minutes is likely to involve far fewer parts than what i can turn around in a few days.
https://twitter.com/GeePawHill/status/948967545339596800
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:21:08 - but shorter cycles connects in another way. do you know that WIP items are *also* pieces? someone in our team, often several of us, is looking at our board, and sees each WIP item as a piece that must be thought about.
https://twitter.com/GeePawHill/status/948968954604769281
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:26:44 - shorter cycles means literally that WIP items live shorter lives. and that, in turn, means that there are fewer that need to be balanced in our minds at one time.
https://twitter.com/GeePawHill/status/948969337762795521
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:28:15 - so things that reduce WIP, either directly by having fewer lanes, or temporally by having shorter time in the lanes, connects right back to avoiding the thinking knee.
https://twitter.com/GeePawHill/status/948969751296036864
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:29:54 - (aside: the technique of swarming, which gets little press but is super powerful, exists almost entirely for this purpose. swarming is when a team takes one story and distributes its pieces to the *entire* team rather than to a single individual, pair, or mob.)
https://twitter.com/GeePawHill/status/948970581495570435
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:33:12 - one reason chunks work is because they open & close. they form mental boundaries around pieces & other chunks. we can be inside the boundary and deal one way, or outside the boundary and deal another way.
https://twitter.com/GeePawHill/status/948971228978712578
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:35:46 - getting work "done-done" is a way of closing a chunk. it takes the chunk and removes its guts from view. all of the tricks that work by shortening cycles do roughly this same thing.
https://twitter.com/GeePawHill/status/948971593300094976
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:37:13 - CI is a form of this, and so is CD. oddly, so is the part of TDD that lets me push the code whenever my tests are green. these all work in part by allowing us to take a piece or pieces that are *in* our head and move them *out* of our head.
https://twitter.com/GeePawHill/status/948971953766977536
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:38:39 - so, i think i've just about exhausted what i needed to say about non-linearity, the thinking knee, and agile practice, at least as a separate topic.
https://twitter.com/GeePawHill/status/948972157647966209
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:39:28 - (i'm sure it will come up in passing again, for no other reason than because once you start looking at the thinking knee and our ways to work around it, you can't *stop* looking at it.)
https://twitter.com/GeePawHill/status/948972383234347008
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:40:21 - the conclusion i'd wish you to draw: the non-linear thinking knee presents a huge challenge in s/w development, one we've spent decades tackling in a variety of ways. agile practice, coding & non-coding, is the latest wave of these efforts.
https://twitter.com/GeePawHill/status/948973245646213120
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:43:47 - the behavior i'd wish you to consider: explicitly considering piece-count, the knee, and all the creative ways there are to keep your chunks -- scope -- as modest & narrow as you can.
https://twitter.com/GeePawHill/status/948973527029440512
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:44:54 - the thinking-knee can't be eliminated. it is a fact of the biological limits of humans. but here and there, now and then, we can find ways to hold it at bay. agile practice represents among other things our best latest efforts to identify & take advantage of these ways.
https://twitter.com/GeePawHill/status/948974517560532997
— Michael D. Hill (@GeePawHill)Thu, Jan 04 2018 17:48:50