The Symbian OS (779886), страница 98
Текст из файла (страница 98)
33].460CREATIVE ZOO OR SOFTWARE FACTORY?Software is not the only creative industry to have attempted a ‘factory’approach. Hollywood is probably the most famous, if not the mostobvious, example. Thus at Warner Brothers studios in the 1930s (see[Bordwell et al. 1985, p. 326]), all creative people (directors and writersincluded) had set working hours and a per-day expected piece-rateproduction (which may not in the end have been so much more thanthe equivalent of four lines of code per day).
In one sense, it workedand the films are there to prove it, but it almost certainly did not workfor the simplistic reasons that Jack Warner thought that it worked. Morelikely, it worked because a hot-house of talented people did good thingsdespite the more foolish aspects of the regime.12 In an updated context,it might also be legitimate to ask whether the independent cinema sectorproduces higher quality films than the modern Hollywood factory (surelyit does!) and, if so, how much of the difference is due to their differentproduction models. The analogous comparison between conventionallyand open-source produced software might be similarly instructive and forsimilar reasons.Software development, says [McCarthy 1995, p.
87], is more likea jam session than an orchestrated event and, in so far as that istrue, it cannot be factoryized and cannot be scripted. The jam session requires motivated, independent, skilled, autonomous individuals towork together with a common aim. What the development model canenable is a team context which makes it likely that the goal will beachieved, including time goals if time-boundedness is part of the projectspecification.Flavor of the TimesThe stereotype of the early days of the Protea project which created theprecursor to Symbian OS is, on the one hand, Charles Davies and his eliteband of application and ‘middleware’ programmers with their objectoriented cloud and, on the other, Colly Myers and his lieutenants withtheir heads down in the practicalities of leaner, meaner and faster code,only vaguely aware of the cloud but exploring some interesting objectoriented ideas of their own.
Somewhere between the two elites is DavidWood, throwing new recruits at the interesting problems of creating acomplete object-oriented GUI from the ground up and laboring mightily12According to legend, Jack Warner was accustomed to taking a mid-afternoon strollaround the studio lot every day. If when he passed the Writers’ Building there were anyoffices from which he did not hear the sound of a typewriter from the window, he wouldhave his assistant enquire why the writers in question had not been writing.WHAT MAKING SOFTWARE IS REALLY ABOUT461(and often singlehandedly) into the night to integrate the raw code theycreated into a complete and elegant system. Bill Batchelor stalks thecorridors with a furiously scribbled and rescribbled back-of-envelopeproject plan looking distracted.
In the basement, meanwhile, RichardHarrison presides over a rack of home-made-looking black boxes (ROMwriters) and a heap of yellow, later green, ‘Banana’ and ‘Lime’ PsionSeries 5 prototype devices.Davies, according to the stereotype, is the cerebral purist and Myersthe bulldog-like pragmatist, the one who is actually building the systemand needs therefore to know what to build. Bollen meanwhile, as arelative newcomer, was neither exactly in Myers’s corner nor in Davies’scorner.Geert Bollen:I was ‘piggy in the middle’.
I had arguments with both.Others who were there tell a broadly similar story. Most strikingly, forall its informality, it was not a particularly relaxed environment. As MartinTasker puts it, it was a frontier atmosphere, exciting, charged but driven.Martin Tasker:Colly Myers and Charles Davies led the project, and they had three trustedlieutenants who they put in key positions, namely Nick Healey, David Woodand Bill Batchelor, but Colly and Charles were formally Psion Group directorsand they directed the software on the project.
They had absolutely poles apartdifferent management styles. With Colly, everything came from within andwas asserted. His style was to assert everything more or less out of his ownbrain and his own experience, you know, an ‘I’ve already written three OSs,this is my fourth and I know what I’m doing’ kind of mentality. And peoplewho followed that had an easy time, and people who thought otherwise hada hard time, which didn’t mean to say that Colly couldn’t be challenged, butit was difficult.Whereas Charles’s style was very much to read books about other projectsand basically to design the interfaces, and then to train up people and get themto implement stuff to the specification, and then he would iterate. He had agroup of people who he basically taught Rose clouds to and he architectediteratively with them. I mean Charles was quite assertive but he had broaderinput than Colly and was gentler in the way he let things out as well.
AndDavid Wood, meanwhile, although he was slightly under Charles’s guidance,he gave a huge degree of autonomy to his people, basically he used to say,‘these guys are bright and they can do it, I won’t give them any brief at462CREATIVE ZOO OR SOFTWARE FACTORY?all, I’ll just comment on what they’ve done when I integrate it’, whereas thepeople who worked directly for Charles got quite a lot of attention at a certaininterface level.There were a lot of different styles, and I would say overall there was alot of creative tension around. I think the atmosphere was really very frontier.There were probably people who didn’t have the experience to deliver ontheir potential, for whom that environment wasn’t the right environment. Andthere was also a class of people who kind of came in and always wore a whiteshirt and would have been a lot happier with Symbian as it is today than Psionas it was then.
You know, the frontier mentality didn’t suit.There was an architecture committee, ArchComm, and Bollen was onit, as were Davies and Wood. There was also a UI design committee,presided over by Nick Healey and Bill Batchelor, the two UI gurus,dedicated to keeping down the number of key strokes required to drivethe system in keyboard-shortcut modes and to keeping the applicationUIs clean and consistent.Howard Price:There was a lot of counting of key presses.
Navigating with the keyboard, youwant to avoid having more than the strictly minimum number of key-presses.Peter Jackson, who had joined the company well before the Proteaproject began and was by then almost an old hand, also has another,quite specific recollection of the transition from the early design activityto the construction of a real system.Peter Jackson:I have a very clear recollection about what life in Psion was like at the end of1994. There was a lot of quite deep thought going on about architecture andthe way things should be modeled and so on, and then one day Colly madehis world-changing submission.
He heroically wrote all this code and arrivedwith an implicit statement of, ‘Here we are, here’s EPOC32’. And then all hellbroke loose, because basically all this deep thought stopped and everyonestarted coding.You can’t argue against it, because time to market is everything. But atthe same time, what Colly catalyzed also included some poorly considereddesign. At the same time, we were recruiting a lot of people and letting themloose on difficult problems. One example was David Wood assigning somerelatively new people to write a menu system which would include things likedrop-down-menu technology.WHAT MAKING SOFTWARE IS REALLY ABOUT463I remember that I had spent a lot of time, because of the lack of documentation in SIBO, reverse-engineering the design of the menu system to implementon the MC400 laptop, so I knew how difficult it was to actually get it right.And all these people were kind of fresh out of university! David Wood wouldcollate all their output, and he would make a huge effort to put it all togetherto produce a user-interface system.
And the good thing about it was that wemade progress and it cheered people up. The bad thing about it was we hadto throw a lot of it away that wasn’t right.Lotus Notes had been adopted by the company quite early on andprovided an important part of the mechanism which allowed stronglydecentralized team-working without completely abandoning control ofthe high-level design. The result was a kind of hub-and-spokes model,in which strong design directions were transmitted from the hub to theindividual teams at the end of the spokes but without much direct communication between the different teams.
But the Lotus Notes cultureenabled a lot of direct communication between individual developers,through the medium of the databases.Howard Price:Design was pretty much a central activity, though you didn’t get people showing their Rose diagrams to each other especially. I remember going to CharlesDavies with my design for review just once.
My design was only really seenthen and the rest of it was up to me. But there was a design database whichwas very active. Charles Davies had a central Rose design on the networkwhere each team was supposed to design their own Rose diagrams that fittedinto it and you could link them together.But there was a way you did things, definitely.
There was a strong Notesculture. There would be a lot of activity on databases discussing ways to dothings and it would be hard to miss the right way to do it, at least if youwere coding something standard anyway. So there was some very interactivedevelopment discussion on the databases.In fact, for a system in which in-house idioms were important (forexample, the idioms of descriptors and active objects, client–server andframework–plug-ins), Notes was an essential mechanism for providingguidance on how to use the idioms effectively and, indeed, for enforcingtheir proper use.While high-level design was always to a large extent autonomous,although beneath the eye of an overall Architecture Committee, codingstandards were always strongly defined (they had to be, in a companywhich was getting to grips with a new language, for which many engineers had only had the brief exposure of a formal training course and nohands-on experience).464CREATIVE ZOO OR SOFTWARE FACTORY?Howard Price:Client–server, for example, was treated as something that everybody had toknow.