Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Software configuration management
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Tracking and controlling software changes}} {{More footnotes|date=September 2010}} {{IEEE software documents}} {{Software development process}} '''Software configuration management''' ('''SCM'''), a.k.a. '''software change and configuration management''' ('''SCCM'''),<ref>Gartner and Forrester Research</ref> is the [[software engineering]] practice of tracking and controlling changes to a [[software system]]; part of the larger cross-disciplinary field of [[configuration management]] (CM).<ref>{{cite book | title = Software Engineering: A Practitioner's Approach | edition = 7th International | author = Roger S. Pressman | year = 2009 | publisher = McGraw-Hill | location = New York}}</ref> SCM includes [[version control]] and the establishment of [[baseline (configuration management)|baselines]]. ==Goals== The goals of SCM include:{{Citation needed|date=March 2008}} * Configuration identification - Identifying configurations, [[configuration item]]s and [[baseline (configuration management)|baselines]]. * Configuration control - Implementing a [[change control|controlled change]] process. This is usually achieved by setting up a [[change control board]] whose primary function is to approve or reject all change requests that are sent against any baseline. * Configuration status accounting - Recording and reporting all the necessary information on the status of the development process. * Configuration auditing - Ensuring that configurations contain all their intended parts and are sound with respect to their specifying documents, including requirements, architectural specifications and user manuals. * [[Build management]] - Managing the process and tools used for builds. * [[Process management (computing)|Process management]] - Ensuring adherence to the organization's development process. * Environment management - Managing the software and hardware that host the system. * [[Teamwork]] - Facilitate team interactions related to the process. * Defect tracking - Making sure every defect has traceability back to the source. With the introduction of [[cloud computing]] and [[DevOps]] the purposes of SCM tools have become merged in some cases. The SCM tools themselves have become virtual appliances that can be instantiated as virtual machines and saved with state and version. The tools can model and manage cloud-based virtual resources, including virtual appliances, storage units, and software bundles. The roles and responsibilities of the actors have become merged as well with developers now being able to dynamically instantiate virtual servers and related resources.<ref>{{cite journal | last=Amies | first=A |author2=Peddle S |author3=Pan T M |author4=Zou P X | title = Develop cloud applications with Rational tools | journal = IBM DeveloperWorks | publisher = IBM | date = June 5, 2012 | url = https://www.ibm.com/developerworks/community/blogs/iaas_cloud/entry/develop_cloud_applications_with_rational_tools3}}</ref> ==History== {{Excerpt|History of software configuration management}} ==Examples== * {{Annotated link|Ansible (software)|Ansible}} * {{Annotated link|CFEngine}} * {{Annotated link|Chef (software)|Chef}} * {{Annotated link|LCFG}} * {{Annotated link|NixOS}} * {{Annotated link|OpenMake Software}} * {{Annotated link|Otter (software)|Otter}} * {{Annotated link|Puppet (software)|Puppet}} * {{Annotated link|Salt (software)|Salt}} * {{Annotated link|Rex (software)|Rex}} ==See also== * {{Annotated link|Application lifecycle management}} * {{Annotated link|Comparison of open source configuration management software}} * {{Annotated link|Comparison of version control software}} * {{Annotated link|Continuous configuration automation}} * {{Annotated link|List of revision control software}} * {{Annotated link|Infrastructure as code}} ==References== {{Reflist}} ==Further reading== * {{Cite book | doi = 10.1109/IEEESTD.2012.6170935| title = 828-2012 IEEE Standard for Configuration Management in Systems and Software Engineering| year = 2012| isbn = 978-0-7381-7232-3}} * Aiello, R. (2010). ''Configuration Management Best Practices: Practical Methods that Work in the Real World'' (1st ed.). Addison-Wesley. {{ISBN|0-321-68586-5}}. * Babich, W.A. (1986). ''Software Configuration Management, Coordination for Team Productivity''. 1st edition. Boston: Addison-Wesley * Berczuk, Appleton; (2003). ''Software Configuration Management Patterns: Effective TeamWork, Practical Integration'' (1st ed.). Addison-Wesley. {{ISBN|0-201-74117-2}}. * Bersoff, E.H. (1997). Elements of Software Configuration Management. ''IEEE Computer Society Press, Los Alamitos, CA,'' 1-32 * Dennis, A., Wixom, B.H. & Tegarden, D. (2002). ''System Analysis & Design: An Object-Oriented Approach with UML.'' Hoboken, New York: John Wiley & Sons, Inc. * Department of Defense, USA (2001). ''Military Handbook: Configuration management guidance (rev. A) (MIL-HDBK-61A)''. Retrieved January 5, 2010, from http://www.everyspec.com/MIL-HDBK/MIL-HDBK-0001-0099/MIL-HDBK-61_11531/ * Futrell, R.T. ''et al.'' (2002). ''Quality Software Project Management.'' 1st edition. Prentice-Hall. * International Organization for Standardization (2003). ''ISO 10007: Quality management systems β Guidelines for configuration management''. * Saeki M. (2003). Embedding Metrics into Information Systems Development Methods: An Application of Method Engineering Technique. ''CAiSE 2003,'' 374β389. * Scott, J.A. & Nisse, D. (2001). Software configuration management. In: ''Guide to Software Engineering Body of Knowledge''. Retrieved January 5, 2010, from http://www.computer.org/portal/web/swebok/htmlformat * Paul M. Duvall, Steve Matyas, and Andrew Glover (2007). ''Continuous Integration: Improving Software Quality and Reducing Risk''. (1st ed.). Addison-Wesley Professional. {{ISBN|0-321-33638-0}}. ==External links== *[http://www.ssqc.com/do25v6new.pdf SCM and ISO 9001 by Robert Bamford and William Deibler, SSQC] *[http://www.methodsandtools.com/archive/archive.php?id=40 Use Cases and Implementing Application Lifecycle Management ] *[http://www.methodsandtools.com/archive/archive.php?id=12 Parallel Development Strategies for Software Configuration Management] {{Computer science}} {{Software engineering}} {{IEEE standards}} {{DEFAULTSORT:Software Configuration Management}} [[Category:Configuration management]] [[Category:Software engineering]] [[Category:IEEE standards]] [[Category:Types of tools used in software development]]
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Annotated link
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Computer science
(
edit
)
Template:Excerpt
(
edit
)
Template:IEEE software documents
(
edit
)
Template:IEEE standards
(
edit
)
Template:ISBN
(
edit
)
Template:More footnotes
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Software development process
(
edit
)
Template:Software engineering
(
edit
)
Search
Search
Editing
Software configuration management
Add topic