| Max Guernsey, I...'s profileMax Guernsey, IIIBlogLists | Help |
|
Products of Note
|
Max Guernsey, IIIManaging Member, Hexagon Software LLC June 26 Michael Jackson "Good Bye" montageSo I wonder what music they played for Michael Jackson's "Good Bye" montage. I recommend "Mr. Tinkertrain." June 17 State of the ArcaneI've noticed that people have a tendency to want to go backwards. I'm hardly the first person to discover this. In Lean Thinking ...but nothing is ever as real as when you experience it first hand. Anyway. One thing that people try in an attempt to stave off a Lean conversion is to "teach" you "how it is really done." I can't count the number of times that I've sat, mouth hanging open, as someone "explains" to me how things should really work. As though anyone who has worked in this industry hasn't heard it all before. Specifics aside, it always amounts to one of a few arguments. "Just batch up a bunch of work and costs will go down." "Just skimp on quality and costs will go down." "Just create large queues and costs will go down." Pish posh. These arguments always remind me of an old generation of scientists who simply refuse to accept a newer, better theory in spite of all the evidence such as was the case with the transition from phlogiston theory to the oxidation theory of combustion. What is being taught in these scenarios is always the most advanced interpretation of the old theories available - the "state of the arcane," if you will. What I need is a way to validate that someone has a highly advanced understanding of an out-of-date thought-framework so that I can validate what they do know without accepting what they believe as the truth. Any ideas? May 30 Software Development and "Crush the Castle?"Quality, Batch Size, and “Crush the Castle”I was playing "Crush the Castle," today - my first break after a long period of virtually continuous work - and I noticed something. I think there is a lesson that can be applied to life and to software development. Check out the following castle...
0~c_k:778.4,403.35|fl_i:741.65,283.3|ws_i:693.3,383.3|fl_i:538.35,281.65|fl_i:765,268.3|fl_i:560,266.65|fl_i:508.3,250|fl_i:718.3,253.3|w_i:830,350|w_i:851.65,353.25|w_i:873.35,358.25|fl_i:733.35,193.35|fl_i:491.55,216.6|fl_i:606.7,228.35|fl_i:791.7,241.7|fl_i:843.35,205.05|fl_i:695.05,216.7|fl_i:641.7,205|fl_i:621.65,181.65|fl_i:530,193.3|fl_i:603.35,348.35|fl_i:811.65,228.35|fl_i:590,240|fl_i:438.35,205|fl_i:420,181.65|f_i:441.65,241.65|f_i:460,226.7|f_i:380,193.35|f_i:843.3,216.7|f_i:881.7,193.35|w_i:893.35,358.35|w_i:913.35,358.35|p_t:963.3,391.7|fl_i:1025.05,329.9|fl_i:1025,320|fl_i:1025,310|p_t:1151.65,391.7|fs_i:280,415|fs_i:330,416.65|fs_i:306.65,401.65|fs_i:323.25,389.95|fs_i:356.65,403.35|fs_i:380,413.3|fl_i:826.7,181.7|fl_w:855,170|fl_w:653.35,170|fl_w:450.05,171.7|fl_w:570,160|fl_w:771.7,158.3|fl_w:690,148.3|fl_w:473.35,146.7|fl_w:366.65,160|fl_w:893.35,148.3|f_w:294.9,150|
If you play it, you will probably conclude that it is indestructible. However, it can be defeated but only if you do things just so. So what's the trick? First and foremost, you will never defeat this castle unless you are patient. It is going to take time; probably at least two-hundred fifty hits. Of course, for most of you, this makes the destructibility of the castle basically theoretical. Who has the time to fire that many shots? You have to deliver a large number of direct hits to key parts of the castle. There are no shortcuts (that I could find). The cost of missing is greater than the value of a direct hit so you have to be mostly right. Why is it so Hard to Beat?There are many reasons. The ones that make it look so hard to beat are the fact that was built with the forces of the game in mind and the enormous volume of material between where your munitions land and the target. In fact, these are not the true problems. When you hit the structure with bombs, it is perturbed if ever so slightly. If size and strength were the problem, then time and pressure would be the solution. Yet, while time and pressure are necessary to solve the problem, they are not sufficient. Precision is also required… but why? The castle is set up to “heal” every time it changes. If you score a “hit” – a blow to one of the weaker parts of the castle – then the structure change a little in your favor. If you miss – hitting too far away from a weak point – the castle gets a lot stronger. This is because when you widen a gap, you are pushing up against gravity but, when you miss, you are pushing downward, toward gravity. The forces are literally set up against you. The more you weaken a weak point, the easier it is to score a hit. A good ten hits in a row are enough to make it easier to score a hit than a miss. Analogy to Software DevelopmentThe structure of this castle is, essentially, a system set up to keep you from completing a job. It has a design which is self-perpetuating. That is: the design is set up to repel attempts to change the design. The king in the center represents what little value there is in the system. You do want to hit that target but you have to go through a bunch of extra steps to get there. Does this remind you of anything? To me, it is reminiscent of a legacy system. Batch SizeYour first reaction might be (as mine was) “Oh shit! There’s a lot of material to clear, I’d better use three bombs.” That won’t work, though. The extra two bombs defocus your shots – they remove precision and make accuracy impossible. If you watch closely, there will be times when you can see two bombs close together adding a little value each, and then the third one completely undoing what they did. In fact, I’ve found that, two sets of bombs delivered with perfect aim and luck can have everything they’ve accomplished erased by one errant bomb in the third volley. A steady stream of bombs placed exactly where you need them, on the other hand, will give you a much better chance of clearing a beam and, ultimately, a layer. There is a lesson in batch size, here. The lack of focus causes rework. Small focused jobs delivering understood value do more than big ones. In this case you even get more value if the smaller batches take just as long as the bigger ones. I believe this to be the case in software development as well. QualityBad quality discourages the introduction of good. Good quality discourages the introduction of bad. It is hard to widen a gap more than a little bit to begin with. The wider the gap gets, though, the less work it becomes to widen it further. The more gaps you create, in general, the easier it is to get to the kind. At some point adding quality – widening gaps – is easier than removing it. Eventually, you reach “critical mass.” The coupling in the system becomes weak enough that changing the structure is easy. Then it’s just a matter of chipping away at it until you unbalance the pressures enough that the system collapses the way you want it. On the other hand, if you do too much of the wrong kind of damage, the structure will collapse in another way. The new form of the castle will be chaotic. It will be easy to change it but hard to do so in a controlled way. The only way to win the game from that point will be to hammer on the pile of rubble until you shift it around enough to cause a beam to hit the target hard enough to kill it. The point here is that you can evolve the structure toward a goal (high beams gone, low beams present, midway support beam disturbed enough to yield). You can also hammer the system until it becomes even harder to change and only luck can get you the value. This is a great analogy for quality. Move in Small Increments toward Quality and ValueThe takeaway, here, should be that when you are coding, you move away from bad code and toward good code. You do it in a disciplined way and you do it even if it is painful. Most importantly, you do it in little steps rather than big ones. If you see an opportunity to make a big, positive change with a small, focused effort, by all means take it. …but under no circumstances should you move without knowing where you are headed and for no reason should you commit to a “grand design” with a large investment, rather than committing to a big goal and getting there with incremental investments. May 02 Pandemic II - Patience is a virtueThe key to Pandemic II appears to be patience. I quit playing two weeks after it was released on account of frustration. Like many, I dubbed the game impossible.
As it turns out, it's not impossible, just really slow paced. This time around, I won on my first try. Fast forward should be the middle option for speed.
Move in slow measured steps. The key is to sneak up on the population. Start by eliminating your symptom early and then spend a lot of time getting mutation points before doing anything. After you've got some points stored up (40 - 100, depending on your disease type), get level I resistence in everything (except drugs). Be patient.
As soon as the governments of the world start to react, spend all of your points on infectivity. Start with the transmission methods, then resistences. Slow the game down for this part. This is the battle. The governments have no effective method of erradicating you once infected (unrealistic) but they can, somehow, prevent disease from spreading across their borders (also unrealistic). So, as with many games and much of life, the true competition is over key blocks of real estate like Madagascar.
If the governments start reacting and you don't have Madagascar, you might as well stop the game. It is such a low-probability event to infect Madagascar with respect to the risk of Madagascar closing down its ports that the game is basically lost. It seems like if you play your cards right, though, that you'll be fine. Madagascar is like the middle of the chessboard.
With the exception of Madagascar, most governments have a graduated response to infection. This makes the the battle for the surrounding territories more interesting. Don't get anything that increases visibility without careful consideration and certainly don't waste points on anything that doesn't increase infectivity.
Once you have all of the territories or have set your self up to take them as best you can, it's back to the waiting game. Turn fast forward on an wait for a solid foothold in each territory.
If you get all the countries before it is impossible to win, that's when you start to get symptoms that do damage. There is the possibility that the humans will create a vaccine. I've not seen this be a problem and, I suspect, you can combat it with drug resistence.
Even in the end, it's a waiting game. The last few stragglers hang on unreasonably long, considering thay have a disease that shuts down their kidneys, liver, heart, lungs, and causes massive blood loss. |
|||||||||||
|
|