Software Configuration

for an open source world

How Software Configuration Management Supports Different Development Models

configuration management system Posted by Rob Castellow


So now let's deviate a bit and discuss development models.  This really should be considered as soon as the requirements are made and probably at some point prior to the software design phase.  You should really understanding how their software configuration management process works with each of these models. I will attempt to explain some software configuration management process and important areas for each model.


Spiral

        The spiral model is often used in large scale projects and progresses through a series of usually long iterations.   Each iteration will produce a prototype that  a customer will approve or reject at the end of the cycle.  Each prototype is typically a partial product of the final release.  In the spiral strategy, good branching and merging strategies are required.  The release strategy is also important here.


Waterfall

        The waterfall method is a sequential software design process, that was ironically originally demonstrated by W.W. Royce in 1970 as a flawed model.  There are companies using this method in production today.  

        If your company is using the waterfall or some modified version of the waterfall you may want to put more emphasis on the version control tool, requirements tools, and picking a good documentation management tool.


Agile Methods

        Move over Karl Marx, these guys have their own manifesto!  The agile process emphasizes shorter lived development iterations.  The goal is to pack an entire development life cycle into small chunks of time, and not necessarily delivering software to customers during each iteration.  One of the goals of the agile methods is to continually introduce controlled changes during the iterations and continue to maintain functioning software.

        With the agile method iterative builds and automation are extremely important.  Communication is normally expected to be facilitated by keeping development groups in close quarters.

Cleanroom

        The cleanroom method focuses on few if any defects for each software release.  The software configuration management of this process should facilitate testing automation and good communication.  The cleanroom process will go through a series of  iterations, but will return to the previous design phase if a certain percentage of test have not passed at the end of an iteration.


RUP

        RUP stands for the Rational Unified Process.  Many companies adopt this process and create their own acronym (i.e. SUP, BUP, PUP, ...)  RUP is an iterative process that will take development groups through the following phases: inception, elaboration, construction, and transition.

        The software configuration manager needs to facilitate tracking all documents and changes for this process.  This method also implicitly sets your development group up to use IBM Rational products (Clearcase, ClearQuest, etc)  Some more details about these products will be discussed in the tools section.

Bookmark and Share




Valid XHTML | CSS