CMM改造用友本文关键字 业内动态 广告 CMM改造用友
目前,软件过程改善成为国内软件行业关注的热点问题,但很多计划导入CMM的软件企业都感觉到业内可资借鉴的经验太少,这使不少公司在这方面都走了一些弯路。记者日前采访了6月份通过CMM Level2的用友公司副总、研发中心总经理邵凯,邵凯用研发人员特有的严谨回顾了用友实施CMM工程的过程,总结了导入CMM使用友发生的变化,并对CMM Level3的形势进行了分析。 记者:作为用友研发中心的总经理,你能否总结一下用友软件开发过程的水平与质量?与国际性成熟的软件企业相比较,有多大的差距?存在哪些问题? 邵凯:我个人认为用友的软件开发处于国内比较先进的水平上,从通过CMM认证的企业来看,除了东软集团外,其他企业都跟我们一样通过的是CMM Level2,我们虽然通过的也是二级,但我们这一次是全公司研发中心350多人的规模通过,而且我们很多要素的打分都在优秀以上(七分以上),而据我所知,很多国内企业通过时则仅仅是合格(六分),这证明了我们的软件开发过程改善的整体水平。至于与国际上比较成熟的软件企业来比较,差距还是很大的。我们仅仅通过二级,但印度已经有20多个公司通过五级了。我想有两个方面的差距就比较明显,首先,我们对开发过程中文件的管理比较弱,这是一个软件企业开发应遵循的程序与规范,这是需要长时间培养才能形成的习惯;第二个差距就是包括用友在内的中国软件企业缺乏一些高水平的软件开发管理人员和软件结构设计人员,以及由这些人形成的软件开发管理团队。 对于用友的软件开发过程改善,我们很早就开始了。1997年10月,我们通过了ISO 9001的认证,它使用友的软件开发形成了一套体系,并且能够监控这一体系的运行。但这个体系运行到1999年的时候,我们发现软件开发不能完全按照一个阶段一个阶段地或者是一道一道的工序这样的方式去做,因为它是一个复杂的、交互的智力创造活动,所以,实施CMM是我们很早就计划要做的一件事。 记者:就目前而言,软件开发的阶段与角色是如何分配的? 邵凯:总的来说,目前对于软件开发已经不能用阶段划分的方法了,比较新的方式包括演化模型,螺旋模型等,当做下一阶段任务的时候,可能会影响上一个阶段的变化,开发体系的模型要能够支持这个过程,在这个版本里面达到成熟,而不是把最初的需求写完。但是,不论采取什么模型,还是可以把软件开发过程分成几个阶段的,不同的产品和不同的版本有不同的开发周期和阶段,对于新产品的开发大概有八个阶段,包括市场调研阶段、需求分析阶段、架构设计阶段、详细设计阶段、编码阶段、测试阶段,然后是用户试用阶段,最后是产品的发版(即RELEASE),这是比较传统阶段划分,有的时候可能更细一点。 在市场和用户需求调研阶段,要定义目标市场,接下来在目标市场里面,针对典型用户进行详细的需求调研,调研之后就要对这个需求进行分析。 在需求分析之后,是小产品的就开始产品的设计,是大产品的就开始软件结构的设计,这里包含了两个阶段,就是总体设计和软件设计。这个阶段完了之后就开始进行一些公共技术的开发,但不会马上深入到程序编码,会考虑开发一些公共的组件。比如说供应链的软件,进销存的单据是非常非常重要的,可能就先做单据这一块,把单据里面涉及到的所有软件过程开发出来。之后,把一些公共的数据先做出来,比如像供应商、客户、商品、库存编码等。接下来,要分成小组具体来做,比如说分为采购、销售、库存等,这是详细设计的阶段。最后,开始大面积的分组产品的编码。 在编码过程中就开始进行测试,我们有七道关来把握测试。第一道测试就是白盒测试,就是程序员对程序员的测试;第二道是产品的单元测试,是指一个产品最小的组件和产品单元测试;第三道就是需求分析人员对产品是不是能够满足需求这的测试,叫做需求确认测试;第四道就是链条和集成的测试;第五道是用户模拟测试;第六道就是回到样板用户里面,去做用户来确认测试;第七道是产品发版审核测试,产品能不能上市,这一道的测试说了算。 品质保证是贯穿在整个开发过程当中的,我们的第一阶段品质保证就是要求市场和调研分析人员必须保证产品的说明、定义符合目标市场的要求;第二阶段保证,就是保证详细的需求分析符合产品的定义;第三阶段的保证是保证产品架构设计符合相应的设计准则;第四阶段的保证就是看设计文档是不是真正能够说明它已经设计了需求;第五个阶段的保证就是看代码跟设计文档是否完全一致,是否符合规范,效率是不是达到标准;接下来,才是测试阶段这样保证;最后还有产品一致性的保证,比如说文档、说明书、手册、界面跟所有文档是否一致。这是品质保证的检查点是贯穿于的软件产品开发过程中。 用友软件开发的角色分配包括产品经理、需求分析人员、设计人员、程序员、测试人员、质量保证人员(SQA)、配置管理人员(SCM)以及用户教育人员。产品经理的职责是负责产品详细的需求分析和设计,组织开发团队进行开发,跟市场进行接触和沟通。在需求调研阶段,测试人员要开始整理测试方法,在软件设计完毕之后,测试人员就应该把测试方案做出来,提交评审。然后是不断去补充测试用例和数据,代码出来之后主要是以运行和验证为主,产品发布之后,测试人员要总结和整理原来的测试方案是不是有效,所以说,那种临时抽调人员进行测试的方式可能是五年前的了。测试人员有很多,有的可能是比较有经验的用户,而且要选择那些善于挑毛病,善于去捕捉一些细节东西。从专业的角度看有程序设计人员、有学财务的、有学管理的等。 记者:用友何时开始计划CMM的实施?先后接受过什么培训? 邵凯:用友第一次接触CMM大概是在1996年,那时我们在思考规范的软件开发体系该怎么建,国标基本都是ISO 9001的标准。当时我们请了一些人来讲课,清华大学郑仁杰教授给我们讲国际规范的时候提到了CMM,并且请他介绍了一些知识,但我们当时比较难操作,于是就开始跟踪CMM。1999年年中的时候,我们开始请摩托罗拉公司具有这方面经验的人进行交流,又邀请较早通过CMM二级的鼎新公司进行研讨。后来我们就开始决定从满足ISO 9001开始逐渐地支持CMM标准和框架,到1999年底的时候,我们在公司内部进行了几次研讨和有关资料的整理。2000年8月份开始下决心实施CMM,2000年12月成立了CMM推进小组,我是组长。 在做CMM的过程中,我们跟北航软件工程研究所的周伯生老师及其助手吴超英有着密切的合作,我们的很多的培训是请他们做的,当然也请了路透集团来给我们做非常高水平的培训。在此期间我参加了大概有三四次关于CMM的研讨会,比如北京软件行业协会、北京市软件促进中心等举办的推进CMM和推进软件标准化的研讨会和活动。 当然,用友成立了专门的CMM推进小组,他们受到了全面而且有深度的CMM理论实践和方法的培训。对员工和开发经理也进行了CMM普及性培训,给他们讲CMM的原理及方法。对全体员工有两三次类似的培训。 记者:CMM推进小组属于什么性质的组织?有多少人?向谁汇报?有什么职权? 邵凯:CMM推进小组是2000年12月成立的,一开始是四五个人,目前有12个人,都是专职的。这个小组的组长是我本人,但我授权两个助手来推进。同时,他们两个人所在的部门也组成了一个新的开发管理机构,叫做开发管理部。他们具有很大的职权,能够约束开发过程,保证软件开发过程按照CMM的标准运行。开发管理部可以就开发经理、开发人员在执行CMM规范方面的执行情况进行打分,对他们进行考评和考核。这样的管理部门以前也有,不过是针对ISO 9001成立的,叫做质量管理部,人员比较少,而且其他的工作也多,真正负责的人也就是两三个,而开发管理部的人员编制目前是12个专职员工。 开发管理部的职责和角色有两个。一个就是规范的管理者和CMM的监控、推进的责任人,同时,他们也担当着开发助理的角色,即帮助开发经理如何很规范地开发过程做好,如何有效地组织开发阶段,帮助开发经理管理好开发过程中的每一件事情,做好助手的工作,这个角色我们叫做开发助理。这样,他们的角色就不会是让人感到是找茬挑刺的警察,而是解决问题的助手,开发经理们不仅非常配合,而且也非常需要。目前,每一个开发经理都感到没有开发管理部和SQA、SCM三种角色的配合,开发工作就没办法进行下去。 记者:在实施CMM Level2的过程中,是否遇到过比较大的阻力?作为开发软件产品的企业,与进行项目承包的软件企业相比,有哪些不同的困难? 邵凯:因为我们是产品化的软件公司,我们一直处在在竞争的浪尖上,很难腾出时间、精力和资源去做一些基础性的工作,而且实施ISO 9001和CMM标准的事情,都是耗时、费力的,而且需要主管参与,而结果是长期才能看到的,所以困难要比那些单纯做项目的公司多一些。但是为了使用友的软件开发过程不断优化,我们还是非常执着地去做这件事情。尽管,我们也有非常矛盾和冲突的时候,比如在我们去年过完春节安排CMM沟通会上,一些开发经理说,今年的开发任务非常紧张,一些产品必须按时推向市场,实施CMM恐怕会耽误新产品的发布,而这关系到与竞争对手新一轮的较量,但我们还是说服大家坚持下去了。 记者:作为企业里直接负责研发的总经理,你感觉实施CMM以来,是否发生了一些令你感到比较深刻的变化,比如在管理方式上或者沟通技巧上? 邵凯:我的确感受到了一些变化,首先是观念上的转变,也可以说是管理文化上的改进。使我受到启发的是我们的评估师给我们做预评估时沟通和表达的技巧与方式,有一次他说如果你们改进这样的一些地方,你们就会有很好的提高,他没有说,你看,你们用友公司这个地方很差。他的这种方式让所有参加会议的开发经理们都很受用。除此之外,评估师还很乐意去找人聊天,他与员工谈得很透彻。此后,我也开始注意沟通的方式以及谈话的技巧了。我不再埋怨员工说,事情怎么搞的这么糟,你下次能不能给我交个好东西过来,而是跟开发经理以商量的口吻说怎么才能做地更好,有没有更好的办法。以前,开发经理们都有一种担心,因为他们认为我是研发中心的总经理,有否决权,许多问题都不敢跟我说,他们担心自己的工作被否了怎么办。现在,我的工作方式不再是让他们担心被否掉,而是让他们畅所欲言,在评审会上,我都会总结这一个版本板跟上一板有多少提高,有多少创造,跟同行比起来会怎么样,还有没有改进的机会,是否还会有创造性的做法,我们胜过竞争对手的机会在哪里,这会使大家很振奋;而以前是谈他们是不是规范,是不是标准,是不是合格,总是一些一开始就不愉快的、打击人的积极性的话题。 我有时与王总畅谈,如果开发人员很喜欢用友这个环境,很喜欢我们之间的合作关系,很喜欢这个企业,又很喜欢这种收入,闭上眼睛想吧,用友肯定会结出更好的果子的。我去印度班加罗尔考察Infosys公司时,发现他们的开发人员工作在一个很大的园子里,那里的亭子没有玻璃,一年四季都像春天一样,园区里任何一个食品都可以随便拿的,咖啡都可以随便去倒,大家可以随便地聊天,上班的时间都不重要,他们就是在这样非常宽松的环境里工作的。所以,你现在可以发现,用友的四层和五层,开发人员可以随便取用食品和咖啡,可以去聊天。我们注意到了一种开发者的文化环境的建立。 记者:很多专家说CMM Level3对国内软件企业来说是一道门槛,用友如何看待这一问题?如何规划CMM Level3的实施? 邵凯:我们争取计划在年内通过三级的认证。三级的确是一个门槛,为了确定三级的目标,我们在密云封闭开了将近两天的会。我们总结认为,二级比较容易一点,而三级就不一样了。二级是可重复级,可重复级就是规范级,要求有很规范的文档;而三级是定义级,它要求你对很多东西有一个很好的思路和想法,你需要知道什么事情会做的更好,而且你很清楚什么事情该怎么做,而不是简单的重复。我们有几项比较薄弱的地方就是软件过程的集成、组间协作以及过程标准方面,这也是CMM Level3的关键点,也是我们要尽力改善的关键点。例如组间协作,这需要高级经理的积极推进,而在中国软件企业的开发团队里,组间的协作能力是比较差的,这是一个长期的文化改变的问题。又比如软件过程方面,CMM Level3要求过程的标准定义方面非常到位,而用友的过程标准定义能力还是不足的,我们无法说清楚软件错误的概率是几个西格码,我现在大概能说到4,但国外的软件企业可以说到6,像摩托罗拉就喊到了7,我只能感觉到4肯定是不行的。另外,还有很多技术和团队方面标准在在三级里面必须突破,而且这个突破要带领整个研发中心突破,而不是某几个人突破,难度是非常大的。 如果您希望与本文章的作者或其所在机构,进一步交流,请联系:姜小姐 jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系 |
|
|
|