WBS分解在软件项目中的应用

【摘要】  本文结合项目管理的WBS方法,对某系统集成公司的管线资源管理项目进行工作分解,旨在说明WBS方法对项目渐近明细和项目的计划方面所能起到的重要作用。

【关键词】项目管理  WBS分解结构  二次WBS 管线资源管理

一 引言

渐近明细是项目的特点,但这并不意味着不需要计划。没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目。在高技术行业,日新月异是主要特点,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。例如对于较为大型的软件开发项目的工作分解结构WBS可采用二次WBS方法。即根据总体阶段划分的总体WBS和专门针对详细设计或编码阶段的二次WBS。这其中部分的原因是需求的颗粒度在一开始往往是比较粗的,因此根据功能点对于整体项目规模的估计误差范围也是比较大的。更为重要的原因是,需求往往不是编码工作分解的准确依据,因为一个需求的功能点可能对应多个代码模块,而多个需求的功能点也可能只对应一个或少数代码模块,同时还有软件复用等因素要考虑,因此只有在概要设计完成以后才能准确地得到详细设计或编码阶段的二次WBS,根据代码模块的合理划分而得出的二次WBS才能在详细设计、编码阶段乃至测试阶段起到有效把握和控制进度的作用。

二 WBS基本概念

1.      WBS分解的概念

WBS(Work Breakdown Structure)作为有效地计划和控制建设工程项目的工具。它是由一组可交付使用的项目产品/设施组成的,表现为一种层次化的树状结构,定义了整个工程项目的工作范围。根据项目管理工作需要,进行不同层次的分解,以满足对项目产品/设施进行时间、费用、质量的计划和控制管理。随分解层次的深入,所定义的项目产品/设施也就越详细越具体,位于整个WBS分解结构最底层是不能再进一步细分的产品/设施,也称为工作包,由它形成造价信息库,如还要对它做进一步分解,其分解原则就变为完成该工作包的活动顺序或者施工工序。 

2.    WBS的主要分解原则

u      一个单位工作任务只能在WBS中出现一次

u      一个WBS项的工作内容是其对应下级各项工作之和

u      WBS中的每一项都只有一个人负责,即使这项工作要多人来做,也是如此

u      WBS必须与工作任务的实际执行过程一致

u      WBS应服务于项目团队项目成员必须参与WBS的制定过程,以确保一致性和全员参与

u      每项WBS都必须归档,以确保准确理解项目包括和不包括的工作范围

u      在根据范围说明书对项目的工作内容进行适当控制的同时,WBS必须具有一定的灵活性,以适应无法避免的变更需要

3. WBS分解的主要方法

u      类比法 类比法就是以一个类似项目的WBS为基础,制定本项目的工作分解结构。例如,ABC飞机制造公司,曾设计制造多种类型的大型客机,当他们计划投入设计生产某种新型战斗机时,就可以使用以往制造大型客机而设计的子系统。以从前的子系统为基础,开始新项目的WBS的编制。比如,该WBS的第一层中有飞机机身顶,该项又包括了飞机前身、飞机中部、飞机后身和机翼等第二层的多个子项。这种一般性的产品导向的WBS就成为新飞机项目的范围定义和新型战斗机成本估算等工作的起点。

u      自上而下法 自上而下法常常被视为构建WBS的常规方法,即从项目最大的单位开始,逐步将它们分解成下一级的多个子项。这个过程就是要不断增加级数,细化工作任务。这种方法对项目经理来说,可以说是最佳方法,因为他们具备广泛的技术知识和对项目的整体视角。

u      自下而上法 自下而上法,是要让项目团队成员从一开始就尽可能的确定项目有关的各项具体任务,然后将各项具体任务进行整合,并归总到一个整体活动或WBS的上一级内容当中去。仍以ABC飞机制造公司设计制造新型战斗机为例,用这种方法,则不是开始就考察WBS制定的指导方针或是参考其他类似项目的WBS,而是尽可能详细的列出那些项目团队成员认为完成项目需要做的任务。在列出详细的任务清单后,就开始对所有工作进行分类,以便于将这些详细的工作归入上一级的大项中。比如说,项目团队某小组中的商业分析人员会知道他们必须确定用户对项目的要求以及该项目的内容要求;工程师们也会知道他们必须确定对系统的要求和对发动机的要求。于是,该小组可能会将这四项任务都归入到战斗机制造项目的概念设计这个总项中去。自下而上法一般都很费时,但这种方法对于WBS的创建来说,效果特别好。项目经理经常对那些全新系统或方法的项目采用这种方法,或者用该法来促进全员参与或项目团队的协作。

u      使用指导方针 如果存在WBS的指导方针,那就必须遵循这些方针。许多DOD(国防部)项目都要求承包商按照国防部提供的WBS模板提交他们的项目建议书。这些建议书必须包括针对WBS中每一项任务的成本估算,既有明细估算项,也有归总估算项。项目整体的成本估算必须是通过归总WBS底层各项任务成本而得到的。当国防部有关人员对成本计划进行评审时,他们必须将承包商的成本估算与国防部的成本估算进行对比,如果某项WBS任务成本有很大的出入,那一般就意味着对要做的工作任务还没搞清楚。

三 WBS的应用

首先简单的介绍一下我们要应用WBS方法进行分解的管线资源管理系统:

在网络资源管理系统中,管线资源应该包含如下的几类:

u      基础空间信息

局站/机楼、机房、背景地图(道路、居民地、河流、铁路、绿地……)

u      管道/杆路网络资源

人/手井、管道段、管孔、子管、电杆、吊线、线担/支架/抱箍、吊瓶/线夹、杆路路由等

u      电缆网络资源

电缆段、电缆附件信息(传感器、分歧接头、气门、余长点等)、MDF、交接箱、分线盒等

u      光缆网络资源

光缆段、光缆附件信息(光纤接头盒、余长点)、ODF、光交接箱、光分纤设备等

u      传输网络资源

DWDM/PDH/SDH设备物理资源、DWDM/PDH/SDH逻辑资源(如光波道、段、通道、槽道、电路等)、传输倒数字配线架(DDF)

u      数据网络资源

ATM、IP、DDN、帧中继、分组交换等网络设备资源及逻辑资源

管线资源管理系统主要实现对管道、杆路、电缆、光缆以及设备的管理,以及实现对97用户配线系统进行支撑的功能,主要的功能分为基础空间资源管理、管线信息管理、拓扑管理功能、路由设计分析、用户配线、资源调度、业务档案管理、查询统计、管线网络分析、系统管理、设备管理、专线业务、系统接口、数据管理等.

利用该系统,能够实现对管线资源的统一管理,从而达到为生产、建设、维护部门提供良好的统计分析、网络资源优化、规划设计和辅助决策的目的。

下面我们将使用自上而下的方法对该系统进行WBS分解

第一次分解:使用项目管理过程(包括启动,计划,实施,控制和收尾)作为工作分解结构的第一层,这样不仅可以确保项目团队实施良好的项目管理惯用做法,而且还可以比较容易的按照时间安排工作分解结构的各项活动.

              第二次分解:在第一次分解中,将功能设计已经分解到了子系统范围,而每个子系统,一般而言,都可以分解为若干模块,由模块则可以分解到具体的功能点,现以管线信息管理设计为例,继续分解如下,

第一次分解和第二次分解的相互关系:后者在项目全过程管理工作的不同阶段,为前者提供不同的项目WBS分解的层次,以满足不同阶段计划和控制管理的需要。

根据以上WBS的分解结果,我们就可以在项目的不同阶段对项目进行估算(成本和日历) 、安排进度、作出预算、分配负责人员或组织单位,以便顺利完成项目。

四 结语

   由以上的分析,我们可以看到,WBS在项目管理中可以帮助我们实现:

u      将项目分解为相互独立的、容易充分管理的、通用的项目产品/设施;

u      分配负责这些项目产品/设施的人员或单位,与其组织机构分解结构(OBS)相关联;

u      设定这些项目产品/设施之间的业务逻辑关系、工作顺序,做进度计划安排;

u      计划实施这些项目产品/设施所需的资源分解结构(RBS)-人员/材料/设备,做费用估计;

u      确定这些项目产品/设施应符合的质量标准、安全环境保护规定;

u      通过WBS和OBS,得到职能责任矩阵,形成项目各参与方的沟通平台,制定沟通计划;

u      统一的WBS、RBS、OBS,有助于对整个项目的工作范围、费用、进度和质量进行计划和控制,提高管理效率;

u      对WBS、RBS和OBS进行编码,建立统一的项目管理信息平台,关联与项目有关的各类数据,实现对工程项目的实时控制,也为各参与方调整计划,控制变更,提供及时的项目决策依据;

u      统一的项目管理信息系统的建立,帮助企业形成自身需要的各类工程项目经验数据,指导今后类似工程的工作。

由此可见,统一的、标准化的WBS分解体系对解决软件工程项目管理中存在的问题,对快速提高我们的项目管理水平具有重要意义。

以WBS分解结构为基础,建立的统一的项目管理信息系统平台,将大大提升我们项目管理的效率和项目信息的实时性,真正实现项目管理信息库数据关联、信息共享的关键,也为建筑企业持续积累历史数据提供平台。

浅论WBS分解在软件项目中的应用相关推荐

  1. [项目管理]工业工程理论在软件项目中的实践

    摘要:结合工业工程理论,对公司现有软件项目开发流程进行总结分析,优化项目管理流程.提升项目作业效率. 关键词:工作研究:流程分析:降低成本 引言 本人在IT行业从事软件开发工作,经过本学期工业工程伦理 ...

  2. [周年感悟]看软件项目中的四种角色

    工作一年了,这一年没像大学那样拼命的发帖,拼命的写博客.然而毕竟是过了一年了,便以此文纪念我逝去的2011年吧! 2011年3月份到公司实习,实习到5月,然后回学校做毕业设计,7月份正式入职.若是从实 ...

  3. 【软件工程】用户在软件项目中承担的工作

    终端用户 终端用户既指软件的最终操作者,也是软件工程内的一个概念,指终端用户的抽象集合,用于区分单纯使用软件的用户和进行软件开发的开发者.这种抽象主要在设计用户界面时有用,用于代表普通用户的共同特性. ...

  4. 软件项目中的功能风险矩阵

    软件项目中的功能风险矩阵 黄国强 2011-9-9 仿照美国总统艾森豪威尔的"时间管理优先矩阵",我画了一个项目功能风险矩阵图. 软件开发中,我们最先要做的就是必要而且有风险的事情 ...

  5. 软件项目中如何开展有效的需求评审

    1.需求评审的重要性 在软件项目中,需求分析是最开始的工作,同时也是最重要的工作.需求分析如果做得不够详细或者是偏离用户需求或者是存在缺陷的话,往往会给项目带来灭绝性的灾难,不重视需求过程的项目团队将 ...

  6. 软件项目中的决策分析_软件工程中的决策管理

    软件项目中的决策分析 Every day we make a lot of decisions. I always wonder why, in so much companies, there is ...

  7. 【软件工程】软件项目中的用户

    文章目录 终端用户 用户在软件项目中承担的工作 用户体验 用户友好 以用户为中心的设计 利益相关的用户 终端用户 终端用户既指软件的最终操作者,也是软件工程内的一个概念,指终端用户的抽象集合,用于区分 ...

  8. 如何在软件项目中生成物料清单(SBOM)

    随着软件合规.断供.漏洞等风险日益受到重视,需求方会要求开发团队提供软件的详细信息. 常用的方法是,研发团队从源码.配置文件.生成交付物等处提取所需信息按需求方要求的格式形成报告.这种手工生成方法,不 ...

  9. 软件项目中需求管理工作的重要性

    开发一个软件项目,如果采用瀑布模型(或改进型瀑布模型)的话,通常会包括以下几个开发阶段,即:需求分析.系统设计.系统编码.系统测试.系统交付(及后续维护).在项目管理过程域中,主要包括:项目规划.立项 ...

最新文章

  1. MySQL 中 6 个常见的日志问题
  2. tplink控制上网设备_上网总有人抢网速如何解决 上网卡慢解决方法【详解】
  3. 【8086汇编-Day6】关于loop的实验
  4. 在centos8 stream启用 Extra Packages
  5. tar打包时排除一些文件或者目录
  6. js形参(parameter)和实参(argument)
  7. Magento搬家、换域名、重新安装教程
  8. python行数据切片_通过切片访问DataFrame行
  9. java数组初始化的三种方式
  10. 宽字节UTF-8、多字节互转
  11. Package Control 使用
  12. python用模块读取xml文件_Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)...
  13. 2020年计算机设计大赛参赛回顾与总结
  14. arcface的前世今生
  15. HDU 4939 DP
  16. 在Linux中安装dnw
  17. 2022年最新浙江道路运输安全员真题题库及答案
  18. Selenium详解—— 自动化测试工具
  19. Java简史-SUN
  20. HQL和SQL的区别

热门文章

  1. 软件创新实验室:TCP
  2. parted分区超过2TB硬盘
  3. Android 价值千万java多线程同步 lt;五CountDownLatch(计数器)和Semaphore(信号量)
  4. PMP项目管理项目质量管理
  5. Centos_7.2 下构建 Kafka_2.13 分布式消息系统的单机版
  6. 液晶显示器花屏怎样解决
  7. 编译perl源码到mipsel。
  8. 关于Sybase中char和varchar的空格填充问题
  9. Mysql 开启事件计划
  10. 大坝安全之GNSS监测