Configuration Management - KU-SKE17/Software-Process GitHub Wiki

Goal

  • to ensure everyone working without any conflicts
  • to ensure there won't be any communication gaps

SCM Coordinator

  • link between Developer, Tester, Production Server
  • innovate and automate the current processes
  • create rule of code change (version control)
  • take care of the builds
    • ensure each components devs written are compiled
    • integrated them together into a single package
    • deploy it to production server
  • preparing:
    • release notes
    • scheduling deployment dates
    • status updates for releases
    • document of all change

summary

SCM Coordinator in-change of:

  • Version Control
  • Build and Release Management
  • Deployment
  • Environment Management
  • Tracking and Monitoring Changes

C1 Establish Baselines

C1.1 Identify Configuration Items

➢ choose what is the most important for the project = CI

CI: Configuration Item

  • Use for 2+ groups
  • Expected to change over time (error or requirements)
  • Dependent on each other
  • Critical to project success
  • Example:
    • Products (something with version number)
    • Tools (diff computer can cause diff output)
    • Plans
    • Drawings (have changes)
    • *Documents
    • *Source Codes
    • Software / Hardware Environment – setup, options, ...

➢ assign unique identifiers [named it!]

➢ specify when each CI will be under CM

➢ (specify owner)

C1.2 Establish a Configuration Management System

➢ choose multiple levels of control

  • In Draft Level
    • Anyone can make changes.
    • Version update -> anyone can go on
  • In-Dev Level
    • Dev team controls changes.
    • Path update -> need meeting before
  • Released
    • A designated authority authorizes
    • And stakeholders are notified when changes are made.

➢ provide Access Control

➢ store CI to CMS: Configuration Management System

➢ backup the content of CMS (backup, restore, archive, recovery from error)

C1.3 Create or Release Baselines

➢ obtain authorization from the CCB

CCB: Change Control Board

  • a committee that consists of members from multiple departments from the organization
  • have a duty to control configuration management by approve or reject the change requests to CMS
  • The approval and rejection must have a record/evident

➢ create or release baselines in CMS

➢ document the set of configuration items that are contained in a baseline

➢ make the current set of baselines readily available

C2 Track and Control Changes

C2.1 Track Change Requests

➢ initiate and record the change requests in the Change Request Database

➢ analyze the impact of changes

➢ prioritize change requests

➢ review change requests to be addressed in the next baseline with relevant stakeholders and get their agreement

C2.2 Control Configuration Items

➢ control changes to configuration items throughout the life of the product

➢ check in and check out configuration items in the configuration management system

C3 Establish Integrity

C3.1 Establish Configuration Management Records

➢ record configuration management = CMDB

CMDB: Configuration Management Database

➢ ensure that stakeholders have access

➢ specify the latest version of baselines

➢ identify the version of configuration items

➢ describe differences between baselines

➢ revise the status and history

C3.2 Perform Configuration Audits

➢ assess the integrity of baselines

➢ review the structure and integrity of CI

➢ confirm the completeness, correctness, and consistency of items based on requirements as stated in the plan and the disposition of approved change requests

re-cap