Chapter 9 Managing Schedules 山东大学齐鲁软件学院 1 In the chapter How to develop schedules to track the progress of your work. How to use checkpoints to track progress against a schedule. Tracking earned value. 山东大学齐鲁软件学院 2 The need of schedule You make schedule in order to meet commitments. A schedule is necessary when have several commitments to work on at the same time. Then you will alternate between tasks,doing one for a while and then moving to the next. example Careful schedule your time for larger and larger projects. 山东大学齐鲁软件学院 3 The gantt chart 山东大学齐鲁软件学院 4 More examples Excel中的gantt图插件 http://msdn.microsoft.com/library/default.asp?url =/library/en-us/dnexcl2k2/html/ODC_Gantt.asp 山东大学齐鲁软件学院 5 Making a project schedule Step1:analyzing the job in enough detail to identify its several component tasks. Step2:estimate the size for each of these smaller tasks and determine the amount of work. Step3:list each task on a Gannt chart with a schedule bar to show when it will start and end. 山东大学齐鲁软件学院 6 If involves several people Make sure that each individual knows the tasks Obtain the committed dates for each of these tasks. Identify the interdependencies among the tasks. Document each of these interdependencies. Review the schedule and interdependencies. No conflicts,disagreements or misunderstandings. Review the schedule covers all the tasks needed. 山东大学齐鲁软件学院 7 checkpoints What is checkpoint? Break the work into several parts. When each part is completed,you have made a defined level of progress. Measurable schedule points like this are called checkpoints or milestones. Each checkpoint is a identifiable point, with a planned completion date. you can readily see if you are on schedule or falling behind. 山东大学齐鲁软件学院 8 Checkpoints must be clear & unambiguous Must be a specific action You have completed and submitted a term paper You completed a plan using a standard planning format You have reviewed the development plan You completed a program design using a specified design format You completed a program by implemented,compiled, and corrected . 山东大学齐鲁软件学院 9 Inadequate checkpoints You have made a plan to write a program. If the plan contained the needed information? You have designed a program. What constitutes a complete design? Coding is 90% complete. Vague and misleading. 山东大学齐鲁软件学院 10 Suggestions on establishing checkpoints 对个人来讲,每5—10个小时工作至 少应该建立一个检查点; 对项目来讲,每周至少应该建立一个 检查点。 Remind you to do the work when it is planned. It is important for each engineer in a project to have several intermediate checkpoints so that everyone can know the status of all the other work. 山东大学齐鲁软件学院 11 Tracking project plans Allow you to determine whether the project is on, ahead of,or behind schedule. To be able to take timely action in the event of problems. Recognize problem early, See how to fix them, Often be able to recover Anticipate problems before they become serious enough. 山东大学齐鲁软件学院 12 Tracking project plans 山东大学齐鲁软件学院 13 Suggestions on schedule tracking Make sure checkpoints definitions are clearly defined and written down Do not change until make a new one When posting status against the plan, don’t change the plan New estimated dates noted by dotted lines. Keep copies of original schedule and all update. 山东大学齐鲁软件学院 14 Tracking earned value(积分) Help to know where you are! See table9.1 (page 106), table9.2 (page 108) Calculating each task’s percentage of the total project. If some task completed, you will earn some values,which named earned value. If reach an earned value of100%, means you complete all the works. By using earned value,could do the work in different order than originally planned and still track progress against the plan. 山东大学齐鲁软件学院 15 summary Schedule,checkpoints Using gantt chart Using schedule track project plan Track earned value 山东大学齐鲁软件学院 16 Assignment 9 Define 3 or more checkpoints for the work to write a modestsized program. Submit a brief report describing each checkpoint. 山东大学齐鲁软件学院 17 Chapter 10 The project plan 山东大学齐鲁软件学院 18 In the chapter The need for Project plan How to make a project plan Project plan Summary form-- -record both estimate and actual program size and development time. 山东大学齐鲁软件学院 19 The Need for Project plans The project plan provides a definition of each major task, an estimate of the time and resource required, and a frame work for management review and control. The project plan is also a powerful learning vehicle. Help make better estimates for future tasks 山东大学齐鲁软件学院 20 The project plan summary 山东大学齐鲁软件学院 21 Will learn later 山东大学齐鲁软件学院 22 Contents of the project plan Summary Sections Head Summary Program size Time in phase Defect injected Defect Removed Parts Plan Actual To date 山东大学齐鲁软件学院 23 The Project Plan Summary ---Head Section Student ______ Program______ Instructor_____ Date__________ Program#______ Language______ 山东大学齐鲁软件学院 24 The Project Plan Summary ---Summary Section Summary Minutes/LOC LOC/Hour Plan ________ ________ Actual _______ _______ LOC/Hour = 60/(Minutes/LOC) Based on historical data A measurement of the productivity 山东大学齐鲁软件学院 25 The Project Plan Summary ---Program Size Section Program Size(LOC): Plan Total New & Changed ____ Maximum Size _______ Minimum Size _______ Actual _____ To Date ______ Meaning and calculation of the item To Date The calculation of Program size The aim of recording the Max. and Min. Sizes 山东大学齐鲁软件学院 26 Program size 山东大学齐鲁软件学院 27 New and Changed When engineers develop software, it takes them much more time to add or modify a LOC than it does to delete or reuse one. Thus, in the PSP, engineers use only the added or modified code to make size and resource estimates. This code is called the New and Changed LOC. N&C LOC = Added + Modified A modified LOC can be represented by a deleted and an added LOC Ignore those reused and copied LOC, the estimates will probably be more accurate. 山东大学齐鲁软件学院 28 Maximum and minimum size Useful for judging the likely time range for a development estimate. Not statistically derived and cannot be relied on to provide statistical limits. You need substantial amount of data. 山东大学齐鲁软件学院 29 The Project Plan Summary ---Time in Phase Section Time in Phase(min.): Plan Planning ____ Design ____ Code ____ Code Review ____ Compile ____ Test ____ Postmortem(后置处理)____ Total ____ Maximum Time ______ Minimum Time ______ Actual To Date To Date% _____ _____ _____ _____ _____ _____ _____ _____ _______ _______ _______ _______ _______ _______ _______ _______ ______ ______ ______ ______ ______ ______ ______ ______ 山东大学齐鲁软件学院 30 Time in phase It is later used for data on the phases for the software development process. Estimate the program size in Loc and then multiply it by the Minutes/LOC. Calculate maximum and minimum times by multiplying maximum and minimum sizes by the Minutes/LOC. Compare and track. 山东大学齐鲁软件学院 31 Estimating accuracy Initial probably not be very accurate, this is normal. Learn to make unbiased estimates. Estimate fluctuations will reduce only gradually. Document your estimates,study them, and learn from them, which will help you to make better estimate. Know how big an allowance. 山东大学齐鲁软件学院 32 Summary and assignment Summary The need of project plan. How to make a project plan Project Plan Summary Assignment 10 Using table 10.2 to make Project Plan Summary in your Program exercises. At least submit 3 Project Plan Summaries of your homework. 山东大学齐鲁软件学院 33