[OT] Evolutionary Project Development Re: [ffl-devel] Statistics
Status: Inactive
Brought to you by:
rizzo
From: Ross G. <ro...@sa...> - 2003-03-05 13:58:49
|
This has gone off topic quite a bit, if anyone would like to follow up privately please feel free... Mike Noyes wrote: > On Fri, 2003-02-28 at 10:22, Ross Gardler wrote: > If you want to take extreme programming a step further, take a look at: > > Evolution as a project development model > http://www.mail-archive.com/leaf-devel%40lists.sourceforge.net/msg04541.html > Interestng... As it happens I have done a great deal of work on Evolutionary software development. My approach is to build a "maturity model" that is used to guide the project development, that is specifiy a set of expected future goal states and identify small steps between them. This maturity model informs the selection/adaption/creation of best practice business models, these in turn inform the selection/adaption/creation of best practice software patterns. Test harnesses are then built to ensure requirements coverage (as we currently understand them). These patterns and tests are fed into a application builder which sources the components required to implement the software. What you end up with is either a working system, or a bunch of test failures and a partial system. Work on the components and eventially you get a full system. furthermore, since you have continuous automated builds when someone else enhances a component you may find that your project takes a step towartds a higher level of maturity automatically. Components need not be written in a specific language, however, they do need to operate over SOAP, XML-RPC or better still a REST style architecture. Of course existing legacy components can be wrapped accordingly. This means that existing component projects can easily be incorporated into the system and software built this way sees ythe benefits of true Open Source component level evolution. Of course, requirements change - simply change the test harnesses, the build system automatically reconfigures your software, or tells you why it can't do so. Expected goals also change - simply change the maturity model, associated business and software patterns, and the test harnesses for the changed future positions and the build system starts moving towards the "new" future. I am currently unable to publish most of this work due to restrictions on publication by some of the involved organisations, however, I am able to release the software as Open Source and fully intend to do so just as soon as I can find the time, which will be soon. However, I've recently relocated to Trinidad and Tobago and am spending most of my time enjoying my new life (I just experienced my first Carnival, if you people have never been here for Carnival I can highly recomend it). If you are interested I'll be sure to announce the project here when it goes live (Note CSMS will be built in this way, and so all the features in there will be available as components in this way). Ross |