0% found this document useful (0 votes)
3 views

Software Configuration Management in Software Eng…

Software Configuration Management (SCM) is a systematic process in software engineering that manages changes in documents, codes, and other entities during the Software Development Life Cycle to enhance productivity and minimize errors. Key tasks in SCM include configuration identification, change control, status accounting, and audits, with essential participants being the configuration manager, developers, auditors, project managers, and users. Popular SCM tools like Git, Team Foundation Server, and Ansible facilitate version control, concurrency management, and synchronization in collaborative software development environments.

Uploaded by

Madhukar Yadav
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Software Configuration Management in Software Eng…

Software Configuration Management (SCM) is a systematic process in software engineering that manages changes in documents, codes, and other entities during the Software Development Life Cycle to enhance productivity and minimize errors. Key tasks in SCM include configuration identification, change control, status accounting, and audits, with essential participants being the configuration manager, developers, auditors, project managers, and users. Popular SCM tools like Git, Team Foundation Server, and Ansible facilitate version control, concurrency management, and synchronization in collaborative software development environments.

Uploaded by

Madhukar Yadav
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

So!

ware Configuration
Management in So!ware
Engineering
Matthew Martin October 6, 2021

Kitchen+Wardrobe @
INR 1.6Lacs

What is So!ware
Configuration Management?
In So!ware Engineering, So!ware
Configuration Management(SCM) is a
process to systematically manage, organize, and
control the changes in the documents, codes,
and other entities during the So!ware
Development Life Cycle. The primary goal is to
increase productivity with minimal mistakes.
SCM is part of cross-disciplinary field of
configuration management and it can accurately
determine who made which revision.

In this so!ware engineering tutorial, you will


learn-

Why do we need Configuration


management?
Tasks in SCM process
Configuration Identification:
Baseline
Change Control
Configuration Status Accounting
Configuration Audits and Reviews
Participant of SCM process
So!ware Configuration Management Plan
So!ware Configuration Management Tools

Why do we need
Configuration management?
The primary reasons for Implementing Technical
So!ware Configuration Management System
are:

There are multiple people working on


so!ware which is continually updating
It may be a case where multiple version,
branches, authors are involved in a so!ware
config project, and the team is
geographically distributed and works
concurrently
Changes in user requirement, policy,
budget, schedule need to be
accommodated.
So!ware should able to run on various
machines and Operating Systems
Helps to develop coordination among
stakeholders
SCM process is also beneficial to control the
costs involved in making changes to a
system

Changein Changein
Requirements Team/Organization

Changein
Govermentpolicy Changeinproject
schedule
andrules

affects

Data
code projectplan Tests
OtherDocuments

Any change in the so!ware configuration Items


will a"ect the final product. Therefore, changes
to configuration items need to be controlled and
managed.

Tasks in SCM process

Configuration Identification
Baselines
Change Control
Configuration Status Accounting
Configuration Audits and Reviews

Ad

Warehouse Management Solutions - JASCI's Cloud WMS


So!ware

jascicloud.com/Request... Visit Site

Configuration Identification:
Configuration identification is a method of
determining the scope of the so!ware system.
With the help of this step, you can manage or
control something even if you don’t know what it
is. It is a description that contains the CSCI type
(Computer So!ware Configuration Item), a
project identifier and version information.

Activities during this process:

Identification of configuration Items like


source code modules, test case, and
requirements specification.
Identification of each CSCI in the SCM
repository, by using an object-oriented
approach
The process starts with basic objects which
are grouped into aggregate objects. Details
of what, why, when and by whom changes
in the test are made
Every object has its own features that
identify its name that is explicit to all other
objects
List of resources required such as the
document, the file, tools, etc.

Example:

Instead of naming a File login.php its should be


named login_v1.2.php where v1.2 stands for the
version number of the file

Instead of naming folder “Code” it should be


named “Code_D” where D represents code
should be backed up daily.

Baseline:
A baseline is a formally accepted version of a
so!ware configuration item. It is designated and
fixed at a specific time while conducting the SCM
process. It can only be changed through formal
change control procedures.

Activities during this process:

Facilitate construction of various versions of


an application
Defining and determining mechanisms for
managing various versions of these work
products
The functional baseline corresponds to the
reviewed system requirements
Widely used baselines include functional,
developmental, and product baselines

In simple words, baseline means ready for


release.

Change Control:
Change control is a procedural method which
ensures quality and consistency when changes
are made in the configuration object. In this
step, the change request is submitted to
so!ware configuration manager.

Activities during this process:

Control ad-hoc change to build stable


so!ware development environment.
Changes are committed to the repository
The request will be checked based on the
technical merit, possible side e"ects and
overall impact on other configuration
objects.
It manages changes and making
configuration items available during the
so!ware lifecycle

Configuration Status
Accounting:
Configuration status accounting tracks each
release during the SCM process. This stage
involves tracking what each version has and the
changes that lead to this version.

Activities during this process:

Keeps a record of all the changes made to


the previous baseline to reach a new
baseline
Identify all items to define the so!ware
configuration
Monitor status of change requests
Complete listing of all changes since the last
baseline
Allows tracking of progress to next baseline
Allows to check previous releases/versions
to be extracted for testing

Ad

Warehouse Management Solutions - JASCI's Cloud WMS


So!ware

jascicloud.com/Request... Visit Site

Configuration Audits and


Reviews:
So!ware Configuration audits verify that all the
so!ware product satisfies the baseline needs. It
ensures that what is built is what is delivered.

Activities during this process:

Configuration auditing is conducted by


auditors by checking that defined processes
are being followed and ensuring that the
SCM goals are satisfied.
To verify compliance with configuration
control standards. auditing and reporting
the changes made
SCM audits also ensure that traceability is
maintained during the process.
Ensures that changes made to a baseline
comply with the configuration status
reports
Validation of completeness and consistency

Participant of SCM process:


Following are the key participants in SCM

1. Configuration Manager

Configuration Manager is the head who is


Responsible for identifying configuration
items.
CM ensures team follows the SCM process
He/She needs to approve or reject change
requests

2. Developer

The developer needs to change the code as


per standard development activities or
change requests. He is responsible for
maintaining configuration of code.
The developer should check the changes
and resolves conflicts

3. Auditor

The auditor is responsible for SCM audits


and reviews.
Need to ensure the consistency and
completeness of release.

4. Project Manager:

Ensure that the product is developed within


a certain time frame
Monitors the progress of development and
recognizes issues in the SCM process
Generate reports about the status of the
so!ware system
Make sure that processes and policies are
followed for creating, changing, and testing

5. User

The end user should understand the key SCM


terms to ensure he has the latest version of the
so!ware

So!ware Configuration
Management Plan
The SCMP (So!ware Configuration management
planning) process planning begins at the early
coding phases of a project. The outcome of the
planning phase is the SCM plan which might be
stretched or revised during the project.

The SCMP can follow a public standard like


the IEEE 828 or organization specific
standard
It defines the types of documents to be
management and a document naming.
Example Test_v1
SCMP defines the person who will be
responsible for the entire SCM process and
creation of baselines.
Fix policies for version management &
change control
Define tools which can be used during the
SCM process
Configuration management database for
recording configuration information.

So!ware Configuration
Management Tools
Any Change management so!ware should have
the following 3 Key features:

Concurrency Management:

When two or more tasks are happening at the


same time, it is known as concurrent operation.
Concurrency in context to SCM means that the
same file being edited by multiple persons at the
same time.

If concurrency is not managed correctly with


SCM tools, then it may create many pressing
issues.

Version Control:

SCM uses archiving method or saves every


change made to file. With the help of archiving
or save feature, it is possible to roll back to the
previous version in case of issues.

Synchronization:

Users can checkout more than one files or an


entire copy of the repository. The user then
works on the needed file and checks in the
changes back to the repository.They can
synchronize their local copy to stay updated with
the changes made by other team members.

Following are popular tools

1. Git: Git is a free and open source tool which


helps version control. It is designed to handle all
types of projects with speed and e"iciency.

Download link: https://git-scm.com/

2. Team Foundation Server: Team


Foundation is a group of tools and technologies
that enable the team to collaborate and
coordinate for building a product.

Download link:
https://azure.microso!.com/en-
us/services/devops/server/

3. Ansible
Ansible: It is an open source So!ware
configuration management tool. Apart from
configuration management it also o"ers
application deployment & task automation.

Download link: https://www.ansible.com/

Check more SW Configuration tools:


https://www.guru99.com/so!ware-
configuration-management-tools.html

Conclusion:

Configuration Management best practices


helps organizations to systematically
manage, organize, and control the changes
in the documents, codes, and other entities
during the So!ware Development Life
Cycle.
The primary goal of the SCM process is to
increase productivity with minimal
mistakes
The main reason behind configuration
management process is that there are
multiple people working on so!ware which
is continually updating. SCM helps establish
concurrency, synchronization, and version
control.
A baseline is a formally accepted version of
a so!ware configuration item
Change control is a procedural method
which ensures quality and consistency
when changes are made in the
configuration object.
Configuration status accounting tracks each
release during the SCM process
So!ware Configuration audits verify that all
the so!ware product satisfies the baseline
needs
Project manager, Configuration manager,
Developer, Auditor, and user are
participants in SCM process
The SCM process planning begins at the
early phases of a project.
Git, Team foundation Sever and Ansible are
few popular SCM tools.

You Might Like:

So!ware Requirements Analysis with


Example
EXAMPLE of Stakeholder Analysis &
Mapping with Template
Microso! Visio Tutorial: What is MS
Visio? How to Use [Example]
30+ BEST So!ware & Programs for
Windows 10 PC
20 Best FREE Presentation So!ware |
Apps | Online Tools (2021)

Prev Report a Bug Next

About
About Us
Advertise with Us
Write For Us
Contact Us

Career Suggestion
SAP Career Suggestion Tool
So!ware Testing as a Career

Interesting
eBook
Blog
Quiz
SAP eBook

Execute online
Execute Java Online
Execute Javascript
Execute HTML
Execute Python

© Copyright - Guru99 2021 Privacy


Policy | A"iliate Disclaimer | ToS
jascicloud.com
OPEN
Cloud Solutions For

You might also like