> BTW, while I'm very much in favour of having FlightGear's various > subsystems split into distinct parts, I think the "bad design" claim > coming from you is pretty weak. Where was your voice when the Local > Weather subsystem was added ?
Gentlemen, it's so nice to be mentioned so often if an example for bad design is needed :-) I don't really understand what you'd see as 'good design' in this instance, but I can tell you why it is the way it is, and maybe there's a useful lesson for the future in there. Local Weather started out of my experiments with how to render various cloud types, initially using the AI system, which was a problem I found quite interesting in itself. At some point, Hooray in the forum pointed out that what Flightgear could use was an integrated weather system. I thought about that problem over night, had the impression that I could do it and designed a system. The first thing I did was setting up a wiki page sketching the project. The second thing was asking for comments, ideas and help. I'm pretty sure at this point most people thought 'That's never going to be finished anyway.', smiled and turned away (can't really blame anyone). So most of the time I discussed with Hooray (and a few glider enthusiasts), that's why most of the structure that isn't my design is based on his ideas how things should be (and he's a Nasal enthusiast). At this point, it made a lot of sense to code in Nasal, if only for the simple reason that I couldn't know if it would ever included into the base package or not. A Nasal-coded addon you can distribute with reasonable effort - a C++ patch which people have to recompile reaches a far smaller target audience. Serious contact with core developers (a big thanks to a lot of people here who worked with me on various aspects of the system at this point!) didn't happen until much later when the structure of 'Local Weather' as an optional addon which is off by default was largely fixed. What could have changed this is not project management - if someone would have told me 'You must code this in this structure, and we need it like that' I'd have said 'Can't do it - don't understand the requirement.' and wouldn't have done anything. The thing that could have made a difference is a kind of tutoring system - someone working with me, explaining to me what design works in what way and helping me code what I can't code (I come from scientific computing - which means I usually write codes for a single user (me) with zero requirements on integrating into bigger systems, GUI,... and largely performance and accuracy being the goals - so I can work out what methematical function describes cloud distributions easily, but I can't know what design is superior to what other design). > FlightGear is a huge, complex project and has no kind of real project > management at all. Doesn't mean it's bound to be a failure though... Consider the ATLAS particle detector at CERN, one of the most amazing pieces of technology on this planet. The ATLAS collaboration involves several thousand physicists, and it has a spokesperson (not a leader), because (freedom of research, the collaboration members bring their own funding) nobody is really in the position to command another sufficiently senior person. For the juniors, there are dual hierarchies, collaboration and local institution, so a single PhD student can have two superiors telling him to do two different things. The collaboration is run my a messy exercise of finding any sort of consensus - people have to talk to each other to arrange things and convince others of their view, if they fail to do so, several groups may be working on the same analysis at the same time. For instance, muon chambers are built with some set of specifications - but are all different in details, so dependent on which institution built them, the readout software needs several different option just to accomodate what kind of chamber this is precisely. I bet no company would ever consider this messy, anarchic process of common consensus-finding and pulling into different directions as a form of sane project management - and yet, it works! The anarchic club of ingenious trouble-making physicists has built a machine which no company could hope to develop. Flightgear has a lot less trouble finding consensus, because the numbers are much smaller than in the ATLAS collaboration. I think just talking, tossing ideas around, exploring detours, merge things in later can be a very efficient approach. It may lack the elegance of managed projects - but it can produce things which are out of reach of managed projects. Just my two cents. * Thorsten ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel