3. “…Rapid software changes is one of the more important tasks of software
systems development and maintenance teams. The task encompasses
adequate quality assurance of all changes performed and their proper
documentation as well as identification of the software version (or
release) installed by each customer” (Galin).
4. Software Configuration Management
Book Definition - An SQA component responsible
for applying (computerized and non-computerized)
technical tools and administrative procedures that
enable completion of the tasks required to
maintain SCIs and software configuration
versions.
ISO 9000–3 standards
SCM deals with all the issues related to:
software changes
documentation of changes
organizing approved software versions,
Provide information and copies of registered
versions throughout the life cycle
5. Software Configuration Version
Approved set of documented SCI versions that constitute a software system
or document at a given point of time
Activities are controlled by software configuration management procedures.
Versions are released according to the set procedures
Software Configuration Item (SCI)
Approved unit of software code designed for configuration management
Treated as a distinct entity
6. Do you have a chart similar to this at your job??
7. What information is needed for the review board
to make a decision?
Change principles
Change details
Change timetable and resources estimates
10. Baseline: milestones in lifecycle (reviewed, tested, and approved)
Revisions: small adjustments before a baseline is released.
Intermediate: fixes for smaller issues (temporary)
Reasons to consider accepting a change:
Contribution of the proposed change
Urgency
Effect on project timetables, level of service, etc.
Effort required
Required SQA efforts
Resources and cost of performing the change
11. Define levels of control and responsibility
Identify SCI (Software Configuration Items)
Define CM procedures
Prepare the CM plan
Establish the software project CCB (Change Control Board)
Set up CM tools and library
-Susan Sekira
NASA Goddard Space Flight Center
DEV/OP STAGES
? How do these plan objectives strengthen the effect of SCM?
12. Evolution Models
Linear Model
Only ONE unique version
All customers use same version
Single organization
Packages with similar structure
Tree Model
Parallel versions
Serves different customers at same
time
Firmware Configurations
13. • Information related to software change control
• Information about SCIs and software configuration versions
14. SCM audits are performed to evaluate
compliance with SCM procedures
They cannot serve as compliance enforcement tools
Examples:
• Percentage of unapproved changes
• Percentages of properly documented new SCIs
• Percentage of design reviews and software tests of changed
SCIs that have not been performed according to the
relevant procedures
• Percentage of cases of failure to transmit all version–related
information to the customer.
What are the risks involved with partial compliance? ?
15. “5 Things About Configuration
Management Your Boss Needs to Know”
Configuration Management (CM)
ensures that the current design and
build state of the system is known,
good & trusted; and doesn’t rely on the
tacit knowledge of the development
team. [IT Automation]
“You can pay me now, or you can pay
me later.” The quote is just as valid
with regard to Configuration
Management.
New York Stock Exchange (NYSE)
dealt with back over 10 years ago. A
software “glitch” prevented the NYSE
from trading stocks for almost 90
minutes.
“Top 10 Best Practices in
Configuration Management”
Organize Shared Code into
Separate Products- The best
practice in this situation is to
partition the shared code into one
(or more) separate products.
Separate Problems/ Issues/
Defects from Activities/ Features/
Tasks- It's critical to
distinguish engineering problems
from features as they are completely
different processes.
Continuous Automation- The more
advanced the automation, the higher
your quality and the lower your
costs
16. “A tool is only as good as you use it,” the saying goes…When
deploying new software configuration management (SCM) tools,
implementers sometimes focus on perfecting fine-grained
activities, while unwittingly carrying forward poor, large-scale
practices from their previous jobs or previous tools. The result is
a well-executed blunder.
High-level Best Practices in Software Configuration
Management
By Laura Wingerd & Christopher Seiwald
20. Improved change quality
With Puppet Enterprise, everyone,
including the change management team,
has confidence in the quality of changes.
That’s because as changes go through
the different environments — dev, test,
pre-production — everyone has high
confidence that these upstream
environments look just like production.
21. PACKAGE YOUR APPLICATION INTO
A STANDARDIZED UNIT FOR
SOFTWARE DEVELOPMENT
Docker containers wrap a piece of
software in a complete filesystem that
contains everything needed to run:
code, runtime, system tools, system
libraries – anything that can be
installed on a server.
This guarantees that the software will
always run the same, regardless of its
environment.
22.
23. References
• UpGuard . (2016). 5 Things About Configuration Management Your Boss Needs To Know. Retrieved from UpGuard :
https://www.upguard.com/blog/5-configuration-management-boss
• Farah, J. (2007, Nov 27). Top 10 Best Practices in Configuration Management. Retrieved from CM Crossroads:
https://www.cmcrossroads.com/article/top-10-best-practices-configuration-management?page=0%2C7
• GALIN, D. (2004). Software Quality Assurance: From theory to implementation. Essex: Pearson Education Limited.
• Wingerd, L. a. (1998, Jul). High-level Best Practices in Software Configuration Management. Retrieved from Perforce:
https://www.perforce.com/sites/default/files/pdf/perforce-best-practices.pdf
• Lego Image: http://theremedyforit.com/2011/12/version-control-in-bmc-ars/
• CMP Flow Chart: Susan Sekira, NASA Goddard Space Flight Center, March 2008: http://www.slideshare.net/adorepump/software-
configuration-management-presentation-878520/5
• Change Request Form: http://OpenThinkLabs.com
• Final.doc Comic: PHDComics.com
• Version Control Comic: http://www.eeweb.com/rtz/version-control
• CMPIC: https://www.cmpic.com/PDFs/CMPIC_Brochure.pdf
• Justin: http://www.justin.fi/en/services/training/practical-configuration-management/
• Rocannon’s World Book Image: https://en.wikipedia.org/wiki/Rocannon%27s_World
• Ansible Website: https://www.ansible.com/configuration-management
• Puppet Case Study: https://puppet.com/resources/case-study/lv/thank-you
• Docker Website: https://www.docker.com/
Slide Credit: Susan Sekira, NASA Goddard Space Flight Center, March 2008: http://www.slideshare.net/adorepump/software-configuration-management-presentation-878520/5