Project Configuration Management
By Siraj Qureshi
In the project envisioning and planning phase, we gather requirements and analyze them. We then Create a problem statement and make a Vision/Scope statement. Once the vision/scope statement is approved by the client, we identify all the deliverables in the project along with their timelines. We also take the client’s approval for each and every deliverable. During the course of the project, we usually have issues of wrong code or old documentation being delivered to the client: sometimes the programmer loses his code due to project pressure or because of a virus infected development machine. Additionally, you might have the client asking for some old/scrapped functionality back; in case you don’t keep track of old code or old documents, the you usually have to do a lot of rework. In order to overcome this problem, we need to have a Project Configuration plan in place for the project.
All the deliverables i.e. code/documents etc, should be identified as controlled or configurable items and you need to plan how you are going to configure them. You may also identify other items as controlled items which are very important in day to day activities of the project. Usually, you will need to use a special application to manage the controlled items like VSS for managing code and SharePoint or Lotus notes or File folder structure for managing documents.
Configuration Manager – CM
We need to define a special role called Configuration Manager to perform configuring, managing and tracking of all the controlled or deliverables items for the project. Like DPR, senior team member needs to be assigned CM role. The team should be trained on all the configuration activities for the project. The CM should share his/her past experience with the project team to manage the controlled items efficiently. The CM reports to the Project leader for all the Configuration activities s/he does for the project. The Project manager also needs to decide how often s/he requires project configuration activity for the project. CM takes care of other configuration issues like setup development and test environment and making builds. S/he should help the team for solving their code version and tracking problem.
Sometimes it may so happen in the project that your deliverables miss a few requirements or needs of the clients. Requirements were there in the BRD but somehow they were overlooked because of a hectic project schedule. Now to prevent this kind of problem in the project you will need a Traceability Matrix. The Traceability Matrix is a sheet consisting of a list of requirements and their corresponding solution along with their code files. So if you are missing some requirements, you can know immediately by looking at the Traceability Matrix. It helps you trace requirements in all the phases of the Project Life Cycle. For example, let’s say you have some requirements for “add upload functionality” in some page, the Traceability Matrix will show you which section of the functional specification you have updated for it, which code files you have modified etc…
Backup and Recovery
The CM needs to perform these activities. The Project Manager needs to plan backup and recovery procedures as per project requirements. Ideally, backup and recovery procedures should be done on weekly basis. Every week, the CM takes the backup of all the controlled items on tapes and verifies the backup by doing recovery testing for it.
Release Product Checklist
Delivery date or production push date is always tough and hectic for the project team. You have no idea what’s going to happen in the production: your code may have some issues in production that were never noticed in development: sometimes, we forget to provide important installation guideline to the deployment time, other ties we push an old version of the code into production. The best solution is to have a release plan checklist. So before delivering any deliverable, we need to fill that checklist (versions of the code needs to be checked, documents also needs to be checked and verified). We should verify the push instruction file if required for the project. The CM should fill the Release Product checklist and ensure that correct versions of codes, documents and others item are delivered to the client.
Siraj is a Senior Consultant working with a reputable in the US. He has managed several IT projects for CMM level 5 organizations. Also, he is an MCP and has expertise in .Net technologies and he has around 12 years of software management and development experience. He is passionate about learning new and emerging technologies. His main interests are SDLC, .Net Framework, ASP.NET, AJAX, WCP, WPF, Web development, Application designing, Code generation, Performance tuning etc. Siraj runs a blog:
If you have any suggestion or you want to share something, please drop in your comments or you can reach him at email@example.com. Your suggestions will be appreciated.