软件开发商:如何实现高效管理

详细信息请参见: http://media.ccidnet.com/art/3019/20070117/1003419_1.html

软件开发的规模化和全球化趋势给开发团队的效率管理带来挑战。传统的开发模式是将一个大项目细分成多个小项目,由相互独立的团队分头 工作,最后合成一个构件(Build)进行测试。开发规模的增大、团队的多区域分布和开发周期的延长,大大降低了这种开发模式的效率,使测试中发现的缺陷 得不到及时解决,而项目管理层更不能及时了解项目的进展和出现的问题。如果一个几十个人的团队经过一个月的工作最终没有通过测试而需要返工,引起的损失可 能不仅仅只是这几十个人的时间,而是产品发布的拖延和市场的丢失。

那如何改进这种情况?

无论是大型还是小型软件开发商都要融入软件开发的全球竞争,那么就需要引进先进的国际标准规范(如ISO 9000、CMMI),通过评估认证来规范软件开发过程管理。而同时在软件开发这个充满创意的领域,运用系统组织的思维、先进灵动的工具服务于过程管理, 提高开发效率,也是企业发展过程中不可小瞧的力量。

案例: 高级电子表格软件的开发商RxLaser 公司运用TechExcel 的跟踪工具DevTrack,通过自动操作和控制软件开发及客户自定义过程,实现持续成长,提高产品质量,赢得客户的满意,是个具体而有借鉴意义的尝试。

开发规模增大带来的混乱

位于美国加利福尼亚州布瑞亚市的RxLaser 公司作为高级电子表格软件的开发商,其软件产品通过一个服务器平台与客户使用的软件集成,支持打印、传真、收发电子邮件、EDI和数据存档,并可以按照每 个用户的需要进行全方位定制。

过去的十年,众多公司用传真或电子邮件替代了点阵打印表格,不必再花费56美分邮寄一个发票的复印件,节约了大量成本。 RxLaser 公司将这种进步移植到电子表格上,成为业界领先者。

但成功和快速增长也带来了许多新的挑战,他们必须解决这些问题以保持其领先地位。他们曾使用过一个内部开发系统来跟踪所有的 开发和定制化项目。随着业务量的快速增长,系统不堪重负。他们的客户数量在三年间从700多家增长到6000多家,如果没有一个可靠的跟踪解决方案,公司 业务将处于危险之中。

“我们不能应对日常事务。”公司总裁罗伯特说:“形势已经不在控制中了。当我们拿到一份文件的时候,我们不知道这份单子已经 搁置了多久,我们原本打算如何实施。我们的业务增长得太快了,而越来越多的客户感到不满意。我们只有两种选择:要么寻找合适的跟踪系统,要么被淘汰出 局。”

精准问题跟踪避免重复作业

RxLaser 公司的开发团队迅速评估和比较了市场上的许多跟踪工具。大约两周后,罗伯特发现他的所有员工都选用DevTrack。“每个人都很喜欢它,因为它快速轻松 地满足了所有人的需求。”罗伯特说:“我的员工要求我购买它,他们甚至告诉我,如果我不这么做,他们就不能工作。”

现在,公司将其用于两个业务领域:开发团队和定制化编程,提高了软件开发的效率。开发团队负责运行、维护和管理电子表格软件系统,定 制化团队则针对客户的具体细节要求编写对应的表格。

罗伯特认为,在任何软件开发项目中提高效率的关键,都是通过精确跟踪项目的每一部份来避免重复性工作。当把一个完整软件分解 成许多程序片段,并把这些片段分配给不同的开发人员时,每个人的工作会有与其他人工作重叠的倾向。

而DevTrack 就能使每个开发人员在任何时间都能清楚知道其他人在做些什么。当一些人完成一子项目,他们可以轻松地看到这个子项目和其它子项目如何连接,然后把这些片段 无重叠地连接起来,避免了许多重复性工作。此外,管理者还可以看到每一个程序员在开发什么功能,这使得他们可以轻松地管理和跟踪整个项目。

“编写代码时,重复性的工作使公司既费时又费钱,并且不能按时交付。”罗伯特说:“重复是研发工作的最大破坏者。我们的产品 需要多人参与,并要在规定日期前完成,如果我们不能按时完成,将损失数目可观的收入和机会,这是时间管理的问题,而DevTrack 为我们很好地解决了这个问题。”

多人合作开发,项目很容易失去控制。每个人都在处理项目中相同部分的不同片段,这很容易让人产生混淆,很快他们就会发现不知 道对方在做些什么。DevTrack 协调团队工作,在任何时候都可以把一项编程工作转交他人。

延伸应用于内部沟通和客户服务

现在,RxLaser 公司用DevTrack 来制定工作进度,协调服务器产品的功能添加、缺陷修复以及功能增强工作。罗伯特介绍,DevTrack 使整个修改工作的管理和协调非常容易,比如有一个开发人员负责项目中很大一块工作,利用DevTrack,他的上级就能准确地知道他当前的工作内容和时间 限制,而其他人也都可以看到他每天的工作进程。

最初,RxLaser 公司用它做问题跟踪,由于简单易用,后来被用来做工序跟踪。客户安装电子表格软件过程相当紧张,一旦有新客户登录,他们就会为客户发出标准表格,以基于客 户独特的需要进行调整。经过相关人员设计调整和客户授权确认,该调整就发送给定制化编程部门,程序员采用修订过的标准,并将变化集成到用户自定义的表格, 最后的产品再次发送给客户,等待最终的认可和安装。整个客户安装过程利用DevTrack 管理和跟踪工作流和状态,程序员能准确地知道过去3-4个月里的工作,并能在停止的地方准确地重新启动。

罗伯特说:“使用DevTrack 的最大收益,就是RxLaser 的行业领先地位得以保持。除了帮助我们跟踪客户的优先级和需求,我们还可以使用它来管理设计员、程序员和客户之间的日常内部活动,管理并记录设计人员、编 程人员以及客户间的日常交流,这样每个人都可以在任何时候知道问题的进展,并将其继续推进。生病的或是其他部门的员工也可以通过其中的记录,清楚地知道他 下一步要为客户做什么,以及客户什么时候需要这些服务。”

研究视点一:跟踪工具的行业应用

工欲善其事,必先利其器。软件开发厂商也是一样,要做到高效的软件开发和过程管理,必须选择运用灵活先进的开发管理工具。早在30年 前大师弗雷德里克?布鲁克斯就曾形象地论述说系统开发工作就像一个焦油坑,无论是大型、小型,庞杂、精干的开发团队都在其中挣扎,没有谁能挣脱束缚。这种 情况到现在也还是如此——很少有软件项目满足目标、进度和预算的要求。做软件开发项目delay 是正常的,这已是圈内人士的共识。

众所周知,对于传统制造企业,其流程和现场管理提高生产效率至关重要,在此基础上产生的JIT生产管理方式堪称一代经典。同样道理, 对于人们看不见的产品——软件的设计开发过程来说,也是一样需要有方法、有工具来帮助实现提高其对应的生产效率。

作为问题跟踪功能实现的产品,目前市场上已经有几家或单独成品,或镶嵌在平台之内实现该功能(如TechExcel 的DevTrack 和IBM Rational 的Clear Quest 等)。TechExcel 的DevTrack 赢得RxLaser 信赖的关键,是它通过对项目中的每一个任务或细节的精确跟踪,并借助可轻松配置的智能化工作流,使项目参与者能够清楚地知道并执行自己的工作,避免了重复 劳动,增强了团队沟通,提高了开发效率。

在国外,整体信息化水平相对比较高,所以IT以外的行业的软件开发和项目管理也是很愿意用工具管理实现的。图一是 DevTrack全球用户行业分布图,可以看得出软件厂商是其主要客户,但同时政府机关也在用其做流程管理,教育机构也可以买它做实验室的项目管理。

研究视点二:工具的集成

单打独斗的工具成不了气候,平台化的系列工具软件是其作用最大化的有效途径。DevTrack 是TechExcel DevSuite 产品系列中的一部分,该系列围绕知识核心,无缝集成了从设计规划到产品发布所需的所有ALM软件,帮助数以千计像RxLaser一样行业领先的企业实现了 科学、愉悦、成熟的开发管理。厂商选择、运用适合自己的集成工具实现开发过程管理。根据发展历史和客户需求以及市场环境的不同,软件开发商的运用工具管理 的模式也不同,下面以测试驱动的缺陷跟踪管理、规划驱动的项目管理、需求驱动的产品开发管理三种模式为例来阐述。

测试驱动缺陷跟踪管理模式:某全球领先的软件企业有超过3000多个程序员和测试员在使用DevSuite 中的DevTrack 和DevTest 模块来分别跟踪编程缺陷和管理测试过程。测试团队可以建立各种测试模版并为各个发布和构建制订测试计划和项目,测试过程中所发现的缺陷能直接建立新的缺陷 任务,开发团队解决的缺陷将进行新一轮的测试,如此往复直至完成。这种模式改善了大型开发团队和测试团队间的配合和沟通,确保每个缺陷得到有效的处理。但 是项目管理层和设计人员却不能通过这样的模式来主动监控和指导项目的进展,只能根据测试结果做出被动的反应。

规划驱动项目管理模式:某大型的美国游戏企业通过使用DevSuite 中的DevPlan 和DevTrack 模块组合来改善管理监控。这个模式中的DevTrack包括一个管理层工作项目和多个下属的开发组工作项目。项目经理用DevPlan来细分和规划项目, 并与DevTrack中的管理层工作项目相连。而管理层工作项目中的每个功能或缺陷任务又与开发组工作项目中的多个工作任务相联系。这样,一个项目经理的 每个工作任务都被细分并分派给多个程序员或小组,从而使他能有效确保按计划实施项目。这种模式能有效管理控制开发过程、周期、预算和人员,但是子任务的变 化和新功能的增加给整个过程的效率带来挑战。

需求驱动产品开发管理模式:有些企业进一步要求把需求管理也纳入DevSuite 系统,以提高整个应用生命周期的管理效率。DevSpec就是管理需求制订并整合项目规划和实施的模块。使用它,产品经理能够规划各个产品版本的功能要求 并管理设计文档,以确保实施团队充分理解设计团队的概念产品,减少不必要的重复和废工,最终产生理想的实际产品。

这些模式其实难分优劣,实际运用效果取决于企业自身的开发环境和实施力度,是否选择了适合自己的模式和工具并恰当地运用。同 类企业在不同阶段可以运用不同模式,而不同企业也可以统一模式,运用得当能帮助企业提高30%左右的开发效率。

研究视点三:本土软件厂商如何做

目前国内软件开发整体来讲应该说还处于初级阶段,总体来看规模小、数量多、专业化程度低是目前国内软件开发商的特点。

开发团队有几千、上万人的大厂商要注重过程管理,参与全球竞争。而即便是开发团队只有几人、几十人的小厂商,虽然内部面对面沟通比较 有效,但要融入全球产业链,与大客户的沟通,基于大项目的外包合作开发,要求其必须规范其过程管理。

就像当年制造业从美国到日本再到中国、越南等的外包转移一样,现在的全球软件产业也在外包转移。目前软件产品的核心概念设计、项 目管理在美国实现,而开发、编码、测试以及产品维护等外包给印度、俄罗斯、爱尔兰、中国等国家。这是中国软件厂商的机遇,根据自身的开发环境和特点,选择 先进灵动的工具规范过程管理,提高开发效率,积极融入全球产业竞争,应该是本土软件厂商的正途。

更多新闻 >

售后服务平台登录

用户名:

密码:

登录

分享到微信朋友圈