Software Configuration Management Process
Definition
Software Configuration Management Process is a very difficult
concept to define.
It encapsulates so many different aspects of the software
development lifecycle.
This website has defined SCM to include these functions and
processes:
SCM Responsibilities
It is easy to get distracted in the details of the tasks and
processes.
Taking a higher-level approach may serve to clarify and
solidify what the Software Configuration Management
Process attempts to achieve:
- Facilitates Timely Communication
- Enforces Development Policies
- Ensures Technical Standards
- Manages Hand-offs between Environments and Teams
A very good description from "Software Configuration Management A Roadmap":
SCM is the control of the evolution of complex systems.
SCM Mandate
In the end, the Software Configuration Management Process needs
to ensure integrity of the software it supports.
It also needs to integrate with all the other standards
and processes that surround the software and the business.
Processes
|
Process Name
|
Description
|
|
Agile
|
Implementing Agile SCM processes and practices will help
your ability to successfully implement Agile software
development processes.
|
|
CMMI
|
CMMI, Capability Maturity Model Integration, was originally intended
to objectively assess the ability of government contractors'
processes to deliver the contracted software projects.
Originally, a software development process improvement tool, CMMI
can be used as a generally applicable model to assist in understanding
the process capability maturity of organizations in diverse areas.
|
|
Disaster Recovery
|
Disaster Recovery is the ability of an organization to minimize
the effects of a disaster that would disrupt normal business
operations.
To minimize development disruption during a disaster,
a proper SCM DR Plan is required.
|
|
Feature Driven Development
|
Feature Driven Development, FDD, is just that.
It is a short-iteration development process that delivers features in
logical incremental intervals.
|
|
ITIL
|
ITIL, Information Technology Infrastructure Library, is a
customizable framework of best practices that help deliver
IT services and promote process improvement of services.
|
|
Quality Assurance
|
Software Quality Assurance provides the standards, processes and procedures that
ensure that a software application meets it's requirements and is properly tested.
To accomplish this effort, SQA must adhere to software engineering standards, such
as:
|
|
Release Management
|
Release Management, RM, is the process of managing a software
release through the Software Development Process, SDP.
This coordination between the different development processes and
teams is crucial to the successful release of software.
RM acts as the facilitator and milestone tracker of the software
release. Tasks can include the following.
|
|
Six Sigma
|
Six Sigma seeks to identify and resolve the causes of defects and
errors in engineering and business processes.
It uses a set of quality management methods, including statistical
methods, and creates a special infrastructure of people within the
organization who are experts in these methods.
Each Six Sigma project carried out within an organization follows
a defined sequence of steps and has quantified financial targets.
|
|
SOX
|
SOX, Sarbanes Oxley, reporting and testing requirements are mandating
formal approvals and reviews of people who have access to application
source code.
|
|
SOA Strategies
|
SOA Strategies is the strategic vision an organization uses to employ
Service Orientated Architecture.
SOA stands for Service Orientated Architecture.
It can be defined as a service or groups of services that work together to
pass data or to coordinate some business process.
|
|
Software Development Process
|
The Software Development Process, SDP, is the methodology used
by a development team or organization to produce software.
|
SCM Links and Resources
Future SCM
SCM Tools have evolved from simple checkin and checkout tools to fully
encompassing ALM products.
In addition to source code control, these tools now encapsulate change
control, software builds, project management, item/defect tracking,
and fully automated testing capabilities.
What direction will SCM take in the future?
Make Your Opinion Known!