1 / 21

Planning and Estimating

Planning and Estimating. CSCI 4320. Planning. The earliest possible time that detailed planning can take place is after the specifications are complete Planning continues during development and then postdelivery maintenance. Planning the Software Process.

clyde
Download Presentation

Planning and Estimating

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planning and Estimating CSCI 4320

  2. Planning • The earliest possible time that detailed planning can take place is after the specifications are complete • Planning continues during development and then postdelivery maintenance

  3. Planning the Software Process • The accuracy of estimation increases as the process proceeds

  4. Estimating Cost • What is the budget? • Underestimate: the developer can lose money • Overestimate: the client chooses another developer • Internal Cost: The cost to developers • Salaries of development team • Cost of hardware and software for development • Overhead – rent, utilities, salaries of supporting staff • External Cost: The price that the client pays • Based on the internal cost plus a profit margin • Economic and Psychological factors when bidding • Lower bid if developer desperately need the job • A significantly lower bid may be interpreted as low quality

  5. Estimating Duration • When will the finished product be delivered? • If developer is unable to keep its schedule • The organization loses credibility • Penalty clauses may be invoked

  6. Human Factors that Affect Estimating Cost and Duration • Differences between programmers on time it takes to code and debug and product size • We assume that experienced programmers outperform beginners • Sakerman study compares pairs of experienced programmers and pairs of beginner programmer • The worst performance on one product was by experienced programmer • Differences ranged from 5 to 1 • Critical staff member may resign during project

  7. Metrics for the Size of a Product • The most common metric for the size of a product is the number of lines of code • Lines of Code (LOC) • Thousand Delivered Source Instructions (KDSI) • File, Flow Process metric (FFP) • Albrecht’s function points metric • COnstructive COst MOdel (COCOMO)

  8. Problems with using lines of code as a metric • Creating source code is only a small part of the total software development effort • Programming languages produce the same result with different lines of code • How do you count the lines of code? • Only executable lines? or include data definitions? • Include comments? • What if you use inheritance? Recount inherited lines? • Not all code written is delivered to the client • A code generator can produce thousands of lines of code in a few minutes • Only at when product is final do you know the actual lines of code

  9. File Flow Process (FFP) • File – collection of logically related records permanently resident in the product • Flow – data interface between product and environment (screen, report) • Process – functionally defined manipulation of data (sorting, updating) Size = #Files + #Flows + # Processes Cost = size * d • Constant d is a measure of the efficiency of the software development process within that organization • Size can be determined after architectural design is complete

  10. Using the FFP Metric • You are a software engineer at Bantry Software. A year ago, your manager announces that your next product would comprise 10 files, 50 flows and 80 processes • Use the FFP metric to determine its size • For Bantry Software, the constant d has been determined to be $900. What cost estimate did the FPP metric produce? • The product was recently completed at a cost of $123,500. What does this tell you about the productivity of your development team?

  11. Albrecht’s Function Points (FP) metric • The number of function points is based on • INP: input items, • OUT: output items • INQ: inquiries • MF: master files • INF: interfaces • FP = 4*INP + 5*OUT + 4*INQ + 10*MF + 7*INF • This is an oversimplification of a 3-step process

  12. Maintenance • Maintenance can be inaccurately measured • It is possible to make major changes without changing • The number of files, flows, and processes; or • The number of inputs, outputs, inquiries, master files, and interfaces • In theory, it is possible to change every line of code with changing the number of lines of code

  13. Techniques of Cost Estimation • Expert judgment by analogy • Guesses can lead to hopelessly incorrect cost estimates • Experts may recollect completed products inaccurately • Estimation by a broad group of experts may be accurate • Bottom-up approach • Break the product into smaller components • Algorithmic cost estimation models • A metric is used as an input to a model to compute cost, duration • Estimates are only as good as the underlying assumptions • COnstructive COst MOdel (COCOMO)

  14. COCOMO • Estimate Development Effort • Estimate Length of product in KDSI • Determine product development mode (difficulty of developing product) • Small, medium, large project • familiarity with product, degree of team cooperation • Compute Nominal Effort using constants based on the development mode • Nominal Effort = a * KDSI b • Compute Estimated Effort in man months by multiplying the nominal effort by 15 to 17 software development effort multipliers • product, computer, personnel, project attributes • Variations of COnstructive COst MOdel Intermediate and COCOMO II

  15. Components of a Software Project Management Plan • The work to be done • The resources with which to do it • The money to pay for it

  16. Completion of Work Products • Milestone: The date on which the work product is to be completed • It must first pass reviews performed by • Fellow team members • Management • The client • Once the work product has been reviewed and agreed upon, it becomes a baseline

  17. 9.5 IEEE Software Project Management Plan Figure 9.8

  18. 9.6 Planning Testing • The SPMP must explicitly state what testing is to be done • Traceability is essential • All black box test cases must be drawn up as soon as possible after the specifications are complete

  19. Training Requirements • The user needs training after the product is finished. • The development team may need training for • Software planning and estimating • Introduction of hardware or software tools • The operating system and/or implementation language • Documentation preparation • Training for developers can be obtained • In house • Courses in the evenings at colleges • Web-based courses

  20. Documentation Planning • Types of documentation • Planning, Control, Financial, Technical, Source code • Reduce misunderstandings between team members • Aid SQA • Only new employees have to learn the standards • Standards assist maintenance programmers • Standardization is important for user manuals

  21. Testing the Software Project Management Plan • We must check the SPMP as a whole • Paying particular attention to the duration and cost estimates

More Related