Software Project Measurement Flashcards
What is software measurement?
The process by which values are assigned attributes of entiteis in the real (software) world.
What is an entity?
An entity may be an object or an event. Software measurement entities are:
- Processes: any activity related to software development an/or maintenance (e.g. requirements engineering, testing) - these can be at different levels of granularity.
- Products: any artefact produced or changed during software development and/or maintenance (e.g. source code, sofware design, documents).
- Resources: people, hardware or software needed for the process.
What is an attribute?
A feature or property of the entity (e.g. duration of the software specification process, maturity of the process.)
Measures (or metrics)
A measure of an attribute associates a value (either numbers or syumbols) to each entity, in such a way that our knowledge.intuition about the attribute is not contradicted.
Describe an attribute of an entity in a qualitiative or quantitative way.
<entity> -> measure (based on a pre-defined scale)</entity>
Measurement scale types
- Nominal - One-to-One mappings
- Ordinal - Monotonic increasing transformations
- Interval - M’ = a M + b (a > 0)
- Ratio - M’ = a M (a > 0)
- Absolute - M’ = M
Benefits from software measurement
- Visibility of project and process performance
- Improved predictability of defects or effort.
- Maximized value generation of the engineering investments.
- Transparent, fair and repeatable decisions of funding of projects.
- Optimized balance of content, technology, risk and funding
- Improved interfaces and communication between engineering and business/sales/marketing management.
- alignment with business needs.
- Efficient and effective resource allocation
- Fewer redundant projects and fewer overlaps.
- Outsourcing and supplier monitoring
- Simplified and transparent cancellation of projects.
Methods for collecting data in SENG
- Library research
- Literature analysis
- Case study
- In-depth interviews
- Survey
- Laboratory experiment
- Field experiement
- Secondary data
Goal-Questions-Metrics (GQM)
Goal - Goal attainemnt
Question - Answer
Metric - Measurement
Principles:
- Goal-driven: Define measurement goals
- Context-sensitive: Consider context/environment when defining measurement goals.
- Top-down: refine goals top-down into measures via questions.
- Documented: Document measurement goals and their refinement explicity
- Bottom-up: analyze and interpret the collected data bottom-up in the context of the goal.
- People-oriented: Actively involve all participants during the entire measurement program.
- Sustained: Measurement is part of a systematic and continuous software quality improvement process.
- Reuse-oriented: Description of context to facilitate packaging and reuse of knowledge gained.