4 Pages

Chapter 8

Course: CIS 410, Fall 2009
School: Alaska Anch
Rating:
 
 
 
 
 

Word Count: 1856

Document Preview

8--Estimation Chapter An accurate schedule estimate is part of the foundation of maximum development speed. Without an accurate schedule estimate, there is no foundation for effective planning and no support for rapid development/ Coming up with a perfect estimate doesn't do any good if you can't get the estimate accepted. I. The Software-Estimation Story 1. When constructing software, you can't tell exactly how...

Register Now

Unformatted Document Excerpt

Coursehero >> Alaska >> Alaska Anch >> CIS 410

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
8--Estimation Chapter An accurate schedule estimate is part of the foundation of maximum development speed. Without an accurate schedule estimate, there is no foundation for effective planning and no support for rapid development/ Coming up with a perfect estimate doesn't do any good if you can't get the estimate accepted. I. The Software-Estimation Story 1. When constructing software, you can't tell exactly how much it is going to cost until you know exactly what "it" is. 2. If you want to build to a budget, you have to be very flexible about the product characteristics. 3. Whether you build to a budget or not, software development is a process of gradual refinement, so some imprecision is unavoidable. The only way to refine the product concept and thereby the estimate is to actually build the software. 4. Estimates can be refined over the course of a project. Promise your customer that you will provide more refined estimates at each stage. The basic software-estimation story is that software development is a process of gradual refinement. You begin with a fuzzy picture of what you want to build and then spend the rest of the project trying to bring that picture into clearer focus. Software development is a process of making increasingly detailed decisions. You refine the product concept into a statement of requirements, the requirements into a preliminary design, the preliminary design into a detailed design, and the detailed design into working code. Most software customers initially want more than they can afford. This means they have to bend either their ideas about the product or their ideas about the resources they are willing to commit. Software builders face a choice between estimation accuracy and project control. If you can be flexible about the product characteristics, you can have some control over cost and schedule and can "build to budget". Help your customers by telling them about the parts of the project that you are able to estimate. Tell them where the next landmark is. If customers want the shortest possible schedule, they should not pressure you to lower your estimates or to provide them with misleadingly precise estimates. An estimate that is either too low or too high will result in a longer-than-optimal actual schedule. Shortest-possible software schedules are achieved by creating the most accurate estimates possible, not the most precise. I. Estimation-Process Overview The process of creating an accurate development schedule consists of three steps: 1. 2. 3. 4. II. Estimate the size of the product (number of lines of code or function points). Estimate the effort (man-months) Estimate the schedule (calendar months) Provide estimates in ranges and periodically refine the ranges to provide increasing precision as the project progresses. Size Estimation You can estimate the size of a project in any of several ways: 1. Use an algorithmic approach, such as function points, that estimates program size from program features. 2. Use size-estimation software that estimates program size from your description of program features (screens, dialogs, files, database tables, and so on). 3. Estimate each major piece of the new system as a percentage of the size of a similar piece of a similar project. A. Function-Point Estimation See class lectures. B. Estimation Tips 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Avoid off-the-cuff estimates Allow time for the estimate, and plan it Use data from previous projects Use developer-based estimates Estimate by walk-through Estimate by categories Estimate as a low level of detail Don't omit common tasks Use software estimation tools Use several different estimation techniques, and compare the results Change estimation practices as the project progresses C. Estimate Presentation Styles The way you present an estimate initially can have a huge impact on what happens when the estimate needs changing later. Software estimation usually involves a great deal of risk and uncertainty, and a good estimate captures that risk and uncertainty. Some techniques for presenting schedule estimates: 1. Plus-or-minus qualifiers 2. Ranges 3. Risk quantification--when you document the sources of uncertainty in your estimates, you provide your customers with information they can use to reduce the risks to the project and you lay the groundwork for explaining schedule changes if any of the risks materialize. 4. Cases--present your estimates for best case, worst case, planned case, and current case. III. Effort Estimation You'll need an effort estimate in order to know how many people to pout on your project; and having an effort estimate makes it easy to derive the schedule estimate. Some ways to convert a size estimate into an effort estimate: 1. Use estimation software to create an effort estimate directly from the size software. 2. Use the schedule tables in Chapter 8 3. Use your organization's historical data to determine how much effort previous project of the estimated size have taken. 4. Use an algorithmic approach such as the COCOMO model to convert a lines-of-code estimate into an effort estimate. IV. Schedule Estimation Some alternatives 1. Schedule in months = 3.0 * man-months1/3 2. Use estimation software to compute the schedule from your size and effort estimates Use historical data from your organization Use schedule tables Using one of the above alternatives and a periodic refinement approach allow you to quit using padding. An estimate range with periodic refinements says, "The estimates are good, but it's not possible for an estimate to be precise at this stage in the project. It will become more precise as we go along." 1. Commitment-Based Scheduling A few organizations proceed directly from requirements to scheduling without creating intermediate effort estimates. They typically do so within a commitment-based culture in which each developer is asked to make a schedule commitment rather than a schedule estimate. Advantages of this include: (1) It increases developers' buy-in to schedule (2) it tends to result in high morale for the period immediately following the commitment, and (3) tends it to elicit a lot of voluntary overtime from the developers. Weaknesses include (1) developers' estimates tend to be optimistic, which results in estimation errors. Commitment-based planning as it is commonly practices does not help to achieve short schedules. 2. Jones's First-Order Estimation Practice Uses an adjustment of the function point size-estimate. V. Ballpark Schedule Estimates +One of the toughest obstacles to meaningful software scheduling is that usable, concrete information about software scheduling is hared to come by. Uses schedules to develop estimates that are better than gut instinct. You can reduce overall project cost by lengthening the schedule and reducing the team size. Line-of-code measurements have come under attack, and some people suggest using "function points" instead. Be sure that your planned schedule is at least as long as the shortest possible schedule in a table. Anything shorter is an impossible schedule! Shortest possible schedules Assume: 1. Your team has drawn its talent from the top 10 percent of the talent pool 2. The project has ideal project management 3. Advanced software tools are available 4. Developers have unlimited access to computer resources 5. The office environment is ideal 6. The entire project team is located within the same immediate area 7. All necessary communications tools are integrated into the work environment 8. Supplemental communications technologies are available when needed 9. The most time-efficient development methods and development tools are used 10. Requirements are completely know 11. Requirements don't change These schedules have been compressed as much as possible Two facts of life 1. There is a shortest possible schedule, and you can't beat it. At some point, adding more developers slows a project down. 2. Costs increase rapidly when you shorten the schedule below nominal. Most researchers have concluded that it isn't possible to achieve a schedule compression factor lower than about 0.75 or 0.80. What this means is that there is a limit to how much you can reduce a schedule by adding people and requiring more overtime. Also, if you're willing to lengthen your schedule slightly, you can reduce the cost of your project by reducing the team size disproportionately. Efficient Schedules Given that the shortest possible schedules are out of reach for nearly all organizations, efficient schedules or nominal schedules are a more realistic alternative. Assumptions--Assume that you do most things right. 1. Your team has drawn its talent from the top 25 percent of the talent pool (both analysts and developers) 2. Everyone has worked with the programming language and environment for a few years 3. Turnover is less than 6 percent per year 4. There is shared consensus about the mission 5. No significant conflicts 6. Staffed using an efficient staffing pattern 7. Efficient user of programming tools 8. Use of modern programming practices 9. Active risk management 10. Excellent physical environment 11. Integrated use of communication tools 12. Use of rapid development practices These schedules can be compressed up to 25 percent Nominal Schedules Intended for use on average schedules. Most projects are average. Assumptions 1. Your team has drawn its talent from the top 50 percent of the talent pool 2. The average team member has some familiarity with the programming language and the environment, but not necessarily extensive familiarity 3. The team has, on average, had some experience in the application area 4. These teams might not gel 5. The team might experience some conflicts 6. They can experience turnover of from 1--12 percent per year 7. Programming tool...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Alaska Anch - CIS - 410
Chapter 8-EstimationWithout an accurate schedule estimate, there is no foundation for effective planning and no support for rapid development. Coming up with a perfect estimate doesn't do any good if you can't get the estimate accepted. Which of th
Alaska Anch - CIS - 410
Chapter 9-Scheduling 9.1 OVERLY OPTIMISTIC SCHEDULING Excessive or irrational schedules are probably the single most destructive influence in all of software. A. Root Causes of Overly Optimistic Schedules 1. There is an external, immovable deadline.
Alaska Anch - CIS - 410
Chapter 9-Scheduling Excessive or irrational schedules are probably the single most destructive influence in all of software. Each of the following is a root cause of overly optimistic schedules except: A. There is an external, immovable deadline. B.
Alaska Anch - CIS - 410
Chapter 10-Customer-Oriented Development The companies that have made customer relations a top priority have made many of their development problems disappear, including the problem of slow development. In the end, your customers' perception of wheth
Alaska Anch - CIS - 410
Chapter 11-Motivation Of the four areas of rapid-development leverage-people, process, product, and technology-"people" has the greatest potential to shorten software schedules across a variety of projects. Motivation is undoubtedly the single greate
Alaska Anch - CIS - 410
Chapter 11-Motivation 1. Which of the following has the greatest potential to shorten software schedules across a variety of projects? People Process Product Technology 2. _ is the single greatest influence on how well people perform. 3. Developers a
Alaska Anch - CIS - 410
Chapter 12-Teamwork 12.2 Teamwork's Importance to Rapid Development A. Variations in Team Productivity The best teams were at least 4 times as productive as the worst. B. Cohesiveness and Performance Members of cohesive groups work hard, enjoy their
Alaska Anch - CIS - 410
Chapter 12-Teamwork 1. Members of cohesive groups work hard, enjoy their work, and spend a great percentage of their time focused on the project goals. 2. Participants in projects with poor team dynamics are frequently unfocused and demoralized, and
Alaska Anch - CIS - 410
Chapter 13-Team Structure 13.1 Team-Structure Considerations The team structure should be based on the team's broad objectives. Objective Problem resolution Creativity Tactical execution Team Structure Trust Autonomy Clarity Lifecycle Code-and-fix, s
Alaska Anch - CIS - 410
Chapter 13-Team Structure 1. Match the kind of team with its description: Tactical-execution Focuses on solving a complex, poorly defined problem. The people on this team need to be trustworthy, intelligent, and pragmatic. Problem-resolution Charter
Alaska Anch - CIS - 410
Chapter 14-Feature-Set Control There are three general kinds of feature-set control: 1. Early-project control of defining a feature set that is consistent with your project's schedule and budget objectives. 2. Mid-project control of controlling creep
Alaska Anch - CIS - 410
Chapter 14-Feature-Set Control 1. Which of the following is not a way to narrow your scope? Minimal specification Requirements scrubbing Versioned development JAD sessions All of the above will narrow your scope 2. Which of the following in not a pro
Alaska Anch - CIS - 410
Chapter 15-Productivity Tools Adopting a new tool can be one of the quickest ways to improve productivity. But it can also be one of the riskiest. The most productive organizations have found ways to minimize the risks and maximize the productivity g
Alaska Anch - CIS - 410
Chapter 15-Productivity Tools 1. Adopting a new productivity tool can be one of the riskiest ways to improve productivity. 2. The most productive organizations have found ways to minimize the risks and maximize the productivity gains. Their strategy
Arizona - MELOSH - 554
Arizona - MELOSH - 554
Meteoroid Impact and Planetary EvolutionH. J. Melosh Lunar and Planetary Lab University of Arizona Tucson, AZ 85721 USAThe study of impact craters has a welldefined beginning: 1610Galileo's small telescope and limited field of view did not permi
Arizona - MELOSH - 554
Huygens DISR images of TitanCassini Mosaic of Enceladus' South PoleThe Grand TourA quick overview of the rocky planets and moons, sorted by sizeToutatis, 2.5 x 4 km. Slow rotatorGaspra, 4.5 x 9.1 kmIda (24 x 56 km) and Dactyl (about 3 km)
Arizona - MELOSH - 554
Planetary TectonicsPtyS 554, Spring 2009E. M. Anderson's 1951 theory relates stress and fault type, assuming that faults are shear fracturesThe most ancient structures on the moon are outlined by "lineaments"-usually polygonal crater walls. Call
Arizona - MELOSH - 554
Cover design by Leslie Bleamaster, Planetary Science Institute. Planetary images include hemispheric views and mosaics from top to bottom: Titan (PIA07774 NASA/JPL/Space Science Institute, Blue Green Red spectral filters) Venus - PIA00104 NASA/JPL-Ca
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: description.dvi %Pages: 23 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -o description.ps des
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: standards.dvi %Pages: 2 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips standards.dvi %DVIPSPara
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: /home/tigger4/dm312/ears/previous-work/previous-work.dvi %Pages: 3 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPS
East Los Angeles College - DM - 312
%!PS-Adobe-2.0 %Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %Title: /home/tigger4/dm312/ears/lexicon/lexicon.dvi %Pages: 2 %PageOrder: Ascend %BoundingBox: 0 0 596 842 %EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine:
UCSC - PSY - 140
Kettcar - Nacht Die Stufen, die Haustr, der Flur Mein Herz schlgt im Dunkeln Und ich Lass hinter mir Die letzten paar Meter gerannt Gerannt, um zu sehen wo du bist Gerannt, um zu fhlen wie es ist Hier bei dir Meine Welt aufgehoben und ich Kann die We
Neumont - ORCO - 6304
Nom: Date de naissance: Adresse : Ville: Code Postal : ge : Tlphone: Courriel: Tlc. :1. Contexte scolaireNiveau atteint : Matires prfres / moins aimes: Auto-valuation des aptitudes scolaires: Aspiration scolaires: valuation globale de l'cole: (aim
Neumont - ORCO - 6304
Rapport Psychomtrique ConfidentielPrsent par XXXXXXXXXXXXXXPrsent monsieur Robert Baudouin, PhD Dans le cadre du cours OR6304 Testing en orientationFacult des sciences de l'ducation Universit de Moncton Le XXXXXXXXXRapport psychomtrique conf
Neumont - ORCO - 6304
Raliste (construire, rparer, et travailler au dehors) Intrts: Les machines, outils, dehors. Activits au travail: Conduire des machines, utiliser des outils, construire, rparer. Habilits possibles: Dextrit et savoir-faire mcanique, coordination physiq
East Los Angeles College - HL - 251
It is well known that the performance of automatic speech recognitiondegrades in noisy conditions. To address this, typically the noise isremoved from the features or the models are compensated for the noisecondition. The former is usually quite
East Los Angeles College - HL - 251
Uncertainty Decoding for Noise Robust Speech RecognitionHank LiaoSidney Sussex College University of CambridgeSeptember 2007This dissertation is submitted for the degree of Doctor of Philosophy to the University of Cambridge.DeclarationThis
Rochester - RENDITION - 38553
Standards and Style GuidelinesPage Editors' ChecklistAccessible Navigation The tab and arrow keys cycle through ALL the links and form elements. (details) The tab order is logical? (details) CF_LINK is used in place of A HREF tags when linking to
Maryville MO - YOONH - 050906
Public AbstractFirst Name: Ho-Jin Last Name: Yoon Degree: Master Department: Journalism Adviser's First Name: Wayne Adviser's Last Name: Wanta Co-Adviser's First Name: Co-Adviser's Last Name: Graduation Term: Winter Graduation Year: 2006 Title: A St