CM Flashcards
(24 cards)
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
Which phase has the most chance of CM divergence
Coding phase
CM goals during testing phase
- Continue minimizing divergence
- Having programmers find and fix bugs quickly
- Build a project baseline of accurate and consistent code
Best way to have programmers find and fix bugs quickly
By letting programmers do their job with independence and stability
Maintenance phase CM goals
- Maintain the accuracy and consistency of baseline
- Keep track of corrected and outstanding bugs
- Prepare the best state of software for delivery
- Continue finding and filing bugs, adding new features and generally allowing programmers to maintain software
Two functions of CM
Support and Control
Managers prefer what CM function
Control
Developers prefer what CM function
Support
The Support function of CM does what?
- Keeps engineers, developers ,and program itself on task and schedule
- Ensures open lines of communication and access to information on any base lined version of deliverables to consumer
The Control function of CM does what?
- Locks down the specifications, documents , drawings, requirements, tools, software, and other deliverables associated with the project
- Ensures all requirements are traced in order to ensure compliance with customer’s state needs