configuration management.jpg
Source: Prince2Primer

Alternative name(s)

‍‍Configuration Management is also know as software Configuration Management (SCM) used by software developers to keep track of problems, source code, documentation, changes requested and change made (APM, 2006).

‍‍Description‍‍

Configuration Management (CM) is a process which ensures that a product technical and administrative requirement is identified and recorded in order to establish and maintain consistency during a project. CM is concerned with making, maintaining, and controlling changes made during the configuration process during a project's development life cycle. In Agile practice, this process helps the software developer to identify areas of a product that need changes, in order for a product to work properly. ‍‍The basic activities involved in Configuration Management are: Configuration Identification, Configuration Control, Configuration status Accounting and Configuration Audit (APM, 2006).
Configuration Identification is the process of identifying the configuration item. These items are documented and recorded so that necessary improvement can be made in order to improve project performance.
Configuration Control: this process involves making changes where necessary. Attributes recorded during identification stage is either approved or rejected. Required actions are taken to control changes within the project.
Configuration Status Accounting this process involves recording the configuration baselines associated with any given configuration item within the project.
Configuration Audits: this process is subdivided into two, the physical configuration audits and the functional configuration audits. The physical aspect ensures that a configuration item is properly installed and the functional aspect ensures that the functional attributes of the project works properly.

Agile values

‍‍Responding to Change over following a plan (‍‍Agile Manifesto‍‍) This value relates to CM through the maintaining ‍‍and ensuring the product meets requirements. This means once a sub-product has been completed, tested and does not meet the requirement or preforms wrongly changes will occur in order to correct the problem.‍‍ If initial plans are followed intensively the changes will not occur‍‍ resulting to increased risk and liability, and a decrease in performance.
Working software over comprehensive documentation (Agile Value)
‍‍This value supports CM because CM requires‍‍ p‍lenty ‍of documentation which should be easily accessible and current. This value will enable developers to include relevant data on status, performance and retrieve information on sub-products when needed. It will also help aid the organization with the configuration library and allowing developers to see all edits, logs and project issues.‍‍ Working software will manage the access of the products, ensuring only authorized developers have access.
Openness (Scrum Value)
‍‍Openness supports Configuration Management because it allows for transparency‍‍ and ensures for a detailed and up to date backlog of the product. This aids in solving problems because all information is shared so the best solution to a problem derives from team openness and collaborative efforts.

Agile principles

‍‍Incremental change,flow, (XP) .‍‍ This principle is relevant to Configration Management, ‍‍because as it is well known, Incremental change means that any changes that need to be made are done little by little, because it is considered, that big changes may not work, or will be inefficient. Changes are even considered as unavoidable and even valuable for the whole process.‍‍
‍‍Feedback, Scrum principle. The Scrum principle called Feedback‍‍ is relevant to configuration management for the fact that XP sees rapid feedback as a useful and extremely important way to learn and make changes as early as possible. Constant collaboration with the client facilitates change implementation by noticing the change on time and being able to implement it within time constraits.
Inspect and Adapt, Scrum principle. In this case the team must check their work constantly in order to verify whether the task they are completing conforms to the requirements of the sprint. Frequent inspection is crucial to the configuration management in order to control changes that are occuring and to make the needed adjustments.

Agile practices

‍‍Unit Testing a Scrum practice‍‍. Unit testing relates to configuration management because as a sub-product is completed it has to be tested in order to know if it serves the purpose intended. ‍‍This practice also supports configuration management because it provides an avenue for quality control, with the help of which the quality of the product can be checked; it also helps to achieve the aims of configuration management by being consistent with the function and performance requirement of the product. ‍‍Te‍sting‍ is extremely important for an effective configuration management.‍‍
Continuous integration, XP practice. In relation to configuration management the XP practice continuous integration can be explained as knowing the state of the system/the project you are developing/delivering at any time and managing it's continuous evolution and functionality. The Agile teams embrace changes and deal with constant changes by often demanding integration of the code (for software development) across the entire project.
Iteration planning. As it is well known in agile management, the role of the iteration planning is to break down the iterations into specific manageable sub iterations (tasks) in order to facilitate the process by dividing it into more realistic amounts of work. This practices can contribute to more efficient configuration management because by planning all the tasks carefully helps also to plan more carefully any needed changes, and the team also assures that they conform to the basic idea of the final deliverable.

Discussion

Configuration management in traditional project management would have been minimal ,‍ because ‍a lot of‍‍ time would have been spent on planning the whole project through creating specification, drawing contracts and gathering business requirements. This means that whatever that was planned would be exactly what would be done. However, agile allows changes or problems to occur throughout the whole working process, which means that configuration ‍‍management‍‍ in terms of adjustments will be done more often throughout the project‍‍.‍‍

Links from this KA to other KAs

‍‍Change Management‍‍ can be related to configuration management because managing the change of a product is vital in order to achieve the scope and requirement of specification. Furthermore, these changes occur because the product that is being produced may not have met the initial requirements of the project; also, what the customer may have first wanted may not be suitable for the product as a whole or additional feature will have to be made. ‍‍This means that Project Scope Management and Requirements Management can also be related to this KA. Another‍ KA which is close to Configuration Management is Life Cycle Management, because it traces the process of managing the development of a product going through many stages from conception to manufacturing.


References

Asociation for Project Management (APM) (2006) APM Body Of knowledge. 5th edn. APM Publishing, High Wycombe
‍‍Juha Koskela (2003), Software Configuration management in Agile Methods. VTT Publications [Online]
Available at: http://www.vtt.fi/inf/pdf/publications/2003/P514.pdf [Accessed on: 4th March 2013]‍‍

External links

‍‍http://en.wikipedia.org/wiki/Configuration_management
http://en.wikipedia.org/wiki/Software_configuration_management
http://www.icmhq.com/


Read in another language


‍‍Configuration Management (Arabic Version)‍‍