Every company has some form of Software Development Lifecycle (SDLC) process - whether it is formal or informal.An SDLC includes people, processes, and tools that span the design, build, and support of your information systems. Some components of an SDLC are requirements gathering, analysis, prototyping, software construction, estimating, time tracking, project management, ongoing support, standards, best practices, and software configuration management. Typically, companies that we have engaged in our consulting practice have very weak SDLC implementations and in particular, even weaker software configuration management implementations. Our article will help you get a handle on what software configuration management is, why you need to have it, and how best to apply its principles to help you manage and develop your organization's software.
What Is Software Configuration Management?
Software Configuration Management (SCM) is the collection of processes and tools that are used to effectively manage the development, maintenance, and build processes of software. Tools alone will never get the job done. It is important to note that processes or "best practices" are a critical element in the total success of SCM for your organization.
" As a best practice, your SCM should contain all project artifacts in the SCM library for easy access, sharing, and version control. "
Software Configuration Management Tools
There are many SCM tools on the market today and their capabilities and prices range significantly. Low end tools begin with open-source products that are simple version-control tools. High end tools offer a great array of features and are highly configurable. Based on your company's needs, you will need to find the right one to do the job. We didn't write this article to help you choose which tool to use. We wrote this article to convince you of the importance of picking an SCM tool and we want to offer some SCM best practices.
If you don't already have an SCM tool, Table 1 offers a starting point if you would like to do further research. Your SCM practice must use some tool. The entry point can be very low cost and more than pay for itself.
The Software Configuration Management Process
At some companies we've worked with, the SCM process is literally source code on the programmer's hard drive, or maybe a shared drive. Imagine a significant software project that doesn't let you keep track of the following:
* No product or process to keep track of who is working on which modules of code
* Nothing differentiates versions of software releases
* No ability to recreate a previous build or version
* No mechanism to easily compare lines of code
And the list goes on. The power and capability of your SCM tool will dictate what other additional management processes you will need to complete your implementation of SCM. Experienced, successful IT managers and leaders are wholehearted adopters of SCM implementations.
Benefits of Using SCM
The most important benefit of using an SCM is that you will be able to sleep better at night! Basically, you want to know the entire lifecycle of every line of code. You want to track who wrote it, what version it is of the larger product, and you must have the ability to recreate any build. As a software professional, you should strive to move software development from an art to a science. You want to imbed tools and processes into your SDLC process that will result in a more predictable software development and release cycle. Doing so will ensure a higher quality software product and reduce overall operating costs.
An SCM allows you to automate repetitive development tasks and manage the concurrent development process of multiple developers on the same project. SCMs enable you to develop software in a distributed environment regardless of the geographical location of your developers. Using an SCM helps you to create a more bug-free product, manage changes, manage bug fixes, and continue to build the next software release. Developer and manager productivity will increase when you use an SCM.
What Is Software Configuration Management?
Software Configuration Management (SCM) is the collection of processes and tools that are used to effectively manage the development, maintenance, and build processes of software. Tools alone will never get the job done. It is important to note that processes or "best practices" are a critical element in the total success of SCM for your organization.
" As a best practice, your SCM should contain all project artifacts in the SCM library for easy access, sharing, and version control. "
Software Configuration Management Tools
There are many SCM tools on the market today and their capabilities and prices range significantly. Low end tools begin with open-source products that are simple version-control tools. High end tools offer a great array of features and are highly configurable. Based on your company's needs, you will need to find the right one to do the job. We didn't write this article to help you choose which tool to use. We wrote this article to convince you of the importance of picking an SCM tool and we want to offer some SCM best practices.
If you don't already have an SCM tool, Table 1 offers a starting point if you would like to do further research. Your SCM practice must use some tool. The entry point can be very low cost and more than pay for itself.
The Software Configuration Management Process
At some companies we've worked with, the SCM process is literally source code on the programmer's hard drive, or maybe a shared drive. Imagine a significant software project that doesn't let you keep track of the following:
* No product or process to keep track of who is working on which modules of code
* Nothing differentiates versions of software releases
* No ability to recreate a previous build or version
* No mechanism to easily compare lines of code
And the list goes on. The power and capability of your SCM tool will dictate what other additional management processes you will need to complete your implementation of SCM. Experienced, successful IT managers and leaders are wholehearted adopters of SCM implementations.
Benefits of Using SCM
The most important benefit of using an SCM is that you will be able to sleep better at night! Basically, you want to know the entire lifecycle of every line of code. You want to track who wrote it, what version it is of the larger product, and you must have the ability to recreate any build. As a software professional, you should strive to move software development from an art to a science. You want to imbed tools and processes into your SDLC process that will result in a more predictable software development and release cycle. Doing so will ensure a higher quality software product and reduce overall operating costs.
An SCM allows you to automate repetitive development tasks and manage the concurrent development process of multiple developers on the same project. SCMs enable you to develop software in a distributed environment regardless of the geographical location of your developers. Using an SCM helps you to create a more bug-free product, manage changes, manage bug fixes, and continue to build the next software release. Developer and manager productivity will increase when you use an SCM.
Tidak ada komentar:
Posting Komentar