Re: development model

Aaron Optimizer Digulla <[email protected]> Sat, 23 Aug 2003 20:51:47 +0200
Newsgroups gmane.comp.programming.pragmatic
Message-ID <[email protected]>
On Fri, Aug 22, 2003 at 02:54:47AM -0400, Aryeh M. Friedman wrote:

> 	We will be using a change based development model for Pragmatic.
> For those who are not familor with the model it can be summerized as follows:
> 
> 	1) Their exists some "current" baseline version that always "works".
> 	   Works in this case is taken to be it passes all it's automated tests and
> 	   has passed the review and integration phases detailed below.  The basic
> 	   idea is if 3 pairs of eyes pass automated tests say it works then it probally
> 	   does.
> 
> 	2) All changes go through the following steps:
> 
> 		a) Chnage request -- A member of the Pragmatic community makes a request for
> 		a new feature, improvement to an existing one and/or a bug report.
> 
> 		b) Change creation -- one of the project adimistrators approves a change
> 		as being needed
> 
> 		c) Development -- The change is made and a set of automated (unit normally)
> 		tests.  In order to leave the development stage a change must build error free
> 		and pass *ALL* it's automated tests
> 
> 		d) Review -- Where a human reviewer looks over all the new code and says it
> 		does exactly what the orginial change request says it should do (unless the
> 		administrator specifically specifies otherwise in step b)
> 
> 		e) Integration -- The build and test are repeated in an enivorment that is
> 		different then the developer's to ensure stuff working is not a local fluke.
> 		Some teams (I think we should be one of them) use this as a second review.
> 
> 	All this is supported under aegis (http://aegis.sf.net)
> 
> 	We will be using a full project build model as described in Peter Miller's "Recursive
> Make Considered Harmful" paper (http://aegis.sourceforge.net/auug97.pdf) and as implimented in
> his program Cook (http://www.canb.auug.org.au/~millerp/cook/cook.html) you should also read
> the tutorial (even though the author [at the time] had a very limited knowledge of some
> of the advanced features).

Just a sidenote because you didn't mention it: You realize that this is a "heavy"
process? Ie. one which will tie a lot of development resources?

In the past, I've found that processes which create less overhead work better
in OSS projects because people want to develop (ie. fix problems) instead of
doing management work (filling out forms, applying to be allowed to do some
work, etc).

You might want to look at the SCons development process for an example of
a light-weight but still powerful process. Basically, they just ask that
every change is accomanied with a test.

There is no need to create change requests because any change must pass
all (and the new) test and usually, you don't need to review code manually
because the tests make sure that the quality of the code always improves
and, honestly, if you are a little bit careful who can change your codebase,
then you will never have to worry that some punk tried to corrupt the
project (and even if one invested the time to screw things up deliberately,
there is still Aegis.

Or to put it bluntly: If you feel that you need to check on your developers,
then you don't trust them, then you *fear* them. And fear is something which
cannot drive a project to success.

I'd also opt to use SCons instead of Cook (I find the syntax of Cook confusing)
but I don't know if you did an evaluation and how much advanced options you will
need to build Pragmatic.

PS: Can we change Pragmatic to P? I find that the word "Pragmatic" is very hard
to type because it uses keys which are spread all over the keyboard.

-- 
==============================================
Sowatec AG,       CH-8330 Pfäffikon (ZH)
Witzbergstr. 7,   http://www.sowatec.com
Tel: +41-(0)1-952 55 55
Fax: +41-(0)1-952 55 66
----------------------------------------------
Aaron "Optimizer" Digulla, [email protected]
==============================================

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/W4wwlB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
pragmatic_lang-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/