Configuration Management
1. Introduction
Configuration Management is one of the critical elements in a successful software project. Configuration management is required in all projects whether or not. They ever have changes imposed on them and evolution of the effects a change will be greatly facilitated if there is a good configuration management regime in place. Configuration management helps the development team hold software project together and, improve the quality and time lines of their product and helps organized people into efficient and effective groups. These groups contain only the necessary people and these people work on only their part of the project.
The most benefit goes to project manager. Good use of configuration management and a good Configuration Management staff (CM Staff) empower the project to concentrate on what is important talking with people and working on technical challenges. The real CM (configuration management) says we can go to one spot and see exactly where everyone is on the project and exactly what state the product is in. This is the character of the real CM.
Configuration Management includes
* Version and variant control, recording the history of items and records during development
* Configuration control, the orchestration of processes for maintaining visibility of the system parts of system during the development lifecycle
* Change control, the management of changes through suitable evolution and authorization
2.1 The main ingredients in Configuration Management
Configuration Management has four main elements
1. Product
2. Activities
3. CM (configuration Management) People
4. CM Plan
1. Product
The products are the baseline each of which corresponds to a stage of waterfall process although these baselines are equally valid across process model that there is more than one baseline per project we need to baseline the system. It means people who say this and someone intelligent they want to turn the system into baseline
2.1.2. Baselines
Baselines are formal definition of the work accomplished to data and form the foundation for future work, for example the requirement baseline is a problem description. The right people in the project agree on this description and capture it. They create, build and test a solution from this problem description. If the description changes, the ensuring work flow will change accordingly.
Function
Allowed
Design
Development
Product
Operational
According to above figure which I have given, the basic baseline used in CM but different projects have different set of baseline. Which I have given below some different types in baseline.
Functional Baseline - contains the system's requirements usually in the form of a document or database. The requirement is foundation for the reminder of the baseline and the project. The software being developed must satisfy the requirement.
The allocated baseline - this is a high level design level that will satisfy the requirements. This will be a document or set of document it shows the requirements will be allocated to or satisfied by large subsystem. Most people seem to know the high level design before the project starts.
The design baseline - the design baseline is a detailed or low level, design. It is normally captures in a set of document. People often try to skip this baseline. Because they rely on programmers to fill in the details, capturing the design details in a baseline ensure that one's details agree.
The development baseline - It is about what the programmers are working on or developing the source code. This is the most important baseline because I could get knowledge more about this when I read the book and studied. It is born when coding begins and ends when testing begins according to this subject that I read, this baseline is hard and difficult one to control
Product Baseline - This baseline contains tested and approved components and systems. When the programmer is writing a set of subroutines he is in development baseline when the subroutines have been tested and approved by someone, they become part of the product baseline. The product baseline is not used by user it is used in the development environment only.
Applying Baseline in a Waterfall Project
I have analyzed and studied how to apply a baseline in a waterfall project by giving a sample project this can help explain baseline. It about software to build and maintain a word processor. I have named it as "Project A" and given below shows the baselines for a project which has been built in a word processor and what feature we want in word processor here different groups of programmers take their subsystem assignments and perform the detail. So here details design must suit specification given in the allocated baseline and the designs go in a document and become the design baseline then the source code comes under development baseline. Finally product baseline is completed and accepted, the project A will be released user to their final use.
Baseline Contents
Functional Feature and capabilities of Project A
Allocated Subsystem of Project A
Design Details of Project A
Development Code being written
Product Finished and tested code
Operational Project A being used on the job
Applying Baseline in a non Waterfall Project
Here I have given my idea and explain applying baseline in a non waterfall project by taking an example how it should be applied. I bring forward my idea about building screen generator. User work with a facilitator who is an expert work with building screen generator. They discuss their jobs and thoughts. They then video tape users working through the screen as they would in their job these videos document the work flow requirements of the users. I explained in a picture applying baseline in a non waterfall project
2. Activities
The four primary CM attributes are identification, control, auditing and status accounting. Most of us think change control is the only CM activity however my point of view which I have studied in this subject, control be sure the intended changes were made without auditing, and they cannot know is the status of everything an accounting