Moreira is a configuration management expert and author who specializes in configuration management as it applies to agile development. Software configuration management is defined as a process to systematically manage, organize, and control the changes in the documents, codes, and other entities during the software development life cycle. Configuration management background new versions of software systems are created as they change configuration management is concerned with managing evolving systems involves the development of procedures and standards to manage product evolution may be viewed as part of a more general quality management process 9. Is configuration management part of change management. What is the difference between configuration management. Change and configuration management of requirements.
Configuration management is the basis for many other key processes in the software development lifecycle such as. Configuration consists of both hardware and software components. It does not rely on the tacit knowledge of the development team. The history of software configuration management scm in computing can be traced back as early as the 1950s, when cm for configuration management, originally for hardware development and production control, was being applied to software development. You can probably figure out that the best time to start software configuration management is at the beginning of development. Software configuration management an overview sciencedirect. Some version control systems are also software configuration management scm systems. A few months ago, there was an interesting discussion on one of the linkedin forum. Configuration management historically, a major deficiency in the management of software systems has been the lack of an accurate means of determining the interdependencies or configurations of applications and their related components. One of thekey purposes of configuration management is to control changes made to the software product. Without scm, source code would become so fragmented and.
Configuration management, however, can have many connotations, depending on whos discussing it. A product data management system or engineering document control system is a logical approach to addressing this and other documentation needs. Configuration management cm is an important, but often neglected, practice that allows application developers and project managers to better identify potential problems, manage changes, and track the progress of software projects. So what are the core principles of cm and how can cm help agile teams. The list of the most popular software configuration management tools top scm tools in 2020 in software engineering software configuration management is the task of tracking and controlling changes in the software part of the larger disciplinary field of configuration management the scm practices include vision controls in the establishment of baselines. Whenever a software is build, there is always scope for improvement and those improvements brings. It service management itsm derives enormous benefits from a best practice approach. Software configuration management in software engineering. It simultaneously maintains the current state of the software called the baseline, while enabling developers to work on new versions for features or fixes. But, there is a whole lot more to configuration than managing source codes when it comes to devops. Software engineering system configuration management. It is abbreviated as the scm process in software engineering. Software configuration management scm is a set of processes, policies, and tools that organizes the development process.
No matter how large the project may be, software configuration management has a critical effect on quality. These systems are specifically tailored to manage trees of source code and have many features that are specific to software developmentsuch as natively understanding programming languages, or supplying tools for building software. What is configuration management and how does it work. Configuration is the manner in which components are arranged to make up the computer system. Configuration management cm is a systems engineering process for establishing and maintaining consistency of a products performance. Configuration management determines clearly about the items that make up the software or system. Scm is the process of identifying and defining the items in the system, controlling the. All the activity areas in configuration management share metadata for items placed under configuration management. The configuration management cmmi artifacts for process improvement document contains a brief description of centre cmmi software features which cover specific and generic evidence of compliance for practices required by the cmmi for development configuration management process area. Some configuration management tools use a pull model, in which an agent installed on the servers runs periodically to pull the latest definitions from a central repository and apply them to the server. Configuration management provides a mechanism for identifying, controlling and tracking the versions of each software item.
Huds mission is to ensure that the american public has access to safe and affordable housing and to promote the. The following is an outline that helps address what seems like a simple question. The goal of scm is to improve the speed of and quality by catching errors early and enabling quick fixes when they occur. Software configuration management 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.
Software configuration management scm is a set of processes, policies, and tools that organize the development process. Shes researched this field extensively and spoken to professionals about the area. Lean configuration management evolving the cm discipline. The profession of software development is both very good and very bad about its use of terminology. Configuration control requires that both proposed and approved engineering changes be tracked and identified to the affected items. Configuration management cm is a systems engineering process for establishing and maintaining consistency of a products performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. Understand how to define scm and discuss how to accomplish it. The software configuration management scm process is. Chef is a devops tool used for configuring cloud services or to streamline the task of configuring a companys internal servers. But it is interesting that changes to dodstd2167, as a document, are considered revisions.
Configuration management and engineering change control. The cm process is widely used by military engineering organizations to manage changes throughout the system lifecycle. Department of housing and urban development hudconfiguration management, software development customer mission. Other tools use a push model, where a central server triggers updates to managed servers. Configuration management is also used in software development and deployment, where it is called software or unified configuration management scm or ucm. Configuration management software designed for cmmi. The discussion was focused on configuration management vs change management. Software configuration management is a process to systematically manage, organize, and control the changes in the documents, codes, and. What is software configuration management and why do you. For this reason, it is still important for the development team to be informed of changes occurring and be given the chance to offer comments or objections. Oracle scm supports development teams with a comprehensive and highly scalable software configuration management capability.
Software engineering system configuration management whenever a software is build, there is always scope for improvement and those improvements brings changes in picture. What is configuration management in software development. Pdf software configuration management in global software. Sometimes, people specifically point to hardware arrangement as hardware configuration and to software components as software configuration. Change management and configuration management are core practices at. This includes any end products that will be delivered to the customer, as well as all management products, such as the project management plan and performance management baseline. The software configuration management activity, however, must not delay or impede the rapid software development schedule necessary to meet the harsh time to market needs of the e. The primary goal is to increase productivity with minimal mistakes. Configuration management, as a discipline for supporting software development, has been around for half a century and has evolved intostandard practice within traditional software development processes. Consequently, change and configuration management of requirements is still an important element of agile projects and the use of software tools to help with it can be greatly beneficial. Configuration management software integrates with version control systems, software testing products, bug tracking tools, and other software development tools. Project configuration management is managing the configuration of all of the projects key products and assets. Configuration management principles and practice agile. Learn about this branch of software development in this article by technical writer lynne s.
There are some great open source systems out there, as. Software engineering software confriguration management. Configuration management cm for agile development has now been discussed since the turn of the century. Modifications to a version of software resulting in a new version require configuration management actions by either the contractor, the contracting agency, or both. Early software had a physical footprint, such as cards, tapes, and other media.
Scm helps in identifying individual elements and configurations, tracking changes, and version selection, control, and baselining. Changes may be required to modify or update any existing solution or to create a new solution for a problem. Figure 11 illustrates the production and usage activity areas via their respective libraries. In software engineering, software configuration management is the task of tracking and controlling changes in the software, part of the larger cross disciplinary. Configuration management has many interactions with other development and support processes.
Most people in the software development industry refer to the source code management alone as configuration management. Good software configuration management is essential for efficient development and maintenance, and for ensuring that the integrity of the software is never compromised. Configuration management software increases efficiency and stability, and visibility into changes that occur in an application, and streamlines a companys change control process. Software configuration management is a path in that you may be interested in if you are a software development student or professional. Iso 9000 update configuration management and iso 9001. Learn about configuration management cm, a continuous process of recording and maintaining consistent and reliable records pertaining to an organizations. Software configuration management is a crucial activity for any software development effort. As an integral component of oracle 10g developer suite, oracle scm manages structured and unstructured data and all types of files throughout the software development life cycle. How does software development fit with your itil cmdb. Configuration management is an increasingly important foundation for a successful tech platform. A few participants said that configuration management plan is part of change management plan. Erp needs a robust capability to track and support engineering changes.
A variety of agile software development methods and practices have now been around for a solid ten years and existed for at least another ten years prior. What is configuration management in project management. Agile configuration management for large organizations. Plutora blog agile release management, devops, software development configuration management. Developers and others involved in the project can use scm to keep track of artifacts, including source code, documentation, problems, changes requested, and changes made. Software configuration management software configuration management scm is the process of identifying and defining the scis in the system and coordinating the changes made to these items a formal definition.
1460 1278 1510 817 121 901 1402 299 1054 780 605 948 1304 200 290 772 612 1124 1021 188 829 1463 815 375 641 1302 1471 756