第3章软件项目开发过程管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

交际程度;
• 工作态度
• ……
• 团队协作能力
• ……
软件开发团队的组织方式
• 民主式: 小组成员完全平等
• 主程序员式: 一个人全面负责、 其他人给予支持
技术人员
技术人员
技术人员
技术人员
秘 书 高级工程师 后备工程师
技术人员 技术人员 技术人员
• 技术管理式:
技术组长 管理组长
综合上述二者的特征 技术人员 技术人员 技术人员
• 组建团队时应考虑以下要素:
从项目需求来看:
从个人能力来看:
• 待解决问题的难度;
• 应用领域经验
• 待开发软件系统的规模;
• 开发平台经验
• 待开发软件系统的技能要求; • 编程经验
• 交付日期的严格程度;
• 教育背景
• 共同工作的时间;
• 沟通能力
• 彼此之间的人际关系与友好
• 适应能力
智力密集型活动、对人的要求高、核心技术人 才流动性高。
• 项目失败原因
需求不完整或变化 有限用户参加 缺少上层管理者支持 项目计划不充分 缺少技术支持 缺少所需资源 目标不明确
7
20世纪80年代初,Sperry公司为美国国税局 (IRS,Internal Revenue Service )开发的 “自动联邦收税单处理系统” (Automated federal income tax form processing system)
管理者 开发人员 客户 用户 如何领导?
如何协作?
如何组织?
如何激励?
如何创造新想法?
图 3-3 软件项目的参与人员
软件项目的参与人员
• 高级管理者:负责定义业务问题。 • 项目(技术)管理者:计划、激励、组织和控制
软件开发人员。 • 开发人员:拥有开发软件所需技能的人员。
系统分析员、系统架构师、 设计师、 程序员、测试人员、 质量保证人员… • 客户:详细描述待开发软件需求的人员以及关 心项目成败的其他人员。 • 最终用户:一旦软件发布成为产品,最终用户 就是直接使用软件的人。
第3章 软件项目开发过程管理
软件工程研究室
1
软件项目管理
软件项目管理概述 项目可行性分析 项目进度安排 项目计划阶段软件成本估算方法 项目风险管理
3.1 软件项目管理概述
3.1.1 几个基本概念 (1) 项目管理(Project Management, PM)
有效的组织与管理各类资源(例如人),以 使项目能够在预定的范围、质量、时间和成本 等约束条件下顺利交付(deliver)。
4
# 配置管理 对配置项的版本管理与变更控制。 版本管理,是对系统不同版本进行标识与
跟踪的过程,建立各版本之间关系。
变更控制,设置管理基线,细化开发阶段 的各个工作,设制检查点。
(3) 软件工程标准化与软件文档 国际标准、国家标准、行业标准、企业标准、 企业规范及项目规范。 软件文档,对软件开发各个阶段结果进行描述, 是软件产品的一部分。
即使在诸多约束条件下工作,也能鼓励 项目成员去创造新的想法。
思考:软件开发团队(Teams)
背景: 为了完成《软件工程》大作业,你 作为一名项目经理,需要选择一些 同学加入你的团队,共同开发。
问题:你选择成员的标准是什么?
软件开发团队
• “最好的”团队取决于项目经理的管理风格、团队 里的人员数目与技能水平、项目的总体难易程度;
挑战1:在各类约束条件下交付项目。 挑战2:通过优化资源的分配与集成来满
足预先定义的目标。
(2) 软件项目配置管理
# 软件项目配置,是信息项。包括:
项目开发计划; 需求说明书; 设计说明书; 原型; 程序清单; 测试计划; 测试报告;
软件问题报告; 操作手册 用户手册; 维护请求; 变更通知; 工程标准; 开发总结
(2) 产品(Product)
图 3-7 开发管理文档
软件产品
• 首先应确定软件范围:
项目环境
信息目标
功能和非功能(性能)
在管理层和技术层都必须是无歧义的和
可理解的,软件范围应是确定的。
• 一旦确定了范围,需要对其进行分解—分而
治之。
文本输入 编辑及格式设计
[例] 文档Βιβλιοθήκη Baidu辑产品
剪贴/复制/粘贴 页面布局能力
5
3.1.2 为什么要进行软件项目的管理? • 软件产品的不可见性:
软件项目抽象性,使得软件开发过程和产品看 不见摸不着。
• 项目的高度不确定性:
项目的估算与计划非常困难,有很多难以预见
的问题,造成预定计划与实际情况存在较大偏差。
• 软件过程的多变化性:
迭代、增量开发、动态变化、不确定、不稳定。
• 软件人员的高技能及其高流动性:
项目经理(Project Manager)
• 最重要的:领导艺术,技术能力,管理水平。 • MOI模型:
Motivation (激励): 通过“推”或“拉”鼓励项目成员发挥
其最 大才能与潜力;
Organization (组织): 形成能够将最初需求转换为最终产品的
能力; Idea or Innovation (思想或创新):
组长
组长
组长
程序员 … 程序员 程序员 … 程序员
程序员 … 程序员
图 3-6 组织分解结构
人员协调与沟通
• 问题1:为什么需要沟通? • 问题2:沟通的方式有哪些?
面对面交谈、电话交谈、email、 面对面会议、电话会议、网络会议、 项目网站、书面报告…。 • 问题3:项目沟通活动有哪些? 规划项目沟通; 实施阶段性评审; 每周小组会议; ……
思考
图 3-4 软件开发团队的组织方式
你认为上述三种项目的组织方式各有什么利弊?
图 3-5 大型项目的技术管理组织结构
组织分解结构(OBS)
• 项目管理里通常使用“组织结构分解 (Organization Breakdown Structure, OBS)” 作为描述组织/人员之间关系的工具。
项目经理
自动生成索引和目录
文件管理
• 项目管理里通常使用产品 分解结构(PBS, Product Breakdown Structure)
• 系统不能应付日常的工作量。 • 85年还在为系统增加费用以便能支付利
息和顾员费用。 • 直到96年统计己投资40亿美元,但仅有
6000页的文档。 惨败! 原因: 计划不允分
8
3.1.3 软件项目管理的“4P”
图 3-1 软件项目管理的“4P”
图 3-2 软件项目管理的“4P”关系
(1) 软件项目的参与人员
相关文档
最新文档