CM Flashcards
Configuration Management
Defined as essential discipline in everyday activities of defining requirements, designing, writing, compiling, testing, and Documenting the software during all stages of development
Effective CM (Configuration Management) programs:
Supports delivery of product that meets the stated requirements.
Tracks requirements and deliverables from concept through implantation, to customer delivery.
Ultimately moves toward delivery of the product on schedule and within budget
CM (Configuration Management) plan
Describes what is to be done in each phase of the life cycle
Provides the focus for the process and procedures
Used to communicate the CM process to other organizational groups on the project
Purpose of CM (Configuration Management)
Serves as a natural communication mechanism using only baseline items to perform all software builds, document generation, etc.
Ensures all activities in software lifecycle are documented
Ensures compliance with customer’s stated needs
Reduces amount of confusion and errors, resulting in less time / money spent
CM (Configuration Management) is best viewed as
An essential discipline
CM (Configuration Management) Manager ensures
CM personnel are trained and have the necessary resources
Proper balance between support and control
CM function is flexible and can accommodate the changing needs and requirements
Reasons for CM
Requirements creep
Multiple copies
Shared data
Simultaneous updates
What is requirement creep
Occurs when there is a difference between the original design and the final product
What is the greatest source of time and cost overrun
Requirements creep
What is a simple tool for controlling requirement creep
Statement of work, an agreement between consumer and developer on what will and will not be built in a particular iteration of development
Why would CM help if there are multiple copies?
It documents of all the different software that use similar/same code that you changed/fixed.
If one method you wrote needs to be changed, you know every place that code was
Why would CM help if there is shared data?
When multiple programmers are working on serval modules of a program, changes made in one module can affect operation of another module. Documents changes that would affect other peoples work, so they know what is happening
Why would CM help if there are simultaneous updates?
Protects against two people changing the code overwriting each other.
Primary goal of CM
Maximize productivity by minimizing mistakes
CM goal during coding phase
Minimize the divergence between the actual code and approved design