Intro Flashcards
Know what is Quality. Know what is Quality Management about.
What are two quality definitions?
Conformance to requirements.
Fitness for use.
They are the same if requirements are correct!
Fitness for use is better imo, cause that is the real measurement of how useful the product is. But following requirements may be more secure legally.
If requirements are sensible they are easier to achieve imo.
Deming cycle parts?
Plan, Do, Check, Act.
“Quality is free but not a gift”? What means it?
That putting more efforts and cost into bug prevention and bug fixing will save more money in the long run.
What are the four costs of quality?
Prevention: process improvement and infrastructure.
Appraisal: Finding defects (review, testing).
Internal failure: fixing defects discovered prior to delivery).
External failure: responding to problems discovered after release.
What is Brook’s law?
That adding people to a late software project makes it later.
Reasons:
1. takes time for people to get productive. Time from people already working on the project.
2. Communications overhead.
3. Limited divisibility of tasks.
Explain the bathtub curve of costs vs quality.
Is it bathtub for non-critical or critical software?
Bathtub curve shows improving quality up to a sweet spot pays off, up to a point where further efforts cause costs to increase again.
That is for non-critical systems.
For critical systems the curve is more like a line high up for a while and moves down at a very high quality.
“No quality management without quantifiable and measurable requirements”… Good and bad quality measurements for software?
“Still things that cannot be measured and still must be managed”… Examples?
???
What are the three pillars of SQM?
For each pillar describe concrete examples of what might influence quality and associated costs.
(mynd glæra 1-43) Organizational Activities (organize control): - Infrastructure. - Management. - configuration and defect management. - (CMMI and SPICE) - process models and process improvement models...??? Constructive Activities (avoid errors): - Training. - Best Practices. - Languages. - requirements engineering, modelling, high-level programming languages, training tools. Analytical Activities (detect errors): - Testing. - Metrics. - Reviews. - dynamic software testing, software metrics, manual reviews and static code analysis.
What is:
Failure?
Fault?
Error?
Does every fault lead to a failure?
Failure: problem encountered in execution.
Fault: the cause of a failure.
Error: the cause of a fault. - human coding error.
Not every fault necessarily leads to a failure. For example if the code is never executed.
Difference between Validation and Verification?
Validation is checking that the result of development fulfills user requirements. (built the right system?)
Verification is checking if the input was correctly transformed into the output. (built the system right?)
What is risk in our context?
severity of damage * probability of damage.
Project risk.
Product risk.