Skip to main content

Configuration Management

Managing and maintaining configuration settings of the software.

Also Known As

  • CM
  • Configuration Management (in DevOps)
  • Feature Toggle
  • Infrastructure As Code (IaC) (in DevOps)
  • SCM
  • Security as Code (in DevOps)
  • Software Configuration Management

Related

Addresses / Mitigates

  • Implementation Risk: Establishes and maintains consistency in the software product's performance and attributes.
  • Operational Risk: Ensures that changes are systematically evaluated and implemented to minimize disruptions.
  • Complexity Risk: Reduces complexity by managing system changes in a controlled and documented manner.

Attendant Risks

  • Process Risk: The CM process can introduce bureaucratic overhead.
  • Dependency Risk: Dependencies on the CM tools and processes can become critical points of failure.
  • Security Risk: Incorrect configuration management can lead to security vulnerabilities.

Used By

  • DevOps: DevOps uses Infrastructure as Code (IaC) to manage and provision computing infrastructure through machine-readable scripts.
  • Extreme Programming: Configuration management helps maintain the consistency of the product's performance in XP.
  • Lean Software Development: Lean ensures consistency and quality across different environments through configuration management.
  • Scrum: Configuration management helps maintain the consistency of the product's performance.

Description

"Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life." - Configuration management, Wikipedia

Configuration Management (CM) involves systematically handling changes to ensure the system maintains its integrity over time. It includes practices and tools for managing changes, tracking their status, and maintaining an inventory of system and support documents. CM is critical in software engineering to handle changes efficiently, reduce risks, and ensure the system performs as intended throughout its lifecycle.

See:

See Also

DevOps

A set of practices that combines software development (Dev) and IT operations (Ops) to shorten the development lifecycle and provide continuous delivery with high software quality.

Extreme Programming

An Agile software development methodology that emphasizes customer satisfaction, teamwork, and frequent delivery of small, functional software increments.

Lean Software Development

An Agile software development methodology that emphasizes eliminating waste, building quality in, creating knowledge, deferring commitment, delivering fast, respecting people, and optimizing the whole.

Scrum

An Agile framework for managing and completing complex projects.