Today, in an environment where application development is increasingly getting more complex, software configuration management (SCM) has become an imperative.
As companies move
their applications from mainframes to client server LANs, develop
for the Web, and move
on to N-tier computing environments-or integrate them all in a heterogeneous enterprise, SCM becomes the key to cope with the growing complexity.
SCM not only automates and manages key project aspects but at the same time also reduces error and supports parallel and concurrent development.
SCM is the process of identifying, organizing and managing changes to software being built by a team of programmers working on parallel, concurrent and distributed projects. The tools range from basic version control for smaller teams to sophisticated support for distributed team development across the enterprise, including version and revision control, build management, issue management and automated process management.
Software assets today represent the team efforts of programmers, platform specialists and managers. SCM is essential to this team’s success. It automates development project coordination tasks, supports repeatable processes, manages changes and issues and automates software builds. Similarly, where projects are too diverse and involve more team members than ever before, SCM helps manage the complexity.
Studies show that less than 30% of a developer’s time is spent on programming new software. Most is taken up by existing codes. Even for new applications, such as the web, as much as 50% of developer time is spent on changes, instead of creating new content.
Another portion of non-programming time is spent handling and supporting documentation, tracking user requirements and change requests, and creating analysis and application design diagrams. These are all necessary parts of a development project but they can waste a precious resource-the coding talents of a company’s best developers.
Today, millions of lines of evolving, multi-version code are no longer an exception, but have become a norm. Platform proliferation adds further complexity, as enterprises work to link a plethora of platforms, databases and protocols into a smooth, seamless information machine.
Benefits for project managers
Team development is a practical necessity today. However, from a management perspective, team development introduces a coordination challenge. And, the larger or more dispersed the team, the greater is the chance of miscommunication. People lose track of who’s responsible for what and who’s already done what. Notes, emails and team meetings go only so far toward keeping a project on track.
SCM can ease the coordination headache for managers in specific ways by addressing the following concerns: