您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第5讲 软件项目进度计划
第5讲软件项目计划软件学院刘小满软件过程与管理2讲授内容项目案例什么是软件项目计划?为什么需要软件项目计划?制定软件项目计划应考虑的因素制定软件项目计划的步骤案例分析及CASE工具小结3项目案例案例角色和人物小王:软件项目负责人老王:公司技术老总开发小组:小李,老赵,小田,小谢4软件项目的实施需要计划(1/3)项目开始实施之时,老王就提醒小王,为了更好地管理和控制软件开发项目,他应该马上着手制定软件项目的实施计划,该计划的制定对于整个项目的组织、管理和开展是至关重要的由于认识到软件项目计划的重要性,小王化了1周时间制定了一个详细的软件项目计划,包括了详细的工作安排、明确的人员分工和具体的进度要求,计划看起来似乎是科学和合理的项目计划最后交给项目组的所有成员进行讨论,并交付给公司的领导审阅,通过并批准,开始被付诸实施5软件项目的实施需要计划(2/3)软件项目计划分发到了项目组的各个成员,每个成员根据计划准确地了解了各自的任务和工作,也了解了这些工作的实施进度要求根据软件项目计划开始阶段似乎一切顺利,各项工作已经按照计划的要求有序开展然而,随着项目实施的进展,小王发现实际的工作很难按照计划中所计划的那样开展进行。在计划制定时,低估了软件项目的规模,高估了开发人员的素质和能力,整个计划过于乐观,软件项目计划不得不多次进行调整,项目进展一拖再拖。6软件项目的实施需要计划(3/3)后来小王发现,低估项目规模的一个主要原因是由于在制定计划时缺乏对项目规模的详细、准确的了解。尽管小王对用户做了无数次的解释保证按期交付产品,用户对项目的按期交付表示怀疑,并要求加快项目的实施进度公司高层开始表示关注,为了弥补时间和进度,不得不要求员工牺牲休息日进行加班,项目组部分成员开始抱怨。幸运的是,软件项目计划在经过多达10次的更改,在项目组成员的积极努力和用户的配合下,项目最终在拖延了6个月之后顺利完工了7案例提示我们软件项目计划的制定是极为重要的软件项目计划应该在项目实施的初期制定软件项目计划的制定必须科学、准确,这样才能真正促进软件项目的管理……8讲授内容项目案例什么是软件项目计划?为什么需要软件项目计划?制定软件项目计划应考虑的因素制定软件项目计划的步骤案例分析及CASE工具小结9什么是软件项目计划什么是软件项目计划?软件项目计划的内容软件项目计划制定的基础和依据软件项目计划制定的时机初步和详细的软件项目计划10什么是软件项目计划?软件项目计划是对软件项目实施所涉及的活动、人员的安排、任务的划分、开发进度、资源的分配和使用等方面作出的预先规划活动和任务资源及其安排进度计划进度计划与计划中的其他部分相关,是软件项目计划中最难以制定,对软件项目的实施影响最大,着重关注进度计划的制定11软件项目计划的内容(1/3)任务和开发活动活动(技术活动和管理活动)以及它们之间的关系,来自过程剪裁例如,需求分析,软件概要设计,软件详细设计等等进一步细化,以描述完成工作详细、具体步骤及其逻辑顺序,如需求分析(需求调查、分析和建模、撰写文档、评审)进度计划各项活动按什么样的时间进度开展实施:何时开始,何时结束例如,需求分析:2002/8/1开始-2002/10/23结束软件概要设计:2002/10/25开始-2002/11/23结束12软件项目计划的内容(2/3)资源使用和安排计划如何针对不同活动的特点计划分配资源(人员、资金、设备等)哪些角色(项目经理、需求分析人员、软件设计人员),哪些人(小王,小李,老赵,小田,小谢)开发人员充当什么角色、负责和参与哪些活动例如,张三作为需求分析小组负责人,负责和参与需求分析阶段工作;李四作为需求分析小组成员,参与需求分析的具体工作例如,在需求分析阶段,投入3个人、预计投入资金10万元(包括人员薪水、外地出差费用)、PC机3台、PC服务器1台13软件项目计划的内容(3/3)活动、资源和人员、进度等方面的计划是密切相关的注意项目进度应该是宏观的,应该保留在一定的抽象层次,不宜过细、过于具体对于软件开发而言,资源和人员与进度之间并不是线性关系时间进度活动人员和资源14制定软件项目计划的基础和依据定义和剪裁的软件开发过程(及其细化)要完成的工作工作说明和软件需求历史数据和估算模型估算工作量和成本约束和限制条件人员资源进度制定软件开发计划软件开发过程要完成的工作约束和限制软件项目计划15制定软件项目计划的时机项目计划是一个渐进、迭代的过程在项目开始实施之时制定计划明确了软件开发活动明确了约束和限制条件不明确要完成的工作,因为需求分析工作还没开始制定软件项目计划的时机项目开始之时:初步计划需求完成之时:详细计划16初步和详细的软件项目计划(1/2)初步的软件项目计划时机:项目开始(1-2周内)但是还没有获取完整和详细的软件需求依据项目的初步描述、用户需求的初步描述定义和剪裁的过程限制和约束形式:仅仅计划最近(需求分析阶段或者4-6周之内)的软件开发计划17初步和详细的软件项目计划(2/2)详细完整的软件项目计划时机:获取了详细、完整的软件需求依据软件需求规格说明书定义和剪裁的过程限制和约束形式:提供了项目后期的详细、完整的计划18讲授内容项目案例什么是软件项目计划?为什么需要软件项目计划?制定软件项目计划应考虑的因素制定软件项目计划的步骤案例分析及CASE工具小结19为什么需要软件项目计划有序、可控制地对软件项目进行管理确保活动在正确的时间有正确的资源可用避免不同的活动在相同的时间竞争相同的资源为每个员工分配任务实际的进度有标准进行衡量产生成本的消耗计划根据项目的实际,调整项目计划生产高质量的软件产品确保员工的士气高昂,员工保持高生产率及时交付软件产品,降低软件开发成本成功地进入市场客户满意度及时发布产品新版本20讲授内容项目案例什么是软件项目计划?为什么需要软件项目计划?制定软件项目计划应考虑的因素制定软件项目计划的步骤案例分析及CASE工具小结21制定软件项目计划的方法1.计划制定的二种方式2.活动关系类型3.CPM的构造方法4.关键路径5.确定里程碑6.活动责任矩阵7.描述进度计划8.参与、承诺和分发22软件项目计划制定的方式(1/3)自顶向下自底向上23软件项目计划制定的方式(2/3)自顶向下由一个或者一部分人单独完成目的是服务于高层领导和用户,而不是项目组主要依据项目进度的要求和约束,针对项目中的重大活动(如需求分析、软件设计等)而制定的一个粗略的软件项目计划只能作为目标进度表,不能作为实施进度表24软件项目计划制定的方式(3/3)自底向上计划由计划制订者负责,所有项目组成员参与制定一般供项目组,用于实际项目的实施要求项目组成员事先了解和认可详细定义了计划中的所有活动(不仅仅是哪些重大活动),明确了活动的参与者、持续时间以及活动之间的关系25软件开发活动(1/4)什么是软件开发活动?为开发软件项目而执行的一项具有明确任务的具体工作例如,需求分析,执行单元测试,制定软件项目开发计划等软件开发过程中存在许多相互关联的软件开发活动明确的任务非孤立,和其他活动存在关联26软件项目中的主要活动技术活动需求分析概要设计详细设计编码集成测试撰写出版物用户确认测试软件发布管理活动制定初步软件开发计划制定详细软件开发计划制定软件配置管理计划制定软件质量保证计划项目跟踪和监督配置管理用户培训27软件开发活动(2/4)按任务性质,软件开发活动可分为二种形式技术活动对软件项目实施开发,产生软件产品例如,需求分析,概要设计,编码,单元测试等等管理活动对软件项目中的人、产品和过程等实施管理的活动例如,制订软件项目计划,软件配置等等28软件开发活动(3/4)如何定义软件开发活动?名称任务输入:开始所必需满足的条件输出:完成时所必须满足的条件以及结果实施:做什么,怎么做(详细的步骤),或者如何从输入产生输出软件开发活动输入输出29软件开发活动(4/4)软件活动例子:单元测试任务对软件基本单元模块进行测试,判断是否有错输入有一个已完成、被文档化和批准的软件单元测试计划供测试的软件单元模块代码实施遵循单元测试计划,运行了所有的测试用例撰写了单元测试报告输出单元测试报告30软件开发活动间的关系软件开发活动之间的次序反映了活动之间的依赖关系逻辑一个软件开发活动输出是另一个软件开发活动的输入例如,需求分析和软件设计之间时间一个软件开发活动需等到另一个软件开发活动完成之后才能执行例如,集成测试和确认测试31软件开发活动关系的类型什么是软件开发活动关系?活动关系描述了活动之间的逻辑和执行时序活动之间有哪些关系?结束到开始开始到开始结束到结束32结束到开始活动A活动B活动B活动B前一活动后一活动结束之后就开始结束几天后开始结束几天前开始33开始到开始活动A活动B活动B活动B活动一活动二同时开始开始几天后开始开始几天前开始34结束到结束活动A活动B活动B活动B同时结束结束几天后结束结束几天前结束3512345678910111213A:AndyB:AndyC:AndyD:AndyE:BillF:BillG:CharlieH:CharlieI:Dave甘特图式的项目计划A:总体设计B:详细说明模块1C:详细说明模块2D:详细说明模块3E:模块1编码F:模块2编码G:模块3编码H:集成测试I:系统测试活动关键代码36项目、活动、产品项目由一组相关的活动构成项目至少有一个活动准备开始才开始项目中所有活动结束项目才结束活动必须有一个清晰的开始和清晰的结束点一般以产生可交付物为标志活动需要资源,假定活动中资源需求的水平一致活动的持续时间可预测;有优先顺序产品是活动的产物37项目中活动的确定活动的确定方法自顶向下的分解-WBS(WorkBreakdownStructure)问题请给出每天起床的WBSStartingmydayGettingdressedGettingoutofbedGoingtoworkHearingthealarmclockOpeningtheeyeSearchingfortheglassesGettinglegsoutofbed38WBS的构造方法识别出项目中(包括技术活动、管理活动)中的主要交付物系统中的交付物有哪些?主要交付物总是根据项目实际是如何组织来定义的项目生命周期的各阶段可以作为第一层次,并将项目交付物作为第二层次每个分支的组织方法可以不一样39如何验证WBS的正确性和完整性判断对这一层次是否能够对成本和日期进行评估,如果不能,继续分解,否则该分支分解结束识别交付物的组成部分。组成部分必须是实际的、可验证的部件验证分解的正确性。是否被分解的条目对子项目是否充分必要,如果不是,则需要增、删、合或修改是否每一条目被清晰定义是否每一条目能够被合理地计划,成本规划,被分配给合适的组织或团队、个人输出WBS最底下的一层,称为工作包(workpackage)40进行项目工作任务分解(WBS)的指南41项目工作任务分解(WBS)的示例42活动的网络模型将项目活动及活动之间的关系用网络图表示该技术起源于上世纪50年代CPM(关键路径法,CriticalPathMethod)PERT(计划评审技术,ProgramevaluationReviewTechnique)优先网络(PrecedenceNetworks),是上面两种模型的变种三中模型是类似的,可通称为CPM活动-箭头法(activity-on-arrow)可视化网络活动-节点法(activity-on-node)43CPM的例子详细说明整个系统详细说明整个系统集成/测试系统详细说
本文标题:第5讲 软件项目进度计划
链接地址:https://www.777doc.com/doc-3616351 .html