Software Configuration Management
[Link]
Generated: 15 July 2026 at 11:44 am | 97 segments
TRANSCRIPT
00:00 Welcome to the learning session on Software Configuration Management. After completing this
module, you will be able to define software configuration management and
00:11 explain its importance. Define software configuration items, describe fault components of configuration
management, define configuration repository, check-in checkout process, change management and version
management, and elaborate for U S C M tools.
00:31 Consider this scenario. Tom wants to document some information with regard to a b C bank. He downloads
the file name product module ABC Bank from the server to
00:42 his computer and makes changes at the same time. Pinky needs to make some changes to some
information she had included in the
01:11 he is shocked the information he added to the document the previous day is missing. Can you guess why
this happened? Yes,
01:19 you correctly identified The problem and confusion is because both Tom and Pinky simultaneously
accessed the document from the server and made the
01:28 application in database, you would have heard about lost update problem. That is whoever has done the
changes last, only that change would be reflected.
01:37 The other one is lost. The same thing can happen in software development. Software development has lots
of artifacts, Cesar rest design documents,
01:47 source code testing reports, et cetera. These artifacts need to be accessed and modified by multiple team
members. So how do we manage this change? Yes,
01:59 software configuration management is the best choice for it. Let's discuss more about configuration
management in this session. Before proceeding with software configuration management,
02:12 let's try to understand what is configuration. Configuration specifies the arrangement of functional units
according to their characteristics. Configuration affects the function and performance of the entire system
as
Transcript to PDF — Chrome Extension Page 1 of 8
02:25 elaborated in the previous scenario. Multiple confusions exist when software development is done in team.
Like are all changes done by team members reflected in the repository?
02:36 Who did what change? At what time is it possible to revert back to the previous version of the code
02:42 or project? Configuration management helps to minimize these confusions by coordinating the software
development, by tracking, modifying and controlling changes to the software.
02:54 That is their CMM activities are to identify the change, control The change, ensure that the changes are
being properly implemented,
03:11 mistakes that can occur when coordinating software development. Why software configuration
management. Most projects in IT industry are complex and involves multiple people to work
03:24 on a single product software, which is continually updating by the team who may be geographically
distributed and work concurrently needs mode coordination.
03:35 There will be conflicts in code when changes are made by all in the team. Also, there will be
communication gap when changes are made the solution for these
03:44 problems. Software configuration management S C M process is also beneficial to control the costs
involved in making changes to a system.
03:54 We again and again reiterate the complexity and issues in software development because their CMM
provides a solution for this problem.
04:15 different functionalities that are not present in the previous version might be needed or the current version
might need to be tailored for particular user
04:23 requirements. Configuration management is responsible for managing and controlling the costs and effort
involved in making changes to a system.
04:33 The various artifacts that can be managed under S C M R specifications like S R S or use cases, design
testing reports and so on.
04:44 User documentation test, data code, executables tools, libraries, user manual. When we are able to track
and control every artifact,
04:55 then S C M is said to be effective. Software configuration management plan starts during the early phases
of a
Transcript to PDF — Chrome Extension Page 2 of 8
05:13 It can be extended or revised in due course of the project. Software configuration management plan
defines the artifacts to be managed
05:22 along with the code. Who takes responsibility for the configuration management procedures and creation of
baselines. A baseline is a formally reviewed and approved document by the management that
05:35 can be used as the basis for the further development. Any change to it has to come informal way. It also
defines the policies for change control and version management defines
05:46 the CMM records which must be maintained. And finally, SS C M specifies the tools which should be used
to assist the CM process and any
05:54 limitations on their use. Software configuration items are not only source files, but all types of documents.
In some projects, not only software,
06:17 related names. A hierarchical scheme with multi-level names is the one that is used more frequently.
Configuration management has four components.
06:29 Configuration identification, change management, configuration status accounting and configuration. Audit
configuration identification identifies the configuration items and developing method to uniquely label each
configuration item with a
06:44 unique identifiers. Everything in this world changes except change. Change management involves in
tracking and controlling the changes in all the
06:53 deliverables. During the development configuration status, he counting records and reports all the changes
made to the configuration item, the status and various information about the configuration item.
07:06 Configuration audit is responsible for verifying the correctness of the product and its components against
various specifications to ensure conformance to
07:29 A base object is created by a software engineer during analysis, design code or test aggregate object. An
aggregate object is a collection of basic objects and other aggregate
07:44 objects. Baseline is a any document or product that has been formally reviewed and agreed by a q a team,
07:51 and that can be changed only through formal change control procedures. The baseline serves as the base
for further development.
08:00 Examples for baselines are the A P I has been completely been defined. The bodies of the methods are
empty.
Transcript to PDF — Chrome Extension Page 3 of 8
08:08 All data access methods are implemented and tested. The GU U i is implemented. Evolution graph
describes the change history of an object.
08:18 The diagram in the slide depicts the evolution graph for an artifact. It shows the history of changes made to
that artifact.
08:37 Functional baseline goal is to get customer experiences with functional system and product. Baseline goal
is to coordinate sales and customer support.
08:47 Many naming schemes exist for baseline and a most commonly used is a three digit scheme, first digit for
release to the client.
08:55 Second represents the version for developer, and third is also for developer for small revision made. Now
where all the cis are stored.
09:04 Configuration repository is a database managed by the server that stores all the configuration management
information. By maintaining all the information in a centralized repository,
09:15 it helps us to understand who has a particular system version, what platform is required for a particular
version. What versions are affected by a change to component text?
09:37 Check in an operation used to make a developer's object version available to other users. A process that
creates a new version of an object from an existing version
09:48 stored in the database. Check out developers check out objects so they can work on them. The diagram in
this page depicts how check-in and checkout happens.
10:00 Nothing in this world is permanent except change. Change occurs anytime during the software
development and change management is the systematic approach to manage change. Activities in change
management,
10:13 filtering changes, managing changes and the change process. Reviewing and closing of requests for
change are FCS management reporting and providing management information.
10:27 When two people in a group try to access a same file and make changes, then one would overwrite the
other.
10:44 overwrite one another. To make this possible, he can obtain a lock on the object in the database. This will
disable others from accessing or updating that object until the
10:55 currently checked out version has been replaced. Thereby releasing the lock changes are inevitable. They
happen a lot in software development too.
Transcript to PDF — Chrome Extension Page 4 of 8
11:08 When a software system is being developed, changes may be requested going to many reasons. The
client may have some new requirements.
11:17 The domain legal expert in the development team may propose some requirements to meet some new
statutory regulation and so on.
11:25 When changes are requested, they are not passed on straight away to the development team. Each
change is evaluated to ascertain whether it is needed and what its effects
11:43 software change control board S C C B. It is a committee that accepts the change requests, analyze it, and
take decision whether or not propose change to
11:52 A software project should be implemented. The change control board is composed of project stakeholders
or their representatives. The authority of the change control board may vary from project to project.
12:05 The decision taken by this boat will be accepted as final and binding. If it's accepted, the code will be given
for the developer to make the relevant changes else.
12:15 It will be intimated to the client that it is rejected. The change control process comprises of three phases,
evaluation phase,
12:24 resolution phase, and finally the verification phase. When a change is to be made at his identified and
submitted by the client to the
12:52 The tester verifies if the changes are implemented correctly. If yes, the verification process is approved and
change request is closed. If not,
13:01 they reopen the change request and give it back to the development team. As we all know, software
development will be done by team of persons,
13:11 so frequent changes will happen in that case. Whenever changes are made, we have to maintain the
various versions of the file.
13:19 This is possible by using version management. Version control mechanism can be used to maintain
multiple versions of a software project or files or documents. Hence, tracking the changes is easier.
13:32 Also, if a person wants to edit a file and it should not be accessed by others in the group,
13:47 as either read only or for making changes. Benefits of version management, automatic backup is a main
advantage of version management.
Transcript to PDF — Chrome Extension Page 5 of 8
13:58 If a file is changed and we want to roll back to the previous version, it's possible using this. If more than
one person works on a same file,
14:07 the changes can be recorded without any conflict. To highlight the differences comparison of the two
versions of a file is
14:15 possible. Also, it is possible to lock a file so that when it is modified by a user, it cannot be accessed by
other user.
14:22 Thus forcing serialized change to any given file when a person in the team wants his code to work in
isolation.
14:29 It's also possible by creating branches. Maintain an instant audit trail on each and every file, like versions,
modified, date modifier,
14:50 Concurrency management when same file is edited by multiple persons at the same time. Version control S
C M either saves all the changes made or users
15:01 archiving method. Because of this feature, in case of any issues can roll back to previous versions.
Synchronization, user checkout the files needed works on those files and checks in the changes
15:13 made to the repository. Thus, user can synchronize changes made in his local with the changes made by
other members in the team.
15:23 This page depicts few S C M tools used in the market. Let's understand few S C M terms to be familiar
with.
15:32 Repository or repo is the database where files are stored. Server is the system that stores the repository.
Client is the system that connects to the server. Working,
15:59 Revision represents the version of file V one, V two, V three, et cetera. Head means the latest revision in
the repo.
16:07 Latest checkout means download a file from the repo check in means upload a file to the repository. If it
has changed,
16:15 the file gets a new revision number and people can check out the latest one. Check in message means a
short message describing what was changed.
16:26 Each time we check in a new version, we get a new revision as shown here, it is a one R two or three, et
cetera.
Transcript to PDF — Chrome Extension Page 6 of 8
16:35 To continue to work in the project, we need to first check out the project, make the needed changes, and
check in so that all in the team are able to get the changes made to tape
17:00 If any other version is needed, we can specify that specific version as and when we make changes and
check in.
17:08 The main no trunk has a history of changes. Diffs are the changes made by us while editing conflicts can
arise.
17:15 When changes overlap, assume both Tom and Sam has checked out the project. Tom wants to remove
eggs and replace it with cheese. Minor eggs plus cheese,
17:27 and Sam wants to replace eggs with a hot dog, minor eggs, plus hot dog. At this point, it's a race. If Tom
checks in first,
17:36 then that will be the changes that goes through and Sam can't make his change. When changes overlap
and contradict like this,
18:05 separately. Since we are in a separate branch, we can work with the code in isolation by making the
changes needed.
18:12 These changes will not be affecting the team, but the branch history is under version control. Branching
sounds simple, right? Well, it's not.
18:22 Figuring out how to merge changes from one branch to another can be tricky. Let's say we want to get the
rice feature from our experimental branch into the
18:31 main line. How would we do this DEFAR six and R seven and apply that to the main line wrong? We only
want to apply the changes that happened in the branch.
18:42 That means we defer five and R six and apply that to the main drunk. If we dipped our six and R seven,
19:08 The various activities of a developer in a SS C M environment are described in this page. To begin with,
code is kept in a common repository.
19:17 Developers pick up a working copy and work on their local machine. Having done few applications in the
code, those changes are committed to the repository.
19:27 Check if anyone has checked in the same file in the repository. If yes, and they have worked on the same
file,
Transcript to PDF — Chrome Extension Page 7 of 8
19:34 then compare the conflicts and merge the changes as per the requirement. Check in the new version of
files into the repository. Details of what, why,
19:43 when, and by whom changes were made to the software is also preserved. Tracking the changes is a very
simple task. With SS c m.
Transcript to PDF — Chrome Extension Page 8 of 8