The Software Café
Software, quality and lunch in a time before the internet.
Sample 5
Samples taken from chapters 48 to 60 covering arguments on the shop floor, dinner in France, psychology and managing costs.
'It's amazing, he really did all that? He hit every project in one day?' Paul looked really worried.
'It's true,' said Joan, 'I've just come from the main plant. They're in absolute chaos over there. It would be hilarious if it wasn't so serious.'
'But what are they going to do now? I mean how can they sort it out?' asked Herne.
'I just don't know what they're going to do,' said Joan, 'but it gets better. Apparently the Operations Director heard what had happened and went to see the Technical Director and they had one hell of a fight, like a real stand up screaming row. The Operations Director was saying things like 'How the hell are we going to get these jobs out of the door if Reg keeps tripping us up?' and the Technical Director was shouting back 'None of us are going have jobs if we carry on the way we're going with you waiving through endless changes!'. Apparently it was pretty scary.'
The ship turned out to be a little container vessel. The boxes were stacked three high. They carried names like OOCL, P&O and Maersk. As the ship passed the only noise was the deep rumble of marine engines, softly stroking out the distance. The little Bac tooted a salute. A small figure on the bridge of the container vessel waived. The whole restaurant was silent and watched the ship glide past. As the ripples of its wake died away, so the conversations came to life again. Like a little boy who has just seen a much admired big brother, the Bac steamed off across the river with renewed vigour.
'The final link in all this is the strategy. The strategy is the thing that binds together schemas, plans and scripts. We employ strategies to link together all these structures to complete tasks. Again, I don't think anybody knows enough about this process to exploit it yet, but I find it useful to use the ideas to visualise the process. I can imagine the creation of strategies to be directly linked to the ability to innovate. So putting this together, to tackle a complex task you need to identify the knowledge you need. Do you have an appropriate schema or schemas? Then, if the answer is yes, do you have the right slots i.e. do you have the very specific knowledge for this task? If not, can you 'wing it' based on what you do have, or will you have to go and acquire it? Then marshall your scripts and plans using your schemas following a strategy. Success!'
He gathered up the books and started to walk towards the complex. As he got closer, he began to pick up signs pointing imaginary delivery drivers to places like 'Warehouse B' and 'Goods Inwards'. He followed the 'Visitors' sign that lead him along marble paths through groves of citrus trees and over a glass lake surrounded by willow. The entrance to the building was a grand stone affair with doors that silently glided apart to reveal a massive atrium stretching up to the crystal roof of a central tower. In the middle of this vast space was an island inhabited by two beautiful people. As Herne approached one of them left the island and glided out to meet him. The young man was lithe and dressed in white. He had copper skin and eyes as black and sharp as an ebony razor. But his smile was dazzling.
'From observations of experienced software engineers working on software development tasks, psychologists have concluded that a solution or model is constructed which need not bear any relation to the actual language in which the model will be implemented. The evidence implies that every software engineer has a private pseudo-language.'
'A private what?' asked Herne.
'Pseudo-language. Pseudo-language, a collage of convenient notations from various disciplines, both formal and informal. Basically bits and pieces we pick up as we go along. Things we try, find to be effective and hang on to. I think I can smell honey flowers in amongst this you know.' Leviathan swilled his glass around, and held it close to his nose.
'Yes, I think you're right,' said Herne. 'What are these pseudo-languages then? Are they English or code or what?'
'They can be everything and anything. They can include bits of programming languages, and programming of different styles. They might use parts of a design notation, some bubbles, some square boxes with line connectors of some sort; any kind of diagram really. Some really good code bits may be remembered and used verbatim. What is fascinating is that there is evidence that there are elements whose meaning overlap and which are inconsistent.'
'Well how does that work then?' asked Herne. 'The engineer is able to what, subconsciously reconcile these inconsistencies?'
'Well, yes, I guess she must be able to. Have some more wine. They may be a cause of design or programming error of course, but the implication is that the software engineer imposes some sort of coherence when using the pseudo-language to describe a solution.'
'And the link from this to what we were talking about before, is that pseudo-languages are manifestations of schemas. Pseudo-languages are formed from slot fillers. They are schemas and scripts being used in practice?'
'Yes,' said Leviathan. 'My personal opinion is that that is exactly what happens. The form and nature of a software engineer's pseudo-language is heavily dependent on the number and variety of schemas and scripts they have developed over their academic and working life. I find the whole thing fascinating.'
'Yeah, that's right. You can go now down to the floor an' ask any of the managers there to show you their ledger. It's the same story everywhere. They're usin' three codes for the whole project. You 'aven't got a 'ope in 'ell of finding out 'ow much things really cost.'
'OK, I get the point. But the problem is making the damn things cheaper. You've shown me yet another big problem. How does this help?'
'It 'elps,' said Reg, sitting forward in his chair, 'because before we can make anythin' cheaper, we 'aff to know which bits are costin' a lot of cash in the first place. When I was out in the States I talked to a lot of blokes from places all over the world. Some of them are in the state we are, but a lot aren't. They talk about 'controllin' process' an' 'continuous measurable improvement' an' they aren't taking the piss niver. They live an' breath this stuff. They have workshops an' everythin'.'
'What is 'continuous measurable whatsit' then?' The Technical Director was sure it was going to be difficult whatever it was.
'Well it's about getting' better all the time, but knowin' you're getting' better 'cos you measure 'ow well you're doin'. Look mate, it's bloody obvious really. We 'ave basically one commercial airliner simulator product. Everybody agrees it's a bloody good one, it's got more bells and whistles than a bloody merry-go-round an' a price tag that stops people dead in their tracks. But suppose a company didn't want a really flash one. They just wanted something cheap an' simple. Well, we could build it from the bits we use to make the really flash one, but we wouldn't know how to price it because we 'aven't got a clue 'ow much the bits costs.'