SCM Software Configuration Management

What?

SCM is a software engineering discipline consisting of standard processes and techniques often used by organizations to manage the changes introduced to its software products. SCM helps to eliminate the confusion often caused by miscommunication among team members. The SCM system controls the basic components such as software objects, program code, test data, test output, design documents, and user manuals.

Who?

The Software Engineering Institute (SEI) advocated a standard definition for CM oriented to software, broadening the definition of the Institute of Electrical and Electronics Engineers (IEEE) and the guidelines of the International Organization for Standardization (ISO).

Why?

Is software engineering practices associated with software configuration management offer a number of opportunities to address requirements found International  Standard, ISO 9001. From management perspective, the principles and practices of  CM represent an accepted and understood foundation for improving the efficiency and of these process. (Configuration Management and ISO 9000, Bamford, William).

Where?

Configuration Management originated in the United States Department of Defense in the 1950s as a technical management discipline for hardware material items and it is now a standard practice in virtually every industry. The CM process became its own technical discipline sometime in the late 1960s when the DoD developed a series of military

When?

The need for formalizing and taking SCM seriously, arose when rightly named “Software Crisis” was identified back in late 70s and early 80s. Only after the 80’s the SCM was allowed to grow as an autonomous entity from traditional CM.

How?

The first SCM systems of early 80s were developed in house and their primary focus was on file control. Most of them were built as a set of Unix scripts over RCS (a simple version control tool) and Make (for derived object control).

Metadata?

Metadata is structured information that describes, explains, locates,

Continue reading "SCM Software Configuration Management"

THE Ws of the SOFTWARE CONFIGURATION MANAGEMENT

SCM had its origins around the time of 1950s when configuration management, which was being implemented in hardware development, started being applied to software, being first applied manually into the cards and tapes that were used at the time. It was a very crucial implementation due to having to keep a budget and a schedule. Eventually the tools used evolved into more practical systems and were used in a broader scope with company´s growing use of computers.

tumblr_mab7irwes41rol1w1

Having different versions of software can bring a lot of confusion and errors. That’s why “software configuration management” intends to establish policies and standards for evaluating, coordinating, approving or disapproving, and implementing changes. This is mainly done through design, implementation, testing, baselining, building, release, and maintenance.

Software configuration is quite important right now in order to keep track of all the creation, changes, and keeping together a correct visualization of what’s being done or how are the files used in a project. Metadata such as dates that a file was modified, date it was create, author, people that have modified it, is important in order to have a clear and transparent representation of the work that is being done in certain projects. The CM also helps to have less confusion that can be caused by having different versions of the same file. It also helps in keeping a correct order of things when working in a project.

Several practices (which you can find here https://www.pearsonhighered.com/samplechapter/0321200195.pdf) are commonly considered best for CM. Let’s try explaining them…

1: identifying and storing artifacts in a secure repository, so that it’s easy to keep track of and identify artifact versions. This repository should be able to accept faults in the code, as in this stage interaction between artifacts is not expected to be

working-hard
mind_blown
Continue reading "THE Ws of the SOFTWARE CONFIGURATION MANAGEMENT"

What is SCM?

barcelona-sprint-1

What

Configuration management refers to a discipline for evaluating, coordinating, approving or disapproving, and implementing changes in artifacts that are used to construct and maintain software systems.
According to the
Technopedia
SCM helps in i
dentifying individual elements and configurations, tracking changes, and version selection, control, and baselining. One of the most widely used SCM is
Git
, created by Linus Tovalds in 2005.

Why

How
• Identify and store artifacts in a secure repository.
• Control and audit changes to artifacts.
• Organize versioned artifacts into versioned components.
• Organize versioned components and subsystems into versioned subsystems.
• Create baselines at project milestones.
• Record and track requests for change.
• Organize and integrate consistent sets of versions using activities.
• Maintain stable and consistent workspaces.
• Support concurrent changes to artifacts and components.
• Integrated early and often.
• Ensure reproducibility of software builds
(Pearson, https://www.pearsonhighered.com/samplechapter/0321200195.pdf)

figure_08

Why is SCM important?
In Software Engineering is almost impossible to work alone. In this discipline, to make a good product, team work is necessary. In small teams it could be easy to track changes that co-workers make, but what about big organizations? When haven’t even met the people you’re working with. Well, that’s why we need SCM. In big projects, every person is working in something different that, at the end, will make great software. To accomplish goals, it’s important to manage the Development and Testing departments.

Team

luciasblogweb.wordpress.com/

ingsagnelliblog.wordpress.com

alfonsoirai.wordpress.com

ricardas.com

juancasan.wordpress.com


Software Configuration Management

In this article, the software engineering  discipline called Software Configuration Management (SCM) will be explained.

pexels-photo-89724

So, what is the SCM?

It is a software-engineering discipline comprising the tools and techniques through processes and/or methodologies that a company uses to manage change to its software envirnoment. Good practices among the software development area define the SCM. For all of the software projects that are under development or in a more advanced phase, enhancement on the reliability and quality of software is made by:

• Providing structure for identifying and controlling documentation, code, interfaces, and databases to support all life-cycle phases

• Supporting a chosen development/maintenance methodology that fits the requirements, standards, policies, organization, and management philosophy

• Producing management and product information concerning the status of baselines, change control, tests, releases, audits, etc.

There are some practices suggested when working under a SCM:

  • Identify and store artifacts in a secure repository.
  • Control and audit changes to artifacts.
  • Organize versioned artifacts into versioned components.
  • Organize versioned components and subsystems into versioned subsystems.
  • Create baselines at project milestones.
  • Record and track requests for change.
  • Organize and integrate consistent sets of versions using activities.
  • Maintain stable and consistent workspaces.
  • Support concurrent changes to artifacts and components.
  • Integrate early and often.
  • Ensure reproducibility of software builds.

But, how did all of this started?

All this information was based on Pearsonhieghered, from the first chapter on their called “Sotware Engineering”, by Ian Sommerville.

 


Floreth's Blog 2016-08-30 09:21:00

SCM Software Configuration Management

What?
SCM is a software engineering discipline consisting of standard processes and techniques often used by organizations to manage the changes introduced to its software products. SCM helps to eliminate the confusion often caused by miscommunication among team members. The SCM system controls the basic components such as software objects, program code, test data, test output, design documents, and user manuals.

Who?
The Software Engineering Institute (SEI) advocated a standard definition for CM oriented to software, broadening the definition of the Institute of Electrical and Electronics Engineers (IEEE) and the guidelines of the International Organization for Standardization (ISO).
Why?
Is software engineering practices associated with software configuration management offer a number of opportunities to address requirements found International  Standard, ISO 9001. From management perspective, the principles and practices of  CM represent an accepted and understood foundation for improving the efficiency and of these process. (Configuration Management and ISO 9000, Bamford, William).
Where?
Configuration Management originated in the United States Department of Defense in the 1950s as a technical management discipline for hardware material items and it is now a standard practice in virtually every industry. The CM process became its own technical discipline sometime in the late 1960s when the DoD developed a series of military
When?
The need for formalizing and taking SCM seriously, arose when rightly named “Software Crisis” was identified back in late 70s and early 80s. Only after the 80’s the SCM was allowed to grow as an autonomous entity from traditional CM.
How?
The first SCM systems of early 80s were developed in house and their primary focus was on file control. Most of them were built as a set of Unix scripts over RCS (a simple version control tool) and Make (for derived object control).
Metadata?

Floreth's Blog 2016-08-30 09:21:00

SCM Software Configuration Management

What?
SCM is a software engineering discipline consisting of standard processes and techniques often used by organizations to manage the changes introduced to its software products. SCM helps to eliminate the confusion often caused by miscommunication among team members. The SCM system controls the basic components such as software objects, program code, test data, test output, design documents, and user manuals.

Who?
The Software Engineering Institute (SEI) advocated a standard definition for CM oriented to software, broadening the definition of the Institute of Electrical and Electronics Engineers (IEEE) and the guidelines of the International Organization for Standardization (ISO).
Why?
Is software engineering practices associated with software configuration management offer a number of opportunities to address requirements found International  Standard, ISO 9001. From management perspective, the principles and practices of  CM represent an accepted and understood foundation for improving the efficiency and of these process. (Configuration Management and ISO 9000, Bamford, William).
Where?
Configuration Management originated in the United States Department of Defense in the 1950s as a technical management discipline for hardware material items and it is now a standard practice in virtually every industry. The CM process became its own technical discipline sometime in the late 1960s when the DoD developed a series of military
When?
The need for formalizing and taking SCM seriously, arose when rightly named “Software Crisis” was identified back in late 70s and early 80s. Only after the 80’s the SCM was allowed to grow as an autonomous entity from traditional CM.
How?
The first SCM systems of early 80s were developed in house and their primary focus was on file control. Most of them were built as a set of Unix scripts over RCS (a simple version control tool) and Make (for derived object control).
Metadata?

Software Configuration Management

According to Techopedia, the Software Configuration Management is a way in which some of the organizations act when new changes are implemented in the company. It’s a software control management, it helps the company to control the new systems. The Software Configuration Management has some advantages, such as:

  • Reduced redundant work.
  • Effective management of simultaneous updates.
  • Avoids configuration-related problems.
  • Facilitates team coordination.
  • Helps in building management; managing tools used in builds.
  • Defect tracking: It ensures that every defect has traceability back to its source.

(Retrieved from: https://www.techopedia.com/definition/24583/software-configuration-management-scm).

The Software Configuration Management exists since 1950, when the Configuration Management was integrated to the software development. At the beginning, all the processes were made by manual operation. With the time, the SCM became more popular because of the implementation of software in daily life. SCM now is a tool to manage processes and help people to adapt to changes when new systems appear.

If you  want to continue reading where does the Software Configuration Management emerge, go and visit the following link: https://rmzkrieg.wordpress.com/2016/08/30/scm-where.


What the hell is SCM?

At first, I didn't really know what it was or anything about it, but with some google-fu and midnight reading I will share with you my findings about SCM.

SCM stands for Software Configuration Management, sometimes called Software Control Management, it is a framework for organizations to manage software and its changes, updates, errors, versions, tests, and code; all of this in a clean and organized manner.

SCM is the process that defines how to control and manage change.
It is needed with software that involves large organizations and a lot of programmers, it defines who is allowed to make changes, how they make them, and when they can. Software configuration management benefits all the stakeholders in a software project, making their jobs easier. Among the beneficiaries are: developers, testers, support, management, and investors.

Source

SCM consists of four Configuration stages:

  1. Identification
    • Made up of configurable items (CI), that is, the programs that make up the SW project.
    • Baselines are contemplated, they are the status of the CIs at a given point, a version.
    • A baseline must have a complete documentation that includes the capabilities of the software, bugs and testing, and a unique footprint.
    • On each baseline, the CIs are at an specific version-controlled stage.
  2. Control
    • Implementing the approved changes to the CIs.
    • Process to get to a new baseline.
  3. Status Accounting
    • Tracking the changes made from the old baseline to the new one.
    • Describes the current version and how it came to be.
    • The "what's new" section that you see when updating an app in your cell phone, only more detailed.
  4. Authentication
    • Making sure that the previous processes are complete and correct.
    • Testing the software.
    • If the tests are passed, then comes the release.

Source
I think, on the grand scale, that's about it. SCM seems like Continue reading "What the hell is SCM?"

What the hell is SCM?

At first, I didn't really know what it was or anything about it, but with some google-fu and midnight reading I will share with you my findings about SCM.

SCM stands for Software Configuration Management, sometimes called Software Control Management, it is a framework for organizations to manage software and its changes, updates, errors, versions, tests, and code; all of this in a clean and organized manner.

SCM is the process that defines how to control and manage change.
It is needed with software that involves large organizations and a lot of programmers, it defines who is allowed to make changes, how they make them, and when they can. Software configuration management benefits all the stakeholders in a software project, making their jobs easier. Among the beneficiaries are: developers, testers, support, management, and investors.

Source

SCM consists of four Configuration stages:

  1. Identification
    • Made up of configurable items (CI), that is, the programs that make up the SW project.
    • Baselines are contemplated, they are the status of the CIs at a given point, a version.
    • A baseline must have a complete documentation that includes the capabilities of the software, bugs and testing, and a unique footprint.
    • On each baseline, the CIs are at an specific version-controlled stage.
  2. Control
    • Implementing the approved changes to the CIs.
    • Process to get to a new baseline.
  3. Status Accounting
    • Tracking the changes made from the old baseline to the new one.
    • Describes the current version and how it came to be.
    • The "what's new" section that you see when updating an app in your cell phone, only more detailed.
  4. Authentication
    • Making sure that the previous processes are complete and correct.
    • Testing the software.
    • If the tests are passed, then comes the release.

Source
I think, on the grand scale, that's about it. SCM seems like Continue reading "What the hell is SCM?"