DOC PREVIEW
Toronto CSC 302 - Lecture 9 - Estimation and Prioritization"

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 1 Lecture 9:!Estimation and Prioritization"" Project planning " Estimating Effort" Prioritizing Stakeholderʼs needs" Trade-offs between stakeholder goals"University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 2 Project Planning"Given:"A list of customer requirements"E.g. a set of use cases, a set of change requests, etc."Estimate:"How long each one will take to implement (cost)"How important each one is (value)"Plan:"Which requests should be included in the next release"Complication:"Customers care about other stuff too: "E.g. quality, performance, security, usability,…""2!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3 Key Principles of Management"A manager can control 4 things:"Resources (can get more dollars, facilities, personnel)"Time (can vary the schedule, delay milestones, etc.)"Product (can vary the amount of functionality - e.g. scrub requirements)"Risk (can decide which risks are acceptable)"Approach (applies to any management)"Understand the goals and objectives"quantify them where possible"Understand the constraints"if there is uncertainty, use probability estimates"Plan to meet the objectives within the constraints"Monitor and adjust the plan"Preserve a calm, productive, positive work environment"Note:"You cannot control what you cannot measure!"University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 4 Strategies"Fixed Product"1. Identify customer requirements"2. Estimate size of software needed to meet them"3. Calculate time required to build this much software"4. Get customer to agree to the cost & schedule"Fixed schedule (a.k.a. Timeboxing) "1. Fix a date for next release"2. Obtain prioritized list of requirements"3. Estimate effort for each requirement"4. Select requirements from the list until the “box” is full "Fixed Cost"1. Agree with customer how much they wish to spend"2. Obtain prioritized list of requirements"3. Estimate cost of each requirement"4. Select requirements off the list until the “cost” is used up"3!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5 Estimating Effort: COCOMO"COnstructive COst Model (COCOMO)"Predicts cost of a project from a measure of size (lines of code)"Basic model is:"E = aLb"Modeling process"Establish type of project (organic, semidetached, embedded)"this gives sets of values for a and b"Identify the component modules, and estimate L for each module"Adjust L according to how much is reused"COCOMO has a model for adjusting according to how much design, code and integration data is reused"Compute effort for each module using E = aLb"Adjust E according to difficulty of the project"COCOMO identifies 15 effort multipliers to take into account"Product attributes: eg required reliability, complexity, database size"Computer attributes: eg execution time constraints, storage constraints, etc."Personnel attributes: eg capability & experience of analysts and programmers, "Project attributes: eg use of CASE tools, programming language, schedule"Compute time using T = cEd "c and d provided for different project types like a and b were"effort lines of code project specific factors Source: Adapted from van Vliet, 1999, section 7.3.2 University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 6 Estimating Size: Function Points"Function Points"used to calculate size of software from a statement of the problem"tries to address variability in lines of code estimates used in models such as COCOMO"e.g. because SLOC varies with different languages"Originally for information systems, although other variants exist"Basic model is:"FP = a1I + a2O + a3E + a4L + a5F"Example"Sets of weightings (ai) provided for different types of project"Measure properties of the problem statement:"I = number of user inputs (data entry)"O = number of user outputs (reports, screens, error messages)"E = number of user queries"L = number of files"F = number of external interfaces (to other devices, systems)"Example calculation:"FP = 4I + 5O + 4E + 10L + 7F "weighting factor for this metric metric from problem statement Source: Adapted from van Vliet, 1999, section 7.3.54!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7 Simpler approaches to estimating"Estimation in Practice:"People tend to underestimate effort needed"Most estimates are made to please the {boss, customer, …}"Easier to estimate small chunks of work than large ones"Three-point estimating"Provides better estimates than just asking for a range"w = worst possible case"m = most likely case"b = best possible case""""""…and donʼt forget: effort < duration !!"! E =wi+ 4mi+ bi6i"University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 8 Not All Requirements Are Equal!"Perform Triage:"Some requirements *must* be included"Some requirements should definitely be excluded"That leaves a pool of “nice-to-haves”, which we must select from. " "Cost (percent) Value (percent) Low priority Medium priority High priority 5 10 15 20 25 30 5 10 15 20 25 30 Source: Adapted from Karlsson & Ryan 19975!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 9 Some complications"Hard to quantify differences"easier to say “x is more important than y”…"…than to


View Full Document

Toronto CSC 302 - Lecture 9 - Estimation and Prioritization"

Documents in this Course
Load more
Download Lecture 9 - Estimation and Prioritization"
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 9 - Estimation and Prioritization" and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 9 - Estimation and Prioritization" 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?