(计算机应用技术专业论文)对日软件外包项目的过程及质量管理研究.pdf_第1页
(计算机应用技术专业论文)对日软件外包项目的过程及质量管理研究.pdf_第2页
(计算机应用技术专业论文)对日软件外包项目的过程及质量管理研究.pdf_第3页
(计算机应用技术专业论文)对日软件外包项目的过程及质量管理研究.pdf_第4页
(计算机应用技术专业论文)对日软件外包项目的过程及质量管理研究.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(计算机应用技术专业论文)对日软件外包项目的过程及质量管理研究.pdf.pdf 免费下载

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

文档简介

大连理工大学硕上学位论文 摘要 中国的软件出口每年也在以一个惊人的速度飞快增长。对同软件出口在其中占据了 相当大的比重。如何提升企业在对日软件外包项目上的软件过程管理能力成为了当前研 究的一个热点,也是对日软件出口企业亟待解决的问题。 c m m 作为软件过程改进的指南及评估标准,己经得到了众多国家软件产业界的认 可,并且在北美、欧洲和只本等国家及地区得到了广泛的应用。但由于中国软件产业起 步较晚,在c m m 实施方面,尤其是对日软件外包领域的具体实践方面还缺少经验。多 为中小型的对日软件出口企业对于如何将c m m 应用到对日软件外包项目的过程管理中 仍然存在许多的疑虑。 论文研究和分析了国内外软件项目管理的技术和方法,在此基础上结合具体软件项 目管理的实例,给出了对日外包项目的一套过程和质量管理方法。以c m m 3 级的实践 经验结合外包项目的特点,给出了软件过程定义及裁减的实施指导。在分析影响对日外 包项目质量因素的基础上,具体给出了日本外包项目的开发流程、数据收集和度量、需 求理解、评审、质量分析和评价、进度管理、沟通、人员培训l 的方法。 论文通过两个实际项目的数据比较,来进一步说明了这些方法对于外包项目的质量 提高带来的实际效果。它不仅提高了项目的质量,更是增强了开发人员的质量意识。 根据笔者的统计,在采用了这些方法以后,项目的质量平均可以提高约2 0 ,开发 人员的效率平均可以提高1 5 左右。当然任何管理方法都不会是一蹴而就的,总是遵循 着p d c a 这样一个循环渐进的过程,但是它可以引导我们的质量管理朝好的方向发展, 逐步提高对日外包项目的质量。 论文最后还给出了一个质量管理辅助系统的实现。 关键词:对日外包项目;过程;质量管理;质量评价 查垄堡:! 查堂堡主堂焦堡垄 r e s e a r c ho f j a p a no u t s o u r c i n gs o f t w a r ep r o j e c t sp r o c e s sa n dq u a l i t y m a n a g e m e n t a b s t r a c t t h ea n n u a la m o u n to fc h i n a ss o f t w a r ee x p o r ti n c r e a s er a p i d l y t h es o f t w a r ee x p o r t e d t oj a p a nh a so c c u p i e dab i ge x p o r tm a r k e t h o wt oi m p r o v et h ej a p a no u t s o u r c i n gs o f t w a r e p r o c e s sm a n a g e m e n th a sb e c o m eah o tt o p i c i ti sa l s oa nu r g e n tp r o b l e mt os o l v e a sag u i d e l i n ef o rt h es o f t w a r ep r o c e s si m p r o v e m e n t ,c m mh a sb e e na d o p t e di nm o s t c o u n t r i e so ra r e a ss u c ha sn o r t ha m e r i c a n ,e u r o p ea n dj a p a n h o w e v e r ,i nc h i n at h ec m m p r a c t i c ei ss t i l li n s u f f i c i e n t ,e s p e c i a l l yi nt h ed o m a i no fj a p a no u t s o u r c i n gs o f t w a r e m o s t c o m p a n i e ss t i l ld o u b tf o rt h ea p p l i c a t i o no fc m m i nt h e i rj a p a no u t s o u r c i n gs o f t w a r ep r o j e c t t h ep a p e ri n v e s t i g a t e sa n da n a l y s e st h et e c h n o l o g ya n dm e t h o d so fs o f t w a r ep r o j e c t m a n a g e m e n th o m ea n da b r o a d c o m b i n i n gw i t ht h es p e c i f i ci n s t a n c e so fs o f t w a r ep r o j e c t m a n a g e m e n t ,i td e l i v e r s as e to fp r o c e s sa n dq u a l i t ym a n a g e m e n tm e t h o d sf o rj a p a n o u t - s o u r c i n g s o f t w a r e p r o j e c t s i ta l s oe l a b o r a t e ss o f t w a r e p r o c e s s d e f i n i t i o na n d i m p l e m e n t a t i o ng u i d a n c eo ft a i l o r i n gb yi n t e g r a t i n gp r a c t i c a le x p e r i e n c eo fc m m 3w i t ht h e f e a t u r eo fo u t s o u r c i n gp r o j e c t so nt h eb a s i so fa n a l y z i n gq u a l i t ye l e m e n t s i n f l u e n c i n g s o f t w a r ed e v e l o p m e n tf o rj a p a n e s ec u s t o m e r s ,i ts p e c i f i e st h ed e v e l o p m e n tp r o c e s s ,d a t a c o l l e c t i o na n dm e a s u r e m e n t , r e q u i r e m e n tu n d e r s t a n d i n g , r e v i e w , q u a l i t ya n a l y s i sa n d e v a l u a t i o n ,p r o g r e s sm a n a g e m e n t ,c o m m u n i c a t i o na sw e l la sw a y st ot r a i nt h ep e r s o n n e lf o r j a p a no u t - s o u r c i n gs o f t w a r ep r o j e c t s t h ea u t h o re x p l a i n st h ea c t u a le f f e c to ft h en u m e r i cm a n a g e m e n ta c c o r d i n gt ot h e c o m p a r ef r o mt w of a c m a lp r o j e c t sd a t a i tc a nn o to n l yi n c r e a s et h ep r o j e c tq u a l i t y ,b u ta l s o b u i l d u pt h ed e v e l o p e r sq u a l i t yc o n s c i o u s n e s sv i at h em e t h o d a c c o r d i n gt ot h ea u t h o r ss t a t t h eq u a l i t yo ft h ep r o j e c tc a nb ei m p r o v e da b o u t15 a v e r a g e l ya n dt h ee f f i c i e n c yo fd e v e l o p e rc a nb ei n c r e a s e da b o u t10 a v e m g e l ya f t e ru s i n g t h e s em e t h o d s c e r t a i n l y ,a n ym a n a g e m e n tm e t h o d sw i l ln o ts u c c e s sa to n c e ,b e c a u s ei ti sa p r o c e s s o fp d c a ,t h ee f f e c tc a nn o ti n c a r n a t e sg r a d u a l l y ,b u ti tc a nl e a do u rq u a l i t y m a n a g e m e n tt og o o dw a y a n de n h a n c et h eq u a l i t yb yd e g r e e s i nt h ee n d ,t h ep a p e ra l s op r o v i d e saq u a l i t ym a n a g e m e n ts u p p o r ts y s t e m sd e v e l o p m e n t k e yw o r d s :j a p a no u t s o u r c i n g s o f t w a r ep r o j e c t ;s o f t w a r e p r o c e s s ;q u a l i t y m a n a g e m e n t ;q u a l i t ye v a l u a t i o n 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 沦文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均己在论文中做了明确的说明并表示了谢意。 作者签名:磕趣盖塾 日期: 人连理t 大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论 文。 作者签名 导师签名 查盘查之 垄透 二堕l 年月旦日 大连理工大学硕士学位论文 引言 软件机构在经过很多年的探索和实践中,意识到实质性问题是缺乏管理软件过程的 能力。基于此软件工程研究所( s o f t w a r ee n g i n e e r i n gi n s t i t u t e ,s e i ) 提出了软件能力成熟度 模型s w c m m ( c a p a b i l i t ym a t u r i t ym o d e lf o rs o f t w a r e ,c m m ) 。c m m 描述了有效的软 件过程改进的框架,描述了从混乱的、不成熟的软件过程向成熟的、有纪律的软件过程 改进的一条途径。c m m 涵盖了有关计划、设计和管理软件开发和维护的实践,软件机 构只要遵循这些实践,就能够提高该机构的能力,以满足成本、进度计划、功能及产品 质量等目标。 随着目前国内对日软件外包企业的兴起,大量的日本外包项目从大型日本企业发单 过来,不仅促进了国内经济的增长,更是带动了国内软件企业的整体提升。但是接单容 易做单难,要真正做好日本外包项目,就不那么简单了。日本项目和国内项目有着太多 的不同之处,文档的数量多、管理的精度高、质量的要求严。那么如何保障和提高日本 外包项目的质量? 如何通过一些有效的过程方法来支持项目经理和整个项目组成员更 好的完成项目,达到日方的质量要求? 这就是在这篇论文中将要论述的。 论文的选题范围包括软件工程范畴,软件质量管理范畴,软件过程管理和软件度量 范畴。 对日软件外包项目的过程及质量管理研究 1 项目管理理论概述 1 1 什么是项目管理 所谓项目,就是在一定的期间内,以创造原本不存在的东西为目的而实施的一连串 的活动。制造东西换句话说就是“创造新的事物”,“制造新的产品”,“利用新的r r 系统”等等直到现在没有的新东西。 从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺 利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件 项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化 成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟, 企业越能够稳定发展( a p 减小开发风险) 。 1 2p m b o k 中关于项目管理的九个知识领域和五个过程组 1 2 1 项目管理的九个知识领域 项目管理包括以下九个知识领域: ( 1 ) 项目综合管理 项目综合管理包括保证项目各要素相互协调所需要的过程。为满足或超越项目干系 人的需要和期望,它需要在相互影响的项目目标和方案中做出权衡。它包括项目计划编 制、项目计划执行和综合变更控制。 ( 2 1 项目范围管理 项目范围管理包括保证项目包含且仅包含所有为顺利完成项目所需的全部工作所 需要的过程。它主要涉及定义及控制项目应该包括或不包括的内容。它包括启动、范围 计划编制,范围定义、范围核实和范围变更控制。 ( 3 ) 项目时间管理 项目时间管理包括为确保项目按时完成所需的各个过程。它包括活动定义、活动排 序、活动历时估算、进度计划编制和进度控制。 ( 4 ) 项目成本管理 项目成本管理是保证在批准预算内完成项目所需要的过程。它包括资源计划编制、 成本估算、成本预算和成本控制。 ( 5 ) 项目质量管理 大连理工大学硕士学位论文 项目质量管理包括了保证项目满足目标要求所需要的过程。它涵盖了“全面管理职 能的所有活动,这些活动确定质量方针、目标和职责并在质量体系中通过编制质量计划、 质量控制、质量保证和质量提高等措施决定着对质量政策的执行、对质量目标的完成以 及对质量责任的履行”i l l 。它包括质量计划编制、质量保证和质量控制。 ( 6 ) 项目人力资源管理 项目人力资源管理包括保证参加项目的人员能够被最有效使用所需要的过程。它包 括组织计划编制、人员获取和团队发展。 ( 7 ) 项目沟通管理 项目沟通管理包括确保及时、正确的产生、收集、发布和储存以及最终处理项目信 息所需要的过程。项目沟通管理把成功所必须的因素一人、思想和信息之间提供了一个 重要联系。参与项目的任何人都必须做好发送和接收信息的准备,并且必须理解他们以 个人身份参与的沟通怎样影响整个项目。它包括沟通计划编制、信息分发、绩效报告和 管理收尾。 ( 8 ) 项目风险管理 项目风险管理是对项目风险进行识别、分析和应对的系统化过程。它包括把对于项 目目标而言正面事件的概率和影响结果扩到最大和把负面事件的概率和影响结果减少 到最小。它包括风险管理计划编制、风险识别、风险定性分析、风险定量分析、风险应 对计划编制和风险监控。 ( 9 ) 项目采购管理 项目采购管理包括为达到项目范围而从执行组织之外获取货物和服务的过程。它包 括采购计划编制、编制询价计划、询价、供方选择、合同管理和合同收尾。 1 2 2 项目管理的五个过程组 ( 1 ) 启动过程组 批准一个项目或阶段。 ( 2 ) 计划编制过程组 界定和改进目标,从各种备选的行动方案中选择最好的方案,以实现所承担项目所 要求达到的目标。 ( 3 ) 执行过程组 协调人力和其他资源,执行计划。 ( 4 ) 控制过程组 对日软件外包项目的过程及质量管理研究 通过定期监控和测量进展情况,确定与计划存在的偏差,以便在必要时采取纠正措 施,从而确保项目目标的实现。 ( 5 ) 收尾过程组 项目或阶段的正式验收,并且有序地结束该项目或阶段。 过程组通过他们创造的成果相互联系一每个过程组的结果或输出是另一个过程组的输 入。在核心过程组中,过程组反复进行联系一在项目前期,计划编制过程为执行过程提 供了一份书面的项目计划文件,并随着项目进展不断提供修正后的计划文件。另外,项 目管理过程组不是相互分立的、一次性的事件;在整个项目的每一个阶段它们都会不同 程度的相互交迭,图1 1 表示了过程组是如何交迭。 过程 相互 作用 的程 度 开始 时间 完成 图1 1 项目过程组间的相互作用 f i g 1 1r e l a t i o n s h i p sa m o n gt h ep r o c e s sg r o u p s 1 2 3 项目管理过程和九个知识领域、五个过程组的关系 表1 1 表示了4 4 个项目管理过程同启动、规划、执行、控制和收尾5 个项目管理过 程组及9 个项目管理知识领域的关系。 每一个必要的项目管理过程都与大部分活动所在的过程组对应起来。例如,当某个 通常属于规划过程组的过程在执行期间重新使用或更新之后,该过程仍然是在规划过程 中进行的同一过程,而不是另外的新过程。 一4 大连理工大学硕七学位论文 表1 1 项目管理过程和九个知识领域、五个过程组的关系 t a b 1 1r e l a t i o n s h i p sa m o n gt h ep r o j e c tm a n a g e m e n tp r o c e s s k n o w l e d g ea l c a sa n dp r o c e s sg r o u p s 项目整体管理 项目范围管理 项目时间管理 项目费用管理 项目质量管理 项目人力资源 管理 项目沟通管理 项目风险管理 项目采购管理 制定项目制定项目管理计划指导与管理项监控项目工作 项目 章程目执行整体变更控制收尾 制定项目 初步范围 说明书 范嗣规划 范围定义 制作工作分解结构 活动定义 活动排序 活动资源估算 活动持续时间估算 制定进度表 费用估算 费用预算 质量规划 人力资源规划 沟通规划 实施质量保证 项目团队组建 项目团队建设 信息发布 风险管理规划 风险识别 定性风险分析 定量风险分析 风险应对规划 采购与征购规划询价 发包规划卖方选择 范围核实 范围控制 进度控制 费用控制 实施质量控制 项目团队管理 绩效发布 利害关系者管理 风险监控 合同管理合同 收尾 一5 一 对日软件外包项目的过程及质量管理研究 2 对日外包项目介绍 2 1 概述 日本外包项目一般就是日本i t 企业利用中国的人力成本优势,将自己的开发项目 发包到国内的软件企业,按照他们的设计要求,品质和进度完成开发任务。就目前来说, 国内较多的单子还是以编码和测试为主,部分外包成熟的企业可以接到详细设计及概要 设计的业务。 2 2 主要特点 日本软件公司有一套成熟的软件开发规范和质量控制体系,非常重视的软件工程规 范问题。在开发过程中,严格遵守国际规范和已经成熟的先进的软件工程方法。在外包 中需要关注日本软件开发的特点以及外包给中国部分的软件开发特点。 2 2 1 日本软件开发的特点 ( 1 ) 计划性强 日本软件企业重视软件工程,重视软件开发阶段的界定,强调阶段性审查和结束准 则,要求各阶段结束时提交相应的成果物。整个开发过程中的工程活动和管理活动都体 现在计划内。项目的时间表分为大日程,中日程,小日程。其中大日程把各个工程阶段 作为一个或几个任务来管理,用来全面地把握项目的进程。小日程则细化到每个工程阶 段的每个任务,每个作业人员每天预定执行的任务都得以体现,用来指导具体的实施。 中日程则介予二者之间。 ( 2 ) 重视度量和分析 没有度量和分析,就很难做出正确的评价,改善也就无从着手。从项目规模,进度, 成本,缺陷,需求变更,测试,评审等各个方面合环节都进行度量,而且精度都要求很 高。以数据、图表、模型等形式对项目事项加以描绘,进而为判断和决策提供了依据。 此外,积累的数据为今后其他项目的估计起到了很好的参考作用。 ( 3 ) 重视事实和依据 日本软件企业在软件开发工程中,各项决策都基于明确的依据成了一种习惯意识。 规模估算、进度估算、成本估算、人员估算,都需要说明理由,而不是仅仅凭借经验甚 至感觉做出判断:进度调整、质量评估、人员追加,仍然需要提出变更的原因;作业提 案,改善建议等都需要通过调查分析阐述相应的依据。尽可能排除直观感觉可能带来的 误差甚至错误,通过切实有效的数据来反映事实状况,并通过这些数据来判断发展趋势。 大连理工大学硕士学位论文 ( 4 ) 风险意识强 在整个项目周期,风险需要持续识别和化解。日本的软件开发管理者通过数据及各 种报告及时识别风险,制定风险发生时的防范措施。对于项目进行中发生的重大问题, 除了及时进行处理以外,会进行原因分析并制定出再次发生的策略,并向所有的相关人 员展开。此外,在选择外包伙伴时,日本企业会同时考察多个公司,通过各种渠道了解 这些公司,并最终择优选择,有效地防范了外包中的风险。 ( 5 ) 安全意识强 有效信息安全可以防范不必要的损失,同时可以得到客户的信任。臼本企业为了做 到安全,采取了全面的预防措施: 注重软件开发企业环境的安全,关注项目相关人员的进出制度以及项目信息的 披露范围; 注重项目开发数据的备份,以及严格的审批登记制度,避免因为意外情形甚至 不可抗力带来的损失和破坏; 注重病毒防范,采取严格的多重病毒防范措施,避免病毒感染可能带来的威胁 和损失; 注意数据传输工程中的加密,防止信息被窃; 专人负责软件开发安全问题,全方位采取预防措施,并在发现问题征兆时及时 报告,彻底清除存在的隐患。 ( 6 ) 重视沟通 报告,联络,商谈是日本软件企业进行沟通的通常方式f 2 1 。管理者普遍认为如果没 有很好的使用这些方式进行沟通,则工作就不能顺利推进。 报告:定期或不定期的向上级报告自己的工作进展情况。随时让上级了解状况, 而不是等着上级询问才给与回答。 联络:向上级,同级或下属随时联络自己或小组的预定活动;发现问题时也随 时联系,做到充分的信息共享。 商谈:工作中遇到问题时,通过向同事或上级咨询,以集体智慧加以解决。 ( 7 ) 重视文档 日本在软件开发中,注重文档的编制和管理。其文档特点为:注重文件结构,条理 清晰;注重详尽完备,没有遗漏;注重使用图表、索引以及用于解释。不管是正式的发 布文档,还是日常的交流文档,都从基于用户的角度去书写。文档本身就是软件产品的 一部分,没有正式文档的软件开发,就不是正规标准的软件开发。文档化能力反映着项 目开发过程中的能见度能力;文档化能增进项目相关人员沟通的效果;文档化能将以往 对日软件外包项目的过程及质量管理研究 项目开发工作中的经验用于未来的开发之中。软件开发过程中还强调记录及时,充分, 准确。这些记录包括:重要邮件、会议记录、评审记录、缺陷记录、测试报告、变更台 帐等等。 2 2 2 外包软件开发的特点 由于对日软件外包项e l 受到语言、地域、文化差异等因素的影响,与众多国内的软 件项目相比,甚至与同为软件出口的欧美软件外包项目相比,在软件过程的某些领域, 对日软件外包项目仍有其独有的特点。因此,要想掌握对日软件外包项目中的技能,找 出存在的问题并加以解决,首先必须先了解对日软件外包项目开发过程中的特点。 ( 1 ) 项目需求是客户提供,项目需求是多种类型的,可以是需求文档,还可以是设 计文档 ( 2 ) 大多数软件外包项目的生命周期不完整,无需进行需求分析和软件维护;软件 外包项目的开发周期,在时间上是需要严格遵从客户要求进行交付 ( 3 ) 技术含量不高,通常遵照客户提供的需求设计文档就可进行编码,不需要进行 架构设计 ( 4 ) 开发流程、规范、模板必须使用和客户确认后的 ( 5 ) 部分软件外包项目的交付会分批进行纳品,而用户需求也会分批确认 ( 6 ) 绝大多数非常注重与客户对需求的确认、变更和跟踪 ( 7 ) 大多数必须非常规范地进行开发,对同行评审的要求比较高 ( 8 ) 对项目计划的规模估算相对准确,并对计划跟踪与控制的要求比较高 目前软件外包正在悄然发生一些微妙的变化。笔者身处其中,深深感受到了这种变 化。在过去,日本企业外包给中国的项目往往是一些功能比较单一的模块,对中国软件 企业在技术、管理方面的要求都比较低。对曰软件外包企业通常只能得到底层的编码工 作,所要做的工作只是将接近伪代码的设计书翻译成程序语言。而近年来随着中方在对 日软件外包项目中经验的积累、日方为了进一步降低项目的成本,日方企业开始逐渐将 一些上游工程的工作外包给中国公司,甚至在前期就要求介入需求分析的工作。日方开 始越来越多地要求中方企业参与到整个项目的管理及各个环节的工作中去。这种改变给 中国的软件企业带来了更多学习和成长的机会。但同时,它也对中方企业在对日外包项 目的过程管理能力提出了更高的要求。 大连理工大学硕士学位论文 3 软件过程管理 3 1 软件过程 术语“过程”对不同的人来说意味着不同的事情。所以明确地定义他在软件开发或 支持环境中的意义非常重要。“一个过程可以定义为有关于人员,材料,能量,设备, 和被设计来产生特殊结果的工作活动的规程等的一个逻辑性组织。g a b r i e lp a l l 1 9 8 7 ”【3 1 , 这个定义不同于软件能力成熟度模型c m m l 1 中对过程和软件过程的定义,它把过程看 作一个步骤序列,人在工具和设备的辅助下执行这些步骤序列,把原料变为产品。把人 员,材料,能量和工具包括在过程概念中,对当用统计过程控制原理来改进过程性能和 过程能力时是非常重要的,使用可变性的度量来寻求改进产品质量和过程能力是有利的 时机。为与过程的广义观点一致,本文所用的软件过程这个术语不仅仅是一个组织的总 的软件过程,而且是一个软件项目或部门所使用的任何过程或子过程。我们可以认为软 件过程的概念适用于任何可以确认的活动,这种活动负责生产或支持一种软件产品或服 务。它包括计划、估计、设计、编码、测试、检查,评审、度量和控制,以及组成这些 活动的子活动。 3 2 软件过程管理 软件过程管理是指成功地管理软件产品和加强软件系统的开发,维护和支持活动的 工作过程。通过成功的管理,要该过程生产的产品和服务完全符合国内外客户的要求, 并且达到该组织对生产该产品的商业目标。 过程管理概念以统计过程控制原理为基础,这些原理说明了通过建立和维持可变性 的稳定水平,过程将会产生可预测的结果。那么就可以说过程处于统计控制之下。这些 首先由w a l t e r s h e w h a r t 提出:“当一种现象被称为可控的,是指通过利用过去的经验, 我门可以预测其在未来会怎么发生变化。w a l t e r a 。s h c w h a r t 。1 9 3 1 ”1 3 】。 稳定的过程能够预测未来的结果,而受控的过程是稳定的过程。因此,可以制订可 以实现的计划,满足成本,预算,进度上的承诺,提供所需产品功能与质量,并且具有 明显的一致性。如果个受控的过程不能够满足用户的要求,或者其他的那些商业目标, 那么这个过程就必须改进或者重新定义目标。软件过程管理的目标是在该组织内的每一 个过程都能够确保是可以得到预测的,并且是满足客户要求的,以及不断地得到改进。 9 对日软件外包项目的过程及质量管理研究 3 3 度量在过程中的应用 由于技术进步,在前所未有的广泛应用领域内不断地对更大型的、更健壮的和更可 靠的软件提出更多的需求。相应地对软件管理的需求也在增长。软件开发人员和维护人 员持续地面临新的技术,管理人员和市场人员面临着更加激烈的市场竞争、更快的需求 响应。同时,他们又在不断面对无边际的需求、无控制的变更、不足的测试、不充分的 培训、缺乏经验的进度安排、不足的资金,和由标准等带来的问题而困惑。 “软件度量本身并不能解决这些问题,但是它可以澄清并聚焦于你对这些问题的理 解。进一步说,当对产品和过程的质量属性进行有序度量后,可以为管理和执行过程改 进活动提供一个有效的基础。” 4 1 。每个成功的软件组织都是基于对生产的产品的准确 预测和承诺相关的。有效的度量过程可以帮助软件组织认清自己的能力,并进一步为他 们的生产和服务制订出可行的计划。度量还能够使人们找到变化趋势和预测出现的问 题,因此可以更好地控制成本、减少风险,改进质量,确保实现商业目标【5 1 。简单地说, 那些可以确定重要事件和趋势的度量方法,以及能够识别出有用信息的度量方法,对于 指导软件组织做出缜密的决策是非常有帮助的。 3 4 过程管理的关键活动 过程管理包括四个关键活动:定义过程、度量过程、控制过程、改进过程。作为对 比,项目管理的责任是看一个软件产品按照计划开发,并且计划是切实可行的。因而项 目管理的主要目标是建立和完成可实现的承诺:考虑到成本,进度,交付功能,和投入 市场的时间。但是没有优先的过程管理活动,项目管理者们在建立和完成承诺中会出现 重大的风险。图3 1 中,表示了过程管理的四种关键活动的关系。 图3 1 过程管理的四个关键活动 f i g 3 1f o u r k e y a c t i v i t i e s o f s o f t w a r e p r o c e s s m a n a g e m e n t g r a p h 下面,本文将对这四种关键活动进行简要的描述。 ( 1 ) 定义过程 大连理工大学硕士学位论文 定义一个软件过程的目的是为了管理和控制这个过程,定义过程要实现的目标是: 设计的过程能满足或支持商业和技术目标 确定和定义与过程性能相关的问题,模型和度量指标 提供支持软件活动的基础设备,配套的方法,人员和时问 确保软件组织有执行和维护那些过程的能力( 技能,培训,工具,设备和资金) ( 2 ) 度量过程 度量检测对接受性能的偏差。他们也是识别过程改进机会的基础。过程度量的关键 目标是选择度量每个过程性能的数据。 评估过程稳定性和能力 解释观察和分析的结果 预测未来成本和性能 提供基线和基准 判断发展趋势 识别改进机会 ( 3 ) 控制过程 控制一个过程是使过程的各项性能处于正常的界限内,也就是使过程行为保持一致 性,包括: 决定过程是否处于控制中( 例如:度量性能的内在可变性是稳定的。) 识别过程异常所导致的性能偏差( 可确定原因) 。 消除可确定原因的来源,从而使过程稳定。 当一个过程处于控制中,必须采取持续改进活动,包括监控,度量,设定基准和对 过程的评价等活动来强化对定义好的过程的使用【6 1 。 ( 4 ) 改进过程 一个过程即使处于控制中,它也不一定能产生满足客户需要的或组织商业目标的产 品。对大多数组织,过程必须有技术竞争力,可适应,及时性,以及始终能够可以生产 出满足客户需求和商业目标的产品。更多的,资源必须可用,能够满足运行和支持这些 过程的,可通过对过程作一些改变,以提高过程目前的能力,或者使用其它更有效的子 过程替代现有的过程等手段来达到过程改进的目的。无论采取什么措施,一个组织的过 程改进目标是: 理解现有过程的特点和对过程能力的影响 计划、评估和执行那些将要改变过程的措施,使过程更好地满足商业目标 评价风险和效益,并把它们与改变过程的成本进行比较 对日软件外包项目的过程及质量管理研究 3 5c 删能力成熟度模型 软件工程在信息化发达国家已经成为一门新兴的学科,得到广泛的研究和实践。早 在1 9 8 4 年,美国国防部为了改善大型软件系统项目的成功率,资助卡内基梅隆大学成 立了软件工程研究所( s e i ) ,研究影响软件工程成功的关键因素和软件开发组织能力 的评估方法。通常所说的c m m 是指“软件能力成熟度模型”,其英文全称为“c a p a b i l i t y m a t u r i t ym o d e lf o rs o f t w a r e ”,英文缩写为s w c m m ,简称c m m 7 。 c m m 从一个软件开发组织开发软件的过程成熟度来评估其软件能力。它将一个组 织软件开发成熟度分成5 个等级,c m m l - - - c m m 5 。c m m 模型共包括1 8 个关键过程域, 它们在五个能力等级中的分布如图3 2 。 图3 2 能力成熟度模型( c 埘) 1 8 个关键过程域 f i g 3 2t h ek e yp r o c e s sa r e ag r a p ho f c m m 从图3 2 中可以看到c m m 提出的框架中,将十八个关键过程域分成五个成熟度级 别,为持续的过程改进提供了成功的基础。这五个成熟度级别包括c m m 2 的需求管理, 项目计划,项目跟踪与监控,子合同管理,软件质量保证,配置管理;c m m 3 的组织过 大连理工大学硕士学位论文 程焦点,组织过程定义,培训大纲,继承软件管理,软件产品工程,组建协调,同行评 审;c m m 4 的定量过程管理,软件质量管理;c m m 5 的缺陷预防,技术变更管理,过 程变更管理。每达到更高的一级,都需要满足上一个级别的过程域,同时也意味着达到 了相应级别的过程能力,它为测量某一个机构的软件过程成熟度以及评价其软件过程能 力定义了一个有序的级别,同时也帮助组织在安排其过程改进工作时分清轻重缓急。 从这些内容看,c m m 是提高软件组织能力的一个模型,c m m 关注的是组织的整 体而不是某个项目个体。当成熟度级别提高时,就产生了过程改进,而熟练地管理持续 的过程变更也是c m m 5 的特征。 对日软件外包项目的过程及质量管理研究 4 日本外包软件项目过程定义及裁减 c m m 依据项目特点对过程进行裁减,日本外包项目的裁减几乎是必然的。 4 1 c m m 3 级一已定义级的实践经验 在己定义级上,整个组织的开发和维护软件的标准过程已文档化,包括软件工程过 程和软件管理过程,而且这些过程被集成为一有机的整体。在c m m 中的所有地方,均 称此标准过程为组织标准软件过程。运用等级3 上所建立( 适当时,经更改) 的过程,以 帮助软件经理和技术人员工作得更有效。组织在使其软件过程标准化时,利用有效的软 件工程实践。存在一个负责组织软件过程活动的组,例如软件工程过程组( s e p g ) ,实施 整个组织的培训计划以保证职员和经理具有履行其职责所必须的知识和技能。 项目通过剪裁组织标准软件过程去建立他们自己定义的软件过程,它说明项目独有 的特征。在c m m 中,这种剪裁后的过程称作项目定义软件过程。一个已定义软件过程 包含一组协调的、集成的、妥善定义的软件工程过程和管理过程。妥善定义的过程可以 特征化为具有准备就绪判据、输入、标准、进行工作的规程、验证机制( 例如同行评审) 、 输出以及完成判据【s 】。因为软件过程已妥善定义,管理者就能洞察所有项目的技术进展。 等级3 组织的软件过程能力可概括为标准的和一致的,因为无论软件工程活动还是 管理活动,过程都是稳定的和可重复的。在所建立的各种产品线( p r o d u e t l i n e s ) p q ,成本、 进度和功能性均受控,对软件质量也进行跟踪。这种过程能力建立在整个组织范围内对 已定义过程中的活动、角色和职责的共同理解之上。 4 1 1o s s p 和p d s p 的关系 o s s p 就是组织标准软件过程,p d s p 就是项目定义软件过程。首先,本文首先来思 考o s s p 和p d s p 的来源,然后再来确定o s s p 和p d s p 之间的关系: ( 1 ) o s s p 基本上存在两个来源 借鉴业界曾经和现有的方法,工具,流释。比如开发周期有瀑布模式s p i r a l e v o 模型;设计方法如结构化设计,0 0 设计;配置管理如c 1 e a r c 勰e ,c v s 等工具。 积累已经完成项目的经验,创建一个o s s p 。 在这两个来源中,后者更为重要。如果要o s s p 要具有真正的生命力,本文认为, 后者更加现实些。无论项目如何重要,如何开发时间紧张,都要努力去建设一套适合自 身软件企业发展的过程。过程定义,必须具有两项原则: 不能为建立流程而写流程 来源于项目底层 大连理工大学硕士学位论文 ( 2 ) p d s p 的来源 正在实施c m m 的软件企业都知道,所有开发的项目需根据这个标准软件过程,依 据该项目的特点剪裁出本项目的过程,并执行这些过程。过程的剪裁不是随意的,在使 用前需经过企业有关人员的批准。从这点意义上说,p d s p 源自o s s p 。 ( 3 ) o s s p 和p d s p 的关系 o s s p 指导项目实施,在项目实施后总结经验并进行提炼,不断改进完善o s s p ,这 就是具有复杂的项目生命周期模型的外包软件项目的c m m 实践必经之路。要使得o s s p 有效指导项目实雄,并确保p d s p 切切实实地被执行,就必须为软件外包项目选取合适 的项目生命周期,并对p d s p 进行合理裁减。o s s p 和p d s p 的关系如图4 1 。 图4 10 s s p 和p d s p 的关系图 f i g 4 1r e l a t i o n s h i p sg r a p hb e t w e e no s s pa n dp d s p 对日软件外包项目的过程及质鼍管理研究 4 1 2 外包软件企业的裁减过程 首先,需要对外包软件企业的项目特征进行研究,并分析外包软件项目中可能存在 的几种软件生命周期。在本文2 2 1 章节中,曾经讨论过外包软件企业的项目特征。 在研究了外包软件项目的生命周期和项目特征后,必须对软件外包项目进行风险和 不确定进行分析,从而制定软件生命周期选择指导和软件过程裁减准则和指南。 当组织级标准软件过程建立后,并根据外包软件企业的业务特点,制定了合理可行 的软件生命周期选择指导和软件过程裁减准则和指南以后,针对每个外包软件项目实施 时需要根据项目自身的特征,并依据组织级生命周期选择指导和裁减指南,定义p d s p , 确保所选择的生命周期模型适合项目实施的需要,经过裁减后的项目软件过程能够被有 效执行。裁减过程如图4 2 所示。 软件生命周期选i 觥导一7 一一一 过 栏 巴一 程 裁 减 l 项目风险和不确l。 杉 l 龇撕一7 l - , 裁减准则和指南 图4 2 裁减过程 f i g 4 2t a i l o r i n gp r o c e s s 外包软件项目例子很多,主要有下列几种情况: 进行一个新产品的调研 产品的独立测试 产品特性功能性的移植 对于开发原型,应该采用编码和修正生命周期模型,外包改造项目,开发d e m o 程 序等。对于需要将软件移植到其它环境中的开发,应该采用移植生命周期模型。对于外 大连理丁= 大学硕士学位论文 包测试的项目,应该采用软件测试生命周期模型。对于缺陷修补和小的增进,应该采用 缺陷修补生命周期模型。 如图4 3 所示,对多个已完成项目的信息进行总结归纳,并提炼形成o s s p 。裁减 后的项目定义软件过程,其实就是针对个别外包软件项目的“定身量体”,具有适应性、 可行性。如果照搬组织级标准软件过程,可能就不一定适合项目自身的项目特征和实施 要求。但是,p d s p 裁减并不可以随意裁减。必须依据组织所规定的裁减指南,并且得 到s e p g 认可和批准。软件过程裁减指南必须遵循下列原则: 如果顾客对过程提出要求,则必须遵循: 遵循o s s p 中的各个过程中提出的剪裁指南 剪裁后不得降低工程师的生产率 剪裁后不得降低产品质量 剪裁后不得降低对工作进展的可视性( 跟踪) 剪裁后不会对产品增加不必要的管理和控制 剪裁后的活动能有足够的人力支持 在成本核算上,剪裁后的活动是有效的,经费能足以支持 例如对于小项目,如果剪裁后项目定义过程中,要求许多会议,导致使生产率降低, 则不符合剪裁准则。剪裁的o s s p 的某项关键实践,必须说明理由,并记载在p d s p 中。 过程裁减也可以有替代实践。但必须阐述理由在项目的p d s p 中进行描述。项目定义的 过程p d s p 必须得到s e p g 的批准。 圈 图4 3 过程裁减体系 f i g 4 3t a i l o r i n gs y s t e mo f p r o c e s s 对日软件外包项目的过程及质昔管理研究 4 2 软件过程裁减实施指导 4 2 1p d s p 裁减过程描述 由于软件项目特殊的需求,很多时候在项目中无法遵循组织标准软件过程。取决于 项目的特性和别的限制,可能需要裁减组织标准软件过程,或偏离于过程,或放弃一个 特定的过程【9 】。 p d s p 是一篇描述被项目在其执行中所用到的工程过程的文档。在此项目定义了一 个项目特定的过程,过程的定义一定要有足够的细节来使项目的团队可以理解它并遵从 它。过程可以根据o s s p 进行裁减并且任何裁减都应该在项目计划的合适部分中被文档 化。p d s p 同p p ,q p 和s c m p 一同组成了框架。这个框架将会由组织级s q a 和项目s q a 来进行过程以执行审计。表4 1 给出了p d s p 裁减过程所涉及到的项目过程种类。 表4 1p d s p 裁减过程所涉及到的项目过程种类 t a b 4 1p r o j e c tp r o c e s sc a t e g o r yr e l a t i o n st op d s p 软件企业各开发部门将会定期地整理部门级的放弃和偏离,并提交给s e

温馨提示

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

评论

0/150

提交评论