1 / 30

CSC 480 Software Engineering

CSC 480 Software Engineering. Lecture 6 September 11, 2002. Topics . Risk Management Cost Estimation. Risk Management. A risk is a probability that some adverse circumstance will occur. Project risks affect schedule or resources

Download Presentation

CSC 480 Software Engineering

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. CSC 480 Software Engineering Lecture 6 September 11, 2002

  2. Topics • Risk Management • Cost Estimation CSC 480 - Software Engineering

  3. Risk Management • A risk is a probability that some adverse circumstance will occur. • Project risks affect schedule or resources • Product risks affect the quality or performance of the software being developed • Business risks affect the organisation developing or procuring the software CSC 480 - Software Engineering

  4. Software Risks CSC 480 - Software Engineering

  5. Risk Management Process CSC 480 - Software Engineering

  6. The Four Risk Activities • Identification Mindset: try to continually identify risks • Retirement planning • Prioritization • Retirement or mitigation CSC 480 - Software Engineering

  7. Risk Identification • Technology risks • People risks • Organisational risks • Requirements risks • Estimation risks CSC 480 - Software Engineering

  8. Risks and Risk Types CSC 480 - Software Engineering

  9. Risk Analysis • Assess probability and seriousness of each risk • Probability may be very low, low, moderate, high or very high • Risk effects might be catastrophic, serious, tolerable or insignificant CSC 480 - Software Engineering

  10. Risk Analysis CSC 480 - Software Engineering

  11. Risk Planning • Consider each risk and develop a strategy to manage that risk • Avoidance strategies • Reduce the probability that the risk will arise • Minimisation strategies • Reduce the impact of the risk on the project • Contingency plans CSC 480 - Software Engineering

  12. Risk Management Mindset Identification Retirement 2. “Java skills not high enough.” 2. Retirement by avoidance:Use C++ Project finish Project finish Risk 2 Risk 2 Risk 1 Risk 1 1. Retirement by conquest:Demonstrate image super- imposition 1. “May not be possible to superimpose images adequately.” Project start Project start CSC 480 - Software Engineering

  13. Risk Management Strategies CSC 480 - Software Engineering

  14. Risk Monitoring • Assess each identified risks regularly to decide whether or not it is becoming less or more probable • Also assess whether the effects of the risk have changed • Each key risk should be discussed at management progress meetings CSC 480 - Software Engineering

  15. Risk Factors CSC 480 - Software Engineering

  16. Risk Sources Ordered by Importance • Lack of top management commitment • Failure to gain user commitment • Misunderstanding of requirements • Inadequate user involvement • Failure to manage end-user expectations • Changing scope and/or objectives CSC 480 - Software Engineering

  17. Likelihood 1-10 1 = least likely Impact 1-10 1 = least impact Retire-ment cost 1-10 1 = lowest retirement cost Priority computation Resulting priority Lowest number handled first The highest priority risk 10 (most likely) 10 (most impact) 1 (lowest retirement cost) (11-10) *(11-10) *1 1 The lowest priority risk 1 (least likely) 1 (least impact) 10 (highest retirement cost) (11-1) *(11-1) *10 1000 Compute Risk Priorities CSC 480 - Software Engineering

  18. Range of cost estimates after conceptualization phase,based on actual cost of $1 $4 Conceptual- ization phase $1 25c Range of cost estimates afterrequirements analysis phase Requirements analysis $1 Range of Errors in Estimating Eventual Cost Design $1 Implementation $1 Integration/Test $1 CSC 480 - Software Engineering

  19. Cost Estimation Roadmap 1A. Use comparisons with past jobs to estimate cost & duration directly or to estimate lines of code. and / or 1B. Use function point method to estimate lines of code 1B.1 Compute un-adjusted function points. 1B.2 Apply adjustment process. 2. Use lines of code estimates to compute labor and duration using COCOMO formulas. CSC 480 - Software Engineering

  20. Function Point Computation Function Internal Logical Files (ILF)* External Inquiries (EIN) Logical group of user data Logical group of user data Logical group of user data External Outputs (EO) External Inputs (EI) For a Single Function (IFPUG) * Internal logical grouping of user data into files External Logical Files (ELF) file file file CSC 480 - Software Engineering

  21. Function Point Computation • First compute unadjusted FP • Followed by applying adjustment process PARAMETERsimplecomplex Ext. inputsEI … 3 or… 4 or ...6 = ___ Ext. outputs EO … 4 or … 5 or ...7= ___ … countTotal CSC 480 - Software Engineering

  22. Sample FP Computation CSC 480 - Software Engineering

  23. General Characteristics for FP incidental average essential 1. Requires backup/recovery? 0-2 2. Data communications required? 0-1 3. Distributed processing functions? 0 Adjustment 1-7 . . . . . 0 1 2 3 4 5 Case study none moderate significant CSC 480 - Software Engineering

  24. Computation of Adjusted FP (Adjusted) Function points = [ Unadjusted function points ]r [ 0.65 + 0.01r( total general characteristics ) ] CSC 480 - Software Engineering

  25. Constructive Cost Model (COCOMO) • Can we use the estimated KLOC as an effort estimation? • KLOC / (KLOC/(man*hr)) = man * hr • The answer is NO • The communication, documentation, and integration efforts increase faster than the product size grows • Effort (in man-month) is exponential in size CSC 480 - Software Engineering

  26. COCOMO • Once we know the effort estimation in man-month, can we just divide it by the number of developers to get the duration? • Duration = Effort / (# developers) • The answer is NO, again • It takes one chef five hours to cook a turkey. Can we then expect five chefs get one ready in one hour? CSC 480 - Software Engineering

  27. COCOMO Formulas (Boehm) (2) Duration for increasing Effort* ( y b 2.5x 0.35 ) < 1 exponent: > 1 (1) Effort* for increasing LOC ( y b 3x 1.12 ) Applies to design through integration & test. *“Effort” = total person-months required. CSC 480 - Software Engineering

  28. Basic COCOMO Formulae Effort in Person-months = aKLOC b Duration = c Effort d Software Project a b c dOrganic 2.4 1.05 2.5 0.38 Semidetached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32 Empirical factors due to Boehm [Bo] CSC 480 - Software Engineering

  29. Computing COCOMO - Case Study CSC 480 - Software Engineering

  30. Selected References • [BO] Barry Bohem, Software Engineering Economics, Englewood Cliffs, NJ: Prentice Hall, 1981 • [SPR] http://www.spr.com/library/0langtbl.html 12/99 Now http://www.spr.com/products/programming.htm with a fee ($75) CSC 480 - Software Engineering

More Related