How does software configuration management help improve project management?

What is the best practice in software configuration management to improve project management?

+2


a source to share


2 answers


Assuming you really focus on best practices, I can highlight a few possibilities.

Using the best (SCM) tools. While this may depend on your specific goals and constraints, Mercurial and Git are hard to beat (distributed, great fork / merge capabilities, multiplatform, FOSS, very fast, flexible workflow, etc.).

You can parse the data in the source repository with a tool like PanBI (disclaimer: I wrote it). The short screencast shows what you can learn from analyzing the contents of the repository. In short:

  • dynamics of overall codebase operation
  • breakdown by developer
  • dynamics of daily work
  • type of changes in the codebase (add / remove / change), part of the source tree


... and much more.

Connecting an SCM tool with a bug tracker can also add value. Developers place the problem ID in commit messages, eg. "[# 1455]: slightly improved performance" and the tracker issue is related to changes in the code repository. From a project management perspective, this allows you to freely track the time spent on individual issues, project phases, or complete projects. A simple transaction commit that does not allow a commit without a problem number can greatly help ensure data consistency. This "measured" data can be compared to a baseline to understand what works and what doesn't.

Making official releases on a build server from a flagged upstream version checked out from a repository can also be considered useful from a project management perspective as it is a quality control method. Building software in this way decouples the build process from any dependencies or features of the development machine environment, ensures reproducibility, ensures reliable automatic / semi-automatic publishing of the build, etc., i.e. simplifies and protects parts of the deployment process.

These are just a few of the possibilities, it doesn't stop here.

+1


a source


It mitigates a whole bunch of project risks, including:

  • Risk of Making Changes That Are Considered Incorrect: SCM software allows you to see changes and rollback
  • Risk of losing all of your source code (much less likely since everyone has a copy on their machine).
  • Risk of two people making incompatible changes: A good SCM will allow you to combine the two and get the best of both worlds.


Plus, SCM is so easy and cheap to set up these days that you can jump into a software project without going crazy.

+2


a source







All Articles