教学PPT软件项目管理(1).ppt
《教学PPT软件项目管理(1).ppt》由会员分享,可在线阅读,更多相关《教学PPT软件项目管理(1).ppt(131页珍藏版)》请在三一办公上搜索。
1、第三章 软件项目管理,2023/2/21,2,软件项目管理概述,软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。,2023/2/21,3,软件项目管理的提出,软件项目管理的提出是在20世纪70年代中期的美国当时美国国防部专门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存
2、在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10的项目能够在预定的费用和进度下交付。,2023/2/21,4,软件项目管理概述,软件项目的特征软件产品的不可见性项目的高度不确定性软件过程的多变化性软件人员的高流动性降低复杂性和控制变化是软件项目管理的关键问题。,2023/2/21,5,软件项目管理的“4P”,2023/2/21,6,软件项目管理的“4P”,人员(People)人员的素质和组织管理是软件工程项目的基本要素和关键因素在对人员进行组织时,有必要考虑参与软件过程的人员类型 产品(Product)定义项目范围,其中包括建立产品的目的和范围、可选的解决方案、技术或
3、管理的约束等 过程(Process)通常将项目分解为任务-子任务等,其分解准则是基于软件工程的过程项目(Project)采用科学的方法及工具对项目基本内容进行管理,以实现项目的目标,2023/2/21,7,4P:人员(People),项目管理人员负责软件项目的管理工作,其负责人通常称为项目经理项目经理除了要求掌握相应的软件开发技术外,更多的应具备管理人员应有的技能。项目经理的任务就是要对项目进行全面的管理,具体表现在对项目目标要有一个全局的观点,制定项目计划,监控项目进展,控制反馈,组建团队,在不确定环境下对不确定问题进行决策,必要时进行谈判并解决冲突高级管理人员可以是领域专家,负责提出项目的
4、目标并对业务问题进行定义,这类业务问题通常会对项目产生较大的影响,2023/2/21,8,4P:人员(People),开发人员掌握了开发一个产品或应用所需的专门技术,可胜任包括需求分析、设计、编码、测试、发布等各种相关的开发岗位客户一组可说明待开发软件的需求的人,也包括与项目目标有关的风险承担者最终用户产品或应用提交后,那些与产品/应用进行交互的人,2023/2/21,9,4P:产品(Product),软件开发者和客户必须一起定义产品的目的和范围软件目的从客户的角度定义该产品的总体目标,但不必考虑这些目标如何实现软件范围定义了与软件产品相关的数据、功能和行为,及其相关的约束。在确定了产品的目的
5、和范围后,就要开始设计并选择备选的解决方案,选择的依据是由产品交付期限、预算、可用的人员、技术接口及各种其他因素所形成的约束,2023/2/21,10,4P:过程(Process),在软件过程的管理中,需要定义整个软件开发的活动、所采用的技术方法、各个阶段的里程碑、各种工程制品等,这些定义必须是文档化的。还要通过有效的培训,将关于过程的知识传授给过程所涉及的每一个开发人员,促使他们按照过程定义的方式协作完成相关的任务。软件过程不是一成不变的,软件项目组应根据项目的具体情况和特点,选择合适的软件过程模型以及模型中包含的活动和任务,2023/2/21,11,4P:项目(Project),软件项目管
6、理的核心内容项目的规划 在项目的启动和计划阶段,项目管理者需要确定项目的范围和需求,并以此为基础进行项目的规划、估算和资源分配等,制定出切实可行的项目计划。跟踪控制 在项目的执行过程中,项目管理者需要及时了解项目的进展情况,对于可能发生的变更进行有效的控制和管理。,2023/2/21,12,软件项目管理的关注点,2023/2/21,13,软件项目管理活动,项目启动阶段确定项目的目标和范围。确定项目范围、组建项目团队、建立项目环境项目规划阶段建立项目的基准计划。确定项目活动、预算项目成本、制定进度计划项目实施阶段按照计划执行和控制项目。监控项目执行、管理项目风险、控制项目变更项目收尾阶段交付产品
7、,总结经验教训。客户验收项目、安装培训软件、总结项目经验,2023/2/21,14,软件项目管理活动,项目启动阶段确定项目范围项目管理者了解客户的实际需求,从功能、性能和交付要求的角度定义软件的范围,研究系统的可行性和可能的解决方案,并与客户在软件范围、验收标准和交付日期等方面达成正式的协议。组建项目团队项目管理者根据系统任务的要求组织开发团队,并明确每一位成员的角色和职责。建立项目环境项目管理者与项目团队一起,建立软件开发所需的基础设施,包括网络环境、软件系统、配置管理工具、文档模板、会议程序和沟通系统等。,2023/2/21,15,软件项目管理活动,项目规划阶段确定项目活动项目管理者需要明
8、确项目的各种活动、里程碑和可交付的文档,确定各种活动之间的依赖关系和执行顺序,估计软件开发所需要的资源。预算项目成本项目管理者根据每项活动所需的资源进行成本估算,确定项目的成本预算。制定进度计划项目管理者预计完成每一项活动所需花费的时间,制定出合理的开发进度计划,以确保项目在预定时间、预算资金与可利用资源的约束条件下完成。,2023/2/21,16,软件项目管理活动,项目实施阶段监控项目执行项目管理者需要跟踪项目的执行情况,综合评价整个项目的实际进展,及时发现和报告实际情况与计划的偏差,并在必要的情况下采取纠正行动。管理项目风险项目管理者应该识别可能造成项目进度推迟或预算超支的潜在问题,并采取
9、有效的风险管理策略,以减少潜在问题发生的可能性和影响。控制项目变更任何项目都不可避免地要发生变更,项目管理者应该建立有效的变更控制系统,包括变更控制委员会、软件配置管理和项目沟通系统,以便对项目变更进行控制和管理。,2023/2/21,17,软件项目管理活动,项目收尾阶段客户验收项目根据项目协议中规定的验收标准,客户对所交付的软件产品进行评价,最终正式接收产品。安装培训软件项目团队在模板环境中安装软件系统,培训用户使用系统,并移交文档。总结项目经验项目团队分析和总结项目的经验教训,避免在以后的软件项目中犯同样的错误,不断提高软件开发管理水平。,2023/2/21,18,课程实验:项目管理活动,
10、1.了解项目内容、范围和期限2.确定开发过程(方法、工具、语言、文档和支持)3.确定组织结构4.明确管理过程(人员职责)5.制定项目计划6.人员分配7.风险管理8.确定要产生的文档9.执行和控制项目的进展10.交付项目,2023/2/21,19,内容提纲,人员组织与管理软件项目组织形式微软公司的开发组织软件团队的建设项目沟通管理软件项目规划软件风险管理软件配置管理,You are here!你在这儿!,2023/2/21,20,人员在软件开发中的重要性,人员是软件开发中最重要的资源人员的选择、分配和组织很大程度上影响软件项目的效率、进度、过程管理和产品质量软件开发依赖于开发人员的认知能力和沟通
11、技能项目经理的任务主要是面向人的项目经理必须能够了解人项目经理需要建设和优化团队,使其工作达到最佳典型的软件开发组织形式民主式、主程序员式、技术管理式,2023/2/21,21,人员的选择,2023/2/21,22,民主式组织结构,小组成员完全平等,名义上的组长与其他成员没有任何区别。大家享有充分的民主,项目工作由全体讨论协商决定,并根据每个人的能力和经验进行适当分配。优点同等的项目参与权激发大家的创造力,有利于攻克技术难关特别适合于规模小、能力强、习惯于共同工作的软件开发组缺点缺乏明确的权威领导,很难解决意见分歧无法适用于大规模开发的情形。,2023/2/21,23,主程序员式组织结构,以主
12、程序员为核心主程序员既是项目管理者也是技术负责人对团队其他人员的职能进行专业化分工优点实现了项目人员的专业化分工,所有人员在主程序员的领导下协调工作,确保了工作概念的完整性。员工之间采取简单的交流沟通模式,提高了工作效率。缺点很难找到技术和管理才能兼备的主程序员,2023/2/21,24,技术管理式组织结构,技术与管理工作进行分离技术负责人负责技术决策,参与全部代码的审查工作管理负责人负责非技术性事务的管理决策和绩效评价优点明确划分技术和管理的管理权限,充分发挥技术人才和管理人才各自的特长可以组成层次式的结构,适合大规模的软件开发项目缺点由于技术和管理的职责分离,容易出现职责不清的矛盾,202
13、3/2/21,25,案例:微软公司的软件开发组织,微软开发团队的特点小型的、多元化的项目组织相互依赖的角色与共同分享的职责具备专深的技术水平和业务技能具有强烈的产品意识,关注最终发布的软件产品清晰的目标和远景人人参与设计项目组成员在同一地点办公对于规模较大的项目,采取类似小型项目组的运作模式,2023/2/21,26,案例:微软公司的软件开发组织,项目团队的角色划分产品管理角色程序管理角色软件开发角色软件测试角色用户体验角色发布管理角色,主要任务是控制客户需求、产品特性和开发周期之间的关系,推动产品从生产走向市场的实际进程,提高客户满意度。,2023/2/21,27,案例:微软公司的软件开发组
14、织,项目团队的角色划分产品管理角色程序管理角色软件开发角色软件测试角色用户体验角色发布管理角色,主要任务是在规定的项目资源、期限等限制条件下,制定和管理项目日程、费用预算、产品特性说明等文档,负责推动产品开发过程顺利进行,确保产品能够如期发布。,2023/2/21,28,案例:微软公司的软件开发组织,项目团队的角色划分产品管理角色程序管理角色软件开发角色软件测试角色用户体验角色发布管理角色,主要任务是使用适当的技术和工具实现项目目标,满足客户需求。除了技术因素外,开发人员还必须仔细考虑可能影响产品质量的每一个开发环节,确保最终产品可以真正满足客户需求。,2023/2/21,29,案例:微软公司
15、的软件开发组织,项目团队的角色划分产品管理角色程序管理角色软件开发角色软件测试角色用户体验角色发布管理角色,测试角色是项目过程中保证产品质量的最后一个环节。测试人员的主要任务是在产品最终发布前找到尽可能多的缺陷或错误。,2023/2/21,30,案例:微软公司的软件开发组织,项目团队的角色划分产品管理角色程序管理角色软件开发角色软件测试角色用户体验角色发布管理角色,主要任务是协助用户更好地使用产品,排除用户在使用产品时遇到的问题和障碍。,2023/2/21,31,案例:微软公司的软件开发组织,项目团队的角色划分产品管理角色程序管理角色软件开发角色软件测试角色用户体验角色发布管理角色,主要任务是
16、确保产品的顺利发布,为项目组的正常运营提供服务和支持。,2023/2/21,32,案例:微软公司的软件开发组织,2023/2/21,33,案例:微软公司的软件开发组织,2023/2/21,34,案例:微软公司的软件开发组织,2023/2/21,35,案例:微软公司的软件开发组织,2023/2/21,36,案例:微软公司的软件开发组织,2023/2/21,37,案例:微软公司的软件开发组织,2023/2/21,38,案例:微软公司的软件开发组织,大型项目的团队模型,2023/2/21,39,案例:微软公司对员工的要求,个人素质聪明有自我发展能力足够自信有很强的工作驱动能力,知道如何开展工作沉着与
17、镇定有创新精神对待产品和技术热爱技术,热心解决问题针对变化和创新,有良好的适应和管理能力,2023/2/21,40,案例:微软公司对员工的要求,注重客户的反馈所有员工都要以客户为中心开展工作员工代表公司的形象团队合作有团队精神具备良好的交流沟通能力善于与人相处,2023/2/21,41,软件团队的建设,团队成功的关键:明确的目标与共同的承诺清晰的分工与紧密的协作融洽的关系与通畅的沟通高昂的士气与高效的工作,2023/2/21,42,思考与讨论,思考你认为一个合格的软件工程师应该具备什么素质和能力?讨论在本课程实验的开发中,你们打算采取什么组织方式?如何定义角色职责?你们小组人员有哪些类型?技术
18、不熟练技术有些了解,但自我估计过高工作熟悉、可轻松完成但缺少热情工作热情高、完成份内工作且主动去做未安排或未想到的事情,2023/2/21,43,内容提纲,人员组织与管理项目沟通管理项目沟通复杂性项目沟通方式项目沟通活动软件项目规划软件风险管理软件配置管理,You are here!你在这儿!,2023/2/21,44,项目沟通管理,项目沟通管理是对项目实施过程中的各种形式和各种内容的沟通行为进行管理的过程。涉及:对传递项目信息的内容、方法和过程等方面进行综合管理;目的:保证项目的有关信息能够在适当的时间、以适当的方式产生、收集、处理、贮存和交流。影响团队沟通的因素团队成员的地位团队成员的个性
19、团队成员的性别组合沟通渠道,2023/2/21,45,沟通的复杂性,软件团队规模是影响沟通有效性的重要因素之一沟通渠道数量n(n-1)/2,其中:n为团队成员的人数定期沟通的人员规模对开发效率的影响,2023/2/21,46,常用沟通方式,直接交谈电话交谈电子邮件会议项目网站书面报告,2023/2/21,47,常用沟通方式,直接交谈一种由事件驱动的、基于时机的非正式信息沟通方式可以将信息迅速传递给对方,并在最短的时间内获得答案,容易促进人与人之间的交流。适用情况:解决由于缺乏协调而引起的简单问题。与领导层和项目成员等的个别谈话从客户和用户处获取需求交流问题并商讨解决方案缺点不适合很多人参与沟通
20、的情况。在交谈中产生的信息和决定没有文档记录,因而会带来无据可查的问题。,2023/2/21,48,常用沟通方式,电话交谈也是一种直接交谈,可以不受任何地点的限制适用情况重要会议或重要事项的通知交流简单问题,2023/2/21,49,常用沟通方式,电子邮件一种常用的沟通方式,具有异步性和及时性的特点。可以使接受者随时随地收到邮件而对发送者没有任何限制,同时接受者也可以在合适的时间处理邮件而免除了被随时打扰的问题。适用情况发布项目信息发送项目文档会议或事项的通知缺点简短的文本信息可能由于脱离上下文而使人错误理解,发送地址错误、丢失或没有阅读等问题也会经常发生。,2023/2/21,50,常用沟通
21、方式,会议适合于许多参与者讨论、检查和协商问题,并达成一致的解决方案常见的项目会议包括项目启动会议、阶段评审会议、解决问题会议、需求和设计评审会议、项目验收总结会议等适用情况项目启动会议客户需求评审和验收评审项目阶段评审项目组内任务检查集体讨论问题并达成一致意见项目总结会议,2023/2/21,51,常用沟通方式,项目网站保持组间交流、对外发布项目信息的理想工具。可以发布项目文档的最新版本和项目进展的最新动态消息,建立项目论坛和讨论小组,提供参考资料和开发工具。适用情况发布项目进展情况发布文档、代码等项目阶段性成果项目组间技术问题讨论提供项目资料和工具等,2023/2/21,52,常用沟通方式
22、,书面报告一种正式的书面沟通方式,适合于复杂程度高、严谨性强的信息沟通通常包括有关项目的重要决定、项目计划、技术文档、项目进展报告、项目工作总结等适用情况有关项目的重要决定,项目计划软件编码规范等标准文档项目可行性研究报告项目技术文档,包括需求规格说明书、设计说明书、测试文档、用户手册等项目进展报告,项目总结报告缺点报告编写和阅读花费时间长,缺乏信息的有效反馈。,2023/2/21,53,项目沟通管理活动,规划项目沟通建立基础设施实施阶段性评审每周组织小组会议,2023/2/21,54,项目沟通活动,规划项目沟通在软件开发初期,开发人员需要通过面对面的会议完成问题定义和初步设计。初步设计完成之
23、后,项目管理者可以将整个系统划分为若干相对独立的子系统,并将每一个子系统分配给一组开发人员承担,同时成立支持小组负责整个开发的文档管理和配置管理等。这时,大量的项目交流发生在项目组内部,项目组之间的交流主要发生在开发的关键点。项目组内部的交流活动状态检查、组内讨论、需求说明、项目变更等项目组之间的交流活动客户评审、项目评审、版本发布、问题讨论、项目变更等,2023/2/21,55,项目沟通活动,建立基础设施为了支持整个项目和小组内部的交流,项目管理者可以建立项目的信息系统和内部网站,项目相关人员通过浏览器和网络服务器实现对项目数据的存取访问。各种项目数据按照逻辑组织分布在后台服务器上,系统通过
24、对访问权限的控制,满足各层次人员的不同使用需求。各个项目小组可以建立自己的内部网站,网站可以包括如下内容:项目公告:分布项目的重要事件和消息。问题论坛:发表和回答项目中的各种问题。项目文档:提供可交付的系统版本以及内部的项目文档资料等,2023/2/21,56,项目沟通活动,实施阶段性评审项目阶段性评审是开发人员与其他相关人员共同评价项目的实施情况,以便了解项目的执行状态,发现问题并找出偏差。包括客户参与的评审活动和项目组进行的评审活动客户参与的评审活动,通常发生在需求文档分布和系统验收交付时。项目组进行的评审活动,通常包括总体设计评审、详细设计评审、代码审查和测试评审等。,2023/2/21
25、,57,项目沟通活动,每周组织小组会议项目小组需要每周组织组内会议进行状态检查、集体讨论和问题讨论等,其重点在于检查各项任务与计划相比的完成情况,从而发现偏差并及时纠正。在小组会议上,项目成员通过讨论项目中未解决的或者突然出现的问题,共同商讨问题的解决方案,促进了彼此之间的非正式交流。,2023/2/21,58,内容提纲,人员组织与管理项目沟通管理软件项目规划软件规模估算软件成本估算软件项目计划软件风险管理软件配置管理,You are here!你在这儿!,2023/2/21,59,软件项目规划,软件项目规划是项目管理者对资源、成本和进度作出合理的估算,制定出切实可行的软件项目计划。软件项目规
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 PPT 软件 项目 管理
链接地址:https://www.31ppt.com/p-2650175.html