|
一个软件工厂的诞生
9年前,记者曾就“软件工厂”的事情采访过刘海青。发出去的稿件很快就淡忘了,但是刘海青却没有停止对软件工厂的探索,这一探索就是9年。
——题记
计算机世界报专栏记者:高丽华
听金思维信息技术公司总经理刘海青描述他的软件工厂,越听越感觉得似曾相识――怎么思路酷似CMM(软件能力成熟度模型,一种在全球流行软件工程管理标准)?刘海青笑了笑,取出一本名为《软件能力成熟度模型》的读物说:我一直在研究CMM,也到印度考察过,但我们探索软件工厂可不是照搬CMM。“许多年以前我们就开始软件工厂的尝试了,那时还没有听说过CMM呢”。
这话让记者想起,1992年写过一篇题为“江苏出现软件工厂雏形”的报道,说的是江苏省计算所创办的一家软件公司从建筑业的“脚手架”上得到启发,把软件项目分解成若干个小模块,用组件形式把成熟模块固定下来,为用户提供搭积木式服务,提高软件开发效率的事情。这件事今天不足为奇,出现在9年前却有点不寻常。当时接受采访的总经理正是刘海青,所不同的是那时他的公司还很小,是从省计算所的一个研究室发展而成的,那一年他33岁。
作为记者,发出去的稿件很快就淡忘了,但刘海青却一直没有停止对软件工厂的探索,这一探索就是9年。
用网络改变“小作坊”
9年后的今天,这家当年仅有十几人的公司发展成了一个员工持大股的股份制公司,改名“金思维”,拥有200多名员工,主攻ERP软件,去年营业额5600万,其拳头产品JSERP在去年科技部和“863”计划主题专家组联合组织的全国软件公开评测中荣获ERP软件类第一名,用户遍及机械、汽车、电子、纺织、钢铁、运输等14个行业。
IT行业风高浪急,在这个舞台上的公司轮番上演着“各领风骚两三年”的命运悲剧,象金思维这样十年坚持不懈,默默发展的公司实属难能。尤其是它的高利润率,在竞争对手如林,行业利润走向平均化的今天,这么高的利润从何而来?刘海青说,这正是探索软件工厂结出的果实――因为我们是批量化、标准化的研发与服务,所以我的成本就比别人低。
软件工程的“小作坊”气一直困扰着中国软件企业。刘海青也同样面对这道难题,所不同者,是他在难题面前善于多路径寻找答案。从9年前的“在脚手架上搭积木”,到今天借鉴的CMM“过程透明化”与“持续改进”原则,刘海青慢慢地摸到了办软件工厂的诀窍。
刘海青对软件工厂的运作有许多挺不错的点子,但是他首先谈到了网络――实行网络化运作是个前提,“没有网络,软件工厂所需要的专业分工、严格监理、技术积累和标准化开发与服务都是空谈,网络正在改变软件企业的一切”。
金思维实行的是一种严格细分的专业分工:开发与测试分离、开发与项目实施分离、市场与开发和实施分离;成立中立的技术保障部,担纲监理功能。刘海青说,人们不是不知道专业化分工的好处,所谓术业有专攻,专业化分工可以把每道工序的活做得更漂亮,还可以赋予各个部门独立的职权,从而为严格意义上的测试和监理创造条件。但“知易行难”――缺少实时有效的联系纽带,专业化分工往往演变成各自为政;缺少实时的监控手段,即使专业的监理也难免流于形式。
“有了网络情况就完全不同了”。以开发与实施分离为例,这种模式不再搞“谁开发的谁实施,谁开发的谁维护”,但并不影响开发人员对实施和维护中出现的问题进行解答――网络在这里充当了联系纽带。金思维设立了企业网站,项目的一切服务与维护需求都通过网站下达。这种模式带来的好处是连锁式的:第一,节省了人员,实施人员不必倾巢出动,也不必长期驻扎在用户那里;第二,方便了用户――用户通过网络得到了即时的自助式维护:有问题通过网络咨询;技术支持人员通过网络对用户系统进行修改、调整;第三,由于一切服务与维护由网络记录在案,一切变得有据可查,有问题谁也赖不掉,这为真正意义上的监理创造了条件;第四,一切修改和维护都记录在案,为日后用户升级留下了完整的档案。
“没有网络会是另一个样子”。举例来说,我在项目实施初期派去8个人,实施完后,这8个人还得“扶上马,送一程”。乍一看,厂商的服务很热情,但长远看,却是隐患四伏:由于没有实时的在线记录,8个人就是8个版本,张三做的事情李四不知道,如果张三离开了,李四遇到相同的问题还得从头来一遍。这不仅造成了大量的重复劳动,服务也成了因人而异的事情,缺乏规范,随意性强,厂商劳心费力还得不到积累。不用说,这些问题最终都要影响对用户的反应速度和服务质量。
用标准材料搭建个性化建筑
刘海青对软件工厂的运作模式有一个比喻:用标准的材料搭建个性化建筑。对于ERP这类庞大的管理软件,人们遇到的最棘手的问题就是如何处理通用与专用的矛盾。“通用”的路子是做一件衣服让大家穿,成本是降下来了,但是这件衣服想必谁穿着也不会舒服。为用户量身定做专用系统,“合体”的目的是达到了,但“只做一个”的成本无论厂商还是用户都难以承担,而且对于软件这种产品,“只做一个”水平也无法得到提高。至于那些用手工制作出来的衣服,因为太粗糙,最终也会被用户抛弃。
刘海青确立的原则是把两者结合起来――用标准化的组件为用户搭建个性化的应用系统。他比喻说,我用的砖瓦和预制板是通用的,经过千锤百炼的,剩下来的就是针对不同的用户搭建不同的房屋。“对我来说,用户好象是一个大底盘,我在组件库里储备了大量的应用模块,用户需要什么,就往底盘上插什么”。由于公司的软件结构是由集成平台、总线组成的,把集成平台往用户那里一放,往总线上插组件即可。“我们的组件结构十分小巧,每一个都是原子化的,从网上下载十分方便”。
刘海青说,ERP软件这些年很热,但国内有些ERP软件厂商常常在冒了冒尖之后就沉寂下去了,原因是用户的数量一大就难以为继。难在哪里?一是维护代价太大。如果维护服务不能做到网络化、标准化,就会背上沉重的包袱。二是用户化的设计造成了多版本的包袱。管理软件或多或少总会有些用户化设计问题(即针对用户的二次开发),这些小小的个性化开发当时看问题不大,但如果每个用户都有二次开发,n个用户就会出现n个版本,用户越多,版本越复杂,最后厂商就会被这些版本拖垮。所以金思维给自己确立了一个“不做现场开发”的原则,即对用户的个性化二次开发不在现场完成,所有的订单拿回来交由总工程师统一处理:共性的问题到组件库里抽取组件,个性化问题进行单项处理之后既可解决眼前用户的问题,又会产生新的模块,而新的模块经过“千锤百炼”便又成为新的标准组件。这种方式不仅解决了二次开发的矛盾,还加速了软件产品的版本更新。
软件人员是智能工人
刘海青到印度考察,发现闻名全球的印度软件工程师其实并不比中国的高明多少,他们编的软件也漂亮不到哪去。“但是规范”。这可能正是印度软件产业成功的原因。
为什么“规范”如此重要?刘海青分析说,如果一个应用软件的编程是一天,那么维护就需要10天。为什么维护会比编程难度大?原因是在维护阶段,有更多的人员加入了对这个软件的修改、调试和升级工作,这就带来一个问题:你写的软件不仅要我能看懂、他能看懂,大家都能看懂。如果只有你自己才能看懂,只有你自己才能维护,那就谈不上商品化,也永远走不出小作坊的研发模式。
解决这个问题的关键就是规范。“我用5分钟读懂一个软件和用5小时读懂一个软件,维护代价当然大不一样,哪个软件优,哪个软件劣也一目了然”。因此,金思维考核软件人员,首先考核规范,反对自我发挥、自我欣赏,“用户说好才算好”。
刘海青批评国内软件业有一种偏向,一考核软件人员就是编程技巧。这是颠倒了主次。因为你的编程技巧再高,但你写的东西别人看不懂,技巧再高也是白搭。从这个意义上说,软件人员首先应该是智能工人,即要有生产线“规范化生产”的意识。金思维要求软件人员严格用标准语言写文档,并详细写出解释程序。这种严格要求的结果,便是软件开发过程变得透明化、标准化了。
采访随笔
——“水到渠成”好
采访刘海青之前,记者刚刚在京参加了一个CMM国际论坛,了解到国内一些软件企业喜欢CMM 这块招牌却不习惯它的做法,有的甚至通过了CMM评估也不老老实实去做,嫌它繁锁。因此,当刘海青说他的企业还没有进行CMM评估却已经在按CMM的原则运作软件工厂时,顿时感受到一种可贵的反差。
刘海青认为通过CMM评估应该是一个水到渠成的过程。尽管金思维还没有提出评估申请,但已经在一步一步向目标接近:我们所有的文档都是按CMM的要求做的,操作也按严格规范进行,坚持“过程的透明化”,坚持“对过程持续改进”,只要基础打牢,通过评估就是水到渠成的事情。“如果哪个企业在进行CMM评估或ISO认证之前还在那里翻箱倒柜找文件,突击应付评估师和认证团,那就很可能掺进了水分。”CMM评估费用不菲,我们没有花钱评估却已从CMM精神中受益,这很划算。
在刘海青看来,软件工厂模式还可以使企业从容应对人才流动。软件业是当今最活跃的领域之一,机会一多,人才“跳来跳去”便成了软件企业家的一块心病。解决这一问题最好的办法就是按国际规范做事,而这又涉及到CMM。刘海青认为,CMM在把程序员变成“蓝领”的同时也解决了“流动”给企业带来的危机――过去你这个程序员走了,软件开发就无法进行了。现在有了严格的过程控制和标准文档,开发过程透明化了,一个人不干了,另一个人只要看看文档和标准就能接过来照样干。还有专业化分工和网络运作方式所造就的规范化研发和标准化服务,也程度不同地抹煞了个人的力量,缓解了“流动”给企业带来的损失。自然,达到这一目标,也是个水到渠成的过程――按国际规范做事不是一日之功,需要平时一点一滴的积累。
两个“水到渠成”,透出了一种做事的扎实和持之以恒的韧劲。或许,这也是刘海青和他的企业能走向成功的一个因素。
返回
|