From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,2afac1a4161c7f35 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: who owns the code? was Re: Distinguishing type names from other identifiers Date: 1998/01/22 Message-ID: #1/1 X-Deja-AN: 318459340 References: <69lael$90o@top.mitre.org> <01bd2207$18f3fac0$95fc82c1@xhv46.dial.pipex.com> <69nt40$q7n@top.mitre.org> <69rnvv$ <6a8mir$caa@nntp1.erinet.com> X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 885516145 29335 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada Date: 1998-01-22T00:00:00+00:00 List-Id: <> It sounds like you are describing a badly mismanaged project. There is no doubt that team projects of the kind I describe require very careful management, and indeed are not easy to manage. I have seen this approach work well more than once. I also received a note from one programmer on some aerospace project who reacted that what I described was exactly what they did and that it worked very well. Note that in the GNAT project it is absolutely NOT the case that everyone works on everything. That is hard to imagine as a model. The model is that there are no set limits on what people work on. However, of course interest areas and expertise areas definitely develop, and in the case of GNAT, there will typically be 2-3 people who know a given unit well, and are the most obvious people to work on it. However, when necessary people can definitely stray outside their area of primary expertise, especially when a simple fix or addition is involved. The situation of no one being expert in anything is of course a scary one. My model is that people should be expert in a variety of things. You may also comment that this approach presumes very good people. That is true. I have always taken the viewpoint that a software project is better off with a smaller number of more competent programmers. The difficulty of managing N people for a given value of N is *certainly* not made easier by having less than fully competent people, if anything it is made harder, and the difficulty of managing N people climbs rapidly as N climbs. Other things being equal, i.e. in particular the ability to get the job done, the fewer people working on a project the better. I don't for a moment present my model as something that can be achieved in all circumstances, indeed in most project environments there are a sufficient number of people committed to the personal ownership model that imposing something different may be extremely hard, especially if there is no one who can effectively dictate how things will be done. But still, remember that the original motivation of this thread was the discussion of the value of absolutely consistent coding standards. This is an easy-to-achieve first step towards being able to work better as a team, and is something that, with competent programmers who recognize the value of consistency of style, is easily achieved.