



全文预览已结束
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发项目的计划制定 一一软件开发项目管理的案例解说系列 二 口文亲跃 引言 上一期今年四月份的 程序员 杂志所开始的软件开发项目管理的系列文 章以一个软件开发项目的需求和范围管 理作了开始 我阐述了对任何一个给定的 软件开发任务 如何利用对铸求管理因紊 的考虑以及客户对个质属性的要求 来帮助我们确定整个开发项目的范围 这 个项目管理的早期工作的目的是为了帮 助我们能够制定出合理的开发项目计划 也就是项目管理的下一步 在这篇连续文章里 我来讲解在具 备了项目范围总结的荃础之上如何制 定一个全面的开发项目的计划以保证 你的开发项目能够取得成功 制定一个完善的开发计划 那么一个完整的软件开发项目的 计划应该包括什么呢整个计划制定工 作的具体任务和工作的顺序应该是怎样 的呢 下图是我在 软件开发项目管理 一 书中对如何进行计划制定的运作流程的 概括总结 具体的很多细节你可以从书中读到 正确的计划翻定过程以及合理 的项目时间表的重要性 如果你是一个软件开发的项目经理 或开发团队的领导 是否能够制定一个 合理的项目计划 是影响到你所管理的 项目成败的关键前提 就像缺少一个完 善与符合科学规则的蓝图无法去建造一 个大楼一样没有一个完善的 符合软件 开发原则的项目计划任何一个稍具规 模和复杂程度的软件开发项目也无法做 到开发的成功 如果你是一个开发团队 的开发技术人员 哪怕你虽然并不做项 目管理的工作 你也应该期望并要求你 的团队领导或项目经理为你提供一个合 理的项目计划并积极地与他们一起进 行协调和合作在项目的开始之前共同 这里我就将最重要的管理概念以及对与 我所要举的案例相关的一些内容做一些 解释 进行计划制定的执行顺序是 确定软件的功能 在确定了项目 范围的基础之上 第一步的计划工作任 务是决定所要开发的软件的功能 而这 个功能的确定过程是需要经过一个从具 体的使用方案到功能需求 再由功能器 求到具体的功能设计这样一个三步法来 进行的 所以进行设计的项目经理们应 该对软件如何被用户使用的整个使用方 案做详细的分析总结 确定各个功能的优先顺序 在确 定了软件的具体功能设计之后 将所有 需要开发的功能的重要性进行一个优先 颐序的设定和排列 也就是确定哪些最 重要 哪些次要 哪些不重要 我们通常 使用从到这样三个级别的顺序对 所有的功能进行划分 这样做的目的有 两个第一是根据事先 定好的重要性顺序来 安排开发计划 即最重 要的功能先开发第二 是为了应付 以后可能 碰到的必须砍掉一部 分功能的情况的出现 做准备在软件开发中 常常会有因为市场竞 争或客户要求 或开发 完成的推迟 而 出现的 某些功能无法按时完 成的情况出现 在这 样的情况下你就应该根据事先定好的准 则来做决定 而不是临时任意决定哪些 功能可以被砍掉或推迟开发 确定工作任务单元和进行工作任 务的分解在软件各个功能的优先顺序 被确定了之后接下来根据所要开发的 具体功能 确定具体的开发任务 并对各 个开发任务进行工作任务的分解达到 一个项目的工作任务分解结构 这个工作的过程中有一些过渡性的提交 一日员 物孺要完成首先是将经过优先顺序排 列的功能 绘制项目工作任务的网络图 户一 然后采用分 解方式进行分解 最后达到一个完整的 工作任务单元的排列 请参照我在书中 对细节的叙述 分配开发资源并进行初步时间估 算 当具体的开发工作任务的单元被确 定之后 接下来进行开发资源的分配也 就是确定到底由谁进行哪些功能组件的 开发 当每个开发工作任务都分配布皿 了具体的开发人员之后 项目经理应该 要求具体执行这些开发工作的人员来进 行每个工作单元的时间长度的估算 在 这个基础之上再将所有的工作任务的时 间估算进行汇总 得到一个整个项目的 总体时间表 在绝大多数情况下对有并 列进行开发的时间表 项目经理还需要 进行所谓的关键性通道 的 计算 对整个开发项目的工作任务的网 络图进行重新的排列和调整以缩短总 体开发时间来进一步优化整个项目的 时间 比如缩短有宽松时间的工作任务 将处在关键通道上的工作分配给多人来 完成等等 在这个基础上来产生整个开 发项目的最终时间表 这里我想强调很重要的一点是任 何一个开发项目只有按照这样的方法去 制定开发时间表 才有可能得出一个比 较能够符合实际情况的时间计划 因为 这样的计划制定方法考虑到了开发人员 的具体因素 只有在由真正进行开发的 人员做时间估算的荃础上得到的总体项 目时间表 才最接近于实际的情况 所 以 进行一个从下而上的 由做实际工作 的执行人员先做估算然后进行综合再 订出总体项目时间表的方法是任何软 件开发组织必须追求去掌握的管理紊质 求管理人员在进行计划时同时照顾到两 个并列的 几乎各自独立的计划工作任 务一个是软件本身的计划它侧重于软 件功能的计划 影响到软件的设计另一 个是项目的展开和执行的计划 它侧重 于软件开发工作的具体运行和管理 影 响到项目最终是否能够按时按质 完成 这两个工作所侧重的计划问题并不是一 回事一个与开发的结果有关 也就是对 所要开发的软件本身的计划而另一个 与开发的运作流程有关 也就是开发中 具体的工作任务的执行过程的计划和规 章 但是这两个因素却又是紧密联结 互 相影响 它们相互之间既有独立性也有 依赖性 要对软件开发项目有一个完善的 计划管理所要制定的计划就必须是 同时包括这两个方面的计划 上面 图 中所总结的整个项目的计划制定过程 就是照顾这两个方面的具体体现第 一 软件本身的设计计划在决定了软 件功能的基础上用软件的设计规范 书来体现第二 整个开发过程的计划 也是在确定软件功能的基础上 经过 进一步的任务分解和资源的分配 由 工作单元安排和优化后得到的项目时 间表来体现 这样的计划方法是将软件功能的总 结同时作为计划软件设计和计划开发 任务的前提 从而使得这两个工作的计 划都建立在同一个基础上 同时又用分 开的局部流程使它们能够独立完成 使 它们都不被忽视 这是一个将它们相互 之间的独立性和依赖性巧妙地结合在一 起的计划制定的方法 它将两个方面计 划的依赖性来影响它们各自的结果使 得开发工作执行的计划不是建立在空虚 的垂础上而是建立在所要开发的软件 的实际功能祷要的基础上 这是一个非 常重要的孺要意识到和理解的管理理念 一个成熟的开发团队或组织必须要求它 的项目管理人员或佳得并执行这样的计 划制定 所以一个完善的开发计划最后应该 包括两个最主要的计划文件第一是总 结软件中的所有功能设计的设计规范书 第二是一个与开发这些 功能所相应的开发工作任务的时间表 这两份各自独立的计划文件 组成了项目总体计划的骨干文件成为 其他计划文件的依据 比如说开发团队 再根据设计规范书所描述的具体功能去 进一步制定软件的构架设计以及开发实 行计划的制定软件测试团队也根据具 体功能的设计来制定测试计划和具体的 测试方案 等等 完整的软件开发项目计划的两 个方面 完善的软件开发项目管理的工作要 表 徽软嵌入 式操作系统里 程碑 软件开发管理中所需要的其它 计划 除了体现软件的设计规范书和体现 项目进度的时间表的制定这两项重要的 计划文件之外 在项目的计划阶段 项目 经理还必须与开发团队的领队和其它成 员一起协作来制定其它几个和开发管理 有关的重要计划 确定每个开发阶段的里程碑 湘 在建立 了开发时间表的基础 之上 通常我们都将整个软件的开发过 程分成几个阶段来进行 每个阶段先粉 重开发一部分功能这样的阶段的终结 点就叫这个阶段的里程碑用加一个 号码来表示 比如从开始 到 再 到 等等 这样的将开发任务分成几个不同的 阶段 每阶段分别注重 于先完成一部分 开发任务的运作方法对绝大多数软件 开发来讲带有很大的好处 这样的运作 流程有助于将所需要完成的整体开发任 务采取逐步开发的方去来渐渐加入和 整合新的功能同时又能够对开发出来 的各个组件进行循环式豹不断修改和调 整 对出现的问题进行及时的修正 这种 渐进式的开发方法要求对每个阶段的目 标在刚开始就有一个明确的定义 因此 里程碑的制定 以及与 比相关的每个阶 段相的具体日期和重点汪务等都应该 是项目计划的一部分 下面我继续拿我所管理过的微软嵌 入式操作系统工具的开发项目作为案例 来说明这种里程碑计划 约典型内容见 上页表 以上只是一个简单均举例 而且每 个开发项目的阶段的多少要根据具体的 开发内容来决定 但是从这个案例你可 以看到 不同阶段的开发任务重点和要 求是不同的里程碑代表了阶段的终 点 到达每个里程碑的象征就是这个阶 段的工作任务都完成了软件达到了某 种要求 采用像这样的在正式版本发行之前 先发行初版和试用版的方法是一个符合 软件开发特点的开发流程 它使许多在 产品最终发行时可能会碰到的问题 特 别是系统整合 最终的汇编建造 以及为 了满足产品发行的质要求所可能碰到 的很多质管理问题在项目的早期阶 段通过这样 的 型 发行 被及早发现使得开发团队有 足够的时间去及早解决 所以你在进行 开发管理时也应该采用类似的方法来进 行开发计划的制定 制定每个里程碑的终结标准 前面第一点的计是事 先确定每个阶段工作的任务和侧重点 但是光有这个计划还不够你如何知 道每个阶段结束时你的开发工作结果是 达到了要求呢与每个阶段的工作任务 计划相对应的你还必须要事先制定一 个每阶段开发的结果是否达到要求的衡 标准 这样的衡开发结果的标准叫 做里程碑的终结标准 这些终结标准明 确地订出如何判断项目到达每个里程碑 时开发的结果是否符合要求 项目的进 程是否可以进入到下一阶段的做决定的 衡准则 那么这样的终结标准应该包括什么 样的内容呢再以我上面的案例来说 明你可以看到我当时的第一个里程碑 是将产品的最基本和关键的一些功能 先开发出来 并不是所有的功能都要完 成而且对产品的功能从用户的角度讲 有一个荃本要求 就是要能够使用这个 产品进行最基本的嵌入式操作系统设计 的设定文件的制作 所以这个的里程 碑的终结标准就是要确证这个荃本的阶 段要求是达到了的 表 是这个终结标准 的部分举例 这里所举出的只是整个 的 中的一部分 但你可以看得出来 这个早期的里程碑的重点是保证用户要 能够使用最墓本的操作系统开发功能 保证产品的使用方案都可以从头到尾完 成 而产品开发接近结束时的后期里程 碑的终结标准就与这个很不一样它们 是着重于发行前的质保证 比方说上 面案例中的的里程碑是版本的质 测试的里程碑它的就注 重于必须满足的一系列质 度的标准 表是的终结标准举例 一般这样的终结标准会有十几条至 几十条视具体的质管理的严格程度 和要求来定 这样的终结标准需要项目 经理与开发和测试团队的领队们一起协 理序 员 目即口呈目巨组口 商决定具体的衡数字是根据质管 理和测试的要求来订的 一旦有了这样 的明确终结标准 除非有特别情况 整个 软件开发的过程就要严格按照这样的标 准来执行 对软件开发组织来说 一个很 重要的企业文化是尊重测试团队的工作 和结论 它的象征之一就是让测试团队 真正来把关 完成其它开发计划对大型和复杂 的开发项目进行计划时 项目管理人 员还应该考虑制定其它一系列的辅助 性计划 用它们来帮助加强管理和增 进与客户的沟通 这些计划工作的范 围包括 软件更改控制以及管理的计划 如果碰到设计更改要求 根据什么样的 准则接受或拒绝这些要求对测试中找 到的各种不同的重要性和严重性的缺陷 你根据什么样的准则接受或拒绝修正的 要求 风险管理计划你的开发项目中 最大的风险是什么你如何应付由于不 成熟的新技术出现的问题 员工的跳槽 等等所带来的风险 外部依赖管理依赖外部团队或 外包商所提供的组件如果碰到无法按时 完成 或质出现问题 你该如何面对 文档计划你的软件产品的使 用说明和可能孺要的用户培训该如何 完成 项目进度通报计划你应该怎样 向客户和领导 以及整个开发团队进行 定期的项目进度的状态通报 通报的频率 内容 读者等等 应该是什么 在下一期的文章里 我们再来看如 何制定良好的设计规范书用它来帮助 我们开发高质的软件 贵任编城秦橄 编者按 州吵画 介 上面一文对软件开发项目管理的计划 制定作了一个简单的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心脑血管健康课件封面
- 笑对挫折主题班会课件
- 竹石说课课件范例
- 出借房子协议书范本模板
- 端午节介绍课件图片
- 出差报销协议书范本
- 合租室友公约协议书范本
- 2025年激光扫瞄显微镜项目发展计划
- 2025版股权债权转让协议书范本:互联网+股权债权转让
- 2025版木屋安全防护设施设计与施工合同
- 2025年重庆发展投资有限公司及所属企业校园招聘9人笔试参考题库附带答案详解
- 氧气乙炔考试题及答案
- 注塑机设备管理
- 店铺转让带技术合同协议
- GB/Z 27001-2025合格评定通用要素原则与要求
- 静脉采血规范指南新版
- 安全用电知识教学课件
- 免疫接种冷链管理停电应急预案1
- 放射状角膜切开术并发症的长期随访研究-全面剖析
- 内衣类目测试题及答案
- 2025优化企事业单位突发环境事件应急预案备案的指导意见
评论
0/150
提交评论