您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 4软件项目管理part1
4软件项目管理前次课内容回顾:软件工程的过程模型•软件过程:SE的重要要素之一•黑盒vs白盒过程•如何刻画软件过程中的步骤•典型的软件过程应包含的活动•典型的软件过程模型•瀑布模型•增量模型•演化模型•Opensource•RUP•形式化过程•软件复用过程•这些过程模型各自的优缺点对比4软件项目管理主要内容4.1软件项目管理概述4.2项目可行性分析与估算4.3项目进度安排4.4项目风险管理4.5项目质量管理第二章软件开发过程管理4.1软件项目管理概述4软件项目管理[课堂讨论1]•[课堂讨论1]每四人一组,通过讨论来回答。•你如何理解“项目”这个词的含义?•你印象中的“项目”有哪些?举出例子;•从例子中归纳出项目具备的要素和特征;•“软件项目”和一般的其他项目相比,有哪些不同之处?•时间:5分钟•随机选择三组,每组选择一名代表口头陈述本组的讨论结果4软件项目管理若干基本概念•项目(Project):为创建某种特定的产品或服务而组织或设计的临时的、一次性的行动;•项目管理(ProjectManagement,PM):有效的组织与管理各类资源(例如人),以使项目能够在预定的范围、质量、时间和成本等约束条件下顺利交付(deliver)。•挑战1:在各类约束条件下交付项目;•挑战2:通过优化资源的分配与集成来满足预先定义的目标;•项目(Project):精心定义的一组活动,使用受约束的资源(资金、人、原料、能源、空间等)来满足预定义的目标。4软件项目管理软件项目的特征•软件产品的不可见性:开发过程和产品都是看不见摸不着的,导致软件项目特别复杂和抽象;•项目的高度不确定性:项目的估算与计划非常困难,有很多难以预见的问题,造成预定计划于实际情况存在较大偏差;•软件过程的多变化性:迭代、增量开发、动态变化、不确定、不稳定;•软件人员的高技能及其高流动性:智力密集型活动、对人的要求高、核心技术人才流动性高。第二章软件开发过程管理4.1.1软件项目管理涉及的范围4软件项目管理软件项目管理的“4P”4软件项目管理软件项目管理的“4P”你认为哪一个P最重要?第二章软件开发过程管理4.1.2人员(People)4软件项目管理软件项目的参与人员如何领导?如何组织?如何激励?如何协作?如何创造新想法?4软件项目管理软件项目的参与人员•高级管理者:负责定义业务问题;•项目(技术)管理者:计划、激励、组织和控制软件开发人员;•开发人员:拥有开发软件所需技能的人员;•系统分析员;系统架构师;设计师;程序员;测试人员;质量保证人员;…•客户:详细描述待开发软件需求的人员以及关心项目成败的其他人员;•最终用户:一旦软件发布成为产品,最终用户就是直接使用软件的人。项目经理4软件项目管理项目经理(ProjectManager)•最重要的:领导力•MOI模型:•Motivation(激励):通过“推”或“拉”鼓励项目成员发挥其最大才能与潜力;•Organization(组织):形成能够将最初需求转换为最终产品的能力;•IdeaorInnovation(思想或创新):即使在诸多约束条件下工作,也能鼓励项目成员去创造新的想法。4软件项目管理[课堂讨论2]软件开发团队(Teams)•[课堂讨论2]每四人一组,通过讨论来回答。•背景:为了完成《软件工程》大作业,你作为一名项目经理,需要选择一些同学加入你的团队,共同开发。•问题:你选择成员的标准是什么?•时间:2分钟•随机选择三组,每组选择一名代表口头陈述本组的讨论结果4软件项目管理软件开发团队•“最好的”团队取决于项目经理的管理风格、团队里的人员数目与技能水平、项目的总体难易程度;•组建团队时应考虑以下要素:•从个人能力来看:•应用领域经验•开发平台经验•编程经验•教育背景•沟通能力•适应能力•工作态度•团队协作能力•……•从项目需求来看:•待解决问题的难度;•待开发软件系统的规模;•待开发软件系统的技能要求;•交付日期的严格程度;•共同工作的时间;•彼此之间的人际关系与友好交际程度;•……4软件项目管理[案例分析1]《垂直极限》项目经理Elliot成员1:Annie成员2:Tom项目1:攀登K2雪山项目2:营救项目1全体成员项目经理WickPeterCyrilMalcolmAliMonique4软件项目管理[案例分析2]《完美风暴》项目:远洋捕鱼项目经理BillySullyAlexanderMurphyBobbyAlfred……4软件项目管理软件开发团队的组织方式•民主式:小组成员完全平等;•主程序员式:一个人全面负责、其他人给予支持;•技术管理式:综合上述二者的特征;技术人员技术人员技术人员后备工程师秘书高级工程师技术人员技术人员技术人员技术人员技术人员技术人员技术人员管理组长技术组长4软件项目管理[课堂讨论3]•[课堂讨论3]每四人一组,通过讨论来回答。•你认为上述三种项目的组织方式各有什么利弊?•时间:2分钟•随机选择三组,每组选择一名代表口头陈述本组的讨论结果4软件项目管理组织分解结构(OBS)•项目管理里通常使用“组织结构分解(OrganizationBreakdownStructure,OBS)”作为描述组织/人员之间关系的工具:项目经理组长组长组长程序员程序员程序员程序员程序员程序员………4软件项目管理[案例分析]项目经理Elliot成员1:Annie成员2:Tom项目1:攀登K2雪山项目2:营救项目1全体成员项目经理WickPeterMalcolmCyrilAliMonique技术组长管理组长分为三个小组Wick为项目经理项目3:远洋捕鱼项目经理BillySullyAlexanderMurphyBobbyAlfred……“主程序员”4软件项目管理人员协调与沟通•问题1:为什么需要沟通?•问题2:沟通的方式有哪些?•面对面交谈、电话交谈、email、面对面会议、电话会议、网络会议、项目网站、书面报告;•问题3:项目沟通活动有哪些?•规划项目沟通;•实施阶段性评审;•每周小组会议;•……第二章软件开发过程管理4.1.3产品(Product)4软件项目管理软件产品4软件项目管理软件产品•首先应确定软件范围:•项目环境•信息目标•功能和非功能(性能)•在管理层和技术层都必须是无歧义的和可理解的,软件范围应是确定的;•一旦确定了范围,需要对其进行分解——分而治之。文本输入编辑及格式设计剪贴/复制/粘贴页面布局能力自动生成索引和目录文件管理[例]文档编辑产品4软件项目管理产品分解结构(PBS)•项目管理里通常使用“产品结构分解(ProductBreakdownStructure,PBS)”作为产品分解的工具:•PBS:通过分层的树型结构来定义和组织项目范围内的所有产出物(产品),自顶向下,逐级细分;•产出物:项目结束时需要提交的最终产品,在项目之初就可以准确的预计。•100%规则:•PBS中应包含项目范围内的所有产出物,包括内部产出、外部产出、中间产出等方面;•PBS中的一个父子分解关系,所有子节点之和应100%的等于其父节点的范围,不能少也不能多;4软件项目管理1.自行车_1001.1框架装置_151.2转动曲柄装置_51.3轮子_301.4制动系统_51.5变速系统_51.6集成_351.7项目管理_51.自行车1.1框架装置1.自行车1.1.1框架_1.1.2手把_1.1.3叉形接头_1.1.4座位_1.2转动曲柄装置_51.3轮子1.3.1前轮_1.3.2后轮_1.4制动系统_51.5变速系统_51.6集成1.6.1概念_1.6.2设计_1.6.3组装_1.6.4测试_723313173510171.7项目管理_5100100PBS第1层PBS第2层PBS第3层产品分解结构(PBS)4软件项目管理[课堂讨论4]•[课堂讨论4]每四人一组,通过讨论来回答。•绘制出一个计算机系统的PBS;•时间:2分钟•随机选择三组,每组选择一名代表口头陈述本组的讨论结果
本文标题:4软件项目管理part1
链接地址:https://www.777doc.com/doc-748932 .html