Xref: utzoo comp.lang.eiffel:1325 comp.object:2417 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!wuarchive!uunet!mcsun!ukc!mucs!logitek!hrc63!mrcu!paj From: paj@mrcu (Paul Johnson) Newsgroups: comp.lang.eiffel,comp.object Subject: Re: Managing multi-programmer projects in OOP. Message-ID: <790@puck.mrcu> Date: 18 Jan 91 13:32:03 GMT References: <2603@trlluna.trl.oz> Reply-To: paj@uk.co.gec-mrc (Paul Johnson) Organization: GEC-Marconi Research Centre, Great Baddow, UK Lines: 50 Summary: Expires: Sender: Followup-To: David Giddy (d.giddy@trl.os.au) asked for experiences in multi-person projects in OOP. The year before last I worked on a project in C++ with two other people. It was the first time we had used C++ on anything more than "Hello World" programs, although we were fluent in C and had used module based languages as well. I think the things we did right were: - We divided the work into three broad areas. Each person had one area and was responsible for the design and functionality of that area (mirroring the modular programming paradigm). - Everyone helped design the general architecture. This ensured that a) we got the benefit of three brains instead of one, and b) everyone understood how the system was supposed to work. - We had frequent meetings to hash out details of the interfaces. This seemed to work better than a top-down, waterfall style of cluster design. - We used SCCS. On any kind of multi-person project this (or its cousin RCS) is invaluable. It stops people editing the same file at the same time and it allows you to unwind from mistakes. Eiffel does not support SCCS or RCS, so you will have to fix up shell scripts or (ugh) Makefiles instead. Try and get this kind of substructure sorted out before you begin. Given that you are so split up, you are going to have to ensure high bandwidth communications between your 5 and your 2. I assume you have email between the sites. Try and get multi-way phone conference facilities and make it easy for anyone to set up or join a conference. Look into setting up a private newsgroup as well: that might be simpler than a mailing list. I think you are going to have to set up some ground rules to ensure consistency between your sites. Probably some kind of semi-automatic update propogation system will be needed. Again, think about this and sort it out first. I think that this is probably more important than detailed design documents (which we didn't have and didn't miss). Of course, we did not have the distribution problem. Good luck, and let us know how you get on. Paul. -- Paul Johnson UUCP: !mcvax!ukc!gec-mrc!paj --------------------------------!-------------------------|------------------- GEC-Marconi Research is not | Telex: 995016 GECRES G | Tel: +44 245 73331 responsible for my opinions. | Inet: paj@uk.co.gec-mrc | Fax: +44 245 75244