Start networking and exchanging professional insights

Register now or log in to join your professional community.

Follow

What are the benefits of Software Configuration Management to software engineering?

user-image
Question added by Rana Alnajjar , Web developer , Lebcards
Date Posted: 2013/06/22
Muhammad Arif
by Muhammad Arif , Network Administrator , pakistan institute of cost and contracts picc house, lahore

Software Configuration Management encompasses the practices and procedures for administering source code, producing software development builds, controlling change, and managing software configurations.
Specifically, Software Configuration Management ensures the integrity, reliability and reproducibility of developing software products from project start to release.

Muhammad  Ijaz
by Muhammad Ijaz , Implementation Manager , Huawei Technologies (Du Project), Dubai

SCM enhances productivity and boosts application quality because it automatically versions files, labels and organizes them as they change during the development process.
SCM prevents unintentional code overwrites, which can result in missed bug fixes or customer-specific change requests.With SCM, you can stop trouble before it starts.
SCM also enables parallel development.
You don't have to wait for one team or developer to finish a task before others can proceed.
Instead of developing sequentially, you develop concurrently because its safe and easy to do so.
Timelines become more predictable when you don't have to wait for sequential development.
You get to market faster.
Terminologies Used in SCM1)Revision management This is the core function of SCM and the foundation upon which other functions build.
Revision management is the storage of multiple images of the development files in an application, which can be shared by multiple developers.
With revision management, you can get an image a snapshot in time of the development process and can re-create any file to the way it was at any point in time.2)Version management While revision management shows development files in progress, a version is a particular instance of an entire development project.
A version is usually thought of as all the functions, features and complete builds you can use right now.
Files managed, version-labeled and promoted by the revision management system are used to build the version.3)Workflow and process management As software or web content is developed, it is said to go through a lifecycle.
I Whether formal or informal, there are usually milestones in this lifecycle, such as DEVELOPMENT-TEST-ALPHA-BETA-RELEASE for applications, TEST and PRODUCTION for packaged applications or, for websites, staging servers, review checkpoints and approvals before content is posted.
A good SCM solution must manage the progress of code and content through the lifecycle.
This is many levels above the simple source code protection built into some development platforms.4)Build management When the code files, compilers, development tools and other components needed to create an application are ready, developers make an application build.
I Build management imposes automated, repeatable procedures that speed the build process, improve build accuracy and make it easier to create and maintain multiple versions of an application.
An SCM toolset can become a vital integrative resource for building an application across multiple platforms.
A strong cross-platform build management capability also eliminates the need to redefine the build process (the script) for each platform you are targeting.5)Change requests The days of creating software, shrink-wrapping it, selling it and walking away are long gone.
Todays software undergoes a constant process of revision.
Development teams can be overwhelmed with the many software change requests (SCRs) and web change requests (WCRs) they receive, everything from users wish lists, to new business requirements that must be accommodated, to bona fide bug reports.
SCM enables teams to streamline the SCR/WCR process by automatically tracking updates, change requests, problems and issues; assigning ownership and hand-offs within the development team; and communicating the process through to resolution.6)Code and project auditing Cross-platform development introduces special problems because the data to be audited may reside on multiple platforms.
The best SCM systems provide a single point of access for auditing all development information.
They also work across all kinds of development platforms, operating systems, network protocols and hardware platforms, and provide tailored clients within the developers preferred development interface.7)Security In a mainframe or UNIX-only environment, it is possible to define an executable as having a user ID.
You then create permissions on shared development directories to limit user access.
On Windows/PC platforms, this security is absent.
The SCM system itself must provide the ability to control access, including secure, protected access via the Web.

More Questions Like This

Do you need help in adding the right keywords to your CV? Let our CV writing experts help you.