Lecture 7 - Software Estimation I Flashcards
In Scope management, what does Scoping mean?
Define boundaries of the project
What are the elements that make up Scope Management? (3)
- Time
- Resources
- Functionality
What is Brook’s Law?
Adding a human resource to a late software project makes it later
5 persons working full time for six weeks in a project, 35 hours of work per week. What is the Work Effort?
Work Effort = (5 persons x 6 weeks x 35 hours/week) = 1050 person-hours
What is “productive effort”?
A person’s effort on project related tasks. Excludes lunch, coffee, team meetings, etc.
TF: Effort and Cost estimation allow you to estimate how many features can be delivered within a specific development iteration
True
TF: Estimating time needed for defect correction work is a benefit of Effort and Cost Estimation
True
What is a solution for a project that is over-scoped?
Reduce scope by defining a feature subset (release/project baseline) such that it is no longer over-scoped
How do you define requirements baseline-steps? (3)
- Establish business value
- Assess effort (person-hours) required to develop feature
- Assess risk involved in developing feature
TF: Assessing scope effort early in the project is easy
False. Difficult to estimate since requirements not detailed and design unclear
TF: A factor to consider when assessing scope risk is new unproven technologies being used
True
What are the Priority categories in Requirements Priority? (3)
- Critical
- Important
- Useful
What does it mean if a requirement is said to be Critical in Requirement Priority?
Means requirement must be incorporated in next product release
What does it mean if a requirement is said to be Important in Requirement Priority?
Means requirement is necessary but can be deferred to later release if necessary
What does it mean if a requirement is said to be Useful in Requirement Priority?
Means it would be nice to have, but might be dropped if there is insufficient time or resources
What are the Prioritization techniques? (3)
- Ranking
- Grouping
- Hundred-dollar method
How does the Ranking prioritization technique work?
Rank requirements using a scale
How does the Grouping prioritization technique work?
Group requirements based on priority groups (critical, important, useful)
How does the Hundred-dollar method prioritization technique work?
Stakeholders get a conceptual $100 to distribute among requirements
What is the first principle of Estimation Fundamental Principles?
An estimate is a projection from past to future, accounting for differences between past and future
How is the past captured in the first principle of Estimation Fundamentals?
Historical data
How is the future captured in the first principle of Estimation Fundamentals?
Requirements for the software to be developed
In the second principle of Estimation Fundamental Principles, all estimates are based on… (2)
- Set of assumptions that must be realized
- Set of constraints that must be satisfied
What is an assumption?
Statement taken to be true without verifying
(ex: might be assumed that productivity factor for project will be 500 lines of code per month)
What is a constraint?
An externally imposed condition that must be observed
(ex: project might be constrained to 5 people for 6 months)
Say you are given the constraint that 5 people will work for 6 months, and that similar past projects had an average of 50 delivered source lines of code (DSLOC) per person month, what product can we build?
5 people x 6 month = 30 person-months
50 x 30 = 1500 DSLOC per person-month