Scrum and Working Code
So I bought this machine for the production line.
Who'd you get it from? Acme. I told them what I needed, they would build a bit of it, show it to me and so it went, round and round until I got the machine installed on the line. Works well. Or rather it did.
It's not working? No it works. It works just the way it always did. None of the parts wear out. It's a marvel really. But we got the new WhizzBang mark II six months ago. It sits in the line just in front of the Acme. Beautiful piece of kit. Spits out widgets a whole lot faster than the previous mark I model.
And the Acme can't keep up? Yup. You got it. Never thought the WhizzBang people would ever be able to make faster machine and the new mark II is a sight to see. But I never thought to ask the Acme people to put a speed knob on the control panel.
Ah. Ah indeed. But I'm a resourceful guy. I thought maybe there was some other way to speed it up. Use a lighter lubricant, tighten up some spring tensioners, shorten the belt, or perhaps up the voltage a bit, maybe upgrade the motor. I asked Fred in maintenance to bring me up the manual for the Acme.
And Fred had lost the manual? Close. Fred says he never got the manual. My fault really because I was so focussed on getting the Acme built, I guess asking for a manual just got overlooked. Anyway I got on the phone to Acme and asked them to send me one over. They said they would get right on it.
But they never did? Right again. Apparently when they went looking, there was a binder for the manual but there was nothing in it, just a note to ask Engineering. Apparently because our machine was a one-off, and I didn't specifically ask for a manual, nobody thought to make one. Apparently that's the way things are these days.
You didn't give up that easily did you? Did you? Oh no. I'm a get-things-done kind of a guy. I got right back at them. I said OK, send me over the engineering drawings and I'll work out how this machine works myself. It might take me a while, but I can read a good set of plans pretty well. Yeah - I'll save you the bother. There were no plans.
Good grief. You won't believe how these guys worked over there at Acme. They tested everything - scales and calipers and stopwatches - you name it, they had it. They still had a test rig for the main motor assembly and their test results. That baby clocked 2500 rpm with a variance of less than 0.001%. I'll have to hand it to them, their tests looked pretty good. Somebody over there said every single part was tested. It's just that they haven't got a single piece of paper to tell me how the thing fits together.
Didn't you ask them how they built it without plans? I think they were getting a bit defensive. I didn't have to ask them. The guy in charge - a pretty smart guy - knew what I was thinking so he just started explaining how their system worked. Apparently they would build test rig, decide what answer they wanted and then build the part until it passed the test. Over and over again for every different part. And when they started bolting parts together, they would build a test rig for the assembly. They carried on like that until they had the whole thing built. And yes, they even had a test rig for the whole machine. I guess maybe that's part of the reason why the parts haven't worn out. He seemed pretty pleased about that.
So what happened when you told them about your need for a speed control on the Acme you've got? The best they could come up with was to say that they would get Engineering to come up with some suggestions. Apparently some of the team who built my Acme are still there. But since I put my order in two years ago, a lot of these guys have moved on. Apparently two years is a long time in their line of work. When I asked them how they were going to do it without any documents they said that the machine itself was the documentation.
So a sort of self-documenting machine? Kinda. And to be fair, many of the parts have names etched into them like 'big_sprocket_for_main_drive' and 'main_drive_axle_locking_assembly'. But it's like that physicist Feynman says, don't mistake knowing the name of something as being the same as understanding what it actually does.
Is there any good news? You said these were intelligent people. Yes. They didn't need to disassemble my working Acme because they managed to find a perfect copy of all the components in their stock control system.
Well, that doesn't sound so bad. How is it working out? Not so good. The few remaining engineers who worked on my project are all more senior now and have been allocated to new clients. Because trying to guess how the machine works staring at a bench full of parts is pain in the neck, nobody has that much enthusiasm. It's certainly taking a long time.
And the WhizzBang? Well the money I spent on the upgrade has been wasted. Nothing can go faster than the Acme.
Would you do anything differently in the future? I always thought that if I needed any changes I could go back to the maker. But when even the makers are unable to work out how they made the thing in the first place ... There's a lesson in there somewhere.