资源描述
,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Software Project Management,*,Software Project Management,Lecture,3,Size and Cost Estimation,Software Project Management,Overview,Different level of estimation,Project Evaluation,Introduction to Estimation,Size Estimation,Cost Estimation,Software Project Management,2,Different level of estimation,Before a project is decided to pursue,继续,The estimation is coarse,The estimation is in high level terms,Profit? Good to the,organization,? etc.,After the project is decided to go ahead,More detailed size and cost estimations are required,Software Project Management,3,Project Evaluation,It is a high level assessment of the project,to see whether the project is worthwhile to proceed,to see whether the project will fit in the strategic planning of the whole organization,Software Project Management,4,Project Evaluation - Why,Want to decide whether a project can proceed before it is too late,Want to decide which of the several alternative projects has a better success rate, a higher turnover,周转, a higher .,Is it desirable to carry out the development and operation of the software system,Software Project Management,5,Project Evaluation - Who,Senior management,Project manager/coordinator,Team leader,Software Project Management,6,Project Evaluation - When,Usually at the beginning of the project,e.g. Step 0 of Step Wise Framework,Software Project Management,7,Project Evaluation - What,Strategic assessment,Technical assessment,Economical assessment,Software Project Management,8,Project Evaluation - How,Cost-benefit analysis,Cash flow forecasting,Cost-benefit evaluation techniques,Risk Analysis,Software Project Management,9,Strategic Assessment,Use to assess whether a project fits in the,long-term goal,of the organization,Usually carry out by senior management,Need a strategic plan that clearly defines the objectives of the organization,Evaluate individual projects against the strategic plan or the overall business objectives,Software Project Management,10,Strategic Assessment (,c,ontd,),Programme management,suitable for projects developed for use in the organizations,Portfolio,卷宗,management,suitable for project developed for other companies by software houses,Software Project Management,11,SA Programme Management,Individual projects as components of a programme within the organization,Programme as “a group of projects that are managed in a coordinated way to gain benefits that would not be possible were the projects to be managed independently”,by D.C. Ferns,Journal of Project Management,Aug. 1991,Software Project Management,12,SA Programme Management Issues,Objectives,How does the project contribute to the,long-term goal,of the organization?,Will the product increase the market share? By how much?,Software Project Management,13,SA ,Programme,Management Issues (contd),IS plan,Does the product fit into the overall IS plan?,How does the product relate to other existing systems?,Software Project Management,14,SA Programme Management Issues (,c,ontd,),Organization structure,How does the product affect the existing organizational structure? the existing workflow? the overall business model?,Software Project Management,15,SA Programme Management Issues (,c,ontd,),MIS,What information does the product provide?,To whom is the information provided?,How does the product relate to other existing,MISs,?,Software Project Management,16,SA Programme Management Issues (,c,ontd,),Personnel,What are the staff implications?,What are the impacts on the overall policy on staff development?,Image,How does the product affect the image of the organization?,Software Project Management,17,SA Portfolio Management,suitable for product developed by a software company for an organization,outsourcing,need to assess the product for the,client,organization,Programme management issues apply,need to carry out strategic assessment for the,servicing,software company,Software Project Management,18,SA Portfolio Management Issues,Long-term goal,of the,software,company,The,effects of the project on,the portfolio of the company,An,y,added-value to the overall portfolio of the company,Software Project Management,19,Technical Assessment,Functionality against hardware and software,The,strategic IS plan of the organization,any constraint,s,imposed by the IS plan,Software Project Management,20,Economic Assessment,Why?,Consider whether the project is the best among other options,Prioritise the projects so that the resources can be allocated effectively if several projects are underway,Software Project Management,21,Economic Assessment (,c,ontd,),How?,Cost-benefit analysis,Cash flow forecasting,Various cost-benefit evaluation techniques,NPV and IRR,Software Project Management,22,EA Cost-benefit Analysis,A standard way to assess the economic benefits,Two steps,Identify and estimate all the costs and benefits of carrying out the project,Express the costs and benefits in a common unit for easy comparison (e.g. $),Software Project Management,23,EA Cost-benefit Analysis (,c,ontd,),Costs,Development costs,Setup costs,Operational costs,Software Project Management,24,EA Cost-benefit Analysis (,c,ontd,),Benefit,Direct benefits,Assessable indirect benefits,Intangible,无形的,benefits,Software Project Management,25,EA Cash Flow Forecasting,What?,Estimation of the cash flow over time,Why?,An excess of estimated benefits over the estimated costs is not sufficient,Need detailed estimation of benefits and costs versus time,Software Project Management,26,EA Cash Flow Forecasting (Contd),Expenditure,Income,Software Project Management,27,EA Cash Flow Forecasting (Contd),Need to forecast,the expenditure and the income,Accurate forecast is not easy,Need to revise the forecast from time to time,Software Project Management,28,Cost-benefit Evaluation Techniques Example,Year,Project 1,Project 2,Project 3,Project 4,0,-100,000,-1,000,000,-100,000,-120,000,1,10,000,200,000,30,000,30,000,2,10,000,200,000,30,000,30,000,3,20,000,200,000,30,000,30,000,4,20,000,200,000,20,000,25,000,5,100,000,350,000,20,000,50,000,Net Profit,60,000,150,000,30,000,45,000,Payback,5,5,4,4,ROI,12%,4%,10%,11%,Software Project Management,29,Cost-benefit Evaluation Techniques,Net profit,= Total income Total costs,Payback period,= Time taken to break even,Return on Investment (ROI),Software Project Management,30,Cost-benefit Evaluation Techniques NPV,Net present value (NPV),It is the sum of the present values of all future amounts.,Present value,is the value of which a future amount worth at present,It takes into account the profitability of a project and the timing of the cash flows,Software Project Management,31,Cost-benefit Evaluation Techniques NPV (,c,ontd,),Discount rate,is the annual rate by which we discount future earning,e.g. If,discount rate is 10% and the return of an investment in a year is $110, the present value of the investment is $100.,Software Project Management,32,Cost-benefit Evaluation Techniques NPV (contd),Let,n,be the number of year and,r,be the discount rate, the present value (PV) is given by,Software Project Management,33,Cost-benefit Evaluation Techniques NPV (,c,ontd,),Issues in NPV,C,hoos,ing,an appropriate discount rate,is difficult,Ensuring that the rankings of projects are not sensitive to small changes in discount rate,Software Project Management,34,Cost-benefit Evaluation Techniques NPV (,c,ontd,),Guidelines:,Use the standard rate prescribed by the organization,Use interest rate + premium,额外费用,rate,Use a target rate of return,Rank the projects using various discount rates,Software Project Management,35,Cost-benefit Evaluation Techniques NPV (,c,ontd,),Disadvantage,May not be directly comparable with earnings from other investments or the costs of borrowing capital,Software Project Management,36,Cost-benefit Evaluation Techniques IRR,Internal Rate of Return (IRR),The percentage discount rate that would produce a NPV of zero,A relative measure,Software Project Management,37,Cost-benefit Evaluation Techniques IRR (contd),11,9,8,-3000,3000,6000,9000,12,10,Discount rate (%),Net Present Value($),0,Software Project Management,38,Cost-benefit Evaluation Techniques IRR (,c,ontd,),Advantages,Convenient,Directly comparable with rate of return on other projects,and with interest rates,Useful,Dismiss a project due to its small IRR value,Indicate further precise evaluation of a project,Supported by MS Excel and Lotus 1-2-3,Software Project Management,39,Estimation,Why? to define the project budget and to refine the product to realize the budget,Who? the manager,What? size and cost,When? always,How? techniques and models,Software Project Management,40,Issues related to Estimation,Difficult to make accurate estimation,Better to have previous data and analyze the actual values against their estimates so that you know how accurate you are,Even better to have previous data of the whole organization so that you know how accurate the estimation method, if any, used within the organization is,Software Project Management,41,Positive Attitude Towards Estimation,Use your estimation as a guide to manage your project,From time to time, you need to revise your estimation based on the current status of the project,Software Project Management,42,Estimation Approaches,Expert,judgement,Ask the knowledgeable experts,Estimation by analogy,Use the data of a similar and completed project,Pricing to win,Use the price that is low enough to win the contract,Software Project Management,43,Estimation Approaches (,c,ontd,),Top-down,An overall estimate is determine,d,and,then,broken down into each component task,Bottom-up,The estimates of each component task are aggregate to form the overall estimate,Algorithmic model,Estimation is based on the,characteristics of the product and the development environment,.,Software Project Management,44,Size Estimation,Problems related to size estimation,Size Estimation Model,Function Point Analysis (FPA),Software Project Management,45,Problems related to size estimation,Nature of software,Novel,新奇的,application of software,Fast changing technology,Lack of homogeneity,同质,of project experience,Subjective nature of estimation,Political implication with the organization,Software Project Management,46,Function Point Analysis (FPA),Developed by A. Albrecht in IBM,Aim: To estimate the LOC of a system,LOC of system,= FP of system,LOC-per-FP of the language,Software Project Management,47,Function Point Analysis (contd),Idea: Software system comprises of five major components (or,external user type,),External input types,External output types,Logical internal file types,External interface file types,External inquiry types,Software Project Management,48,Function Point Analysis,- Steps,Identify each instance of each external user type in the proposed system,Classify each instance,实例,as having high, medium or low complexity,Assign the FP of each instance,FP of the system = sum of FP of individual components,Software Project Management,49,Function Point Analysis,Number of,FPs,Complexity,External user type,Low,Average,High,External input type,3,4,6,External output type,4,5,7,Logical internal file type,7,10,15,External interface file type,5,7,10,External inquiry type,3,4,6,Software Project Management,50,Function Point Analysis,- Example,A component,of an inventory system consisting of Add a record, Delete a record, Display a record, Edit a record, and Print a record will have,3 external input types,1 external output type,1 external inquiry type,Then, assign FPs based on the complexity of each external types,Software Project Management,51,Function Point Analysis (contd),Other issues,The assignment of level of complexity is rather subjective,International FP User Group (IFPUG) imposes rules on assigning the level of complexity to individual external user types,imposes,sth,.,on,施加,于,Software Project Management,52,Object Point Analysis,Similar to function point analysis,Used on 4GL,第四代语言,development projects,Take account of features that may be more readily identifiable if the system is built on a high-level application building tools,Software Project Management,53,Object Point Analysis Steps,Identify the number of screens, reports and 3GL,第三代语言,components,Classify each object as Simple, Medium and Difficult,Assign the weight accordingly,Calculate the total object points,Total OP = sum of individual OP weighting,Software Project Management,54,Object Point Analysis Steps (,c,ontd,),Deduct,扣除,the reused objects (r% reused),NOP = OP (1 r%),Identify the productivity rate of both developer and CASE,Productivity rate = average of the two,PRs,Calculate the effort,Effort = NOP / Productivity Rate,Software Project Management,55,Object Point Analysis ,Screens,Number and source of data tables,Number of views contained,Total 4,(2 server, 2 client),Total 3 server, 5 client), 3,Simple,Simple,Medium,3 7,Simple,Medium,Difficult,8+,Medium,Difficult,Difficult,Software Project Management,56,Object Point Analysis ,Reports,Number and source of data tables,Number of sections contained,Total 4,(2 server, 2 client),Total 3 server, 5 client), 3,Medium,Difficult,Difficult,Software Project Management,57,Object Point Analysis,Complexity Weightings,Complexity,Type of object,Simple,Medium,Difficult,Screen,1,2,3,Report,2,5,8,3GL component,N/A,N/A,10,Software Project Management,58,Object Point Analysis ,Productivity Rate,Very low,Low,Nominal,High,Very High,Developers experience and capability,4,7,13,25,50,CASE maturity and capability,4,7,13,25,50,Software Project Management,59,Object Point Analysis Issues,Adopted in Boehms COCOMO II in the application composition stage,Software Project Management,60,Object Point Analysis Example,See separate handout,分发的印刷品,Software Project Management,61,Cost Estimation,Cost Estimation Model,COCOMO II,Software Project Management,62,Constructive Cost Model II,(COCOMO II),A parametric cost model,Important aspects of software project are characterized by variables (or, parameters),Once the value of the parameters are determined, the cost can be computed from the equation,Software Project Management,63,C,OCOMO II,(contd),Recognize,different approaches to software development,Prototyping, Incremental development etc.,Software Project Management,64,A history of COCOMOs,COCOMO,originally proposed by Boehm in 1981, now called,COCOMO,81,Later evolved to,Ada,COCOMO,in 1989,In 1995, Boehm proposes,COCOMO,II,Software Project Management,65,COCOMO II,A family of models,Use different models in,3,different stages of the project,3 stages: application composition, early design and post architecture,Support,estimation early in the process,Allow,further detailed estimation after the system architecture has been defined,Software Project Management,66,COCOMO II (,c,ontd,),The basic model equation,Effort = Constant (Size),scale factor, Effort Multiplier,Effort in terms of person-month,Size: Estimated Size,in KSLOC,Scale Factor:,a combined effects of factors related to the process,Effort,Multiplier,(E,M,),:,a combined effect of factors related to the effort,Software Project Management,67,The,Application Composition Stage,Estimation at the early stage,Corresponding to exploratory,探索性,work such as prototyping,Use object points to estimate the size of the product,Software Project Management,68,The,E,arly,D,esign,Stage,Estimate,after the requirement,s,specification,is,completed,and,possibly with some design,Use the basic model equation,Estimate the size,by,FPs,(preferred) or KSLOC,Assign process exponent estimation accordingly,Software Project Management,69,The Early Design Stage ,Scale Factor,Estimation on the,scale,factor,A combined effect of 5 parameters,Application,precedentedness,Process flexibility,Architecture risk resolution,Team cohesion,Process maturity,Software Project Management,70,The Early Design Stage Scale Factor (contd),Parameter,Very Low,(0.05),Low,(0.04),Nominal,(0.03),High,(0.02),Very High,(0.01),Extra High,(0.00),Precedentedness,Thoroughly unprecedented,Largely unprecedented,Somewhat unprecedented,Generally familiar,Largely familiar,Thoroughly familiar,Development flexibility,Rigorous,严格的,Occasional relaxation,Some relaxation,General conformity,Some conformity,General goals,Architecture risk resolution,Little,20%,Some,40%,Often,60%,Generally 75%,Mostly,90%,Full,100%,Team cohesion,Very difficult interactions,Some difficult interactions,Basically cooperative,Largely cooperative,Highly,Cooperative,Seamless interactions,Process maturity,Level 1,Level 2,Level 2+,Level 3,Level 4,Level 5,Software Project Management,71,The Early Design Stage ,Scale Factor,(Contd),Calculate the,scale factor,based on the equation,Scale factor,= 1.01 + sum of the values,Software Project Management,72,The Early Design Stage Effort,Multiplier,7 factors,on Effort Multiplier,product Reliability and,ComPleXity,(RCPX),required reusability (RUSE),Platform,DIFficulty,(PDIF),PERSonnel,capability (PERS),PeRsonnel,EXperience,(PREX),FaCILities,available (FCIL),SChEDule,pressure (SCED),Software Project Management,73,The Early Design Stage Effort,Multiplier,(,c,ontd,),Assess each factor by,Very low, low, nominal, high,very high, and extra high,Assign each factor using a value between 0.5 and 1.5 (inclusive,包括的,),E,M,is the product of all these values,Software Project Management,74,The Early Design Stage Effort Multiplier (contd),Early Design,Very Low Extra High,RCPX,0.5 1.5,RUSE,0.5 1.5,PDIF,0.5 1.5,PERS,1.5 0.5,PREX,1.5 0.5,FCIL,1.5 0.5,SCED,1.5 0.5,Software Project Management,75,The Early Design Stage, Example,See separate handout,Software Project Management,76,The,P,ost-architecture,Stage,Estimation,after the software architecture has been defined,The same basic model equation,Size estimation by KSLOC (preferred) or,FPs,Same process exponent estimation,17 factors in E,M,(more than 7 in early design stage),Software Project Management,77,The,P,ost-architecture,Stage Effort Multiplier,17 factors in 4 different categories,Product attributes,Platform attributes,Personnel attributes,Project attributes,Software Project Management,78,The,P,ost,-architecture,Stage Effort Multiplier,Product attributes,Required reliability (RELY)*,Database size (DATA),Product complexity (CPLX)*,Required reuse (RUSE)*,Documentation (DOCU),*Relate to RCPX in early design stage,Software Project Management,79,The,P,ost-architecture,Stage EAF (Contd),Platform attributes,execution TIME constraint (TIME)*,main,STORage,constraint (STOR)*,Platform,VOLatility,(PVOL)*,*Related to Platform,DIFficulty,(PDIF) in early design stage,Software Project Management,80,The,P,ost-architecture,Stage EAF (Contd),Personnel attributes,Analyst,CAPabilities,(ACAP),Application,EXPerience,(AEXP)*,Programmer,CAPabilities,(PCAP),Personnel,EXPerience,(PEXP)*,programming Language/Tool,EXperience,(LTEX)*,Personnel,CONtinuity,(PCON),Software Project Management,81,The,P,ost-architecture,Stage EAF (Contd),Project attributes,use of software,TOOLs,(TOOL)*,multiSITE,development team communications (SITE)*,*Relate to FCIL in early design model,Software Project Management,82,EAF Relations,Early Design,Post-Architecture,RCPX,RELY, DATA, CPLX, DOCU,RUSE,RUSE,PDIF,TIME, STOR, PVOL,PERS,ACAP, PCAP, PCON,PREX,AEXP, PEXP, LTEX,FCI
展开阅读全文