Agenda.ppt

上传人:livefirmly316 文档编号:378127 上传时间:2018-10-09 格式:PPT 页数:77 大小:1.50MB
下载 相关 举报
Agenda.ppt_第1页
第1页 / 共77页
Agenda.ppt_第2页
第2页 / 共77页
Agenda.ppt_第3页
第3页 / 共77页
Agenda.ppt_第4页
第4页 / 共77页
Agenda.ppt_第5页
第5页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Planning a Software Project,Agenda,Background Process planning Effort estimation Schedule and resource estimation Quality Planning Risk management Configuration Management Project monitoring plans,2,Software Project,Goal: Build a software system to meet commitments on cost, schedule, quality Worldwi

2、de - many projects fail one-third are runaways with cost or schedule overrun of more than 125%,3,Project Failures,Major reasons for project runaways unclear objectives bad planning no project management methodology new technology insufficient staff All of these relate to project management Effective

3、 project management is key to successfully executing a project,4,Why improve PM?,Better predictability leading to commitments that can be met Lower cost through reduced rework, better resource mgmt, better planning, Improved quality through proper quality planning and control Better control through

4、change control, CM, monitoring etc.,5,Why improve PM .,Better visibility into project health and state leading to timely intervention Better handling of risks reducing the chances of failure All this leads to higher customer satisfaction And self and organization improvement,6,Two Dimensions in proj

5、ect execution,7,Process-based Project Execution,Small project both engg and PM can be done informally Large projects require formality Formality: well defined processes used for each task; measurements used to control Here we focus on processes for PM only,8,The Project Mgmt Process,Has three phases

6、 - planning, monitoring and control, and closure Planning is done before the main engineering life cycle (LC) and closure after the LC Monitoring phase is in parallel with LC,9,Project Planning,Basic objective: To create a plan to meet the commitments of the project create a path that, if followed,

7、will lead to a successful project Planning involves defining the LC process to be followed, estimates, detailed schedule, plan for quality, etc. Main output a project management plan, and project schedule,10,Key Planning Tasks,Define suitable processes for executing the project Estimate effort Defin

8、e project milestones and create a schedule Define quality objectives and a quality plan Identify risks and make plans to mitigate them Define measurement plan, project-tracking procedures, training plan, team organization, etc.,11,Process Planning,Plan how the project will be executed, (ie. the proc

9、ess to be followed) Process will decide the tasks, their ordering, milestones Hence process planning is an important project planning task Should plan for LC and PM processes as well as supporting processes,12,Life Cycle Process,Various LC models - waterfall, iterative, prototyping; diff models suit

10、 different projects During planning can select the model that is best for the project This gives the overall process which has to be fine-tuned to suit the project needs Usually done by process tailoring - changing the process to suit the project Tailoring finally results in adding, deleting, modify

11、ing some process steps,13,Effort Estimation,Effort Estimation,For a project total cost and duration has to be committed in start Requires effort estimation, often in terms of person-months Effort estimate is key to planning - schedule, cost, resources depend on it Many problems in project execution

12、stem from improper estimation,15,Estimation,No easy way, no silver bullet Estimation accuracy can improve with more information about the project Early estimates are more likely to be inaccurate than later More uncertainties in the start With more info, estimation becomes easier,16,Estimation accura

13、cy,17,Effort Estimation Models,A model tries to determine the effort estimate from some parameter values A model also requires input about the project, and cannot work in vacuum So to apply a model, we should be able to extract properties about the system Two types of models top-down and bottom-up,1

14、8,Effort Estimation Models,19,Top-down Estimation,First determines the total effort, then effort for components Usually works with overall size One method is to see estimate as a function of effort; the common function used is Effort = a * size b E is in person-months, size in KLOC Constants a and b

15、 determined through regression analysis of past project data,20,Top down estimation,Can also estimate from size and productivity Get the estimate of the total size of the software Estimate project productivity using past data and project characteristics Obtain the overall effort estimate from produc

16、tivity and size estimates Effort distribution data from similar project are used to estimate effort for different phases,21,Bottom-up Estimation,Effort for components and phases first estimated, then the total Can use activity based costing - all activities enumerated and then each activity estimate

17、d separately Can group activities into classes - their effort estimate from past data,22,An Estimation Procedure,Identify programs/components in the system and classify them as simple, medium, or complex (S/M/C) Define the average coding effort for S/M/C Get the total coding effort. Use the effort d

18、istribution in similar projects to estimate effort for other tasks and total Refine the estimates based on project specific factors,23,COCOMO Model for Estimation,Is a top-down approach Uses size, but adjusts using some factors Basic procedure Obtain initial estimate using size Determine a set of 15

19、 multiplying factors from different project attributes Adjust the effort estimate by scaling it with the final multiplying factor,24,COCOMO,Initial estimate: a * size b ; some standard values for a, b given for diff project types There are 15 cost driver attributes line reliability, complexity, appl

20、ication experience, capability, Each factor is rated, and for the rating a multiplication factor is given Final effort adjustment factor is the product of the factors for all 15 attributes,25,COCOMO Some cost drivers,26,COCOMO effort distribution,Effort distribution among different phases is given a

21、s a percent of effort Eg. For medium size product it is Product design 16% Detailed design 24% Coding and UT 38% Integration and test 22%,27,COCOMO Links,Center for Systems and Software Engineering COCOMO II Website: http:/sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html Overview: http:/en.wik

22、ipedia.org/wiki/COCOMO,28,Scheduling and Staffing,Project Schedule,A project Schedule is at two levels - overall schedule and detailed schedule Overall schedule comprises of major milestones and final date Detailed schedule is the assignment of lowest level tasks to resources,30,Overall Schedule,Dep

23、ends heavily on the effort estimate For an effort estimate, some flexibility exists depending on resources assigned For example: a 56 PM project can be done in 8 months (7 people) or 7 months (8 people) Stretching a schedule is easy; compressing is hard and expensive,31,Overall Scheduling.,One metho

24、d is to estimate schedule S (in months) as a function of effort in PMs Can determine the function through analysis of past data; the function is non linear COCOMO: S = 2.5 E 3.8 Often this schedule is checked and corrected for the specific project,32,Determining Overall Schedule from past data,33,De

25、termining Milestones,With effort and overall schedule decided, avg project resources are fixed Manpower ramp-up in a project decides the milestones Manpower ramp-up in a project follows a Putnam-Norden-Rayleigh (PNR) curve which shows the relationship of project effort as a function of project deliv

26、ery time.,34,WhereEa = Effort in person monthstd = The nominal delivery time for the scheduleta = Actual delivery time desired,Manpower Ramp-up,35,In reality manpower build-up is a step function,Milestones .,With manpower ramp-up and effort distribution, milestones can be decided Effort distribution

27、 and schedule distribution in phases are different Generally, the build has larger effort but not correspondingly large schedule COCOMO specifies distr of overall sched. Design 19%, programming 62%, integration 18%,36,An Example Schedule,37,Detailed Scheduling,To reach a milestone, many tasks have t

28、o be performed Lowest level tasks - those that can be done by a person (in less than 2-3 days) Scheduling - decide the tasks, assign them while preserving high-level schedule Is an iterative task - if cannot “fit” all tasks, must revisit high level schedule,38,Detailed Scheduling,Detailed schedule n

29、ot done completely in the start - it evolves Can use MS Project for keeping it Detailed Schedule is the most live document for managing the project Any activity to be done must get reflected in the detailed schedule,39,An example task in detail schedule,40,Detail schedule,Each task has name, date, d

30、uration, resource etc assigned % done is for tracking (tools use it) The detailed schedule has to be consistent with milestones Tasks are sub-activities of milestone level activities, so effort should add up, total schedule should be preserved,41,Team Structure,To assign tasks in detailed schedule,

31、need to have a clear team structure Hierarchic team organization is most common Project manager has overall responsibility; also does design etc. Has programmers and testers for executing detailed tasks May have config controller, db manager, etc,42,Team structure,An alternative democratic teams Can

32、 work for small teams; leadership rotates Another one used for products A dev team led by a dev mgr, a test team led by test mgr, and a prog. Mgmt team All three report to a product mgr Allows specialization of tasks and separate career ladders for devs, tests, PMs,43,SCM process and planning,Have d

33、iscussed Software Configuration Management (SCM) process earlier During planning, the SCM activities are planned along with who will perform them Have discussed planning also earlier Includes defining CM items, naming scheme, directory structure, access restrictions, change control, versioning, rele

34、ase procedure etc,44,Quality Planning,Quality Planning,Delivering high quality is a basic goal Quality can be defined in many ways Current industry standard - delivered defect density (e.g. #defects/KLOC) Defect - something that causes software to behave in an inconsistent manner Aim of a project -

35、deliver software with low delivered defect density,46,Defect Injection and Removal,Software development is labor intensive Defects are injected at any stage As quality goal is low delivered defect density, these defects have to be removed Done primarily by quality control (QC) activities of reviews

36、and testing,47,Defect Injection and Removal,48,Approaches to Quality Management,Ad hoc - some testing, some reviews done as and when needed Procedural - defined procedures are followed in a project Quantitative - defect data analysis done to manage the quality process,49,Procedural Approach,A qualit

37、y plan defines what QC tasks will be undertaken and when Main QC tasks - reviews and testing Guidelines and procedures for reviews and testing are provided During project execution, adherence to the plan and procedures ensured,50,Quantitative Approach,Goes beyond asking “has the procedure been execu

38、ted” Analyzes defect data to make judgements about quality Past data is very important Key parameters - defect injection and removal rates, defect removal efficiency (DRE),51,Quality Plan,The quality plan drives the quality activities in the project Level of plan depends on models available Must def

39、ine QC tasks that have to be performed in the project Can specify defect levels for each QC tasks (if models and data available),52,Risk Management,Risk Management,Any project can fail - reasons can be technical, managerial, etc. Project management aims to tackle the project management aspect Engine

40、ering life cycles aim to tackle the engineering issues A project may fail due to unforeseen events - risk management aims to tackle this,54,Risk Management,Risk: any condition or event whose occurrence is not certain but which can cause the project to fail Aim of risk management: minimize the effect

41、 of risks on a project,55,Risk Management Tasks,56,Risk Identification,To identify possible risks to a project, i.e. to those events that might occur and which might cause the project to fail No “algorithm” possible, done by “what ifs”, checklists, past experience Can have a list of “top 10” risks t

42、hat projects have seen in past,57,Top Risk Examples,Shortage of technically trained manpower Too many requirement changes Unclear requirements Not meeting performance requirements Unrealistic schedules Insufficient business knowledge Working on new technology,58,Risk Prioritization,The number of ris

43、ks might be large Must prioritize them to focus attention on the “high risk” areas For prioritization, impact of each risk must be understood In addition, probability of the risk occurring should also be understood,59,Risk Prioritization .,Risk exposure (RE) = probability of risk occurring * risk im

44、pact RE is the expected value of loss for a risk Prioritization can be done based on risk exposure value Plans can be made to handle high RE risks,60,A Simple approach to Risk Prioritization,Classify risk occurrence probabilities as: Low, Medium, High Classify risk impact as: Low, Medium, High Ident

45、ify those that are HH, or HM/MH Focus on these for risk mitigation Will work for most small and medium sized projects,61,Risk Control,Can the risk be avoided? E.g. if new hardware is a risk, it can be avoided by working with proven hardware For others, risk mitigation steps need to be planned and ex

46、ecuted Actions taken in the project such that if the risk materializes, its impact is minimal Involves extra cost,62,Risk Mitigation Examples,Too many requirement changes Convince client that changes in requirements will have an impact on the schedule Define a procedure for requirement changes Maint

47、ain cumulative impact of changes and make it visible to client Negotiate payment on actual effort.,63,Examples .,Manpower attrition Ensure that multiple resources are assigned on key project areas Have team building sessions Rotate jobs among team members Keep backup resources in the project Maintai

48、n documentation of individuals work Follow the CM process and guidelines strictly,64,Examples .,Unrealistic schedules Negotiate for better schedule Identify parallel tasks Have resources ready early Identify areas that can be automated If the critical path is not within the schedule, negotiate with

49、the client Negotiate payment on actual effort,65,Risk Mitigation Plan,Risk mitigation involves steps that are to be performed (hence has extra cost) It is not a paper plan - these steps should be scheduled and executed These are different from the steps one would take if the risk materializes - they

50、 are performed only if needed Risks must be revisited periodically,66,Project Monitoring Plans,Background,A plan is a mere document that can guide It must be executed To ensure execution goes as per plan, it must be monitored and controlled Monitoring requires measurements And methods for interpreting them Monitoring plan has to plan for all the tasks related to monitoring,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1