(管理科学与工程专业论文)我国中小软件企业提高cmm成熟度方法探讨.pdf_第1页
(管理科学与工程专业论文)我国中小软件企业提高cmm成熟度方法探讨.pdf_第2页
(管理科学与工程专业论文)我国中小软件企业提高cmm成熟度方法探讨.pdf_第3页
(管理科学与工程专业论文)我国中小软件企业提高cmm成熟度方法探讨.pdf_第4页
(管理科学与工程专业论文)我国中小软件企业提高cmm成熟度方法探讨.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(管理科学与工程专业论文)我国中小软件企业提高cmm成熟度方法探讨.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 本文讨论了我国中小软件企业的现状,并针对中小软件企业,提出了在实施软件 能力成熟度模型( c a p a b j 1 埘m a t u r i t y m o d e l ,c m m ) 之前建立较为完善的项目管理 制度以帮助c m m 级别提升的方法。 一近2 0 多年来我国软件产业的快速发展,我国软件企业为了在原有成绩的基础上 b 谋求更大的突破,纷纷要求提高其自身c m m 成熟度级别,但是我国中小软件企业的 、 自身条件却严重阻碍了改进过程。i 本文通过比较c m m 2 级的关键过程域( k p a ,k e y p r a c t i c ea r e a s ) 与项目管理制度的九大知识领域,认为不成熟、不规范的项目管理制 度才是阻碍中小软件企业实施c m m 的主要因素,如果首先在企业中建立较完善的项 目管理制度,会对软件过程改进( s o f t w a r ep r o c e s si m p r o v e m e n t ,s p i ) 带来极大的帮 助。并讨论了项目管理与c m m 关联性较大的项目管理知识领域,给出了一些实施项 目管理的方法与技术,着重讨论了项目时间与成本管理、质量管理、人力资源与沟通 管理等方面。结合中小软件公司的特点,适当的发起企业内部项目有助于项目制度的 建立与完善。 , 、 ( 在论述了项目管理制度重要性之后本文讨论了项目管理制度建立之后软件过程 改进的方法。以项目管理为基础,从企业组织机构改革开始,采取“初始化”“确 定基线及目标”“实施改进”的三个步骤,完成中小软件企业的软件过程改进, 从而达到提高c m m 成熟度级别的目的。 关键词:c m m项目管理软件过程改进 i 华中科技大学硕士学位论文 a b s t r a c t t h i sp a p e rd i s c u s s e st h ep r e s e n ts i t u a t i o no fs m a l l m e d i u ms o r w a r ee n t e r p r i s e s , a n dp r o p o s e sam e t h o dt oi m p r o v et h el e v e lo fc m m ( c a p a b i l i t ym a t u r i t ym o d e l ) t h e m e t h o di st oe s t a b l i s hap r o j e c tm a n a g e m e n ts y s t e mi nt h ee n t e r p r i s eb e f o r ei m p l e m e n t i n g c m m i nt h er e c e n t2 0y e a r s ,d o m e s t i cs o f t w a r ei n d u s t r yg r o w sr a p i d l y i no r d e rt om a k e a g r e a t e rb r e a k t h r o u g h ,c h i n e s es o f t w a r ee n t e r p r i s e sw a n t t oa c h i e v eh i g h e rl e v e lo fc m m , h o w e v e r , t h e i rl i m i t e dq u a l i f i c a t i o nb l o c k e dt h ep r o c e s so f t h ei m p r o v e m e n t i nt h i sp a p e r , w em a k eac o m p a r i s o nb e t w e e nt h ek p a ( k e yp r a c t i c ea r e a s ) o f c m m 2a n dt h en i n e k n o w l e d g ea r e a so fp r o j e c tm a n a g e m e n t m e a n w h i l e ,t h i sp a p e rp o i n t so u tt h a t t h em a i n r e a s o nw h vc m mc a nn o tb ei m p l e m e n t e dw e l ls t e mf r o mt h ei i l n l a t u r ea n dn o n s t a n d a r d p r o j e c tm a n a g e m e n ts y s t e m i tw i l lb eag r e a th e l pf o rt h es 0 1 a r ep r o c e s si m p r o v e m e n t ( s p i ) t oe s t a b l i s hap r o p e rp r o j e c tm a n a g e m e n ts y s t e m s o ,w ep a ym u c h a t t e n t i o nt ot h e p r o j e c tm a n a g e m e n tk n o w l e d g ea r e a sw h i c hh a v em o r er e l a t i o nt oc m m s u c h a st i m e m a n a g e m e n t ,c o s tm a n a g e m e n t ,q u a l i t ym a n a g e m e n t ,h u m a n r e s o u r c em a n a g e m e n ta n d c o m m u n i c a t i o nm a n a g e m e n t ,a sw e l la ss o m em e t h o d sa n dt e c h n o l o 西e sw h i c ha r eo f t e n u s e d a c c o r d i n gt o t h o s ee n t e r p r i s e s ,t h e “i n s i d e p r o j e c t i s u s e f u lt os e t u pp r o j e c t m a n a g e m e n ts y s t e m a f t e rs e t t i n gu pam a t u r e dp r o j e c tm a n a g e m e n ts y s t e m ,t h ed i s c u s s e ds p im e t h o d s h o u l db eu s e d w h i c hb e g i n sw i t l lt h er e f o r m a t i o no ft h e o r g a n i z a t i o n i tt a k e st h r e es t e p s “i n i t i a t i n g ”,“g e tb a s e l i n ea n dt a r g e t ”,”i m p r o v i n g ”a n dt h e n ,t h em a t u r i t yi sl e v e l e du p k e y w o r d s :c m mv r o j c o tm a n a g e m e n t s p i i i 华中科技大学硕士学位论文 1 1 我国的软件产业 1 绪言 2 0 0 0 年我国软件市场销售额已达到2 3 0 亿元,增长率达3 0 7 。国内从事软件 开发、生产、销售、维护和服务的软件企业已达到1 0 0 0 0 家以上,专业从事软件开 发的企业达到3 0 0 0 多家,其中外资、合资企业有1 0 0 多家。从业人员1 4 万人左右, 其中软件技术人员1 0 万,另外还有3 0 万人在各行业从事计算机应用、科研与教育 工作。 1 9 9 6 2 0 0 0 年间,我国软件市场销售额从9 2 亿元增加到2 3 0 亿元,年均增长速 度达2 7 7 ( 如图1 1 所示) 。1 9 9 9 年我国软件市场的年增长速度为2 7 5 ,远远高于 该年度全球软件市场1 3 6 的增长速度。 图1 - 11 9 9 6 2 0 0 0 年中国软件市场销售额增长情况 实际上,我国软件市场的增长从1 9 9 8 年开始高于同期计算机总体市场增长率和 国内生产总值增长率( 如图1 1 所示) 。这表明,我国的软件市场在“九五”时期已 成为拉动我国计算机市场平稳增长的动力。 在我国软件市场中,应用软件市场最大,占市场的6 0 6 5 。2 0 0 0 年软件市场 构成如图1 2 所示,其中应用软件6 3 9 ,中间软件4 0 ,系统软件3 2 1 。 i 华中科技大学硕士学位论文 图1 2 各软件类型份额 我国软件市场有以下特点: 1 ) 中小软件企业偏多。 中国大多数的软件公司及软件企业的人数在1 0 1 0 0 人之间,企业的规模普遍很 小,人数在5 0 人以下的公司占了7 0 ,难以形成规模效应。与此同时,市场上的公 司数量却偏多,仅以北京为例,2 0 0 1 年北京市有软件企业1 3 0 0 多家,5 0 0 以上的企 业有4 家,1 0 0 5 0 0 人的企业有1 4 家,其余企业都在1 0 0 人以下。由于人员分散, 所以不可能组织较大规模的软件开发,致使国产软件的规模一般偏小,难以合同类 型的国外软件相抗衡。集体、私营、中外合资企业占6 0 以上,并呈现不断上升趋 势。1 9 ) 2 ) 产业分布的地区性明显。 我国软件企业主要分布于华北、华东、华南等经济、文化比较发达的地区,尤其 是主要的软件骨干企业大多集中在北京、上海、深圳、沈阳、成都等中心城市。近年 来,政府上网、企业上网、家庭上网工程,传统产业的信息化改造,以及西部大开发 都带动了内地软件产业的崛起,西安、昆明等地的软件产业在逐步发展壮大。 3 ) 软件产品结构以应用软件为主。 在我国软件市场中,操作系统、数据库等基础软件市场几乎被国外产品所垄断, 国内软件企业研发、生产和销售的软件产品基本属于应用软件。我国国内品牌产品在 财务管理软件、教育软件和针对各个行业定制的行业应用软件市场中占有绝对优势。 如在财务管理软件市场中,国内品牌占据9 0 以上的份额:在行业应用软件开发方面, 国内软件企业取得了巨大的成绩,自行研制开发出金融、财税、电信、能源、交通、 石油地质等关键部门的行业应用软件。 2 华中科技大学硕士学位论文 4 ) 软件产业结构以国内市场为主。 与印度出口型软件产业结构相比,我国软件产业是一个典型以国内市场为主的产 业。1 9 9 9 年,我国软件出口额为1 3 亿美元,2 0 0 0 年为4 亿美元。口3 j 1 2 中小软件企业现状及存在的问题 我国中小软件企业一般都存在以下几个问题: 1 ) 人员少,公司数量多。 大部分的中小软件企业人数在1 0 0 以内,软件开发人员的数量大致为1 0 - 一6 0 人, 因此,难以在公司内部形成软件开发的流水线作业,另外,人手的不足制约了企业承 接项目的规模,往往只能一种小型项目为主。要想在国际市场上立足,扩大企业的规 模是必由之路。 2 ) 软件层次较低。 如果将软件按照系统软件、支撑软件和应用软件划分,我国的软件生产有明显的 不均衡性,从市场份额来看,技术含量较高的系统软件的市场份额最小,国产化程度 很低,支撑软件其次,技术含量相对较低的应用软件市场份额相对较高。而且系统软 件和支撑软件的主要提供商般是国内比较大的软件公司,中小软件公司在其中的比 例更小了。在应用软件中,排除几个国内的大软件公司的产品,其余的应用软件大多 数技术含量低、应用层次不高、软件质量也难保证。图1 3 是2 0 0 1 年我国软件市场 产品分类构成情况。【9 】 图1 - 32 0 0 1 年我国软件产品构成状况 3 华中科技大学硕士学位论文 3 ) 资金不足。 虽然我国软件业发展迅速,得到政府的大力扶持,拥有较多的政策优惠,成为一个 回报率相对较高的行业,但对于中小软件企业来说,企业规模小,大部分企业缺乏正常 的融资手段,只是依靠经营利润的积累发展,资金短缺问题严重,很多企业自身几乎没 有研发投入,没有能力组织较大规模、较高技术含量、开发周期长的高端软件的开发。 4 ) 工作量不稳定。 由于公司人数少、产品层次低,所开发的软件多为比较小的项目,开发周期不长, 公司承接项目的能力有限,所以并不是任何时间都有项目可做,开发人员的工作也是 时紧时松,有项目的时候加班加点,没项目的时候就无所事事。导致了大量时间浪费。 5 ) 分工不清。 只有进行了专业分工,建立产品流水线,才能够大幅度提高软件生产效率a 在软 件生产流水线上包括这些主要角色:项目经理,业务分析员,系统分析员,软件设计 师,程序员,测试员。 项目经理对内负责统筹工作计划、把握进度、协调项目组成员、调整工作,对外 与客户的沟通,是项目与客户之间的沟通界面;业务分析员负责分对业务领域进行分 折,提出对软件的需求模型;系统分析员根据业务模型的需求进行系统总体设计,产 生软件系统架构与硬件系统架构,软件设计师进行详细设计,产生模块级设计,程序 员根据具体的编程语言编写代码并进行单元测试,测试员负责进行集成测试。 然而,我国很多中小软件企业中,这样的分工可以说很不清晰,往往是一个项目 就是一个或几个程序员承包,从头到尾。所有的工作都由他们完成。程序员成了万精 油,但是什么都会却什么都不精,导致了生产效率不高,质量没有保证,进度把握也 很难确定的问题。即使有的公司设置了项目经理的职位,他所负责的事情也不仅仅是 项目经理的责任,甚至于成为项目组中的一个程序员。【6 j 6 ) 管理不规范 由于大多数公司员工人数不多,其本身就没有成型的管理规范,一般就是以较为 松散的项目制度来进行管理,缺乏整体的管理;其次,软件是一个知识密集型产业, 人力资源是公司的最重要的财富,但许多公司没有合理有效的针对软件人员的管理办 法,多数采取的是目标管理的方式,只要软件人员能够满足客户的需要,达到预期的 效果,对其生产方式、过程并没有严格的规定,而当公司决定采取先进管理模式的时 候,才发现员工对新模式的抵触情绪较重,致使推广滞后乃至失败。 4 华中科技大学硕士学位论文 2 1 项目管理发展 2 项目管理与c m m 项目管理通常被认为是第二次世界大战的产物( 如美国研制原子弹的曼哈顿计 划) ,在四五十年代主要应用于国防和军工项目。近代项目管理学科起源于5 0 年代, 在美国出现了c p m 和p e r t 技术。 项目管理专家把项目管理划分为两个阶段: 8 0 年代之前为传统的项目管理阶段; 8 0 年代之后为现代项目管理阶段。 六十年代,项目管理的应用范围也还只局限于建筑、国防和航天等少数领域,如 美国的阿波罗登月项目。因在阿波罗登月计划中取得巨大成功,由此风靡全球。国际 上许多人对于项目管理产生了浓厚的兴趣。并逐渐形成了两大项目管理的研究体系, 即:以欧洲为首的体系一国际项目管理协会( i p m a ) ,以美国为首的体系一美国项目 管理协会( p m i ) ,在过去的3 0 多年中,他们都做了卓有成效的工作,为推动国际项 目管理现代化发挥了积极的作用。6 0 年代初华罗庚教授将这种技术在中国普及推广, 称作统筹方法,我们现在通常称为网络计划技术。 进入九十年代以后,随着信息时代的来临和高新技术产业的飞速发展并成为支柱 产业,项目的特点也发生丁巨大变化,管理人员发现许多在制造业经济下建立的管理 方法,到了信息经济时代已经不再适用。制造业经济环境下,强调的是预测能力和重 复性活动。管理的重点很大程度上在于制造过程的合理性和标准化。而在信息经济环 境里,事务的独特性取代了重复性过程,信息本身也是动态的、不断变化的。灵活性 成了新秩序的代名词。他们很快发现实行项目管理恰恰是实现灵活性的关键手段。他 们还发现项目管理在运作方式上最大限度地利用了内外资源,从根本上改善了中层管 理人员的工作效率。于是纷纷采用这一管理模式,并成为企业重要的管理手段。经过 长期探索总结,在发达国家中现代项目管理逐步发展成为独立的学科体系和行业,成 为现代管理学的重要分支。【3 4 】 华中科技大学硕士学位论文 2 2 项目管理组成 p m i 给项目作了以下的定义:项目是为完成某一独特产品或服务所作的一次性努 力。它一股要涉及一些人员,并通过他们的活动,按时、按照要求用最少的成本完成 项目需求。项目一般具有以下的特点: 独特性:每一个项目都有自己独特的产品、服务或结果。 一次性:或叫临时性,项目一般都有明确的开始和结尾,当项目目标达到时,项 目就到结束了。 渐进且详细:项目需要按照步骤渐进的实施,同时需要详尽的计划与控制,关心 每一个与项目有关的细节。【8 j 项目管理知识体系可以看成是一个动静结合的整体,包括动态的项目过程管理和 静态的项目管理九大知识领域:项目整体管理、项目范围管理、项目时间管理、项目 成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理和项目 采购管理。 项目管理过程的五个过程: 1 ) 项目的初始过程:初步确定项目组成员、确定项目界限、初步确定项目计划、 项目初始阶段总结评审。 2 ) 项目的计划过程:建立w b s 计划、确认项目流程、确认项目详细计划、计划 评审、批准项目计划、确定项目计划基线等。 3 ) 项目的实施过程:组织和协调人力资源和其它资源,组织和协调各项任务与 工作,激励项目团队完成既定的工作计划,生成项目输出。 4 ) 项目的控制过程:制定标准、监督和测量项目工作的实际情况、分析差异和 问题、采取纠偏措施等管理工作和活动。 5 ) 项目的结束过程:完成项目提交准备工作、完成项目结束和提交工作计划、 结束项目和项目结束文档等。 需要指出的是项目管理的五大工作过程之间首先是一种前后衔接的关系。管理工 作过程的输入和输出是它们相互之间的关联要素。一个具体过程的结果或输出,就是 另一个具体过程的输入,所以各个项目管理工作过程之间有文件和信息的传递。这种 输入与输出的关系在有的时候并不是单向的,而是双向的。 6 华中科技大学硕士学位论文 另外,项目管理的各个工作过程在时间上也并不完全是一个完成以后,另一个才 能够开始,在项目管理中一个工作过程组的各个具体过程会有不同程度的交叉和重 叠。 2 3c m m 的发展 c m m ( c a p a b i l i t ym a t u r i t ym o d e l ,能力成熟度模型) 是由美国卡内基一梅隆大学 软件工程研究所推出的评估软件能力与成熟度的一套标准。该标准基于众多软件专家 的实践经验,侧重于软件开发过程的管理及工程能力的提高与评估,是国际上流行的 软件生产过程标准和软件企业成熟度等级认证标准。 目前,c m m 认证已经成为世界公认的软件产品进入国际市场的通行证。国务院 发布的鼓励软件产业发展的1 8 号文件中也特别指出了对企业进行c m m 认证的支持。 为了保证软件产品的质量,8 0 年代中期,美国联邦政府提出对软件承包商的软件 开发能力进行评估的要求。在m i t r e 公司的帮助下,1 9 8 7 年9 月,美国卡内基一梅隆 大学软件工程研究所( c m u s e i ) 发布了软件过程成熟度框架,并提供了软件过程评估 和软件能力评价两种评估方法和软件成熟度提问单。4 年之后,s e i 将软件过程成熟 度框架进化为软件能力成熟度模型( c a p a b i l i t ym a t u r i t ym o d e lf o rs o t t w a r e ,简称 s w c m m ) 。1 9 9 1 年8 月,s e i 发布了最早的s w c m mv 1 0 。经过两年的试用,1 9 9 3 年s e i 正式发布了s w c m mv 1 t ,这是目前使用最为广泛的版本。软件能力成熟度 模型基于众多软件专家的实践经验,是组织进行软件过程改善和软件过程评估的一个 有效的指导框架。 最近的s e i 评估报告显示,从1 9 9 6 年到2 0 0 0 年,全球有1 0 1 2 个组织进行了c m m 评估,其中6 4 8 为商业组织,2 6 7 为美国官方和军方合同商,主要业务为软件开 发和维护的组织有9 2 2 个,有将近一半的组织规模是在1 0 0 人以下。这些数据表明, c m m 认证已经引起软件企业的高度关注,并且这种认证同样适合中小企业。1 3 纠 2 4c m m 的结构 c m m 由5 个成熟度等级组成,每个成熟度等级有着各自的功能,并被分解成了 多个组成部分。如图,除了第1 级外,每一个成熟级别的分解都由一个抽象的摘要开 华中科技大学硕士学位论文 始,最后到对关键过程实践的操作定义。每个级别中包含了实现这一级别目标的若干 关键过程域( k p a ,k e yp r a c t i c ea r e a s ) 。每一个k p a 包含若干个关键实践( k p k e y p r a c t i c e ) ,无论哪个k p a ,其实践都统一按五个公共特性( 执行约定、执行能力、执 行活动、测量和分析、验证实现) 进行组织,即每一个k p a 都包含五类k p 。f l l 】 图2 - 1c m m 的结构 c m m 的级别共分5 级:初始级、可重复级、已定义级、已管理级和优化级【1 0 1 初始级: 软件过程的特点是无秩序的,甚至是混乱的。几乎没有什么过程是经过妥善定义 的,成功往往依赖于个人或小组的努力,而不是企业的努力。也许有些企业制定了 些软件工程规范,也成立了一些工作组,如软件开发组、项目工程组等。几乎没有进 行数据收集和分析。和我国的中小软件企业的情况很相似。 可重复级: 建立了基本的项目管理过程来跟踪成本、进度和功能特性。制定了必要的过程纪 s 华中科技大学项士学位论文 律,能重复早先类似应用项目取得的成功。这一级的管理过程包括了需求管理、项目 管理、质量管理、配置管理和子合同管理五个方面。涉及到的主要的工作组有:系统 测试组、软件质量保证组、软件配置管理组等。组织关心的数据主要集中在成本、进 度,有一定的数据收集和处理。 已定义级: 已将管理和工程活动两方面的软件过程文档化、标准化,并综合成该机构的标准 软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件。在所建 立的生产线内,成本、进度和功能都是受控制的,软件质量也是可跟踪的。增加了软 件工程过程组、软件工程活动组和软件估计组。强调在全过程中收集和使用数据,在 全项目中系统的共享数据。 已管理级: 收集对软件过程和产品质量的详细度量值,对软件过程和产品都有定量的理解和 控制。在这一级,软件过程是具有精确定义的、连贯的评价方法,这些评价方法为评 估项目的软件产品和质量奠定了一个量化的基础。量化控制是软件开发过程向工业生 产活动靠齐。比前面几级增加了软件相关组和定量过程管理活动组。数据收集已经扩 大到了整个组织的范围,并对度量进行标准化,数据用于定量理解软件过程及稳定软 件过程。 优化级: 在这一级中,组织强调渐进的过程改进,结合新技术、新思想,提出新的过程改 进方案。组织以防止错误出现为目标,在过程实施之前就有办法发现过程的弱点和长 处。增加了缺陷防范活动协调组和技术改革管理活动组等。并利用数据来指导进一步 的改进。 9 华中科技大学硕士学位论文 3 建立适合企业情况的项目管理过程 通过比较,我们可以看出,项目管理与c m m 模型的第二级可重复级以及第三级 己定义级有一定的相似性,例如两者都强调“计划”与“控制”,让不确定的因素在实 施阶段开始之前尽可能的确定下来,在计划中写清楚软件项目的工作范围,据此来制 定与时间、成本、质量有关的计划:在项目进入实施阶段之后,都有一套监控机制来 保持对项目的监督、控制,使项目的进程能够按照计划中的实施,即使出现不能按照 计划进行的情况,其监控机制都有较好的维护变更的手段,采取变更请求确认变 更再计划实施监控的方法将项目的进展、成本和质量牢牢抓在手中。 直接实施c m m 二级将会出现的问题: 1 ) 软件过程改进应该以一个较为紧密的组织为基础。仅仅强调组织的软件过程 的改进,项目外部环境没有改观,常常会导致改进困难。c m m 的评估,常常是以一 个公司或项目为评估的对象。因为软件过程的改进所涉及到的不仅仅是关键过程本 身,它需要一个能够提供其改进的基本条件、促进其改进进程的外部环境,古语说: “皮之不存,毛将焉附? ”项目,就是承载软件过程改进的最基本的要素了。在软件 项目跟踪与监督的关键过程域中“软件负责人接受过有关软件项目技术和人员管理方 面的培训。一线软件负责人接受过软件项目技术方面的定向培训。”已经明确写到了 执行能力中,也就是说,项目管理是实旌c m m 某些关进过程的先决条件。 2 ) 需要更加完善的项目制度。在我国的中小软件企业中,所谓的“项目”制度, 其本身非常不健全,在某种程度上,只是软件产品的代名词而已,用户需要a 产品, 我们就常常把提供a 产品的过程叫做a 项目,这种过程往往是松散的不牢靠的, 项目控制的方法很有限,缺乏控制力度,对项目完成的时间、成本和质量只能作一厢 情愿的“计划”,项目实施过程中对突发的变化应对能力弱,项目结束之后,也没有 对项目的进程分析,项目的经验教训也仅仅停留在项目组员的头脑中,对以后项目实 施的指导性随时间递增而减弱。试想一下,在这样的环境中直接进行软件过程改进, 只会增加软件过程改进的难度,在项目实旌都难以保证的情况下,我们又怎么保证软 件过程的正确性呢? 3 ) 在弱项目制度下,由于前期积累不足,从软件过程改进入手会很困难。和很 l o 华中科技大学硕士学位论文 := = = = ;= = = = = ;= = ;j 口= = ;= = = = = z = = ; 多质量体系一样,c m m 是一个很强调记录过程和结果”的体系a 例如可重复级关 键过程域“软件项目计划”里有关工作量和成本的活动描述为: 依据书面规程估计软件项目的工作量和成本a 该规程一般规定: ( 1 ) 软件项目工作量和成本估计与软件工作产品的规模( 或更改规模) 估计相 关联。 有可能时,利用生产率数据( 历史的和现在的) 进行评估,并将这些数据的来源 和理论根据归入文档。 可能时,从本机构的项目中获取生产率和成本数据 将软件工作产品的工作量和主要成本计入生产率和成本数据 软件工作产品的主要成本构成的实例有: 直接费用 间接费用 差旅费用 计算机使用费 ( 2 ) 过去的经验是估计工作量、人员和成本基础。 有可能时,利用类似项目的数据 划分活动时间段 配置软件生命周期各阶段中的工作量、人员和成本估计的分布。 ( 3 ) 评审与认可评估结果及评估过程中所作的假设,并归入文档。 从这个活动中,我们可以很明显地看出,仅仅对于估计工作量和成本,c m m 就 要求了很多历史数据的收集、测量以及文档化,类似于这样的工作,处于初始级的组 织往往不会去做,所以,以前的数据收集是0 ,当组织需要改进软件过程时,在“一 穷二白”的基础上进行,可以想象其困难程度有多大。 一4 ) 软件过程改进也是改变软件工程师习惯的一个过程。制度和过程的制定可以 在较短时间内完成,但是制度和过程的执行者放弃以前的习惯,适应新的规则,并主 动推进规则的改进,则是一个比较长的过程。企业的管理层及项目经理有改进软件过 程的愿望,但是软件工程师们却没有这样的要求,对写软件文档更是采取能省就省、 能不写就不写的态度,“不使用那些方法我们一样做得好”,“那些方法太繁琐,填写 华中科技大学硕士学位论文 的表格也过多,往往是他们的回答。他们提交的主要文档还只停留在维护文档的层面, 如果不是为了后期维护方便,源代码就是他们唯一的可交付成果。然而,软件过程的 主要数据来源就是软件工程师,作为一个可管理的项目,我们所需要的并不只是a 项 目的a 产品,还有项目进行过程中的所有有用的数据,基于数据的改进会让过程更有 意义。 如果我们将企业的项目管理制度建立起来,结合c m m ,就可以为软件项目创造 一个良好的过程改进的环境。 3 1 项目整体管理 项目整体管理确保所有的组成要素在正确的时间组合在一起,以成功地完成项 目。它主要包括【i j : 1 ) 项目计划的制定,一个成功的项目是从计划开始的,在项目整体管理中,需 要收集其他计划编制过程的结果,将它们整合成一个完整协调的项目计划。 2 ) 项目计划的执行,根据项目计划的安排,一步一步地完成所要求的活动,最 终完成计划。 3 ) 整体变更控制,在项目的生命周期中,对变更进行识别、评审和管理,其最 重要的输出是更新后的项目计划、变更措施和教训记录文档。 整体管理的两个重要输出结果就是项目计划与组织结构。 1 ) 项目计划 项目计划中包含了很多项目的基本信息,如:项目名称,发起人名称,项目的可 交付成果,项目责任,项目中各个任务开始结束的时间,项目成本等等。这些信息的 文档化,是个最基本的要求,它记录了项目其本身最基本的属性。然而,在实际的 很多项目中,有关任务定义、任务成本、任务持续时间等却没有写在项目计划中,因 为许多项目成员认为:我们拿到了客户的需求,和客户谈妥了开始时间与结束时间, 就可以开始进行我们的软件过程了;还认为要明确地知道一个任务执行所需的时间似 乎是一个很困难的事情。然而,即使如此,从推进项目进程的角度来说,有一个确定 的时间表比没有要好得多,在这个时间表的确定问题上,项目组并不需要一个很详细 的任务时间表,粗略的或者是较高层次的工作分解结构( w b s ) 才是必需的。在项目 前期,如果是较小的项目,项目经理可以让成员花一周左右的时间来编制这些计划, 华中科技大学硕士学位论文 i i i l _ _ - _ - _ _ _ 自- - - _ _ - _ _ _ _ - _ _ _ = ,_ ;目;= _ i _ t ;目;目= i - _ _ _ _ _ _ _ _ - _ l _ _ _ - l _ - _ _ _ i l _ _ 如果项目较大,时间则需延长,编制的依据是以前类似项目的经验。当粗略的计划完 成之后,可以将成员再分组细化项目计划。 4 1 l 项目计划还包含了有关项目管理方法的信息,如:管理的目标,软件过程的选取 原则,工作范围必须遵循的规范,项目管理环境,项目进度,成本预算及方法,风险 识别与预测等。决定项目成功与否的关键并不在项目其本身的属性,在很大程度上取 决于项目管理的方法。在项目计划里记录项目管理的方法而不仅仅只记录项目计划, 能够更好地为我们以后选择合适的项目管理方法提供参考,记录这些信息,可以对以 后的项目有很大帮助。 2 ) 组织结构 项目团队的组织结构在一定程度上就决定了项目团队成员责任与权力,不同的项 目需要不同的组织结构,对软件质量要求高的项目,可能是以下的结构: 图3 1 组织结构示例l 网站开发项目的组织结构则可能是这种情况: 图3 - 2 组织结构示例2 1 3 华中科技大学硕士学位论文 一= = _ 自= 目目目_ i = = = = ;_ e 目目= ;自 a l | 目; ;i _ 组织结构往往取决于项目的目标,类型 必须保持其稳定性,如果组织结构变更频繁 项目的进度和质量。 2 1 人员构成,公司习惯等。在项目过程中 势必影响到项目成员的稳定性、影响到 组织结构并不仅仅是结构图那么简单,还应该明确内部项目组的人员和功能构 成,他们的职责定义,以及在项目生命周期的每个阶段所处的地位和任务;定义项目 内部组之间以及同项目外的边界和接口,包括和高层管理的接口,分包任务的组织接 口,相关合作组之间的接口,以及各个接口之间的工作方式,如双方如何联系,如果 出现问题和争执如何解决等。 3 2 范围管理 在任何项目开始前期,必须明确项目所要完成的任务,很多失败的项目最主要的 原因就是前期缺少正确的项目定义和范围核实。确定项目范围也是项目管理中最难做 的工作之。 范围是指产生项目产品所包括的所有工作及产生这些产品所用的过程。项目范围 管理是指对项目包括什么不包括什么的定义与控制的过程。整个范围管理过程包括: 启动、范围计划、范围定义、范围核实和范围变更控制。 项目范围说明书:项目范围说明书是范围管理的重要输出文档,是合作双方对项 目需求达成的共识,一般包括:项目论证、产品简述、项目所有可交付成果等。对于 软件开发项目来说,软件需求说明书和项目范围说明书有很大的相似性,其主要目标 就是确定需求,为进一步细化需求打好基础。 范围确定是一个很关键的过程,因为软件开发人员往往只注意用户所提出的表面 需求,对其深层次的需求理解不够,等到了软件实施阶段,才发现有许多需求并不是 刚开始分析的那样。合适的建立模型可以给需求的确定起到很好的效果,如数据流程 图( d f d ,d a t a f l o w d i a g r a m ) ,业务用况图( b u s i n e s s u s ec a s ed i a g r a m ) 等。 工作分解结构:即w o r kb r e a k d o w ns t r u c t u r e ,w b s 是一种以结果为导向的分析方 法,是一种常用的确定工作范围划分工作内容的技术,用于分析项目所涉工作,所 有这些工作构成了项目的整个范围。设计工作分解结构的依据可以有很多种,比如可 以按照产品组成来划分,也可以按照项目生命周期来划分。一个w b s 项的工作内容 华中科技大学硕士学位论文 ;= 目_ _ - # i i - ;= ;= 目i _ = ;= = = = 自= ;= = 自= = ;目_ = = ;目i i 自目;l l l # = = a _ 自 是其下一级各项工作之和。每一项工作只由一人负责。有了、b s 我们可以比较容易 的确定工作的责任、工作的时间等,增加了管理的可视性。下图是某个w b $ 的片断, 任务1 3 “网站整体设计”由子任务1 3 1 ,1 3 2 ,1 3 3 组成,其中l 3 2 又由1 3 2 1 , 1 32 2 。1 3 2 3 和1 3 2 4 组成。 1 3 网站整体设计 1 3 1 网站整体框架概要设计 1 3 2 网站各部分详细设计 1 3 2 1 数据库详细设计 1 3 2 2 艺术设计 1 3 2 ,3 做出网站页面链接原型 1 3 2 4 网站详细设计结束 1 3 3 网站整体设计结束 图3 - 3 工作分解结构片断 在工作范围收集完毕之后,需要“范围核实”,就是与各干系人协商,认可项 目的范围。紧接着的范围变更控制是在项目的实施过程中,对产生的新工作范围或 对前期定义的范围进行增加或修改的控制过程。变更频繁会严重影响项目的进度和 质量,所以要尽可能避免项目范围蔓延,软件开发项目的工作范围不容易一下子确 定,而且范围的变更对软件开发的进度有很大影响,所以软件开发更要保持稳定的 工作范围。 3 3 时间和成本管理 时间和成本,是项目管理很关心的两个要素。对于软件开发项目来说,人的劳力 是最主要的成本,开发时间长,人力成本就高,时间短则低,所以,软件开发项目的 时间和成本有很强的相关性。控制好了时间,软件的成本也会相应得到控制。 项目时间管理包括活动定义、活动排序、活动历时估计、制定进度计划和进度 计划控制。有关活动的定义,可以来自范围说明书和工作分解结构( w b $ ) ,由此可 见,范围确定对后期工作非常重要。 为了增加时间管理的可视性,人们发明了些网络图来帮助活动排序和制定进度 华中科技大学硕士学位论文 计划。排序中常用的网络图方法有箭线图法( a r r o w d i a g r a m m i n gm e t h o d ,a d m ) 和 前导图法( p r e c e d e n c ed i a g r a mm e t h o d ,p d m ) 。用来帮助制定计划的图有甘特图、 关键路径法和p e r t ( p r o g r a m e v a l u a t i o na n d r e v i e w t e c h n i q u e ) 法。 1 ) 活动排序 ( 1 ) 箭线图法( a d m 法) 这是一种用节点间的连线来表示活动的网络制图技术,节点仅仅是一项活动的 开始与结束点。在图中,可以将项目中被分解的子目标作为节点,用直线,也就是 活动将它们连接起来,整个图纸制作完毕之后,也就完成了活动的排序。它的缺点 是,需要使用在实际操作中不存在的虚拟事件( d u m m ya c t i v i t y ) 来连接前后两个 节点。 图3 - 4 箭线图示例 ( 2 ) 前导图法( p d m 法) 前导图和箭线图相反,使用节点表示活动,用节点间的连线表示活动之间的依 赖关系。依赖关系反映了项目活动或任务的顺序。依赖关系有:较强时间逻辑性的 强制依赖关系,人为制定前后时间逻辑的自由依赖关系和与项目外事件相关的外部 依赖关系。 我们较常用到的是强制依赖关系,它还分为【l j : 完成开始( f i n i s h - t o s t a r t f f s ) :a 活动完成之后开始b 活动。 华中科技大学硕士学位论文 一= l = 目= ;= = ;= 目= 4 l l 自= 自 ;= ;目目;i _ _ 目 开始开始( s t a r t t o s t a r t s s ) :a 活动开始时间不能晚于b 。 图3 - 6s s 关系 完成完成( f i n i s h - t o f m i s h f f ) :a 活动完成时间不能晚于b a 图3 7f f 关系 开始完成( s t a r t t o f m i s h s f ) :a 活动必须在b 活动完成之前开始。 图3 - 8s f 关系 与箭线图相比,前导图更加通用,它避免了虚拟活动,活动之间的关系也更加车 富和明确。 2 ) 活动计划 ( 1 ) 甘特图 是一个很传统的管理方法,国外从6 0 年代开始盛行。它通过日历形式列出项目 活动及其相应的开始和结果日期,为反映项目进度信息提供了一种标准格式,易于绘 制与理解,它的主要缺点在于不能反映任务之间的关系和依赖关系。 甘特图的最上方是一个日历,下面列出了所有需要完成的任务,任务中的黑条相 对应的时间,就是当前任务所持续的时间。下图是m s p r o j e c t ( 微软公司的一个项目 华中科技大学硕士学位论文 一;= = ;= = ;= # = ;= ;= ;= ;= = = = = ; 管理软件) 生成的甘特图,左半部分是w b s 。 图3 - 9 甘特图示例 ( 2 ) 关键路径法 关键路径法是种用来预测中体项目历时的项目网络分析技术。一个项目的关键 路径是指系列决定项目最早完成时间的活动。它是项目网络图中最长的路径,并且 有最少的浮动时间或时差。关键路径的确定,对避免项目时间拖延有很好的帮助,项 目经理可以很清楚地看到项目进程中的瓶颈,同时还可以合理地分配项目资源,避免 不必要的赶工。 ( 3 ) p e r t 法 p e r t 法( p r o g r a me v a l u a t i o na n dr e v i e wt e c h n i q u e ) 即计划评审技术,是在具体 活动历时估算存在很大的不确定性时、用来估计项目历时的网络分析技术。它采用概 率时间估计来估算每项工作的历时。 华中科技大学硕士学位论文 ,。+ 4 ,+ f p 。2 厂 丁:加权平均时间 ,。:乐观时间 ,:最可能的时间 ,。:悲观时间 p e r t 的最大优点是它将风险与历时的估计联系起来,它的缺点是工作量对比较 大。 3 ) 时间及成本估算 软件是一种不可见的、复杂的、抽象的逻辑实体,软件产品是一种富于创造性、 创新性的产品。因此,软件开发过程是复杂的思维过程,极大程度上依赖于开发人员 高度的智力投入,其生产方式没有固定的模式,产品无形,难以度量控制,给工作量 的估算带来很大麻烦。但是要估算工作量也不是没有办法的。 软件项目估算方法可以分为三种基本类型:自顶向下、自底向上和差别估算法。 自顶向下的方法是对整个项目的总开发时间和总工作量做出估算,然后将他们按阶 段、步骤和工作单元进行分配。自底向上的方法则正好相反,分别估算出个工作单元 所需要的工作量和开发时间,然后相加,就得出总的工作量和总的开发时间。差别估 算法是将开发项目与一个或多个已完成的类似的项目进行比较,找出某个相似的项目 的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。该方 法的优点是可以提高估算的准确度,缺点是不容易明确“差别”的界限。 具体来讲,可选择使用分解技术和经验估算模型来进行软件项目估算。1 9 l ( 1 ) 分解技术 当一个待解决的问题过于复杂时,可以把它进一步分解,直到分解后的子问题变 得容易解决为止。在计划制定过程中得到的w b s 会在这个时候起到很大的作用。分 别计算出每一个子任务所需要的时间或成本,通过w b s 的方法,可以自动的逐级累 加,从而得到整个项目的估算值。 基于问题的估算 如果采用直接的方法,规模可以用l o c ( 代码行,l i n eo f c o d e ) 来测量。如果选择 间接的方法,规模可以用f p ( 功能点,f u n c t i o np o i n t ) 来表示。l o c 和f p 是两种不 同的估算方法,但两者间有许多共同之处。1 5 1 1 9 1 1 9 华中科技大学硕士学位论文 a 项目计划人员从界定的软件范围开始,并根据项目范围说明将软件分解为可以 被单独估算的功能问题。 b 各功能的l o c 或f p ( 估算交量,计划人员也可以选择其他元素进行规模估算, 诸如类及对象、修改或受到影响的业务过程) 。 c 生产率度量( 如l o c p m 或f v p m ,这里p m 代表人月) 用于变量估算,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论