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

2-Introduction-SCM and process improvement-19-07-2024

SCM Process

Uploaded by

Mukesh Goud
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

2-Introduction-SCM and process improvement-19-07-2024

SCM Process

Uploaded by

Mukesh Goud
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

SWE2021- Software Configuration

Management (SCM)
Overview of Software Configuration
Management (SCM)
• Today software touches on and controls almost all
aspect of our life
– More efficient and productive
– Helps people to learn and teach better
– Helps in making our homes, banks and
organizations more secure
– Helps doctors better diagnose diseases and find
better treatment
– And many more…………….
Overview of SCM
• As software becomes more prominent, the task of
developing software is becoming more difficult.
• Software projects are becoming more complex in size,
sophistication, and technologies used.
• In addition users of software systems have matured
and the bugs and defects in a system are detected and
publicized faster than ever
• The task of managing a software project successfully
and delivering high quality and defect free product on
time without any cost over run is nearly impossible.
Overview of SCM
• SCM system is a mechanism that help the software
development team create top quality software
without disorder and confusion .
• Configuration is about identifying , organizing,
modifications to the software being built by a
programming team.
• Its goals are to
– Maximize the productivity
– Minimize the mistakes.
Overview of SCM
• SCM is a process used for more efficiently
developing and maintaining software, which is
accomplished by improving accountability,
reproducibility, traceability, and coordination.
Overview of SCM
Functions of SCM:
i. Identification of configuration items
ii. Documentation of characteristics
iii. Controlling change
iv. Purpose of assuring integrity
v. Accountability
vi. Visibility,
vii. Reproducibility
viii. Project coordination
ix. Traceability
x. Formal control of system
xi. Project evolution
Common SCM Myths
• SCM Means More Work and Procedure
• SCM Will Change Current Practices and It Will Create
Product Failures
• SCM Is a Difficult, Monotonous, and Time-Consuming
Activity
• SCM Is the Responsibility of Management
• SCM Is Just for Developers
• SCM Is Just for the SCM Team
• SCM Is Just for the Maintenance and Technical Support
Team
• SCM Will Make Many Employees Redundant and
Jobless
• SCM Slows Down the Software Development Process
Common SCM Myths
• SCM Is Just To Get Certifications Like ISO and CMM
• SCM Tools Will Take Care of Everything
• One SCM Tool Will Suit Everybody
• SCM Is Very Expensive
• Once the SCM Implementation Is Complete, There Will
Be No Additional Expenses
• SCM Is Just for the Source Code
• SCM Is Change Management and Defect Tracking
• Software Development Can Succeed Without SCM
• SCM Is Just To Impress Customers
SCM History and Standards
• In 1962, the US Air Force responded to the control
and communicational problems in the design of its jet
aircraft by authoring and publishing a standard for
CM, AFSCM-375-1 (this was the first standard),
followed by many other standards by US Military and
DoD.
• US DoD and several international organizations
including IEEE, ANSI and ISO all started to address the
problem of SCM in the software development
process.
• ANSI/IEEE standard is widely used standard.
SCM Standards
• CM should always be based on a set of standards
which are applied within an organisation.
• Standards should define how items are identified,
how changes are controlled and how new versions
are managed.
• Standards may be based on external CM standards
(e.g. IEEE standard for CM).
• Some existing standards are based on a waterfall
process model - new CM standards are needed for
evolutionary development.
SCM Standards
• The SCM standards serve as the starting point for
the practice of CM and related functions in any
project or organization.
• One should look at these standards for guidance
when one is starting a CM program.
• This is because these standards are written either
for the entire industry or their specific segments
of industry, and hence they are more flexible and
can be customized more easily to suit specific
needs.
SCM Standards
• Also, almost standards have greater potential
for timely updates; since they are used by the
general industry, they must maintain
relevance to the current software engineering
principles and practices or face obsolescence.
• The CM standards have played a very crucial
role in shaping the way in which CM is being
practiced today.
IEEE Std 828™-2012
(Revision of IEEE Std 828-2005)
• This standard establishes the minimum requirements for
processes for Configuration Management (CM) in
systems and software engineering.
• The application of this standard applies to any form,
class, or type of software or system.
• This revision of the standard expands the previous
version to explain CM, including identifying and
acquiring configuration items, controlling changes,
reporting the status of configuration items, as well as
software builds and release engineering.
IEEE Std 828™-2012
(Revision of IEEE Std 828-2005)
• Its predecessor defined only the contents of a software
configuration management plan.
• This standard addresses what CM activities are to be
done, when they are to happen in the life cycle, and
what planning and resources are required.
• It also describes the content areas for a CM Plan.
• The standard supports ISO/IEC/IEEE 12207:2008 and
ISO/IEC/IEEE 15288:2008 and adheres to the
terminology in ISO/IEC/IEEE Std 24765 and the
information item requirements of IEEE Std 15939TM.
Concepts and Definitions
• The IEEE defines configuration management (CM) as a
discipline applying technical and administrative
direction and surveillance, to
– identify and document the functional and physical
characteristics of a configuration item,
– control changes to those characteristics,
– record and report change processing and
implementation status, and
– verify compliance with specified requirements.
• What does this definition mean?
Concepts and Definitions
• First, SCM is a discipline—a discipline applying
technical and administrative direction and
surveillance.
• Second, the SCM function should identify the
configuration items and document their functional
and physical characteristics.
• Third, the SCM system should record the change
management process and report it to all those who
are involved.
• Last, there should be some mechanism to verify that
the system that is being developed and delivered is
the one that is specified in the requirements
definition and other related documents.
SCM Definitions
• Baseline – One or more software configuration items
that have been formally reviewed and agreed upon and
serve as a basis for further development.
• Software Configuration Item – A collection of software
elements treated as a unit for the purposes of SCM.
• Configuration – A collection of all the elements of a
baseline and a description of how they fit together.
• Configuration Control Board – Group with the
responsibility for reviewing and approving changes to
baselines.
• Software – All of the code, specifications, plans,
descriptions, processes, and documents associated with
a software development effort.
• Version – A specific instance of a baseline or
configuration item.
Concepts and Definitions
• IEEE defines a configuration item as an aggregation of
hardware, software, or both that is designated for CM
and treated as a single entity in the CM process
• IEEE divides SCM functions into four activities:
1. Configuration Identification (CI)
2. Configuration Control
3. Status accounting
4. Audit and review
SCM Activities
1. Configuration identification involves selecting configuration
items for a system and recording their functional and physical
characteristics in technical doc.
2. Configuration control consists of evaluation, coordination,
approval or disapproval, and implementation of changes to
configuration items.
3. Status accounting deals with recording and reporting of
information needed to manage a config. efficiently.
4. Auditing ensures that SCM system is functioning correctly
and the configuration has been tested to demonstrate that
it meets its functional requirements and that it contains
all deliverable entities.
Importance of SCM
• SCM helps reduce problems by coordinating the work
and effort of many different people working on a
common project.
• Plays important role in software development process –
analysis, design, development, testing and
maintenance.
• SCM is not easy, one has to do lot of work in right sprit.
• The key role of SCM is to control change activity so
that problems (e.g., communication breakdown,
shared data, simultaneous updates, and multiple
maintenance) can be avoided.
Benefits of SCM
• Improved software development productivity,
• Easier handling of software complexity,
• Improved security,
• Higher software reuse,
• Lower software maintenance costs,
• Better quality assurance,
• Reduced number of defects or bugs,
• Faster problem identification and bug fixes,
• Process-dependent development rather than
person-dependent development, and
• Assurance that the correct system was built.
Summary
 If designed properly, implemented judiciously, and used efficiently, SCM
systems will raise the productivity and profits of companies dramatically.
 For this to happen, personnel should be educated on the potential benefits
of SCM, its capabilities, and how it can help improve developmental
productivity.
 Many myths surround SCM. Many people consider it to be a bureaucratic
process and additional work.
 These concerns were true to some extent in the case of manual SCM
systems, but today’s SCM tools automate most of the SCM functions and
make the practice of SCM easier and painless.
 Poor SCM practices tend to ripple through an entire project, having an
adverse effect on a large number of people and their work, so it is
important to have a good SCM system.

You might also like