Wednesday, October 27, 2004

Week 22.3 – Version Controls

So here’s the ‘system’ out here. Imagine a children’s party, and at this party there are games. The first game is Chinese Whispers, and the first child is told the name of a thing to be drawn, this then being whispered around the circle until the last child hears a substantially corrupted version of the original message. This last child then begins to draw the whispered thing, folds the paper concealing what has so far been drawn and passes it backwards around the circle, the drawing progressing with no knowledge of what has already been done or what is to be added. Now, imagine the scene thus far described, but make the game players attendees at separate parties many miles apart, and imagine that they have never met and use different drawing tools and speak different languages to each other. This, I am now convinced, is the technique used to produce the kinds of design that I get to work with every day.

Of course, all these various drawings and documents have to operate together and relate to each other precisely, in order for any interlocking system to function safely. Fortunately, this constancy of design can be ensured by rigorous attention to version control, ensuring that all documents are at the same issue status. I was prepared, initially, to place some confidence in this, but have now seen it fail far too often; for example, the circuit I have before me as I write has passed through these versions: A, B, A, A, B, C, D, B. That must have been the episode of Sesame Street that I missed. Typical safety-critical engineering design specifications which I receive tend towards “around there somewhere” and the frankly scary, “it doesn’t matter, it’s not important.” Be afraid, be very afraid.

And then there are the standards which I put in that I’m told to remove, because, unexpectedly, they don’t want precision, accuracy, scaling or any detailed design information (“if we don’t state anything, we can’t be wrong.”) [All I need is a head-sized gas oven.] So I painstakingly explain to them why they ought to produce documentation that’s useful, dependable and a valid design component, with the potential to be used as a future resource, and they natter away to each other in Nederish and then ten minutes later tell me to change it anyway. What, did the Nederese tell Van Gogh to use fewer colours and less detail? Maybe now I understand why he cut his ear off.

Meanwhile, ProRail, the alleged overseeing body for all things NederRail (the Dutch railways have been recently broken into separate components and now work in much the same way that they don’t in the UK), have totally failed to specify any standards whatsoever for the production of designs and seem to merely expect that everything will turn out for the best. Blind faith, don’t you just love it?

My suspicion that English is a second-class language over here was further deepened on Thursday, when I was speaking to Shahram at great length regarding version control and its importance, and as I near the end of my tirade he interrupts me to start TALKING TO HIMSELF. Apparently, he hadn’t realised I was speaking to him, despite the fact that there was no-one else in the area.

And so to the weekend. Shahram, Cornelus and I were planning to go to Six Flags (“it’s about time you saw more of the Nederlands – we’ll take you to an American theme park”); however, it started to rain at 5 a.m. Saturday (so hard that it woke me despite double glazing) and didn’t stop till Sunday night, so we were forced to cancel. I took the opportunity, being trapped indoors, to clean my digs – I was amazed how much the dirt had mounted-up in just four short months.

Monday, and Ronald returns from the Hague (there seems to be a tendency to go on holiday just before a job is due for completion out here) and begins to hurry me on a project which I thought I’d completed. The problem is that he was given design changes to make to route control tables, and was supplied the design prints with required changes at version B; however, the digital files which we were supplied were at version C, which is known to be wrong, which is why the drawings are now at version D, which we don’t have and won’t get, so we are now raising the design to version E based on the design changes which we’re adding and the errors which we have been able to identify. I mention to Ronald that I think this is a bloody dangerous way to proceed, and he agrees and tells me that he only agreed to work on the job because it’s already been decided that it won’t be built anyway. What? Then why the hell are we working on it? Damned stoners, all of them, I swear.

For a while I found going to the gym to be a good way of working through aggression, but now that I’m getting a better grasp of Nederese even that’s beginning to annoy me. I’m on the cycling machine or the cross-trainer or whatever, and up flashes the message ‘HOUDEN HANDEN OP SENSORS’ (yeah, I know it’s easy to translate, but I just didn’t bother reading Nederish until recently, okay). This message represents a basic mis-understanding of the whole man-machine relationship, which is a classic master-slave scenario: man is master, machine is slave – the machine can’t be telling me what to do, I have free will! Anyone who’s seen Terminator knows what happens if you let the machines get the upper hand – get your sensors off me, you damn dirty droid.

More news if it breaks. Just about live from Zwolle.

No comments: