Part IV - Software Management Flashcards
What is configuration management
Configuration management is about controlling changes made in a system, by using documentation and a standardized approach
What are the main processes involved in configuration management
Change management
Release management
Version control
System building
What is version control
Version control is keeping track of each component’s version and the features/changes implemented for each
What is system building
System building is integrating, assembling the components onto a system
What should be done after each version is implemented?
Integration testing: software should be rebuilt and tested after each version to reduce bugs
What is change management referring to?
Change management is the act of assessing proposals of stakeholders and customers, to determine if they are feasible, and to select which ones to implement.
What is required for a system release
System releases have the code, data, configuration files, and documentation.
What does the act of release management involve?
The act of managing releases involves deciding on a date, and providing distribution and software documentation.
What is quality management?
Concerned with ensuring that there are minimal defects in the product
What does the act of quality management entail?
Setting standards to check if processes are of the correct quality
What are quality checks, who does them, and what are they called?
Quality checks are done on deliverables by a team of people, who are not a part of the development team. They call them reviews
What happens in a program inspection / peer review?
Code is thoroughly read to mitigate error. Problems detected are communicated amongst team members
How does agile quality management differ from other quality management styles?
Quality management rests on the shoulders of the developers themselves. It works by encouraging a culture that has values of taking ownership, and commitment to improving.
What is a quality metric?
A quality metric is some quantitative statistic about the quality of the code. These figures are used to represent graphs, and to make inferences about the overall quality of a piece of software.
When are quality metrics particularly useful?
When an anomaly is detected
What are software analytics?
Software analytics is the automated analysis of large volumes of software product and process data to discover relationships that may provide insights for project managers and developers.
How can software pricing be influenced?
The price charged for a system does not just depend on its estimated development costs and the profit required by the development company. Organizational factors may mean that the price is increased to compensate for increased risk or decreased to gain competitive advantage.
How does software cost proposal work, when estimation is always off to a degree?
Software is often priced to gain a contract, and the functionality of the system is then adjusted to meet the estimated price.
What is plan driven development?
Plan-driven development is organized around a complete project plan that defines the project activities, the planned effort, the activity schedule, and who is responsible for each activity.
What activities are involved in project planning?
Project scheduling involves the creation of various graphical representations of part of the project plan. Bar charts, which show the activity duration and staffing timelines, are the most commonly used schedule representations.
What is a project milestone, and what needs to be done when it is reached?
A project milestone is a predictable outcome of an activity or set of activities. At each milestone, a formal report of progress should be presented to management. A deliverable is a work product that is delivered to the project customer.
How does agile planning differ from other methods of planning?
The agile planning game involves the whole team in project planning. The plan is developed incrementally, and, if problems arise, it is adjusted so that software functionality is reduced instead of delaying the delivery of an increment.
What are the different kinds of estimation techniques?
Estimation techniques for software may be experience-based, where managers judge the effort required, or algorithmic, where the effort required is computed from other estimated project parameters.
What is COCOMO, and what variables does it consider?
The COCOMO II costing model is a mature algorithmic cost model that takes project, product, hardware, and personnel attributes into account when formulating a cost estimate.