View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
06-Feb-2012 Session 5 Software estimationThe perspective of estimation First encounter Getting to know Project proposal Contracting with your client each other and requirements “Estimation is the activity with the highest degree of uncertainty throughout the whole Pricing strategy development,- and project lifecycle” “What is your General Terms and Detailed pricing price?” Conditions Estimation SLA and conditions True or not?Estimation exercise Estimation Questions• Choose one of the collaboration techniques 1. What is the average distance of the Moon from the – Estimate as a group, come to consensus Earth? 384400 km – Divide the work among you, estimate individually 2. What is the height of the highest mountain? 8848 m 3. What is the diameter of the Earth? 12756 km 4. What is the area of Switzerland? 41277 sq km 1
06-Feb-2012Estimation• Estimate a Range, negotiate a number• Numbers are for facts Ranges are for estimates WHAT DO WE NEED TO KNOW FOR SOFTWARE ESTIMATION?• The sizes of major deliverables, such as specifications, source code, and manuals• The rate at which requirements are likely to change during development• The probable number of bugs or defects that are likely to be encountered• The capabilities of the development team• The salaries and overhead costs associated with the development team•• The tools that are going to be utilized on the project The set of activities that are going to be carried out WBS - GANTT• The cost and schedule constraints set by clients of the project being estimatedWBS WBS - Development• A WBS is a logical hierarchy of deliverables 1. Take the committed deliverables• A WBS is an essential tool in the project planning 2. Decompose the deliverables down to activity level process 7 (+/- 2) activities for any WBS entry. If not:• Does not represent the relationships and dependencies • Split entries between activities • Combine activities• A WBS helps to define the work required for the project 3. Validate, bottom-up and to break it into manageable pieces• A good WBS can help in the development of schedules, project plans, budgets, project control and resource requirements 2
06-Feb-2012WBS – Final steps• Risk assessment• Milestones• Develop WBS from the top down; not bottom up• Don’t exceed about 5 levels in a WBS• Check to make sure that the WBS is consistent with the project charter GANTTGANTT - Development (Pete) (John & Mary)• Represents dependences between activities• Activities (from WBS) + – Duration – Person responsible – Person authorizes completion ESTIMATION OR GUESTIMATION? 3
06-Feb-2012Group work Issues and challenges• Create a clear, step-by-step process for software Lack of historical data estimation No formal method for estimation• At each step indicate the uncertainty in the process, No estimation updates where is it coming from and how can you eliminate it• Present your software estimation processEstimation and the cone of uncertainty “The further a project progressed, the more accurate "If I give you another week to work on your the estimates for the remaining effort and time became” estimate, can you refine it so that it contains Barry Boehm, less uncertainty?"The cone of uncertainty That’s a reasonable request, but The Cone represents the error in estimates created unfortunately it’s not possible to by skilled estimators. deliver on that request. Research It’s easily possible to do Degree of error: has found that the accuracy of worse. 4 / 0.25 = 16 the software estimate depends It isn’t possible to be more on the level of refinement of the accurate; it’s only possible software’s definition. The more to be more lucky. refined the definition, the more accurate the estimate. 4
06-Feb-2012 Overestimation What do we estimate? Work expands to fill available time. • Effort • Cost • Schedule Accurate estimate +/- 5-10% Underestimation A smaller-than-actual project is planned, understaffing, missing essential tasks. As a result defect rates and costs increase. Most project teams underestimate by a factor of 2!Software estimation process Software estimation process (continuation)1. Analyse requirements 7. For cost estimates and budget you need to know:2. Plan activities – Salaries3. Start sizing the project by using; – Overhead applied for the project – Estimation tools – Inflation rate – Counting Function Points – Currency excahnge rates – Analogy with other projects and industry averages – Licence fees – Guessing the size – Equipment • By the project manager – Travel and living costs • By the programmer team – Contractors and subcontractors • By Wideband-Delphi – Legal fees – Marketing and advertising4. Estimate defect potential, defect removal and changing requirements – Content acquisition5. Estimate staffing requirements6. Adjust based on staff experience and capabilities7. Create schedule and effort estimates 5