软件需求与问题解决

转载 2015年12月15日 09:36:09
(一) 
   小满当上项目经理后不久,参与了一个大项目。当时市场签下来的时候,公司里面是欢天喜地的。项目做了一年多。到了交付的时候,用户却很不满意,当初说好的东西,好多都变了卦。
   用户是上帝,最关键的是如果收不到后面的钱,那就算白干了。公司要求项目组加班加点的修改。搞得大家是怨声载道的。做市场的和做开发的相互指责,然后,大家又一起骂客户刻薄。公司里面弥漫着灰心丧气的气氛。
   小满觉得郁闷的很,就跑去跟老鸟聊,看他有什么主意。 
   老鸟听了小满的一通抱怨,说:“很正常。以前我们也经常遇到这样的情况。很多案例说明,失败是一开始就注定了的。”

  (二) 
   老鸟说:“你们怎么跟客户谈论或确定需求?” 
   小满想也不想就说:“他们市场先谈单,估计人家需要做什么。然后,我们这边就派一个技术的人过去了解需求,拿一些对方的表格和笔记回来。好像都差不多。” 
   老鸟说:“然后呢?” 
   小满说:“我们做好一个需求文档,罗列出开发功能要点。附在合同的后面。大体上就是这样。” 
   老鸟说:“看起来没啥问题。好像还很严密。” 
   小满说:“你的意思是有问题?” 
   老鸟没说话,从旁边拿了一张纸,用铅笔在纸上画了两个圆。问小满:“你说,这是啥?” 
   小满说:“两个圆。” 
   老鸟摇摇头:“是两个鸡蛋。” 
   小满觉得老鸟很无聊,不耐烦的说:“好吧,就算两个鸡蛋。” 
   老鸟摇摇头:“不是,这不是鸡蛋。这是两个乒乓球。” 
   小满不知老鸟在暗示什么。他在听。 
   老鸟说:“我看到的东西,和你看到的东西,不一样。但是,在纸上,画的是同样的两个圈。” 
   小满说:“哦。” 
   老鸟说:“你们去询问需求,然后做了一个文档。你们头脑里的东西,跟客户要的东西,其实是不一样的。但是,大家都认为这样白纸黑字,基本上是一样的。这里面其实有差异。这种差异,有时影响不大,但有时,是致命的。毕竟文档,不是最终的实物。”
   老鸟说:“客户永远认为,他是把需求给你讲清楚了的。如果你做不到,不是他的责任。而且,你要记住一点,用户只有在见到或使用过实物的时候,他才知道他其实要的是什么东西。”
   小满点头:“最后这句话,我严重同意。可是,要按你的说法,那用户和我们就永远不可能真正存在沟通一样?哪不成了虚无主义了吗?” 
   老鸟说:“我说的是这样一种情况:如果你不了解客户的业务,或者真正熟悉它的行业规则的时候。你需要更严谨的方式来询问和确定需求。否则,那些落在纸上的文字和文字之间,埋藏着数也数不完的陷阱。”
   小满说:“那你们一般怎么做?” 
   老鸟说:“开始一样,还是会有一个初步的文档。但是在合同签下来后,会有一个相对时间较长的需求的再确认过程,我们会和客户一起来走一个流程。然后,我们会把大家商业的结果,转换成最终的设计,用PPT把它的操作界面和业务流程都模拟出来,让用户有身临其境的感觉。在正式开工以前,给客户汇报。到此为止,我们并不做任何真正的编码工作。”
   小满说:“这样做,还是很花时间,效果如何呢?” 
   老鸟说:“相对于搞错了需求,重新开发,这是最合算的了。很多人都不愿意这样做,最后,项目没完,人都跑光了。这种事情,也是不少啊。” 
   小满说:“这样看来,我们的需求是比较简单了。如果遇到理解偏差,就会出大问题。” 
   老鸟说:“需求阶段过于匆忙,也会出问题。比如说,客户忙,随便给你找一个表格,就跟你说,我要的就是这个。或者有些用户就直接告诉你,他要怎样怎样。” 
   小满疑惑了:“客户不都是这样吗?有何问题呢?” 
   老鸟说:“客户没有问题。而是去问的人要格外的小心了。他要注意一下客户的立场:客户关注自己要的结果,但是每个人关注的东西不同。比如说领导不关心过程,关注结果;实际做事的人希望不要给他们增加过多的工作任务,越傻瓜越省事越好;部门级的人关心新系统是否剥夺了他们的权力,如果是这样的话,他们一般会给你找各种理由搪塞;而系统管理员,关心技术和安全。总之,每个人都各怀心事。需求是多种多样的。还有一些人,他就象一个设计者一样,跟你说,让你跟着他的思路走。其实,都需要仔细记录,认真掂量。”
   小满说:“如何掂量?” 
   老鸟说:“多问自己几个问题。他们的问题来自于哪些方面?真正的问题是什么?是谁的问题?哪些问题是可以简单的,哪些是比较复杂的。”
   老鸟说:“我遇到很多次了,很多人去做需求,以为拿着本子记下来就好了。其实,很多时候,都没那么简单。觉得简单,是因为很多人认为从技术上设计这类的软件,简直是小菜一碟。但是,他没有想到的是,很多问题是不可能光靠软件就能解决的。”
   “有一次,有位客户气急败坏的来找我,他说他要设计一套软件,加强管理。我问他起因。他说他下面店的经理,因为山高皇帝远,经常想方设法隐藏收入。我说:这种管理的软件多的很,不需要单独开发。你需要的不是一套软件,而是一套相应的监督机制。”
   “结果,他就是坚持要做,他觉得要把所有的店控制起来。他不想买现成的。现成的有些特别的功能满足不了。” 
   小满插了一句:“客户都希望自己的东西是独一无二的。” 
   老鸟说:“你猜后来的结果如何?我们简单做了一个非常简单的设计,报了一个天价。他自己再没吭气了。” 
   小满说:“你们损失了一个客户,不觉得可惜吗?” 
   老鸟说:“我们经过了仔细的询问和调查。一是他的需求很奇怪,贪大贪全。而且要求的时间比较紧。但是他的价格,我们做不出来。” 
   小满说:“他为何不找其他的帮他做呢?” 
   老鸟说:“太大的公司,人家没空做你这些。太小的,他又不放心,当然,还有一个重要的原因,也是我们最后打算放弃的真正原因。” 
   “他找我们做软件,解决下属公司的问题,并不是他真正的需求。我们有一次讨论的时候,他说高兴了,自己说漏嘴了。他说他正在跟香港某公司谈融资的问题,对方对管理要求很高。”
   “当时,我就想:哦,这是一锤子的买卖。如果要做的话,我们要不吃亏才好。所以,我们就说了一个价格,把他吓跑了。” 
   小满笑了。 
   老鸟说:“你看,我们白谈了20多天。结果就这样完了。所以,尊重客户,也要尊重自己。不要把客户当傻瓜,也不要让自己做傻瓜。” 
   小满说:“你从哪儿学到这一套的?” 
   老鸟说:“告诉你,所以的秘密都在这里” 
   他递过来一本书。书名叫《你的灯亮着吗?》。 
   老鸟说:“这是要学习思考问题的人的必读书,也是项目经理的必读书之一。” 
   
  (三) 
   小满向老鸟借书。老鸟坚决不肯。小满知道老鸟其他都很慷慨,除了书以外。他自己买了一本,并作了一些摘要。 
   小满是这样写的: 
   怎么去寻找一个问题的解决方案? 
   【1】首先要确定问题从哪儿来? 
   【2】然后确定是谁的问题? 
   【3】发现真正的问题所在; 
   【4】在特定的层面上理解问题,并寻求合理的解决方案; 
   【5】有时,人们真的需要去解决他们所认为的问题吗? 
   小满还写下了自己对专业的理解: 
   什么是真正的专业呢?过去,我一直以为有了专业技术,就算专业了。现在,看来还远远不够。有技术的人,容易犯一个错误,就是把专业当一个万用的榔头,看见什么问题,都想用榔头把它敲下去。但是,很多问题,不是光用榔头就能解决的。
   所以,并不是一开始就把榔头亮出来,而是多问自己几个相关的问题。有时,思考比榔头好用的多。多样化的思考,会让你以简洁有效的方式去思考问题。而不是迷失在快速搞定事情的方向上。
   指责客户是没用的。但是,你可以思考,发现问题的真正所在,用内心的灯去照亮前进中的道路。



华为研发

前言

 

    如果有人问我“你在华为研发的日子里快乐吗?”,我会很负责任地告诉他“在华为研发工作的那段时间,是我一生中最快乐的时光。”而且这也是很多早期华为研发人员的共识。当年有人曾说“华为研发部是工程师的天堂”,这句话并不为过。所以,我在写这本书的过程中,内心充满了对华为研发工作时甜蜜的回忆,和对华为为何能成功做到这一点的追索。

    促使我提起笔来写《华为研发》的原因,既有这几年随着华为步入1000亿元人民币销售大关后,社会上对于华为公司的过于神化——认为华为压根不可学,中国不可能再有第二个华为;又有社会上某些对华为公司尤其是研发人员管理方面的种种误读。由于今天的华为已成为中国研发的一张“名片”,成为全球拥有最多研发专利的企业,因此社会上还有一种较为普遍的误解,以为华为公司从一开始就是把“鸡蛋”放在研发一个“篮子”里的。但其实,华为也是从贸工技起步的,并不充满神化和魔力,华为强大的研发实力并非一日之功;华为的研发道路有着其一步步自然发展的历程,并非遥不可及。我作为这一过程的见证者,希望能还原历史的本来面目,并能给广大中小企业的创立者、管理者和研发者树立信心,并坚信华为的研发经验是可以学习的。

    提起笔来写作本书之时,正值国际金融危机的“寒冬”,广东发生了数万家中小民营企业关门倒闭的现象。中国的改革开放刚刚跨过30周年,就在很多领域发生了“国进民退”的状况;而在很多领域内“中国制造”更是被某些国外媒体抹黑为“低价劣质”的代名词。今年是建国60周年,伟大的祖国面临着向一个新的发展台阶迈进,国家正面临着向“创新型”经济模式的转型,中国下一步不仅仅是走向世界,而是要在世界舞台上拥有更多的市场地位。中国的繁荣靠什么得以持续,中华民族的崛起靠什么得以持续?华为公司作为中国创新经济的代表,作为一家具有世界级影响力的中国民营企业,给我们带来了诸多具有说服力的示范与可借鉴的案例。

    民营企业究竟还有没有发展的前途?适合中国民营企业的发展道路究竟会是什么样子?在国际金融风暴之后,应该如何去渡过危机?这些都是我在写书的过程中反复思考的问题,希望读者在阅读华为从2万元起步的坎坷研发发展之路时会有所领悟。

    在写作本书前,我曾请一位在珠三角民营企业工作的朋友张震列出他对于华为研发关心的问题。承蒙他的认真考虑给出了如下的清单:

(1)华为的第一桶金是怎么来的?

(2)华为在发展的初期有哪几个重要的研发里程碑;

(3)华为的几个危机时刻是如何转危为安的?

(4)华为在创业期与发展期,是如何击败竞争对手脱颖而出的?

(5) 华为的技术研发优势是如何一步步积累下来的?其内部管理机制是什么?

(6)作为一直飞速发展的企业,华为的财务和现金流是靠什么支撑的?在创业发展初期,华为是如何融资的?

(7)华为的用人方法有何特点?内部人如何降低内耗,一致对外?

(8)华为的企业文化与企业核心价值观是什么?华为企业的文化是如何沉淀和提炼出来的,文化对华为的发展起到多大的作用?

    应该说这几个问题所涉及的主题,都是目前广大中小企业目前所面临的困惑,我在写作中也紧紧围绕了这几个问题进行了详尽地描述。目前,发展到人民币1000亿元销售额的华为,已不适合中小企业学习,但是,处于创业期或早期华为的经验,以及克服困难的方法和智慧,却可以为当今面临很多相似问题的中小企业学习和借鉴。

    开阔我写作思路的还有一家叫“麻辣诱惑”的餐厅。餐厅的大堂经理用非常尊敬的口吻告诉我:“我们餐厅三年前开始学华为的研发,对我们的工作促进非常大。华为研发的经验对我们很有帮助!”IT业出身的我听后非常惊讶:难道华为的研发经验不仅适用于IT企业,还能对社会上多数行业的管理都有帮助吗?

    本书主要内容围绕四条主线展开:

    第一条是华为创业期,主要回顾了创业期华为 “第一桶金” 的来源,以及如何从无到有开始自主研发;第二条是任正非如何解决自主研发最关键的人才问题,并突破研发资金困境的一些具体实践经验;第三条是华为中央研究部建立及发展的过程、内部的运作经验,以及曾经失败的案例;第四条是华为的竞争对手在华为不同发展时期所处的状态,以及他们与华为之间“亦敌亦友”、“爱恨交织”在竞争中相互促进和发展的故事。

    本书中有四位“主角”,分别是企业(华为)、人才、政府、竞争对手。大家可以看到,在企业发展的不同时期,企业与人才、企业与政府、企业与对手这三组关系上互动的过程。没有企业的发展,哪有人才的前途;没有人才的促进就没有企业的进步;没有企业的繁荣,就没有政府的财政来源;没有政府的支持,企业的发展也会受限制;没有强大的对手,就没有永葆奋斗精神的企业……相信这些不同层次的视角,会帮助时值金融危机下的企业、人才和政府去重新审视彼此之间的相互关系,如何共同去推动经济和自身的发展。书中也通过回顾中国通讯产业的发展历史,对政府应如何推动产业的发展,正确地扶持企业成长,提出一些值得政府反思和借鉴的地方。

    是华为选对了人才,还是人才选对了企业?呆在温饱的环境下得过且过,还是到朝不保夕的民营企业去?人才在与企业共同成长的过程中,如何寻找和发挥自己的价值?这个关于人才与企业互动的有意义话题,也是本书的重要线索之一。

    这本书主要是写给处于初创期和成长过程中的中小企业看的,华为的早期研发细节,经验和教训值得广大中小企业借鉴。这本书也是给一些苦于“研而不发” 的大型企业之对照,华为的自主研发和管理是如何克服了规模化带来的低速度和低效率等弊病,为中国企业的研发规模化,提升研发速度,提高研发效率积累了丰富而宝贵的经验。

    这本书更是写给那些中年失意,甚至失业的人看的,它同时也是一本励志的书,讲述了任正非如何从中年失意的挫折中站起来,带领华为从一次次的失败走向成功。本书中关于郑宝用、李一男、刘平、孙洪军等人伴随企业一同成长的故事,相信对刚刚参加工作、正在找工作或正在创业的年轻人也有诸多启示。

    特别需要指出的是,本书中讲述了华为如何从无到有地突破新产品的研发瓶颈,逐步形成和完善研发管理制度,从而成就了今日强大的华为研发体系的故事,相信对于包括服务业在内的各行各业从事技术、项目管理、人力资源的工作者们,也是一本不多得的学习教材。

    写作中的我心中常常惶恐,不知道华为的任总会怎么看这本书。但是我相信,任总内心也是希望今日身处“华为大厦”高处的员工,能记得华为初创时期那些艰苦的日子,华为是如何在艰苦奋斗中拼杀出来的。我相信,任总内心也是寂寞的,身处高处不胜寒的他,可能有时也会怀念那时和一堆年轻人挤在一起同吃同睡,共度艰难、同庆成功的日子。

   今天,当我们饱含深情地回忆这一切时,我们感恩华为,感谢任总曾带给我们的一切辛酸又美好的回忆,也希望这些坎坷的记忆让你更坚信:“伟大其实是由每一个平凡人在平凡的一天一天中默默坚持、创造出来的;伟大的企业并非神灵所赐,也没有运气之说。”

===================

第 1 章 第一桶金
现在的华为已是一家上千亿销售额的国际大企业,拥有几万名研发工程师。与其他书中所写的不同,本书主要从研发视角去看早期的华为。如果时光倒流,人们会发现华为的起步普普通通,并无任何传奇色彩。华为的历史是任正非和众多人才创造的;华为的早期,除了人,别的什么也没有。这就是华为从无到有的创业故事。华为的研发也是被“逼上梁山”,当时再不自己出产品,公司只好关门。而这一逼,竟逼出了中国最优秀的高科技企业。华为公司是怎么创业的?华为的研发是怎样起步的?
44岁被骗200万
首先让我们一起来读读华为前传,品品华为的领头人任正非的创业故事有什么与众不同。
任正非,1944年出生,居七兄妹之长,家境贫寒。正是少年时在艰苦环境下读书的经历,令###后的任正非刻骨铭心,1998年,寒门出身的任正非一次性拿出2 500万元,在各主要高校设立了“寒门学子奖学金”,资助家境不好、学习上进的大学生。后来拗不过当时国家教委的坚持,改称为“寒窗学子奖学金”。
18岁,任正非经过自己的努力考上大学,学的是建筑专业;大学毕业后参军入伍。20多岁的任正非在军队里不仅是学毛选的标兵,而且勤学、爱钻研技术,他的技术成果曾获全军技术成果一等奖,并担任铁道兵某研究所的副所长。
1982年,38岁的任正非从军队转业到深圳,在当时深圳最好的企业之一―南油集团下面的一家电子公司任副总经理。正是在那里,四十多岁的任正非遭遇了人生的第一个“冬天”:一次,任正非做一笔生意被别人骗了,200多万货款收不回来。80年代末,200万元人民币不是一笔小数目(按当时货币的实际购买力不亚于2009年的1个亿),当年内地城市月工资平均不到100元。
在这种情况下,任正非在令人羡慕的大国企南油集团待不下去了。此时的任正非下有一儿一女要抚养,上有退休的老父老母要赡养,还要兼顾6个弟弟妹妹的生活,正值所谓“上有老下有小”、青春不在、未来尚长的中年之际。想必那时的任正非对人生的坎坷无比伤感。
但是,任正非没有时间去感伤,家庭的责任、事业的急迫,令任正非走上了一条下海干实事的道路。就这样,处于中年危机之中的任正非被逼无奈开始创业,华为诞生了。就这样,深圳少了一个国企干部,中国多了一个高科技企业的“教父”。创业初始,任正非的所思所想并没有太多的理想主义;创业之初,任正非就是为了面包、为了糊口、为了家人而奋斗!这是一个逼上梁山、被逼无奈的创业故事。
“吃亏是福、上当是福、挫折是福”
任正非中年受挫这一因素,对任正非的经营风格和行事作风有着深刻的影响。简单说来,创业可以分为两种:一种是受过挫折后的创业;一种是充满幻想、未经历挫折后的创业。和现在很多年轻人的创业相比,饱受挫折对任正非的创业来说是一种财富,甚至可以说为华为公司未来20年的发展定下了一种调子:低调而坚韧。这一点是现今很多年轻人创业所缺乏的。
今天的年轻人,面临众多的机遇,有的在大企业工作几年,捞得人生第一桶金,就开始不再打工而是自己做老板;有的凭借市场经验或者研发经验,甚至只需编造一个好听的远景故事,就可以圈到一笔风险投资,在风险投资的推动下做公司了。这些出生年代好,职业生涯中又顺风顺水的年轻人“少年不知愁滋味”,一副“未当家不知柴米油盐贵”的样子,往往开公司花起钱来都是大手笔,办公要租最好地段的写字楼、搞最好的装修;一笔雷声大的广告费就把启动资金花得差不多;动不动将“成为世界一流企业”的豪言壮语挂在会议室。很可惜,90%这样的中小企业都没有迈过生存的门坎,未学会如何在复杂的中国国情下生存下去就夭折了。而这个时候,多数人又往往会心灰意冷。
因此,如果你是一位职业生涯出现变故的人,当你正遭遇人生挫折之时,建议你对照华为的任正非去仔细地想一想,因为你可能不至于惨到任正非创办华为之前的境地。创业之初,任正非是没有什么可以幻想的,更没有任何资金可以用来进驻写字楼,也没有人想要去看他的创业白皮书和商业模式。他的脑子里唯有“生存”二字。
后来虽然华为已成为年销售额上几百亿的大公司,任正非也还是经常强调“惶者生存”、“华为只是活下来了而已”;无论华为已经多大、多成功,任正非天天还是想着“活着”二字,这跟任正非四十多岁如过山车般急转直下的早年被骗受挫经历分不开。任正非曾说“吃亏是福、上当是福、挫折是福”,如果你符合这三个条件,恭喜你成为“有福之人”。如果相对于44岁的任正非还年轻的你,你的企业关门了,你失败了,请不要灰心。总结经验教训,从头再来。失败、挫折,本就是成功的必经阶段。
受过挫折后的创业,让人更加务实,反而更容易摸到企业经营的门道。实实在在的行为,甚于空洞而不切实际的理想。做一个负责任的男人,一个能荫妻庇子的男人,这就是44岁时激励任正非从挫折中走出来的奋斗目标。
当华为成为几十亿元的大公司时,任正非在《华为基本法》中列入“华为人应树立的价值观”的,不是“爱祖国、爱人民”这种崇高的口号,而是“热爱家庭、为了追求家庭幸福而努力”这种普通人平实的追求。这里面包含了许多切实的感触。这就是经历了风雨的人的思维方式。
资金不是创业者面临的最大问题
44岁的任正非在1987年年底和5个志同道合的中年人合伙,6个人平分股份,共计万元,在南油新村乱草堆中的一个居民楼里成立了深圳华为技术有限公司。那时租写字楼一个月至少好几千块钱,而居民楼则最多三四百元。创业初期的艰难清苦可见一斑。
成功后的华为在龙岗坂田修筑了可与国外著名企业相媲美的豪华办公场所,有很多年轻人参观后,误以为做事业就该像华为这样有气魄、大手笔。但提醒你注意,这是成功后的华为。初创的华为是在一所破旧的民房里;初创的美国公司惠普和###为了节省资金,当年也起步于一间车库。
创业的任正非所面临的现实问题是,公司如何生存。华为公司现在是他的孩子,他必须让它生存下去。华为虽然名为技术公司,但开始做的都是贸易。也没什么方向,什么赚钱做什么,据说华为在初创的时候甚至还卖过减肥药。一次,听说在深圳卖墓碑的生意很火,赚钱快,任正非还派人去调研过。但减肥药、墓碑也都不是长久之业;任正非为了使华为生存下去,尝试百术,绞尽脑汁。
创业从来不是一件浪漫的事。任正非人过中年,经历了从国营企业的干部到民营企业领头人的转变,人生充满了坎坷;华为公司的早期也有过投机和迷茫。40多岁的任正非如同每一位中年失业、失意的普通人,在茫茫人海中飘摇;起步阶段的华为更是一家只要有钱赚、能活下去就行的“小铺子”。一个偶然的机会,任正非由辽宁省农话处一位处长的介绍,开始代理香港鸿年公司的用户交换机产品(即单位里转分机的小交换机),算是走上了销售通信设备的道路。
那是一个装电话需要送礼、走关系还要排队特批的年代,代理商只要能在香港搞到用户小交换机,卖到内地去就可以获利100%。正是由于这种带点儿“倒买倒卖”色彩的代理业务,以及当时全国人民对电话通信的巨大需求,让华为在短短的三四年间,就积累了几百万的资金,并在全国建立起近十个销售办事处。华为从农村空隙市场起步,就这样靠2万元注册资本起家通过代理香港鸿年公司的HAX交换机、利用差价获得了原始资本积累。
图1-1 为华为带来第一桶金的用户交换机HAX-100
一般的创业者都认为,资金是创业者面临的最大问题。然而,果真如此吗?就华为而言并不如此。虽然资金始终是个重要问题,但任正非从来没有让它成为唯一的、最主要的问题。因此他总能在关键时刻做出正确的判断,至少是大方向正确的判断。
比如说信心和勇气。在不知道做什么的时候,你是否勇于像任正非一样尝试百业?你是否能像任正非一样不耻于向所有的人打听做什么好?更重要的是,你要像任正非当年义无反顾地走出去,既然这是唯一的道路,哪怕颜面扫地也要走出去;自助者天助,你这些年积累的人脉资源、失败教训会帮助你发现新的机会。失意中,大家最需要的就是自信。从任正非的案例大家可以看到,历经挫折的中年人去创业,更多的是靠人脉、靠资源,资金反是第二位的。如果你是年轻人在创业,你从任正非的案例中学到的最宝贵的应该是面对失败永不言弃的勇气。
如果此时此刻的你,正在茫茫失业潮里失魂落魄,请你想一想当年任正非的情形,无论如何,你起步的条件可能比当年的任正非要好一些、资金更多一点。然而很快你将会体会到,资金的作用远不见得是你的最大问题。事实上,人的因素往往更重要得多
市场为先、客户为大
单位用小交换机市场,在当时是一个买家找卖家的市场,作为卖家的日子要好过得多。但是,倒买倒卖的事,除了胆识外需要的技能并不高,门槛低,于是各路好手纷纷进入单位用小交换机市场,仅深圳一地一个月之间就涌现出几百家。在越来越激烈的市场对抗和竞争中,“没有什么只有你会做,别人不能做的,关键是客户给不给你做!”一种对市场的感觉很快渗透到华为人的骨子里。
很多人分析华为公司的成功总是强调其对技术的追求,我们却觉得华为是一家从一开始就高度重视市场销售及其网络的公司,是销售驱动的公司。华为从不做没有市场研究的纯技术;华为从一开始就关注通信市场的风吹草动。每一个可能产生销售和利润的地方,华为一旦发现就饿狼般扑上去,不惜一切代价拿下。这种敏锐地发现、捕捉并迅速拿下市场机会的特质,跟任正非从军时学习的军事战略是分不开的。
任正非曾任部队研究所副所长,乃副团级别,创立华为公司后,这个40多岁的中年男人亲身做市场、做销售。想想看,这么一个人要跑到各地的偏远邮电局去俯身低头给客户(其实真正打交道的也就是20多岁的大姑娘、小伙子)说好话、拍马屁,没有点大丈夫能屈能伸的本色,是很难坚持下来的。任正非能从创业初期那种艰难的环境中生存下来,都是其贫寒出身和艰苦的军旅生涯赋予的坚韧性格所赐。
代理销售是一种主要凭关系、价格、服务而没有自身技术差异化可讲的行当,很多人当真正做上代理,“卑躬屈膝”地讨好客户争取订单时,他们就受不了了。时至今日,我们也很难想象四十多岁的任正非当年扛着用户小交换机,虎虎生风地走在乡村的小路上,与负责农话的农村兄弟们牛饮豪饮的情形。
“当得人下人,方为人上人”,任正非在客户面前的屈伸能力是超强的。2001年,华为已经成为跨国大公司,任正非也成为了中国IT界的“教父”。一次在公司见客户时,任正非一进门,屋里的省局###局长、副局长一行人齐刷刷地站起来鼓掌,任正非很不习惯地摆摆手,憨厚地说:“你们是客户,我应该向你们起立给你们鼓掌”。
任正非在公司的讲话中也多次提到:“客户是我们的衣食父母”;“大家对客户再好一点,大家对客户的服务再好一点,客户给大家的订单就会多一点”。任正非对养活公司的客户充满着感激,这和早期代理时打下的服务意识和服务基础是分不开的。而从做代理出身的华为,对客户关系的重视也达到了极致,销售体系专门有客户经理的职位,所谓的客户经理主要职责不是卖产品而是搞好客户关系,服务好客户,提高客户满意度。优秀的客户经理看见局长翻《易经》,自己也开始学《八卦》;从局长到工作人员的生日、太太、女儿生日、节假日,凡是个日子就往客户办公室和客户家里钻,有的甚至被客户视为干女儿、干儿子。
如果一个小公司、小店铺正在为自己的销路一筹莫展时,可以想想当年的华为公司和任正非,想想怎么能把客户关系和服务做得再好一点。
可是没想到进入1989年,由于用户小交换机的市场太火爆,全国有两百多家的国营单位进入了用户小交换机的生产和销售,国家限制信贷控制设备进口,华为的代理业务走到尽头。这应该是做代理的宿命。
当代理赚钱时,总不可避免遇到各种进出口政策的限制,以及来自原厂的各种风险。由于当时单位用户机(也叫小总机)市场紧俏,一台500门的用户机开通,当地省级领导都要去现场剪彩。要订货,单位用户需要至少提前半年以上下订金给华为,华为再下订金给香港的原厂。但由于产品供不应求,香港的原厂经常会发不出货;产品出了问题,无法及时修理;在备板、备件等方面也不提供给代理商,使华为公司在为客户服务时非常被动。任正非意识到,没有自己的产品、没有自主研发,所谓为客户提供优质服务就是一句空话。当时的任正非已深受产品、客户、订单、公司的现金流、公司的命运都卡在别人手上的痛苦。
摆在华为面前的,是极度的交换机稀缺和国内设备提供商的空白。对那些因国家信贷政策收缩造成资金链濒临断裂的代理商来说,它们自然不会有勇气冒更多的资金风险来自己研制交换机。应该说做代理起家获得第一桶金的故事,就算是在当下也是大有机会的。而当年在IT产业,除华为外,联想也是走“贸易”之路起步的,所不同的是华为在做代理有了初步积累后果断地走向了自主研发和自主生产。
真诚打动客户加盟
1987年8月从重庆电信局辞职下海办公司的陈康宁,原本是华为的代理商客户。当时陈康宁在重庆办了一家公司,向重庆地区的单位用户推广程控小交换机。1987年年底任正非在重庆开拓单位用户市场,经朋友推荐,和陈康宁第一次见面。初次见面,陈康宁就觉得任正非为人真诚、直率;而且任正非一回到深圳,就立即给陈康宁发来了成箱的交换机手册及其他资料。那时华为的产品宣传资料,是一本红皮的册子。因为是代理香港产品,资料都是繁体字的。这份资料给人印象最深的是两点。一个是封底上的一段宣传口号:“到农村去,到农村去,广阔天地大有作为”。另一段话是:“凡购买华为产品,可以无条件退货,退货的客人和购货的客人一样受欢迎”。于是陈康宁就成为了华为公司在重庆地区的代理商。
当时交换机处于初期发展阶段,故障率较高,而当时的交换机又以进口的为主,备板、备件等技术服务很难跟上。电话一出故障,代理商受到客户的压力很大。但是,华为公司为了代理商维护和保修方便,除维修备件外,还多发了一套小交换机,代理商维修时就在这台小交换机上测试或取电路板,最后还可将这台小交换机及坏的电路板全部返回深圳。
陈康宁装了几台华为公司发过来的机器后,越发觉得华为公司处处为代理商着想,是个与众不同的公司。华为公司一心为代理商着想,也保证了客户的售后服务质量,这些都是当时销售同类产品的其他公司做不到的。虽然华为在当时的通信领域还是一个不知名的小公司,但华为的诚信和优质服务,让陈康宁成为了华为的铁杆代理商。
1988年,陈康宁陪同客户一起到深圳考察华为公司和订货,到深圳才发现华为只有几个人,在其他地方也还没有办事处。谈好合同后刚好下班,任正非叫了华为公司唯一的一辆小车,安排客户和公司陪同人员去南头的南蓉酒家用餐。车开了,陈康宁坐在车上,看到任正非沿着路边一步一步地走回家。客户和陪同客户的员工坐车,华为总经理走路,这一镜头令陈康宁终生难忘。
1989年,陈康宁陪同四川一位地区局的局长及几名科长到深圳去华为考察,住在深圳华强北附近的格兰云天大酒店。任正非白天在酒店向客人介绍情况并谈到晚上十一点多,当时从任正非住的深圳南头到华强北,还没有今天深南大道这样的直通大路,只有一条两车道弯弯曲曲的土路,路边还是荔枝林和农田,开车要一个多小时。大家原以为任正非第二天会晚点到,结果第二天早上七点多,任正非就已到了酒店大堂,陪客人下楼吃早茶了。这意味着任正非早上五点多就得出发,晚上最多只休息了四个小时。任正非对客户如此热情和诚挚,令所有在场的客户都非常感动。
“有这样的人做老板,公司一定会得到客户的认可,一定会有大发展”,陈康宁这样想。他很快下定决心:离开重庆到深圳加盟华为。1990年3月,陈康宁向曾一起考察过华为的那位四川地区局局长告别。当时,该地区已向国内另一厂家订了一台200门的程控交换机,但一直未到货。这时局长就通知,对不重视客户、违反协议的厂家,合同取消,改订华为公司的HAX-100系列的200门交换机,陈康宁就代表华为公司签订了合同。
于是,带着这份合同,陈康宁于1990年4月1日到深圳华为公司上班了(陈康宁后在华为担任市场部、生产部、企业文化等多个部门负责人)。上班后的陈康宁发现,不仅是在只有一辆车的时候,就是在已经有很多辆车之后,华为公司最好的车也都是为客户服务,而不是为老板和领导服务的。一直到1997年年底,华为已经做到几十亿元的销售额,任正非都是一个人走半个多小时的路上下班。后来,华为基地离任正非住的地方远了,任正非也是自己买车,自己开车上下班,从未私用过华为公司的车。
从低端产品组装开始自主研发
1989年,深知做代理不能长久的华为,开始决心走向自主研发。自主研发,人人都想,可是没有技术,没有人才,从哪里开始入手呢?
当时邮电部下面好几家国营单位都已在生产34口和48口的单位用小交换机,华为的第一款打着华为品牌的产品叫BH01,这其实是一款从国营单位买散件自行组装的产品。华为公司将散件买回,做包装,写说明书,然后打华为的品牌,再到全国找自己产品的代理商进行销售。
华为的第一款产品BH01只是一个24口的用户交换机,属于低端机,这使市场很受限,只能在小型的医院、矿山使用。而且当时的华为也做不到买断,只能说是华为的BH01和别家的BH01同时在市场上销售。但是华为坚持打自己的品牌,把自己的优质服务注入到功能、外观都和别家一样的产品中去。华为公司销售的第一款自主品牌的产品,就是把其他厂家的BH01宣传单上的厂家地址和品牌一抹,换成华为的,发个传真给客户就完成了。
自己控制散件的好处是自己可以控制设备的备件,这在提升对客户的技术响应度和服务质量方面大有优势。拥有自己的品牌,也不用像做别人的代理那样,还需要花钱买代理权,还要提前半年以上打订金去订货。自己的品牌做好了,还可以在全国发展自己的代理,自己收代理费,这些也可以缓解现金流的紧张状况。
但是订散件,需要向厂家提供更大量的订单。订整机还可以一台一台地订,订散件至少几十件起订,这也要求公司拥有更强的周转资金和市场销售渠道的能力。而且由于供散件的厂家也自己销售,华为的供货常得不到保障。没想到,由于华为公司的服务好,销售价格也低,第一款产品BH01在市场上供不应求。华为买的散件也被断了货源,收了客户的钱,却没有货可发。
1990年,华为被“逼上梁山”,必须在最短的时间内突破自主研发,实现自己控制生产,控制产品,否则客户追上门来要货要退款,公司就会面临断流及关门的危险。1990年华为公司由莫军(现香港华为财务管理部的负责人)任项目经理,开始自己照着BH01的电路和软件,进行自主知识产权的电路设计和软件开发,为了给客户以型号有延续性的印象,这次的型号叫BH03,也是从24口开始做。从客户的角度看,换了个更漂亮的机壳,别的功能差不多,但BH03里面的每块电路板的设计和话务台软件的研发都是华为公司自己做的。
BH03的开发项目组只有6个人,软硬件全在一起做,这几个工程师一边要负责电路板的设计,一边要负责全部软件程序的编写,还要进行整机的调试。没有任何测试设备,从外面加工回来的电路板上,有上千个焊点,工程师们用放大镜一个一个地目测检查有没有虚焊、漏焊或连焊。交换机的性能检测当时没有自动测试设备,也是由工程师用话机一项一项地测试。遇到大话务量这一项的测试,就把全公司的人都叫到一块,一人两部话机,大家同时拿起听筒试。
经过接近一年的研发到试制的努力,华为公司终于自主研发出BH03型号自主产权的用户交换机,并通过了邮电部的验收,取得了正式的入网许可证。当初价值100万元的8台BH03用户交换机,全部是工程师们一台一台地调试、修改、再测试;测试通过了,再拿给公司其他人贴标签和包装,在华为公司的办公室里出货。
图1-3 华为首款自主研发产品的宣传资料
1991年华为公司首款自主研发产品的宣传资料,图中的小字为“每月10~18日在深圳举办用户学习班,月月如此,不再另行通知”,“生活费用自理,技术培训免费,无论是否订货,一视同仁!”。最上方的广告语:“祝您早日走上成功之路,电子通讯是您发达的催化剂,一种优良的小程控交换机会使您的办公发生较大的变化。”
那时华为公司的办公室,也叫实验室,也叫生产部,总之是不分的。一层楼,中间隔了成了几个不同的办公区。也没有专门的研发部,只有项目组,BH03项目组研发、生产、测试都要负责。
由于持续几个月白天黑夜地干,吃、住、睡全在公司,工程师们连外面是刮风下雨都不知道。一位工程师在BH03研制成功之时,由于劳累过度,眼角膜都累掉了,不得不住院动手术。
没有技术怎么办
第一款产品照着别人的东西出来了,第二款、第三款怎么办?虽说要做自己的产品,但华为当时却没有更多的技术力量,于是任正非找到了华中科技大学(当年叫华中理工大学)、清华大学等高校,广泛邀请教授带着老师和学生到华为参观、访问,寻求技术合作的可能性。
一次,华中科技大学的一位教授带着他的研究生郭平到华为参观,当时郭平刚刚研究生毕业不久,留在学校当老师。年轻有为的郭平,一下子就被任正非身上特有的企业家做大事业的抱负、待人的热情和诚恳所吸引。任正非当即“拿下”郭平,一番激情洋溢的谈话让郭平认为21世纪非华为莫属,恨不得明天就到华为大展手脚。任正非立即把郭平留在深圳,让郭平成为华为公司第二款自主产品研发的项目经理。该产品即HJD48小型模拟空分式用户交换机,是一台机可以带48个用户的新产品(当时为了给客户以产品的延续性,一开始叫BH03U,原来莫军负责的BH03,改为BH03K)。
郭平到华为公司之后,不仅担当起自主研发负责人的工作,而且成为华为公司吸引华中科技大学优秀人才的“猎头”。在郭平以身说教的示范作用下,郭平把同学郑宝用说动到华为公司看看。
郑宝用,也是在华中科技大学读的本科和硕士,毕业后留校当老师,1989年刚考上清华大学博士没多久。郑宝用来华为后,也立即迷上了华为,就再也没回清华大学,博士学位也不要了。郑宝用思维敏捷,为人随和,性格直率,大家都称他为“阿宝”。一开始在郭平的项目组里跟着郭平研发HJD48,成为HJD48的软硬件开发主力。HJD48项目结束后,郑宝用就成为华为公司的副总经理兼第一位总工,负责华为公司产品的战略规划和新产品研发。当时大家对战略规划还没有什么概念,郑宝用的职责被大家理解为“只要是不生产、不发货的产品,凡是没做出来的产品都归郑宝用负责”。
1989年,郑宝用到华为公司与任正非会合,在华为公司研发的历史上不亚于当年红军朱德与毛泽东的“井冈山会师”。郑宝用这位技术天才的到来,一下子拔高了华为的技术水平,以及华为研发的组织形式。在郑宝用的才华施展下,华为公司很快就推出了HJD48小型模拟空分式用户交换机,一台机可以带48个用户。HJD48在技术实现上取得了新的突破,里面一块板可以带8个用户,比华为公司的前两款产品BH01、BH03一块板只能带4个用户,在产品的集成度上大为提高。相似的产品,同样的功能,减少了产品所占的空间面积,容量提升了,还大幅降低了产品的成本。该产品投入市场后,质优价廉,受到很多单位用户的好评。
1991年,郑宝用主导开发的HJD-04 500门的用户机,一台机可以带500个用户,采用了光电电路和高集成器件,被邮电部评为国产同类产品质量可靠用户机。郑宝用还给华为公司做规划并带领研发人员成功开发出了一台用户交换机带100门、200门、400门、500门等系列化的用户交换机,极大地填补了市场的空白。郑宝用带领下开始的用户交换机系列产品在1992年给华为带来年总产值超过1亿元,总利税超过1 000万元的销售业绩。
郑宝用对华为早期研发的贡献包括后来的C&C08数字交换机、芯片、传输、无线等多个产品,还包括华为公司早期研发的组织架构的建设等,成为华为公司早期研发的领军人物,也是华为公司系统化、规模化研发体系架构的总设计师。他负责建设了华为早期的研发队伍和产品体系,也是华为公司第一位中央研究部负责人,华为公司常务副总裁,华为公司副董事长。
由于对早期华为举荐人才有功,任正非发现了郭平身上适合做管理者的平和气质,在HJD48之后,郭平就被提拔为生产制造部负责人。从此郭平长期担任华为公司的高层管理岗位,一直负责华为公司的企业管理部门―管理工程部,后来成为华为的常务副总裁。曾分管过采购部、华为基地建设、合资公司等重大事务。
光有技术不懂市场不行,光有市场和技术,不懂如何去经营也不行。高校是光有技术不懂市场的机构,而很多专营销售、代理的公司,却是光有市场。任正非是最懂得如何让技术与市场结合,如何通过经营人才,通过人才把这份事业经营好的企业家。90年代初,华为凭借与高校合作带来的技术人才、任正非这个优秀的产品经理、低端用户交换机精准的市场定位,取得了自主研发从无到有的突破。任正非的果敢,不仅表现在他敢于踏入研发大门,还在于敢于引入高级人才。没有技术,人才造
创造点燃激情的文化氛围
任正非从华为早期就开始主导的单纯正向的企业文化氛围如业绩优先、人才优先的战略导向,这些是成就日后华为王者地位之基础。
一位工程师应聘去华为,面试时见了郑宝用。郑宝用说:“华为公司是没有任何背景的,一切都靠自己奋斗。在这里工作,不需要拍马屁、拉关系,只要你好好干,公司就会给你回报。”郑宝用的一番话让这位工程师决定选择这个公司。
郑宝用能说出这番话,相信这也是他到华为后的亲身经历:一个还在清华大学就读的博士生,没有任何关系,靠自己在华为的业绩,做出了产品,就成为了华为的技术负责人之一、公司的二把手,同时也在很短的时间内积累起自己人生的一笔财富。不仅人才不需要拍领导的马屁,任正非还经常拍人才的马屁。任正非经常在会上会下说:“阿宝(指郑宝用)是一千年才出一个的天才。”
华为早期研发部的氛围是最开心、最充实、最令人难忘的日子,尽管那段时间最没钱、条件最艰难。大部分的华为人都在公司周围租住在民房里,周围的南园村、南新村的房租因此不断上涨。工程师住的宿舍里除了一张床,就没有什么东西了。任正非把公司打造成一个家,公司食堂的早、中、晚饭菜都很丰盛,晚上九点后还有宵夜,周末也是如此。公司里还有洗澡和看电视的地方,大厅还有一个乒乓球桌可以打球。所以那时候大家除了睡觉,大部分时间都待在公司里
大家对华为印象最好的是食堂,那时候到食堂吃饭不用先付钱,也没有工卡,大家打完饭菜,在食堂师傅那里报个工号就可以了。食堂的饭菜丰富可口,比在学校时要好多了。有位工程师第一次见任正非就是在食堂里。当时大家正在排队打饭,就看到一个微胖的中年人站在队伍旁边,一边看着大家打饭,一边大声地叫着:“我看谁打肉多的,谁就是新来的。”这位工程师看那个人头发乱乱的,脸上胡子拉碴,身上穿的衣服皱巴巴,还以为他是食堂做饭的师傅,所以也没怎么理会。过两天开会,才知道这个人是任正非,华为的老板。
公司还给每个人买了床垫。任正非说,“你们开发人员搞累了,随时可以躺在地上休息一会。”大家有时候加班晚了,就睡在公司。华为公司“床垫文化”的由来是华为对开发人员的关怀。几乎每个华为人都备有一张床垫,卷放在各自的储物铁柜的底层或办公桌、电脑台的下面,外人从整齐的办公环境中很难发现这个细节。午休的时候,席地而卧,方便而适用。晚上加班,夜深人静,灯火阑珊,很多人几个月不回宿舍,就在这张床垫上,累了睡,醒了再爬起来干,黑白相继,没日没夜。可以说,一张床垫半个家。工作紧张而繁忙的华为人,干脆将“公司-宿舍”两点一线式的生活压缩叠合成一点。
深圳南油深意大厦,华为公司1989年后搬入的办公地点,就在五楼靠里的地方,华为用半截简易砖墙隔成小间的宿舍。工程师们一出门就到了办公室,热火朝天地投入工作。开拓者们就是在这样的壮观场景下,完成了华为首个自主研发产品(用户小交换机)雏形的研制并开始销售。
之后,深意大厦办公楼装修完成,大家有些恋恋不舍地搬到外面租来的宿舍住,唯一留下来一张张床垫。新来的员工一进华为就到总务处先领一床毛巾被、一张床垫做家当,开始身体力行华为独特的“床垫文化”。“床垫文化”的兴起,以及华为人吃在公司、睡在公司,反映了当时华为人与公司共兴亡、同进退的决心。中午休息,在早期华为每间办公室的地上桌下,都温馨地躺着呈各式睡姿的华为年轻人。夜色深浓的时候,开发部里的许多年轻华为人因陋就简在电脑台后席地而卧,枕戈待旦,一张张疲惫的脸上绽放出希望和梦想,及甜美的鼾声梦语。
开发部的小伙子们都非常喜欢华为那时候的开发氛围,和大家在学校时的开发习惯相同,开发人员上下班不用打卡,完成任务就行。大家常常是晚上搞得很晚,早上睡到十一二点才起来,吃了中饭接着干。那时候大家目标明确,就是尽快把交换机搞出来。为此加班加点,凌晨两###钟才回去是常有的事。当时的加班也没有人强迫,都是大家自觉自愿的。
任正非经常到开发组来和大家聊天,有时晚上还请大家去吃宵夜。任正非真是一个优秀的鼓动家,每次听他讲话都搞得大伙热血沸腾,那是支撑员工们在华为干下去的精神力量物质力量是每个月都上涨的工资)。就这样,在任正非温馨的“家文化”及“床垫文化”的带领下,华为公司踏上了自主研发的成功之路。
“做先驱不要做先烈”
华为转向了自主开发,而且是以市场为导向的研发,是华为日后成功的一个关键。任正非的市场销售经验让他明白:没有市场就没有研发,没有稳固的客户关系就没有稳定的产品研发。这种“市场为先,客户为大”的思想,是华为后来成功发展的一个重要法宝。
今天大家会赞赏华为当年自主研发的果敢,但是大家也要看到,和后来很多做“技术先烈”公司不同的是,华为是脚踏实地地先做市场后做技术,完全依靠自主资金滚动发展。而随着中国资本市场的活跃,不少初创企业从公司未成立起就拿着风投的资本大笔砸向技术研发,这与在创立之初没有家底所以“小心谨慎”做研发的华为完全不同。
后来,任正非一再提醒研发部“不要做先烈,要做先驱”,并且给先烈和先驱一个注解:领先一步是先驱,领先三步是先烈。应该说,华为当年走向自主研发之路时,并没有好高骛远地开发局用交换机或更先进的技术,而是务实地从当时销售的畅销机―用户交换机最低端的型号开始入手;华为公司的研发队伍量力而为,从6个人开始;华为公司的自主研发从摸着石头过河开始,一款产品做好,成功了,赚钱了,再多做几款试试。
任正非本人虽然长于预知未来,善于把握时代发展的趋势,但他毕竟不是通信专业的科班出身。但是任正非在华为走向自主研发之时,仍然起了非常关键的作用,这个作用就是承担起几乎一切研发支持的责任。他充当的角色,涵盖了项目经理、市场经理、人力资源管理、财务等职责,而这些角色是一个成功的研发项目所必需的。在一个大家对商业开发项目都不了解的年代,老总亲自担当起一个精通市场、善于聚拢人心、懂得进度控制和管理的“项目经理”,会对项目的开发产生多大的促进作用啊!
任正非在华为刚开始走向自主研发道路的时候,承担的这些角色,是华为在通信产品和技术开发项目上获得迅速成功的关键。相比之下,有许多技术研发专家出身的企业家,虽有绝门之技,却带不好队伍,容不下技术能人;或者空有技术不懂市场;或者什么都会,就是不懂如何控制成本。任正非不是通信专家,但却是位合格的产品研发带头人。
虽说已开始自主研发之路,但是华为并没有放弃代理香港鸿年公司的交换机。以华为当时的技术实力,只能研发出最多24门的用户交换机,而香港鸿年公司的交换机可以一台带200门,500门,在市场上供不应求,还要提前半年打订金预订货。华为“代理+自主研发”两条腿走路一直走了好几年,“生存第一”始终是任正非心中的主线条。
1988年起家的华为,通过代理国外产品在全国建立销售网络,在单位用户市场站稳脚跟,然后通过自主研发和生产实现研发、生产、销售的一条龙。1992年华为的销售额首次突破亿元人民币。
华为公司,是任正非走投无路时的选择;华为自主研发,是华为生存下去之必需。华为早期,充满了为了“活下去”、为生存而战的故事,可能不光鲜,但却是当时的真实写照。华为的“第一桶金”来源于人脉资源和任正非的经验;早期华为的研发,除了能给人才创造一个良好的做事业的氛围,也简陋得不剩下什么。本书第5章里提到的任正非的人才策略,令华为像磁石般地吸引了郭平、郑宝用等一大批人才。经历坎坷的老板、勤奋而有才华的研发人才、华为的市场导向,这些构成了华为研发起步的基础。在90年代初,华为就是将这几项优秀的因子结合在一起,在任正非运作的华为平台下,开始谱写出一首格外清新而与众不同的研发交响曲。
小 结
一个公司应该选择从哪里开始?哪里存在拿着钱排队还要走关系的现象,就是值得考虑最先进入的领域。小公司如何搞研发?切记不能贪大求快,从三五人开始量力而行;先有市场需求,再有产品研发,确保研发出来就立即能转化成销售额;从组织散件开始,先熟悉一个产品的生态链、供应链,再进入自主研发消化细节,最后再进入创新环节。这些都是华为的宝贵实践经验。
第 2 章 初尝败绩
刚刚开始自主研发的华为,步履蹒跚地在1993年步入了全新的领域:电信局用交换机。从“单位用交换机”到“电信局用交换机”,就差了两三个字,可无论是产品的技术要求,还是市场竞争的激烈程度,都有天壤之别。
“无知者无畏”,华为血气方刚的研发团队,刚刚在自主研发“单位用小交换机”的胜利中尝到了甜头的华为年轻人,无畏地进入了“电信局用交换机”市场。
然而,一开始华为在这一全新的领域,却一败涂地。一意孤行,结果却是一败再败。
企业活下来之后做什么
在“天才”郑宝用的带领下,华为在1991年开发出了自己的空分用户交换机HJD48系列产品,并利用已经建立的销售网络取得了一定的销售业绩。
1992年,凭借自己开发的HJD48空分用户交换机系列早期的单位用户机产品,华为销售额首次突破1亿元。自主研发的决策被证明是正确的、有效的。
1993年年初,在深圳蛇口的一个小礼堂里,华为召开了1992年年终总结大会,全体员工参加。当时员工有270多人,大家第一次目睹任正非满脸沉重、噪音沧桑地流露真情。会议开始后,只见任正非在会上说了一句“我们活下来了”,就泪流满面再也说不下去,双手不断在脸上抹着泪水。一个堂堂的中年男人,和一帮年龄只有他一半的年轻人,一起奔波在市场的一线、生产的现场,为了企业的生存什么都干过;他为了企业的生存所付出的艰辛、所承载的委屈之重可见一斑。
为了纪念“我们活下来了”,任正非还特地到香港定制了100枚金牌,发给在公司最艰难时刻不离不弃,共同努力的100位优秀员工以及香港鸿年公司。辛苦归辛苦,钱已经挣到了,1993年,不到200人就有了过亿元的销售额,华为下一步该怎么走?有人提出大家辛苦了这么多年,该享受享受了,把挣来的钱给大家多分点奖金。
但英明的企业家总是能在自然选择之上,做出必然的选择。任正非没有把挣的钱分了,也没有简单地谋划将销售额再增加一两倍,而是做出了一个大胆、有挑战性的决定:开发局用交换机,进军公用电话电信领域。
事实上,自主研发局用交换机设备的工作,1992年就已经开始了,对于当时只有100多人的小企业,这的确是一个非常大胆的决定。华为以前做代理的产品以及自主研发的HJD48都是用户交换机,主要面对的是各种事业单位、企业等机构,是电信网络的终端用户。用户交换机的客户是各种各样的个体单位,一个设备最多开通1000用户,销售分布较广,单次销售数量小。而局用交换机的客户就是各级的电信运营商,客户数少但销量大,如北京海淀区一个地区的电信运营商至少需要开通几十万用户;交换机是按用户数来计算设备价格的,搞定一个地区的电信运营商产生的销售量,就相当于几十家不同行业或地区的单位,因此,局用交换机的销售额远高于用户交换机。
但要进军局用交换机,不仅面临技术上的挑战,更面临市场关系要另起炉灶的难题。用户交换机的购买客户是各个公司或单位,而局用交换机的购买客户是邮电部管理下的电信局。华为1992年以前没有做过电信局的生意,缺少客户积累,没有面向这种大客户的市场销售经验。
更为重要的是,在局用交换机领域里,华为面临的竞争对手与单位用交换机的竞争对手相比不是一个数量级的。这个领域里的竞争对手全是世界上最知名的通信巨头,如美国AT&T、日本的NEC、法国的阿尔卡特、瑞典的爱立信、日本的富士通等,它们在1993年时已在全世界拥有几十万名的员工,年销售额达上百亿甚至几百亿美元。在这个领域,华为将面临着比自己强大数百倍的竞争对手。
综合评估,市场和技术的难度相当大,而资金问题更是火烧眉毛。90年代初,正值国家宏观调控时期,像华为这样的民营企业根本无法从银行贷到款。但任正非并没有就此止步,华为义无反顾地投入了局用交换机的开发。
这是华为的一个重大的转折点,意味着华为正式进入电信设备供应商的行列。公司不但把这前年挣的钱全部投入到新产品的开发中,而且向其他企业以高利率拆借资金来投入。现在回头看,如果不是任正非的这个果断决策,华为就会像许多当年生产用户机的厂家一样被淘汰出局。
而这也立马让刚“活过来”的华为陷入了一场新的生存危机。本以为“我们活过来了”,结果又迈入了自找苦吃之路。不过,凭着一股初生牛犊的精神,那时华为还是“雄赳赳、气昂昂”的,并没有察觉到真正的风险。
产品刚推出就没有市场
1992年,在郑宝用的带领下,华为的十几个开发人员,以前只开发过模拟空分用户机,所以在开发局用机时,他们决定先开发模拟空分局用交换机。华为第一个局用交换机命名为JK1000,郑宝用总负责,徐文伟负责硬件,王文胜负责软件。徐文伟是从华为当时所在地附近的亿利达挖过来的,在硬件开发上有一定的经验,之后徐文伟成为JK1000的项目经理。王文胜是刚从中国科技大学毕业的学生,初生牛犊不怕虎,他一个人开发了JK1000的所有前台软件,在软件开发方面很有天赋,也深受任正非的赏识。
在技术上投入了巨额的开发费用和全部的开发力量后,历经一年艰苦,JK1000在1993年年初开发成功,并在5月份获得邮电部的入网证书。而此刻在市场上,华为与20多家电信局合资的莫贝克也在筹划成立中,华为与电信局的市场通道正式打开。技术与市场的障碍同时扫除,公司上下做好一切准备,要在市场上大力推广JK1000。1993年5月,任正非亲自主持召开市场部经理会议,确定公司今后一段时间的工作重点是向市场大规模推销JK1000局用机。为打好这场销售战,各地办事处主任亲自挂帅,负责本地区内的促销活动;培训中心负责产品的宣传策划与展示活动,开发部也派若干精练的技术人员参与推销。通过这些安排,华为期待1993年在稳定用户机市场的同时,能够在局用机的销售上获得大丰收。1993年7月4日,江西乐安县邮电局公溪支局正式开通了JK1000局用机。
客观地说,华为上基于空分模拟技术的局用机JK1000,80%的原因是出于1992年华为的技术实力,20%的原因也是对中国市场短时期可能达不到向数字化转换的估计。1990年中国固定电话的普及率仅为,在世界185个国家中居113位,仅相当于美国20世纪初的水平,而同时期发达国家(如美国)在1990年的电话普及率已达92%。华为在1992年认为,###产业总体发展目标来看,到2000年也就是把电话普及率提高到5%~6%,因此通信业务仍以打电话即话音业务为主,对刚刚起步的非话音业务(如传真等),也主要在金融、铁路、电力、统计、国防等专门的部门或行业中使用。因此,上先进数字程控交换机,会给发展中的地区带来沉重的经济负担。
实际上,到2000年###产业的固定电话普及率已达到50%,而不是预测中的5%,巨大的需求是其中的主要原因,而技术的快速发展也是一个重要的原因。这注定了在技术方面JK1000必将生不逢时,在1993年推出来的时候,空分局用交换机已经走到末路。这时候,由于计算机技术的发展,数字局用交换机在功能、性能、成本上都大大优于空分局用交换机。因此,数字局用交换机取代空分局用交换机已不可避免。
另一方面,在电信运营商的主战场上,华为面临的竞争对手是比原来向一家家单位推销用户交换机时的竞争对手更强劲的国外巨头。此刻的力量实在不对等,华为是销售刚刚过亿的小公司,而竞争对手已是上百亿的国际型大企业。这些国际型大企业也的确不是吃素的,它们向电信局提出的是“通信网建设一步到位”的思路,也就是说即使在广大农村,也开始逐步采用光缆进行传输,于是要求交换机与传输的改造同步,避免重复投资,以赶上通信业迅猛发展的潮流。这些国际型大企业的超前建设观极具煽动力和影响力,###了多数地区特别是发达省份的建设思路。“一步到位”的观点逐步波及全国,各地家庭用电话的通信网设备选型的首要标准就是要满足“一步到位”的建设思路,有的地方干脆认为上了数字程控机就是“一步到位”了,这样,数字程控交换机与“一步到位”的思路之间画上了等号。因此,1993年年中,华为的JK1000空分交换机刚刚推出即面临没有市场的尴尬局面。
要“满足客户需求”而不是“引导客户需求”
华为显然不甘心自己耗费巨大力量开发出来的产品就这样被淘汰。技术部、销售部都拼命在各种场合为JK1000空分交换机造势。华为多次组织电信局人员(主要是农话的)来公司举行技术讨论会,并在自己的内部刊物《华为人》报上发表文章,宣传电信网络建设“一步到不了位”、“综合到位要量力而行”等思路,就是希望国内很多地方还是先上空分交换机,等到2000年后才过渡到数字程控交换机。
以下是1993年9月《华为人》报关于“有朋自远方来不亦乐乎―农村通信技术和市场研讨会在华为举行”的报道:
商丘地区邮电局农话科长张荣钧也谈道:“商丘地区也上了一些用户机,但是不尽如人意,尤其是雷击问题更是令人头痛。这几天来,看了华为的机器,觉得华为交换机的性能比较完善。”同时张科长又谈道:“我们国家的通信正在发展,今后可能会采用数字微波,而现在我们用的是模拟中继板,到时不知可否换板,这样既可以更新我们的设备,又可以降低成本”。
任总听完风趣地说:“对于使用了一两年之后的元器件已经老化完毕的,正好是进入青壮年时期,又可以半价转让给其他地方,何乐而不为呢?或者也可以通过整个农话局的维修中心,在全省范围内调剂。另外根据我们的市场预测,JK1000到2000年是不会落后的。目前日本1/3的交换机还是纵横制的,英国也将近1/3”。
就这样,华为凭着自己反复地、锲而不舍地宣讲,通过一些市场关系在1993年还是卖出去了200多套JK1000。
华为毕竟是第一次开发局用交换机,在很多技术上都不过关。而局用交换机对质量的要求比用户机要高得多,局用机不像用户机,如有中断故障发生,造成的影响将很坏,如果开不通局那就更是玩完了。俗话说“好事不出门,坏事传千里”,华为JK1000在电信局里使用出现的很多问题,逐渐被行业内人士所共知。最严重的问题是电源的防雷问题。打雷的时候,有好几台使用中的JK1000都起火了,差点把机房烧掉。这也害得好几个与华为关系比较好的电信局长丢了“乌纱帽”。因为邮电部有规定,电信网中断两小时,局长自动免职。好几次,华为的宣传部门刚刚在报纸上登载华为的交换机能防雷击,华为就收到了来自用户关于在打雷时华为交换机出事故的投诉。
山路上的装机队带来市场影响
JK1000大多开在农村地区,少数开的市话也只在县城一级,所用线路相对较差,导致调试设备很难。这些偏远地区所配的局机型五花八门,性能不稳,当地的维护技术较差,这些都给开局造成了很大的难度。为此,华为组织了一支技术力量、责任心都很强的装机队伍,直接面对用户,要和用户相处好,做好用户培训工作,提供先进、优质的售后服务。任正非对装机队的要求是:“在外面就是华为公司的代表,一定要让用户对华为公司留下良好的印象,言行举动都要体现华为的风范”。
1993年年中到1994年年初,华为装机队全体员工不辞辛苦,走遍大江南北,开通了200多台JK1000局用机。正是他们,初步建立了华为人吃苦耐劳的服务形象:无论塞外高原、边防海岛,还是山区小镇、革命老区,市场部把战火点到哪里,哪里就有他们忙碌的身影。他们常年奔波,居无定所,忍受了孤独与寂寞,克服了饮食上的不习惯与语言上的障碍,让那些沉寂了千年的乡村第一次响起了电话铃声。他们代表华为给那些穷乡僻壤送去了文明的象征、致富的纽带,赢得了用户的信赖和广泛的市场影响。
做好市场的深度是做好服务
然而,新技术的发展是任何人都无法阻挡的。到了1993年年底,“一步到位”的思路取得了完胜,空分交换机已经没有市场了,取而代之的是数字程控交换机。JK1000还没来得及改进和稳定就被淘汰了,华为在这个产品上的投入都付之东流。
1993年的华为,是个非常年轻的公司,市场经济对中国来说还是个新生事物;整个国家对高科技产品非常陌生。从用户机的成功,到局用机的失败,一成一败,给华为带来的收获是巨大的。这个因技术上相对落后一步就成为失败品的产品,给华为上了沉重的一课
要说JK1000还给华为带来什么收获的话,主要是无形的宝贵经验和服务口碑。一是在开发JK1000中的失败教训和在失败中成长起来的研发人员,为在下一步开发局用数字程控交换机打下了坚实的技术基础,以及对电信局用设备高质量的要求的技术掌握。二是华为安装设备的优质服务,给各地电信局留下了深刻的印象,这后来发展成华为战胜国外设备的一项“独门绝技”,要知道国外的设备厂商无论如何也是做不到组织一只“装机小分队”奔走于中国广袤的农村和艰苦的偏远山区的。三是华为优秀的售后服务承诺让各地电信局都大开眼界。
在华为推出电信局设备前,网上运行的主要是国外厂家的设备,这些国外厂家的设备在软件升级、设备备件以及维护等服务上收费高昂。而华为表示,只要是华为的设备,不管时间多长,软件升级全部免费提供。华为以省为单位建立一个培训中心,不论你买不买华为机器,都提供培训机会,做到每个县市最起码有一个维护人员。另外建立一个备件中心,以提供充足的备件,如还有什么重大问题,可以与该省的办事处联系。华为公司的服务之所以享誉中国市场,就是因为在全国29个办事处的市场人员都是技术人员,都可提供快捷的技术服务。
从1993年JK1000在全国的销售开始,华为建立了自己的服务体系和服务理念,并提出了自己的服务口号:切实保障服务质量,提高客户网络的整体效能,帮助客户树立网络竞争优势,优化网络性能,增加客户业务收入,协助客户培养优秀维护人员。经多年努力,华为此后在国内建立起业界最为完善的客户服务体系;在国内29个办事处设立技术支援中心和备件中心,各分支机构通过各种数据专线互联;同时,客户问题管理系统、培训认证系统、客户信息系统、备件管理系统、经验案例系统等技术支持管理系统也趋于完善,给予客户服务以有效的IT支撑;此外,为进一步加大对客户网络的支撑能力,华为已将服务体系延伸至本地网,在本地网设立服务经理,负责协调公司资源,及时响应客户需求。服务好,已成为客户选择华为的重要理由。
理想再好,止步于竞争对手
JK1000的失败使华为在实践中逐渐了解和学会了掌握市场的规律,而不是简单地做市场关系或推出一个自己认为先进合适的产品。“市场不相信眼泪!”“理想再好,止步于竞争对手!”这些可能是年轻的华为和年轻的华为人从这个失败的产品上得到的首个教训。在通信市场上,技术的更新换代是残酷的,本身就处于落后地位的中国企业,辛辛苦苦引进或开发出一项技术时,可能国外已是该技术淘汰之时。而国外公司往往利用其雄厚的技术优势,在网络建设及设备采购方面采取“拉动需求”策略,提前淘汰现有技术,让国内企业处于研发襁褓中的产品直接面临无市场需求的尴尬局面。在JK1000这个产品上,华为对中国经济发展水平,以及网络现状的理解都没有错,但是错在其对竞争对手力量的估计上。年轻的华为没有估计到在国外多家竞争对手的合围引导下,客户几乎全部转向提前采购更新更先进的技术和设备。
同时,在深化华为对公用通信市场的理解,以及积累华为丰富的技术战略和战术方面,JK1000起了一个非常好的警示作用。JK1000产品之后,华为再也没有侥幸心理,再不做“临时抱佛脚”的事。也就是从这时起,华为专门组织优秀的研发骨干成立相应的部门,时刻追踪最新的技术发展做产品规划;并有过之而无不及地也采取了类似于国外公司的策略进行“拉动式”市场推广:宣传3G的产品是为了卖G###,宣传5G的产品是为了卖3G。这相当于为客户铺就一条技术发展道路,而不是单一的、孤零零地销售当前的产品。这一招非常厉害,让越来越多的客户认为华为是一个有着长期规划、具有长期发展能力的合作伙伴。一时间让竞争对手望华为兴叹!
这之后,华为也进一步加强了对国外发达国家和地区网络建设的学习,展开竞争对手产品信息的收集和分析。我们离开华为虽已多年,可是当我们听到AT&T、爱立信、北电,这些曾经的竞争对手的名字时,我们还是备感熟悉。我们曾多次封闭在一个小房间里反反复复地讨论、学习它们的产品资料,甚至连一个符号、一个图标都做了深入透彻的分析。找不到资料时,甚至在展会上对方的一张宣传彩页也会如获至宝地带回公司和大伙反复钻研。竞争对手规划的产品特性与规格,华为一个不落地全部做进自己的产品规划中并设法实现。不仅如此,华为还做到了“敌无我有,敌有我优”―对于竞争对手已有的技术规格,华为除了全部实现之外,还要力争在此基础上“生花”,生出点竞争对手没有的指标或功能来,打得竞争对手措手不及。
研发就像赌博
成一个,败一个,华为研发的结果###两重天。此刻的华为,还没有从自主研发的用户机的丰收中高兴完,立即又陷入了局用机失去市场的格局。华为人不得不感慨:研发就像赌博,赌对了,就成了;赌败了,就输了。这种体验对任正非是刻骨铭心的。如何才能驾驭研发,使研发成为成功的必然,而不是动不动拿企业的命运来赌博?这个问题是华为从1993年起就开始摸索和探讨的话题。(为此,后来华为在1995年和1998年针对研发系统进行了两次大的改革。)
逆潮流去引导客户是无益的,远不如顺势而为!”相信这是华为,以及华为研发团队得到的另一个教训。总以为市场销售的力量是无穷的,可以把黑的说成白的,白的说成银的,但事实上客户的需求只能顺势去满足,而不是逆潮流可以单靠“说”来说动的。
如果说JK1000这个产品给华为的研发团队上了深刻的一课,这一课必定包含“电信级品质”这个词。电信网络由于连着千家万户,肩负着提供一年365天、一天24小时不间断服务的重任,对产品可靠性和品质的要求远高于其他设备。从JK1000开始,研发设计前就要进行硬件及软件的可靠性设计;研发过程中,进行可靠性分析和验证,已成为华为研发部的规范。
于是,质量成了一时的主攻点,华为公司整体也掀起了向日本公司学习的热潮。首先,学习日本著名质量管理专家田口玄一博士提出的产品质量的三次设计:系统设计(一次设计)、参数设计(二次设计)和容差设计(三次设计)。华为还专门组织研发部及生产部代表到日本进行参观学习,对松下电器、松下电工、松下通信、松下电子部品、高见泽等公司进行了考察,并参观了DDK的东京本部包括金刚的一家仓库,之后在企业全面推行日本式的品质管理
与此同时,华为对刚刚在世界范围流行起来的ISO9000质量体系,也开始了接触和了解,并于1994年开始推广ISO9000质量体系,力图从体系建设上确保质量。
“因为我经历的挫折比你多”
“失败是成功之母”,如果没有JK1000的失败,就没有后来华为对技术领先性、产品可靠性、服务优质性永不松懈的追求。同时,华为进一步建立并加强了在产品规划的超前性设计,以及竞争对手情报信息收集工作。失败,激发了华为更强的斗志和狼性;失败,使华为学会了更加严谨!
我离开华为后,遇到很多企业在自主研发方面浅尝辄止,一遇到失败就缩回,或者全面否定自己。很多企业都望着今天已成为全球研发一流水平的华为兴叹,觉得自己缺少人才、缺少资金,什么都缺,永远也没有机会赶上华为了。其实,华为的自主研发之路也是在挫折和失败中一步一步走出来的。任正非说:“为什么我的能力比你强?是因为我经历的挫折比你多,我善于从挫折中学习,因此我经历的挫折越多,我学到的东西就越多,我的能力就比你强了!”怕呛水永远学不会游泳,华为的研发之所以能成功,就是华为能顶住失败的压力,咬定方向,绝不会因失败而退缩,失败只会激发更大的斗志!
“不是华为人不努力,而是对手太强大”,华为首尝败果,也是首次领教了电信设备领域国外竞争对手的老辣与凶猛。然而“不经历风雨,怎能见彩虹”,之后的华为研发越挫越强,更有力量去迅速战胜失败,并逐渐形成了一套在失败中总结出的全新打法,通过更富有竞争力的产品快步走向胜利。
孙悟空的“救命毫毛”
其实,1992年全球的数字交换机的技术已经成熟,空分的模拟交换技术处于被淘汰的边缘。华为肯定是根据当时自身的技术能力,才决定开发模拟局用交换机。但如果沿着这个方向走下去,华为将很快被淘汰。
所幸这时出现了一个人物―曹贻安。曹贻安原来是华为生产线的一名工人,不是做研发的。他多次向任正非进言,力主开发数字交换机。任正非被他的执着所打动,在模拟交换机交换机还在开发的时候,就同时开始启动了数字交换机的项目。曹贻安也因此从一名工人提升为数字机部的项目经理,后来还当过交换机产品部的副总工。这也是华为不拘一格使用人才的一个例子。1993年,华为从邮电系统挖过来的专家毛生江成为数字交换机的项目经理。
后来,在谈及华为的创业时,任正非曾多次说道:“当时我们不懂事,误上了电信设备这条贼船,现在想下都下不来了。”看到华为发展得这么好,也许会觉得他这句话有些矫情。但华为一路走来,任正非受了多少磨难只有他自己知道。
尽管为了推广JK1000,任总说空分交换机可以使用到2000年,但估计他也不会相信这样的话。因为,在开始研发JK1000不久,华为就大力招兵买马,在1993年年初投入更大的力量开发数字程控交换机。1993年8月在华为举办的农村通信技术和市场研讨会上,华为向市场透露了它自己的数字程控交换机―C&C08。当时华为的总工郑宝用做了一场语出惊人的技术讲座,这场技术讲座的内容从1993年到2000年一直引导着华为交换机的研发,其中内部光纤、智能化的思想已处于世界级领先水平。
华为不仅没有因为自主研发JK1000的惨痛损失而止步不前,反而是将公司所有剩余的资金和人员背水一战地全面投入到C&C08数字交换机的研发。在最艰难的时刻,任正非也没有放弃过在产品技术上追求,反而赌博似的加大投入。这正是他的过人之处。
任正非自幼所处环境艰辛,读书、当兵、下海都曾有坎坷的经历,这使他能大度和宽容地去看待失败。JK1000项目组成员作为具有宝贵失败经验的种子后来又被撒向了其他研发项目组,曾经的项目经理徐文伟不仅后来成为了华为研发部的副总裁,之后还担任了华为常务副总裁以及营销负责人。在失败面前,华为总是像传说中的孙悟空一样有九根“救命毫毛”,帮助华为转危为安,化险为夷。这毫毛不是别的,正是对企业忠心耿耿、满怀热情的华为员工!而任正非信任人才,关键时刻敢于让人才去放手一搏,这也是令华为总能逢凶化吉的重要因素。
初入局用交换机市场的华为由于对竞争对手的力量估计不足,对客户需求了解得不“精”,对公用电话通信市场技术更新换代的理解不深,刚刚“活下来”的华为在JK1000产品上初尝败果。但是华为并没有放弃自主研发,也没有放弃市场需求旺盛的局用交换机市场。在各方人才的努力之下,华为很快转危为安,迎来了华为发展史上重要的里程碑。
方兴未艾的电信市场
90年代的中国进入通信行业的高速增长期,原来的###分解为相互竞争的移动、电信、网通、联通四个运营商,固定电话资费从原来5 000元一门的初装费发展到零初装费,固定电话的用户数从90年代初的全国1 000万用户迅猛发展到2005年的上亿用户,90年代整体通信设备面临从原有的空分、纵模技术向数字技术的飞速转换。
同期国外发达国家和地区的电话普及率已达到90%以上,而当时电话普及率还不到的中国市场吸引了在程控交换技术上先行一步的世界各国交换机厂商来中国圈地,形成了中国通信史上有名的“七国八制”:日本的NEC和富士通、美国的朗讯、加拿大的北电、瑞典的爱立信、德国的西门子、比利时的BTM和法国的阿尔卡特。七个国家,八种制式,在中国的电信“地图”上涂满了各种“颜色”,全国交换机版图都被国外交换机厂商瓜分完毕。而这些来自不同国家和制式的交换机,凭借各自的技术壁垒,不仅使单用户价格高、软件升级以及售后维护服务费高,而且彼此之间技术互不相通,一度造成了中国通信市场的混乱,并为此让###运营商付出了昂贵的成本。
进入90年代之后,邮电行业的投资发展迅速,仅1993年,整个邮电行业有账可查的投资就有400多亿。这400多亿有厂房、有管道,除此之外,大量的投资就是通信设备。50%做设备,就有200个亿。由于这个巨大市场的###,当时走在技术和市场前列的一批中国工程师和资本也进入了该领域。80年代中后期诞生了大批程控交换机企业,它们大都云集在当时具有优惠政策的珠三角地区,主要针对技术含量相对较低的小门数用户交换机市场,以模拟空分程控交换机发家。这些企业规模较小,基本上是以民营为主的小作坊式运作。然而最终从模拟转向数字,能够及时推出数字程控交换机的,全国只有四家,号称“巨大中华”―巨龙、大唐、中兴通讯、华为。
1991年,年方三十八岁的解放军信息工程学院院长邬江兴主持研制出了HJD04(简称04机)万门数字程控交换机,从而一举打破了“中国人造不出大容量程控交换机”的预言。
大唐电信于1993年成立,背靠原邮电部电信科学研究,技术与人员均来源于后者。1986年邮电部一所就研制出了DS-2000程控数字交换机, 1991年十所又研发出了DS-30万门市话程控交换机,并于次年投入商用。
华为在单位用户交换机阶段面临着几百位竞争对手,进入电信设备领域后面临的国内竞争对手变成屈指可数的几家,如巨龙、大唐、中兴、长虹通讯。而中兴与华为在通信业“华山论剑”20年,成为华为国内“资深”的竞争对手。华为在电信设备领域里一开始面临“七国八制”的国外竞争对手,在后面20年的竞跑长河里也慢慢落后于华为,最终只有美国的思科,成为今天的华为在全球最强劲的竞争对手,也是国际“资深”的竞争对手。
“资深”竞争对手是如何起步的
华为在国内的主要竞争对手中兴通讯(中兴通讯1997年在A股挂牌上市后成为中国股市的最大蓝筹股之一,股价最高时曾达70元),1993年以前叫中兴维先通,成立于1985年年初(早于华为三年成立)。当时处于内地的国有企业―航天系统的691厂决定到深圳经济特区寻找合作伙伴,“外引内联”以求发展,并派出当时的技术科长侯为贵(后成为中兴公司总裁,中国著名企业家)等到深圳进行联络筹备工作。1985年2月,深圳市中兴半导体有限公司正式成立,注册资金280万元人民币,691厂占总股本的66%。1986年6月,在中兴公司扩展来料加工业务的同时,为寻求企业自己的产品和市场,摆脱来料加工的被动地位,公司决定成立八人研制开发小组,研制68门模拟空分用户小交换机。1992年1月中兴通讯ZX500A农话端局交换机的实验局顺利开通,到1993年,中兴2000门局用数字交换机的装机量已占全国农话年新增容量的18%。
华为在数据通信领域的主要竞争对手是思科公司。1984年12月,斯坦福大学的两位计算机科学家―Len Bosack和Sandy Lerner―创建了思科系统公司。该公司的名称源自于旧金山,取自其英文名San Francisco后几个字母,标志来自有名的旧金山金门大桥。Bosack和Lerner尝试连接彼此分立的网络,在斯坦福校园中的两个不同的建筑物之间铺设了网线,并用网桥―后来则是利用路由器―将它们连接到一起。1992年思科员工总数已达到875人,并在加拿大多伦多和日本东京开设办事处。1992年思科自主研发的产品有通信服务器系列、思科3000低端路由器平台以及路由器管理软件等。
小 结
成功的最大障碍莫过于不断地取得成功。在不断成功之后,人们往往会认为自己已无所不能。很多小企业赚到一笔钱后,反而由于盲目自信,有的因为错误出击新领域,有的则因为固步自封而止步不前,还有的因为过度膨胀而陷入死亡危机。如何突破危机?一靠人才,让企业里的“孙悟空”能施展出才华,把团队带出困境;二要靠管理,优秀的管理能让企业化险为夷,变“危”为机。
第 3 章 首个里程碑
以为自己要死了,结果又活了过来。1993年年初,任正非正式宣布“华为活过来了”,但是1993年年中,华为很快就陷入了资金困境,甚至很多员工都认为华为会被JK1000的失败拖死。在国际巨头云集的电信市场上,技术稍有落后,就会遭遇清盘的危险。JK1000失败后,华为乌云压顶,被迫孤注一掷地将宝押在C&C08数字交换机上。如果这次再失败,华为公司将面临着清盘。退一步,就是万丈深渊,这是一次只能成功不能失败的赌局!
每天都有新面孔
1993年年初开车由深南大道到蛇口,沿途可以看到一个巨大的工地,大片推平的黄褐色土地一派火热,那是正在建设的华侨城片区、科技园北区,当时的科技园南区还是一个个小山丘和生长在海滩上的芦苇群。当时华为在南山深意工业大厦五楼,从深圳市区坐中巴到那里要一个多小时。那时没人知道华为,坐车是到亿利达站下来,深意工业大厦就在前面。大厦楼顶有一个标牌,是繁体字的“华为”。远远看上去,一不小心会看成“华鸟”(鸟字的繁体与为字相近)。后来,大家经常打趣说:“我们是华鸟公司的。”
在华为公司的销售业绩表中可以看到,销售额由1988年以前的0稳步上升到1994年的8亿元人民币,华为员工由1988年的6人发展到1994年的1 000人,各种枯燥的数字都在讲述着一个新兴公司发财致富的故事。###不是发展,就是灭亡;为了生存,只有发展。华为公司除了在产品开发和市场推广上舍得花钱外,在其他方面则设法省下每一分钱以便满足公司发展的需要。在1992~1994年期间,华为公司人数净增800人,是原来的4倍,在一年中近60%的人升了职。华为最初的几位开发人员郑宝用、郭平等,都已成为华为公司的副总裁。在这样一个地方工作,大家可以想象每天都有许多新面孔,也许某一天突然一个工程师得负责一个十几个人的项目,也有可能划归一个不认识的人领导。
整个通信领域的发展日新月异,每天华为公司都有改进的产品,每年都会推出技术全新的机器。研制这些机器所需投入的工作量和费用极大,往往需要重新调整整个公司的组织架构,那时华为的工程师都习惯了两三个月就搬一次办公室
竞争让通信产品如海鲜上市
在中国通信市场上,大型局用与用户交换机都由几个国外的电信巨头以及它们在国内的合资厂所占领,在1992年以前,国内厂商只在一些小型模拟局用和用户交换机上有一定的份额。如此广阔的交换机市场空间使得所有的厂家和科研机构都努力提升技术档次,进入大容量的数字程控交换机市场。
在通信圈子中的人非常清楚这个行业的风险,在80年代末上海一家生产纵横制交换设备的厂家年产量高达30万线,电信局要通过各种关系才能买到它的设备,仅过了短短一年,整个市场行情骤变,其销售量不足1万线的厂家到了倒闭的边缘。激烈的竞争已经让高科技的通信产品如海鲜上市,早上热卖龙虾时如果没能及时出货,晚上贱卖也没有人要。一个看上去红火的公司在升级换代的大潮中稍晚一步,商机就会转瞬即逝;上年还赢利几个亿,今年可能就会被清盘关门。华为公司如果不能立即推出数字程控交换机,也将面临着市场急剧萎缩,甚至被清盘关门的命运。
1992年是华为公司财务状况很好的一年,也是房地产业迅速发展的一年,华为的财务部总监至今仍在称赞任正非对当时房地产业的发展形势估计得很准。但是华为公司在明知能在房地产业或股市上迅速赚一笔钱的情况下,却在JK1000惨遭失利的情况下,将全部资金投入到C&C08数字程控交换机的开发上。这显然是以华为公司全部资产为本钱的最后一搏,生死存亡在此一举!
研发部的“红宝书”
1992年,数字机开发任务落到了总工程师郑宝用和项目经理毛生江身上。郑宝用说话嗓门较大,他是一个完美主义和理想主义者,思维有很强的跳跃性,和他谈话要集中注意力才能跟上他的想法。他对各种技术问题甚至一些非常细微的技术细节都很关注,在数字程控交换机的设计和优化阶段,经过设计人员和他无数次的讨论、争论和辩证,渐渐形成了华为数字程控交换机的技术特点。
1992年年初华为公司开始大规模招兵买马,除了个别是来自通信科研机构和邮电学院较有经验的人员外,其余的大都是搞计算机或刚从学校毕业的毛头小子。他们中许多人连通信的基本概念都没有,来了以后头儿随手丢给他一叠资料,做一点简单的说明就说“开始干吧”!这是怎样的混乱场面。很多开发人员都不知道交换机是怎么回事,就边学边干起来。除了项目经理毛生江以外,其他项目组成员过去连交换机都没见过,而毛生江也只是短期接触过交换机,只能算是“半桶水”。那时研发人员每人手边都有一本程控交换机的国内规范,因为那本书是红皮的,更因为那是大家每天要看的书,因而大家称之为“红宝书”。
不管硬件还是软件,华为当时的研发水平都很低,干到哪里算哪里,最高目标就是能打通电话。交换机死机是家常便饭,硬件上也没有人懂交换机,公司又没有钱买仪器,一开始就用万用表测来测去,对着维修的电路图把40门的小交换机测了一个遍。后来,当时的硬件部经理徐文伟还写了一篇文章,题目叫“用万用表及示波器来认识交换机”,参加过1992年工作的许多研发人员都清晰地记得。
如果当时华为公司仅打算做一个与其他厂家技术层次差不多的中等容量交换机的话,其难度还不算太大,但大家都明白,要生存下去,只有研发具有世界先进水平的设备,所以无论在硬件或软件技术上,华为公司都是不遗余力地采用当时能获得的最新技术,这使得整个系统的设计工作异常艰巨。
原计划1993年春节前样机系统要问世,但到1992年9月还在反复讨论硬件的总体布线。为了赶进度,一边负责CAD做硬件布线的人员在加紧布线,另一边原理图在不断修改,经常线路图刚布一半,从总体规划办的小房间又传来要求修改的指示,气得负责CAD工作的一个中科大毕业生哇哇叫。
硬件总体组讨论各种电路板放在什么位置,给人感觉是小孩搭积木―左拼右凑;软件的负责人与大家正学习信令配合的基本概念。“这样能做出机器来吗?”大家也曾不止一次地怀疑过。
樟木头:令华为人谈之色变的地名
1993年,对华为来说是攻克数字程控交换机的一年,但对在华为工作的人来说则是动荡的一年:每天都有新员工进来,每天也都有老员工离去;每过一两个月就要搬一次办公室。
最大的问题是人心不稳。虽然说工资不低,但只能拿到一半,而且这一半还不知道哪一天发下来。华为那时候是发了这个月的工资,下个月的工资还不知道在哪里。很多员工私下议论最多的是公司哪一天破产,账上的那一半的工资能否拿到。一到华为公司发年终奖的时候,就有好多人辞职,在财务部门口排长队领账上的工资。华为尽管没钱,但也绝不拖欠辞职人员的工资和奖金。当时大家私下里问过几个辞职的员工,他们说拿到的钱比他们想象的还多。这一点对稳定人心起到了很大的作用。
还有一个问题是深圳户口。华为当时是民营小企业,不受政府重视,深圳户口名额很少。只有少数几个核心人员有深圳户口,大部分员工都要每年回内地去办暂住证。那时候深圳查得又很严,经常有保安半夜敲门来查证件,没有证件的会被抓到东莞的樟木头工地上去干苦力。经常会有华为人被抓进去,包括后来成为华为副总裁的毛生江也被抓过。那时负责人事工作的是曾信富老师,他的一个主要工作就是去派出所“捞”人。如果有哪位员工没来上班,大家就会说,可能是被抓去扛木头了(对东莞樟木头这一地名的联想)。
华为人所租的房子也多是民房,治安条件差,晚上加个班摸回去,有人就发现屋子里的空调窗机被拔走了!还经常发生华为人在熟睡时,屋里的财物被小偷摸了个遍。华为人以为已经被偷过了,就没有搬家,结果过了两个月又被小偷清了次场。
现在回想,当时大家怎么能在如此艰苦的工作环境下坚持住,甚至对很多艰苦都视而不见呢?当时的人都像着了迷,除了工作,除了把产品开发出来,周围的一切似乎都不能引起工程师们的注意。这正是华为公司创造的让大家能安心做事业、做技术的环境,正是华为公司选择的富有挑战性和深远意义的事业,迷住了华为人。
义乌大捷:客户的支持是公司存在的理由
研发不是母鸡下蛋,反而像十月怀胎,C&C08 2 000门交换机迟迟出不来,让任正非十分心焦。华为的销售人员在数字交换机还没开发出来的时候,就已经为第一个交换机找好了开局的地方―浙江义乌。原计划1993年5月或6月出去开局的,却因产品出不来一拖再拖。一向不拘小节的任正非好像一下老了十岁。项目经理毛生江每天看到当时任软件经理的刘平都要嘟囔一句,“再不出去开局,老板要杀了我”。
1993年10月后,项目组人员在公司实在待不住了,尽管还不稳定,就将第一台C&C08 2000门的交换机搬到浙江义乌开局了。但第一台交换机非常不稳定,呼损大、断线、死机,经常发生老打不通电话,或者电话打到一半突然中断,或者干脆就断线等现象,什么问题都出过。开发组的大部分人员(20多人)带着开发工具都跟着去,等于是把开发的战场放到了电信局。
在义乌,各方面的条件当然比不上在华为公司研发部这么好,交换机只有一台,又要测试,又要调试,时间特别紧张,只好24小时两班倒。1993年冬天,义乌天气很冷,凌晨时气温不到零度,而机房里没有任何取暖设备,许多工程师就穿两层袜子,身着两件夹克。有时候烧开水的电水壶坏了,大伙儿连一杯热水都喝不上。有的工程师实在累得顶不住了,就在机房地板上躺一躺,一会儿再起来接着干活。清早收工回###,###老板常常搞不清大家是上班还是下班了。义乌开局,华为公司上下都很重视。总工郑宝用亲临现场指挥;任老板也不远千里来到佛堂多次看望,与开局的华为工程师住在一起,吃在一起,给弟兄们以极大的鼓舞。
电信局用户也诚恳反映了一些问题,提出了一些改进建议,如机架不够美观、安装固定方式有待改造、支持远端用户等。
这个局足足开了两个多月才完成,后来还经常出毛病,经常需要开发人员去维护。直到几年后,华为把义乌局全部换了新版本的交换机,才算稳定下来。浙江义乌这个在华为发展历史上、中国通信产业发展历史上具有里程碑意义的电信局叫“佛堂”支局,当时局长丁剑峰给华为以非常大的支持。这些都应该载入华为及中国通信史的史册。
以下是在设备验收时义乌局对C&C08数字程控交换机的评价:“我们以前安装的是上海贝尔公司生产的1240交换机。贝尔的同志早就说要开发每板16个用户的用户板,但直到目前还没有推出。想不到你们公司这么快就推出来了,而且工艺水平这么高,你们是走在了前面。”“终端采用全中文菜单方式,支持鼠标操作,并设计有热键帮助系统。界面清晰美观,操作方便,简单易学,使得操作员小金、小陈等免去了培训之辛苦,也减少了误操作的可能性,他们十分高兴。”“终端软件的安全性考虑十分充分。”“计费可靠性强,准确率高。”“维护测试及话务统计功能丰富而实用。”
义乌局客户朴实而热烈的评价,道出了C&C08 2000门数字程控交换机不仅技术定位高,而且在附属功能上满足了###局在话务统计、终端操作、计费等方面的特殊要求。而这就是C&C08交换机深受中国农村市场欢迎的主要原因,国外的交换机是无论如何也做不到现场去响应中国市场某一地在计费、话务统计、操作等方面的特殊需求的,虽然这些附属功能的开发难度并不高
义乌局首战成功,任正非在公司上上下下###之余冷静地说:“交换机的优化工作要持续8年,要不断地接收用户的反馈信息,不断地改进我们的交换机,使它长期居于最先进交换设备的行列。”华为的数字程控交换机真的在以后的岁月中足足优化了8年:请德国最优秀的设计师来设计机架、机柜,解决了外观问题;支持远端用户的功能在C&C08后续的版本中陆续实现。而在优化8年后的2000年,C&C08 2000门交换机的“孙子辈”开始雄霸天下,成为使用最先进技术的世界级交换机!
C&C08 2000门交换机开局的成功离不开意识超前的义乌局的支持,佛堂支局长后来不无自豪地说,“我们的两代交换机都拿回去做华为博物馆了”。当时佛堂支局用一种叫“青柴滚”的自酿的、喝起来甜丝丝的酒,招待那些曾在雪夜里睡在电信局地上加班加点维护机器的勤奋的年轻华为人。这段日子给开局的工程师们留下了自主研发最终成功后苦中有乐、甘甜的回忆。
华为首个里程碑式的产品C&C08 2000门数字程控交换机,在一个个惊心动魄、百折千回的故事中诞生,让每一个曾亲身参与过那段艰苦岁月的人备感痛快!那些参加过第一个C&C08 2000门交换机研发及开局的人员,后来回忆说,“我们在华为参与研发过很多其他产品,离开华为后也参与过自主产品的研发,但其刺激和惊险程度都无法和C&C08数字程控交换机的研发相提并论”。
一方面,这的确是华为的一个巨赌,只能成功不能失败;另一方面,这支由29岁的总工程师郑宝用及平均年龄25岁、最小年龄19岁的工程师队伍组成的研发“游击队”,当时毫无经验,也无可借鉴之处,全是凭一时之勇,冲出去一搏,以“前无古人,后有来者”来形容也毫不夸张。
什么叫做创业?C&C08的出台生动地说明了一切。没有人懂什么叫数字程控交换机,除了这串名称,那就按这些年轻的头脑所理解的把它做出来吧,正是那些“无知者无畏”的年轻人,不经意成就了经典之作!不懂,就敢于学习;而且不是一个人,是一群年轻人刻苦地集体学习。在这种集体奋斗的氛围下,想做什么都能做出来。
1993年3月,虽然华为的研发工程师们还在为C&C08 2000门的每一行代码和每一根单板上的走线而埋头奋战时,华为的销售宣传部门已经提前向世人宣布了这即将诞生的骄傲,一份历史的见证:脚踏着先辈世代繁荣的梦想,背负着民族振兴的希望,紧跟世界最先进技术水平,华为公司为研制开发新一代数字程控交换机,集中优势兵力,对研制队伍实行了分层结构、目标管理。近300名研发人员,在50多个分项目负责人的管理下,有条不紊,十分细致地进行了设计研制。历经一年多的时间,在研究掌握了国际上最新技术和器件成果的基础上,严格按国标、部标要求,自行开发设计了新一代数字程控交换机C&C08。并于1993年下半年开始投向市场,在实践中接受全国广大用户的考评,不断改进、优化,使之满足我国通信网的各种使用要求,达到世界先进水平。
到这里,我们要向所有为第一个C&C08交换机开局奋斗过的朋友们致敬!
七天就当上了高级工程师
1993年年初,华为所有的开发力量都放在C&C08 2000门交换机的开发上,但是总工郑宝用已经在组织李一男等人员考虑万门机的方案。李一男是华中科技大学少年班的学生,15岁就上了大学。李一男开始是在华为实习,1993年进入万门机方案组时研究生尚未毕业,还不到22岁。当时的李一男架着一副眼镜,瘦弱得像个中学生,以至于中央领导来华为视察,不止一位领导叮嘱他要多吃点。
一边是C&C08 2000门的交换机在紧张地进行着,另一边万门机的方案设计正在讨论。大家首先分析了竞争对手的技术方案,从2000门向万门机的扩展,在当时的主要做法是用内部的高速总线将多个2000门交换模块连接在一起,像上海贝尔的S1240、富士通的交换机都是这种结构。但经过几个月的讨论,大家又发现不可行。
郑宝用和李一男都是华中科技大学光学物理专业毕业的,这时候他们想到了自己的专业:能否用光纤来把多个模块连接在一起。这是一个大胆的想法,因为当时光传输技术还不太成熟,在交换机中采用光传输技术的只有AT&T的5号交换机。
出于结构和技术先进性的考虑,各模块采用光纤技术连接是最优方案,但是具体采用什么方式能实现这么复杂的交换结构和多处理机控制结构呢?当李一男经研究发现采用任何现有的光纤传输或光纤网络技术均无法满足要求时,便提出了采用准SDH技术(准SDH技术是当时业界比较先进的一种光纤传输技术,后来广泛应用于通信传输网络)的一种设想,后来的事实证明华为公司当时采用准SDH技术是一项创举,不仅在中国,而且当时在国际上都是最先进的一种实现方式。
李一男仅凭着看了几本书,提了一点想法,虽然还只是一个刚走出大学校门的学生,但却得到了任正非、郑宝用和项目经理的充分信任:李一男还没毕业,只在华为上班七天就升为高级工程师,并做了项目负责人,开始召集人员进行万门机方案的研究工作。像李一男这样快速获得提升在华为早期是普遍现象,给有冲劲的人以充分的信任和责任,让更有能力的人上,让更有勇气承担责任的人上,这种能够客观评价人才的氛围对华为公司用好人才、留住人才发挥了很大作用。
万门机的方案确定后,万门机项目组开始招兵买马。项目经理是李一男,刘平是软件项目经理,余厚林是硬件项目经理。软件项目主要成员有:洪天峰、周元、李海波、陈辉、伍能鹏。硬件项目组成员有:黄耀旭、朱天文、张裕、李建国。后来2000门机开发结束后,费敏调到万门机项目组来任后台软件项目经理。
当时,华为机销售的主要市场在农村、乡级以下的电信局,一个局的用户数较少。大家都觉得2000门交换机就足够了,开发万门机根本就卖不出去。这种情况对万门机开发人员的信心产生了影响。为了给万门机开发人员鼓劲,李一男特地请郑宝用来给大家开会。郑宝用说,“你们尽管开发,开发出来,我保证帮你们卖掉10台。”当时万门机项目组的工程师们听了觉得很受鼓舞。大家都没想到,后来C&C08的万门机不是卖10台,而是卖了几十万台,成了国内公用电话通信网中的主流交换机。
李一男在万门机项目一开始时招了刘平和余厚林两个人,刘平负责万门机的软件,余厚林负责硬件。余厚林和刘平年纪差不多,来自武汉的一个研究所,是一个很有经验的硬件工程师。时隔十多年,刘平还能清楚地记得李一男第一次召集大家开会的情景:李一男那一年刚参加社会工作,比刘平和余厚林小整整10岁。大概是他头一回当领导召集开会,在与两个人讲话的时候有点紧张。李一男当时说话的声音很小,有气无力,要很注意才听得清楚;说话的时候,手还有点发抖。
后来,随着万门机的成功,李一男的职位越来越高,不到一年的时间就成为华为交换产品线的总经理,3年后,25岁的李一男就成为华为公司副总裁,经常代表华为在国际和国内媒体上发言。李一男也是90年代中国电子百强企业中最年轻的副总裁,后经媒体报道轰动一时,成为中国IT界的名人。李一男领导的人越来越多,口才也就越来越好了。虽然李一男说话的声音不大,但他的眼神很厉害,眼中透露出来的热情和对事业执着的精神吸引着大家的注意。
1994年,万门机的开发进入最后联调阶段,正是最紧张的时候。这时,世界杯在美国开打。许多工程师都是从学校刚毕业不久的足球迷,既要做好万门机的开发,又不想错过看世界杯。于是大家就向李一男建议,“我们项目组每天加班到凌晨两###,然后看一场世界杯的转播,第二天睡到中午再上班”。就这样,万门机的开发进度没有耽误,世界杯的转播也一场没落。当时刘平和李一男同租一套两房一厅的房子,李一男也被刘平拉着一块看转播。李一男说他以前从来没看过这么多的足球转播,相信他以后也没有再看过了。
屋漏偏逢连夜雨
1993年,华为公司C&C08项目组的硬件项目组组长陈会荣习惯每天下午两点钟睁开双眼,连续几个月大家几乎都是清晨返回民房。无论在硬件组还是软件组都有一批夜猫子,黑夜对他们来说是最好的工作时间,这时没有人来打断你的思路,没有人和你争抢分析仪和示波器。
当时已经是1993年5月了,C&C08数字程控交换机的样机已经问世,但性能非常不稳定,在基本测试时它像一位撒娇的小妇人,经常让人捉摸不透。“一定有什么原因隐藏在深处!”张宏仁是陈会荣的搭档,他们俩接下来将一种叫逻辑分析仪的设备接到交换总线上,逻辑分析仪就像一部连续拍照的相机,将交换总线上沿时间方向行驶的信息快速记录下来用以分析,是硬件工程师最得力的工具之一。当分析仪的插头接到总线上时,整个系统的工作似乎都正常了。陈会荣打赌说他找到了解决问题的方法,他把几根电线焊到了总线上,张宏仁坚决不相信这会奏效。当天快亮时,这台拖着几根电线辫子的机器似乎运行得很正常,陈会荣赢了,接下来几天大家的早茶都是由张宏仁掏腰包。
在研发部的另一侧,万门机硬件设计工作也正在紧张进行,这时刚完成光传输的模拟电路和码型电路设计,对整个高速32Mb/s系统能否在技术上实现谁都没有底。万门机硬件负责人余厚林和几位工程师整天在摆弄着可编程器件和示波器,用尽各种办法想把对高速时钟和信号线的干扰去除。初步的结果非常让人沮丧:整个C&C08交换机的母板像一个巨大的天线,将各种干扰源都引入了,高速信号无法有效地再生。余厚林几个星期一直苦思冥想也没想出个有效的办法。
在C&C08交换机的控制结构上,李一男最初做的万门机方案是考虑采用类似于上海贝尔、日本富士通的总线的方式,那时候公开的总线标准速度最快的是美国英特尔公司的Multibus II总线,所以李一男决定用Multibus来实现万门机。由于最初方案采用了美国英特尔公司总线产品,华为研发部因此第一次订了近20万美元(相当于当时200万人民币)的开发板和工具,为了赶时间,华为公司全权让研发部订货。但后经研发部再次会诊和进一步研究了几个月,大家又认为采用该产品不合适:华为根本就没有技术能力来实现这么快的总线。20万美元的开发板和工具全白订了!
在1993年中期,正是华为公司财务状况非常紧张的时期,许多急需的元器件都因为没有资金而无法马上进货,为了一批已经没有太多用的开发板和工具再花费这么多钱已不可能。每天上班年轻的李一男听到电话铃声就紧张,产品尚未成功却已让公司负债,他心里背上了沉重的负担。后来,在郑宝用的努力下,仅赔偿了供应商20万元人民币,为公司挽回了不少损失。
华为公司各级主管都深知项目组承受的巨大压力,大家在不同场合为项目组打气,没有丝毫责备或惩罚订错了开发板和工具的李一男和工程师。这种敢于承担风险的精神一直贯穿华为公司的发展史,即使有些项目不太成功,华为公司也会继续在各方面给予支持,从不以一时之成败论英雄。
华为公司为工程师提供了一个很好的开发平台,目标就是要做出实用的产品。在C&C08交换机开发的时候,尽管华为公司穷得都发不出来工资,但在产品开发的投入上是大把大把地花钱。上百万元的逻辑分析仪、数字示波器、模拟呼叫器等最新的开发工具应有尽有。
令工程师们印象最深的是电路板的开发。刘平在上海交大工作的时候,开发电路板,为了省钱,电路图做好后,先要用面包板搭一个试验板,测试好后再投板。但在华为,为了赶进度,电路图设计好以后,马上就拿到香港,以双倍的价格加急投板,一个星期就拿回样板。调试修改后又马上投第二板。就是这样,快速聚集所有的力量在一个产品开发上,才有了C&C08的成功。
按计划在一个月以前C&C08 2000门模块局就应装到现场,但当时C&C08 2000门机的系统工作尚不稳定,现场装局一拖再拖。C&C08 万门机系统基本试验都未通过,整个开发部的工程师都忧心忡忡。开发部各项目经理都向任正非保证有信心把任务完成,任正非在客户面前依然充满信心地介绍数字机的最新技术,但从任正非那充满疲倦的脸上观察,可能他的内心也曾怀疑过开发部的这一群年轻小子是否能成功。
进邳州城:快速突破城市市场
C&C08万门机的第一个试验局选在江苏邳州。这是华为的交换机第一次进城,安装在县级电信机房中。在90年代初,中国的电信网络非常不发达,只有有权有势的人才能在家中安装电话。为了发展电信网络,国家给电信部门一个优惠政策,可以向申请安装电话的用户收取5000元的初装费。这样,电信局拿着用户的钱以每线一两千元的价格向交换机厂商购买交换机,而交换机厂商生产交换机的成本是每线三四百元。因此对电信运营商和设备商来说,都有很大的利润空间。这正是华为得以快速发展的肥沃土壤。
中国的城乡差距大,城里人有钱,但是城市里的交换机市场早就被“七国八制”的国外机型占据。再上新机型,除非在技术上有超过国外机型之处,否则是没有电信局愿意一试的。对电信局设备科的人而言,买国外机型是不会犯错误的,买技术不稳定的国产机型万一出了问题,城里一个交换机局覆盖面积广,影响也大,容易犯错误。
华为在局用交换机市场上走的是“农村包围城市”的路线。中国农村市场广阔,对售后服务网络要求高,是国外厂商力量薄弱的区域,同时在技术要求上比城市相对较低。于是华为基于自身的技术和市场条件先从农村做起,凭借C&C08 2000门交换机很快在农话市场上就立稳了脚跟。但是华为并没有满足于农村市场,很快就利用C&C08万门机的先进技术进攻城市市场。
邳州电信局之前采购过一批上海贝尔的S1240交换机,但由于用户装电话的需求太大,很快容量就不够了。扩容时他们当然想再买上海贝尔的交换机,不过这时上海贝尔的交换机订货已经排到了第二年。他们实在等不及了,加上华为南京办事处做了很多工作,最后决定采用华为的交换机试一下。当时华为南京办事处主任徐旭波和负责邳州项目的销售人员杨军,牢牢抓住了这个千载难逢的机会,让刚刚诞生的C&C08万门机得以小试身手。
华为的C&C08万门机就这样和上海贝尔的交换机放在了一个机房。当C&C08万门机在机房里安装起来的时候,和上海贝尔的1240机器一比,一下子让华为的工程师们感到自惭形秽。华为的交换机看起来那么“土”:机柜又矮又小,颜色灰不溜秋的,机架导轨松软,电路板###去拔不出来,拔出来后插不进去。光是形象上就输给了上海贝尔,在功能上那就更不能比了。不过,当时能和上海贝尔的国外机器放在一个机房,本身就是一个了不起的成绩。
那时候的C&C08万门机能保证稳定地打通电话就谢天谢地了,很多新业务根本就不能实现。机器开始调试后,碰到了一个大问题,和徐州那边的上级局联不上,打不了跨局的长途电话。一开始大家怀疑是中继板有问题,从华为公司调来了新的中继板,解决不了。大家又怀疑是中继线有问题,派人去徐州买了新的中继线,也不行;华为公司又派人带了新的中继线来试,还是不行。华为公司派来了一拨又一拨的硬件开发人员,问题都没有解决。一个多星期过去了,毫无进展,大家都有点绝望了。有一天,C&C08万门机的负责人李一男沉重地对刘平说,“我可能干不下去了,以后你接着干。”
但天无绝人之路,一个偶然的机会,硬件负责人余厚林发现交换机接地没接好。把地线接好后问题迎刃而解,很小的一个问题;大的问题出在软件上。由于电信局急于放号,因为已经收了用户的钱,在交换机刚能打通电话,还没有详细测试的时候,就割接上线了。但交换机还有很多问题,大家只好白天睡觉,晚上看没什么人打电话的时候就开始调试,解决遗留的问题。最大的问题是电话通话的时隙被占用而没有释放。在程控交换机里,一个话路占用一个时隙。当用户拨打电话的时候申请一个时隙,挂机时释放时隙。由于程序处理的错误,有时会忘记释放时隙。这个问题在模拟调试的时候没有出现,但在真实的环境中出现了,并且不知道是在什么情况下出现的,很难跟踪和解决。在跟踪了一个多星期后,大家都想放弃了。
考虑到这个问题如果累计下去,所有的交换机时隙资源会被用完,整个交换机就等于瘫痪了,于是大家采用了一个临时的解决方案:在软件中设置了每天夜里2点软件重启动的功能,将所有时隙资源清零释放掉,大家称为“半夜鸡叫”。如果有用户这时候正在打电话,那对不起了,电话突然断线。在C&C08交换机中,“半夜鸡叫”维持了有大半年的时间,经过了多次版本升级后才得到解决。
工程师们是1994年8月到邳州的,原来想能回深圳过国庆节。没想到,到10月中旬才开局结束。在最后验收的时候,任正非、郑宝用都来了。晚上在大家的住处,任正非来跟工程师们聊天,聊到兴起之处,任正非激昂地说,“10年后,华为要和AT&T、阿尔卡特三足鼎立,华为要占1/3天下!”当时大家轰然大笑,心想“老板真能吹”。要知道,当时大家要把头抬得高高的才能仰视到中国的电信设备老大上海贝尔;而AT&T是当时世界级的电信设备老大,大家把头抬得再高,也看不到它的影子。10年后,华为已进入世界固定电信网前五位的设备供应商之列。今天华为的发展已经证明任正非当年不是吹牛,有志者事竟成!而AT&T在1995年分拆出的朗讯10年后,迫于华为的竞争压力与阿尔卡特合并为一家。历史见证了这一惊人逆转!
一年后,当刘平再去邳州看的时候,C&C08万门机的第一个开局的机柜已经被放在机房门口当鞋柜了。华为给他们换了新的机柜,新的机柜和上海贝尔的交换机很相像。
牛皮吹破了总要有人买单
1994年刘平担任交换机业务部副总工后,相对要清闲了一些。没有了具体的目标,工作比较机动,哪里需要了就到那里去顶一下。李一男设计了华为第一本产品宣传胶片的PPT。有客人到公司的时候,一般都是李一男去讲解。李一男忙不过来的时候,就是刘平去讲。
那份PPT牛皮吹得很大,把C&C08的功能和性能都吹到国际先进水平。特别是郑宝用画的一张交换机的结构图,表示C&C08可以扩容到128个模块,让人根本就看不懂是怎么实现的。实际上,当时只能实现16个模块。不过后来,华为研发部坚持不懈地努力,在C&C08机上把这些功能都实现了,也确实可以扩展到128个模块。
刘平第一次出去做市场宣讲是和江西生一块去杭州(江西生来华为很早,曾经担任过市场部的总经理)。当时,华为开始在全国大力推广C&C08交换机,但阻力很大。大唐###的程控交换机也刚刚推出市场,而大唐是邮电部的下属企业。刘平和江西生去杭州的时候,正好是邮电部一位主管科研的副部长在杭州召集各地电信局局长开会,要求采购大唐的交换机。
刘平和江西生待在宾馆的一个房间里,华为办事处的人把从下面地县电信局来开大唐采购会的领导拉到宾馆房间,然后刘平就向他们介绍华为的C&C08交换机。就这样一批几个人,一天要接待好几批的客人,他们像搞地下工作一样。
1995年9月,刘平接了一个任务,去内蒙古察右前旗开局。察右前旗是C&C08开的第一个C3市话局。中国的电信网的结构分为5级,C1为最高级,C5是最低级,以前华为的交换级都是用在C4、C5级,通常都在农村或城市郊区。刘平带着刚到华为工作的研究生钟英键来到了察右前旗,同行的还有中试部(华为负责产品成熟度的部门)的余景文。
察右前旗电信局当时使用的是从日本免费搞来的纵横制交换机,一开始的时候电信局还以为捡了一个便宜;没想到后来使用的时候经常要维修,而维修的零件费用很高,电信局这时才有了上当的感觉。华为北京办事处主任夏宁去了几次察右前旗,每次都和电信局领导喝酒喝到去医院洗肠,最后签下了这个合同。但是后来电信局再购买一些附件时,夏宁报了比较高的价格,让局###得华为怎么和日本人一样。这就给刘平他们技术人员的开局验收带来了麻烦。
由于是第一次开C3局,很多信令的功能都要修改,所以是边改边开局,还经常要公司C&C08 万门机组的开发人员远程支持,过了国庆节才割接验收。在验收的时候,由于有了前面的不愉快,电信局检查得很严。最后电信局列出了几页纸的问题清单,其中不仅有一些功能没实现的问题,还有一些涉及整个交换机结构上的不足之处。好像电信局对交换机的内部结构也非常了解,这在以前开局的时候是从来没有的。当时电信局要求刘平在这份报告上签字确认,并限期改正。而刘平在察右前旗待得很累了,急着回家,同时也没有经验,看到那份报告写得确实和实际相符,刘平就签了字。
本想第二天就可以回家了,没想到刘平晚上接到李一男的电话,说闯大祸了!任正非看了那份刘平签名的问题报告后,大发雷霆地说,“刘平签了一份丧权辱国的协议,如果竞争对手拿到这份报告的话,将是攻击华为的有利武器。”
刘平一下子慌了!连夜写了一份深刻检查发回华为公司,表明自己这段时间多么辛苦,连国庆中秋节都没回家,等等。一夜没睡,刘平第二天一早就跑到电信局去一个一个地找验收组的人,哀求他们把他签过字的报告还给他,说不然会被公司开除的。可能是看刘平很可怜,电信局的人都把那份报告还给了他,刘平最后把签过字的5份报告都收了回来。
接着,华为又派来了华北片区的总监庆龙来处理善后工作。庆龙在和电信局局方人员喝得几乎不省人事之后,终于把事情摆平。不过电信局有一个条件是要刘平留在那里,直到交换机所有问题都得到解决。就这样刘平又在那里待了一个多月。
在察右前旗辛勤攻关的3个月,刘平和局方机房的人员交上了朋友。最开心的是每天都可以吃到各种不同做法的羊肉,之后刘平觉得自己再也没吃过那么好吃的羊肉了。最难受的是每天都要喝酒,局方派了一个他们局里最不能喝酒的人来陪刘平喝酒,这个人能喝六瓶啤酒。刘平在那里整天忐忑不安,不知道回到公司后会受到什么样的处理。
一步一步坚持不懈地努力,任正非带着年轻的华为工程师们终于取得了胜利。义乌大捷,华为凭借C&C08 2000门交换机正式在中国通信市场站稳了脚跟。此后华为走了一条“农村包围城市”的路线,这是因为农村市场竞争小、空间大,而华为C&C08 2000门的技术也够得着。进邳州城,华为又凭着C&C08万门机率先在国产机型中冲进中国城市通信市场这一更为广阔的天空。早期的华为交换机虽然各种幼稚问题不断,与国外机型相距甚远,但是这些都不能难倒华为的工程师,毕竟事在人为!
小 结
一个公司应能及时把握住历史的发展机遇,要及时突破困难,关键时刻勇于“亮剑”,冲出重围,哪怕手里只有“半成品”。“狭路相逢勇者胜”靠的是什么?一靠人才,二靠发挥集体的拼搏精神。企业家的作用在哪里?在于关键时刻能调动起集体奋斗的昂扬斗志,带领队伍雄赳赳、气昂昂地朝着胜利的目标前行,而让大家忘记了其实正身处漫漫的黑暗。


深入理解敏捷开发的常见九大误区

责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。敏捷相对以前的软件工程最大的革新之处在于把人的作用提高到了过程至上,正如敏捷宣言的第一条“个体和交互胜过过程和工具”所说的。

1、敏捷是“一个”过程

敏捷不是一个过程,是一类过程的统称,它们有一个共性,就是符合敏捷价值观,遵循敏捷的原则。

敏捷的价值观如下:

◆个体和交互 胜过 过程和工具
◆可以工作的软件 胜过 面面俱到的文档
◆客户合作 胜过 合同谈判
◆响应变化 胜过 遵循计划

由价值观引出的12条敏捷原则:

◆我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。
◆即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
◆经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。
◆在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
◆围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。
◆在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
◆工作的软件是首要的进度度量标准。
◆敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
◆不断地关注优秀的技能和好的设计会增强敏捷能力。
◆简单是使未完成的工作最大化的艺术??是根本的。
◆最好的构架、需求和设计出自于自组织的团队。
◆每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。

建立敏捷联盟的17位大师所创立的敏捷方法包括:极限编程,Scrum,特征驱动开发,动态系统开发方法,自适应软件开发,水晶方法,实用编程方法。这些方法统称为敏捷方法。

其实每个人都可以从敏捷宣言和原则出发,明确问题,找出一些解决方法,形成自己的过程。我觉得国内的软件环境这么复杂,程序员的自主精神又这么强,敏捷方法应该是在中国首先提出才对,只是国人都有唯标准唯规范至上的心理定式,即使找出好办法,也觉得不规范,没有深入形成理论,无法提升高度,始终是跟着鬼子屁股后面走,我想这也是国外软件行业不成熟的表现之一吧!

2、敏捷仅仅是一个软件过程

如果仅仅从软件过程的角度去认识敏捷实施敏捷,效果不会太好。敏捷相对以前的软件工程最大的革新之处在于把人的作用提高到了过程至上,正如敏捷宣言的第一条“个体和交互胜过过程和工具”所说的。

涉及到人的问题,就已经不再是过程所能覆盖的了,就到了企业管理的层面上了,包括企业的价值观和文化。这也是敏捷在国内实施的最大障碍:

把客户当作合作伙伴而不是对手,从客户角度出发去想问题,充分的跟客户沟通,而不是出了问题推诿责任。目标是让软件实现客户的价值,而不是收钱就完事儿。

把人的能动性调动起来,给动力而不是给压力。

要实用而不是要规范。让开发人员理解并实施,体验到敏捷的好处,而不是盲目机械地实施规范。

没有绝对的权威,每个人都有可取之处。

3、迭代就是敏捷,UP属于敏捷。

看到这么多人都把UP归入敏捷,我都开始怀疑是不是自己搞错了。但是在我的印象中:

UP是重型的过程,虽然引入了迭代,但是其原则和价值观与敏捷是不同的。敏捷注重的是反馈,迭代周期尽量的短,重在客户的参与,通过客户的参与,获取持续的反馈,不断调整使整个项目走在正确的方向上。同时也给客户一个感受和思考的机会,因为对于大多数客户而言,目标是明确的(不排除有些客户目标也不明确),但是具体怎么做,开始时是没有想法的,只有看到具体的东西的时候,才知道“噢,原来可以这样,那我想把这里调整一下”。

4、敏捷是彻底革命的。

敏捷,特别是XP,让人有耳目一新的感觉,觉得以前的所有软件工程理论,设计方法都可以抛弃掉了,推翻一切,从头再来。抱着这种想法实施敏捷,那就错了,敏捷不是“石头里蹦出个孙大圣”,以前的软件过程中也有敏捷的影子,只是没有像敏捷一样上升到价值观和原则的高度,比如快速原型法。敏捷是在对已有的软件过程方法的改进,抛弃的是传统软件工程低效的外表,以往的软件过程中很多技巧都是很实用的。实施敏捷应该以现有的软件过程为基础,从敏捷宣言和原则出发,利用敏捷的方法来改善过程。

5、敏捷是反文档的。

文档只是为了达成目标的一种手段,如果这种手段是低效的,那就换一种手段。可是完全抛弃了文档,怎样解决沟通的问题?难道你想每次沟通都完全用手比划,用嘴说,跟不同的人重复表述同样的想法,那样更是低效的。

应该清楚文档的本质是把知识显性化。在一个项目中存在很多需要沟通的知识,知识具备两种形态,显性的和隐性的,传统的观念是尽量把隐性知识显性化,即文档化,而忽略了这其中的代价(特别是更新同步文档的代价)。

因此,在实施敏捷的时候,需要在团队内明确哪些知识是必须显性的,这些知识可以通过文档交流。哪些知识是可以隐性的,这些知识则完全可以通过口头的方式进行交流,以达到沟通的最佳效率。

文档不是目的,有效沟通才是目的。

6、为了敏捷而敏捷

“嗯,敏捷这么好,我们也敏捷吧”,可能很多人会有这种想法。忘了以前是在哪儿看的大师采访录:

Q:“我们现有的过程很好,不知道怎么用敏捷改进?”

A:“既然很好,那就不要用敏捷”。

做什么事情都要有明确目标的,敏捷虽好,得看你需不需要,能不能解决你现在头疼的问题,如果不是,那就不要给自己找麻烦了。

7、敏捷是CMM的反义词

在讨论中,很多人把CMM作为敏捷的反义词,我觉得这不是很合适。CMM只是一种衡量软件成熟度的标准,并非过程,和敏捷不是一类概念。如果要给敏捷找一个反义词,我觉得传统的瀑布式开发应该更合适一些。

并且,我认为,如果CMM还能继续流行下去的话,应该会有公司可以用敏捷改善的过程通过CMM认证。

8、敏捷是自由的,无约束的。

敏捷强调的是自组织团队,发挥人的能动性,以动力代替压力,让人有绝对自由的错觉。但是应该清楚,凡事都是要讲究一个平衡,人也是两面的,消极的一面和积极的一面同时并存,绝对的自由会放纵人消极的一面。敏捷并非是绝对自由,无约束的。作为管理者,有一个职责,就是引导团队成员用自己积极的一面去压制消极的一面,不能放任团队中出现搭便车的现象,否则将打击整个团队的士气。如果实在无效,那就只能将其排除出团队了,这个惩罚够有约束力吧?

9、重做就是重构

重做不等于重构,很多场合这两个概念是混淆的。但是在敏捷中,重构的一个特征是必须可控的。当对系统结构进行大的调整时,如果没有测试驱动辅助的话,那么可控性就会很差,这不能叫做重构。


敏捷适合大规模开发吗?不该问的问题!

级别:初级

Gary Pollice, 实践教授, 伍斯特工学院

2009 年 7 月 13 日

通过本文了解大型项目对敏捷实践的应用,本文介绍特定的公司价值和背景是如何帮助您决定采取那些敏捷实践的。

来自 The Rational Edge

人们经常问笔者敏捷是否适合大型的项目,或者是否它只适合小型的项目和团队。笔者意识到这是一个很难解释的问题。您可能会问为 1000 个人准备食物,是否和为准备四口之家的食物没有本质区别。当然是这样的,但是您可以看到不同的方法,食谱以及器具。您可能会在一个 20 加仑的容器中混合沙拉,而不是一个小罐中进行的。本文检查了大型项目中敏捷的角色,并考虑笔者们对可伸缩性可以问的更好的问题。

为什么这个问题是错误的

Ron Jeffries,一个著名的极限编程(XP)开发员,宣称 XP 实践在任何范围内都能很好的工作。他说当人们对大型项目的敏捷反感时,他们实际上并不理解敏捷;因此,他们并不能评价大型项目的适用性。1 笔者赞成他的观点。笔者不会去讨论关于敏捷的定义,因为笔者已经在The Rational Edge 2007 年 5 月的文章中做了详细的阐述。2 笔者假设您已经阅读了这篇文章,还有《敏捷宣言》(Agile Manifesto)及其实践的内容。3

《敏捷宣言》(Agile Manifesto)对项目的大小并没有做特定的限制。实际上,敏捷宣言是一种价值的定义,这种价值是宣告选择用以应用到软件开发中去的。如果您在一个拥有这些价值的公司中工作,或者您所在的项目团队拥有这些价值,那么您可能会决定使用敏捷实践。如果因为某些原因您没有或者不能采用这些价值,那么您就不需要为敏捷而操心了。与一些流行的看法相反,这并不意味着您是一个不思进取的人!

因为价值是公司的属性,所以现在就可以很容易的看出问题“敏捷适合任何项目规模吗?”是糟糕的问题了。价值决定了公司是怎样进行业务活动的,而不是公司或者项目的规模决定的。显然大型的公司拥有更多的过程和管理,但是核心的价值是不受影响的。

我想要做一个小型试验。我研究了一些大型和小型的公司。我查看了他们关于业务行为哲学的描述和信息。阅读下列信息,并查看您是否可以识别公司,或者至少是公司的规模以及它的软件项目。

1.    公司 A 列出了一些他们信仰的东西,如下所示:

a.     关注用户并尽力满足他们的需求。

b.    快总比慢好。

c.     您不需去等待一个答案。

d.    保持认真。

e.    很好就是不够好。

2.    公司 B 的原则宣称“他们致力于快速并精确的构建软件。最成功的软件项目是强有力的管理,高级的技术技巧,以及使用定义良好开发方法学或者过程的混合体”。

3.    公司 C 有三条强调的值:

a.     服务每位客户的成功。

b.    创新非常重要,对我们公司以及我们所处的世界都很重要。

c.     所有关系中的信赖和个人责任感。

4.    公司 D 看重整体性,诚实,开放性,个人的优异,构建性的自我批评以及相互的尊重。尊重员工和合作者,并拥有一定的技术。他们进行巨大的挑战,并为征服它们而骄傲。他们通过奖励客户,投资者,合作者,以及员工,提供结果,并为最高质量奋斗,而对他们负责。

5.    公司 E 有一句话来描述他们的任务:“通过创新性,智能化,可用的数字媒体方案的概念和执行来服务客户。”

6.    公司 F 相信:

a.     最佳的方案从清晰和明了的方案开始。

b.    最佳的地址是标准遵循者。

c.     最佳的软件是迭代开发的,并有最好的客户参与其中。

d.    最佳的代码从测试开始。

无须再说,他们对使命的理解和陈述值得我们的尊敬。现在,您是否已经可以决定公司的信息及其规模?在这里我不会提出公司的名字,但是我将会简单的介绍如下:

1.    一家是我们每天都要与之打交道的跨国公司。

2.    一家为客户编写软件和专业培训 XP 团队的小型公司。

3.    世界最大的技术公司之一。

4.    世界上最大的软件公司之一。

5.    一家为其客户构建 Web 程序和其他系统的中等规模的公司。

6.    一个从前是我学生的人创建的小型咨询公司。

当我在寻找这些公司,以及他们任务和价值的时候,我没有发现任何与规模或者“敏捷”相关的信息。

 


 

 

哪些敏捷实践能够适合大型的项目?

那么,针对大型项目的敏捷,什么才是应该问的正确的问题?我相信正确的问题是“哪些敏捷实践最适合支持大型公司或者大型项目?”

不同规模的公司可能会使用不同的过程和实践。与涉及到一个或者两个人的项目相比,涉及到数百人的项目肯定会有不同的控制和抑制因素。沟通频率会随着项目成员的增加而按指数增加。为了获取重要的交流信息,大型的团队必须以更加严格和正式的方式进行工作。上面所有我提到的公司,运行的是敏捷方法很适合的项目。可能并不是所有的项目都认同敏捷,但是许多公司确实是认同的。这样的项目与顾客有规则的交流,并且必须处理需求的快速更改。开发团队成员相互之间必须有紧密的合作,并要快速不带迟疑的对系统作出决定。

让我们看一下敏捷实践,并看看它们是如何适用于大型项目的。让我们承认大型的项目要有二十或者更多的人员参与,但是这是一个任意的门槛。您可以决定,我的标准根据您对大型项目的概念是否需要调整。

Ron Jeffries 说大多数的 XP 实践适合大型的项目。大多数对敏捷感兴趣的人都或多或少的对 XP 有一些了解,这就使得它成为一个好的起始点。Ron 的 XProgramming.com Web 网站识别十三种实践。4 接下来的是我对这些实践是否适用的评价。对于每一项实践我都指出了我是否认为它适用,并简单的呈现了我的意见。

整个团队(不)。这种实践需要所有的团队成员坐在一起进行商量。至少要有一个顾客代表在场。大多数团队都是分布式的,这样有可能每一个分开的地理位置都有一个顾客代表,所以可能它并不是经济上合理的。而且,找到一个可以容纳二十多人或者更多人的房间可能是非常困难的。大型的团队会在项目的生命周期内拥有小型的分团队。每一个这些团队可能都可以使用 Whole Team 实践。

计划策略(是)。计划策略让一个团队简单的计划和追踪。不管团队用以获取需求的工具以及迭代的长度,计划策略都让生产现实的迭代计划变得更加容易。

小版本(可能)。“小”是一个主观性的词语,取决于您的定义。但是,大多数的软件系统允许团队去选择最终系统的一部分,以完全执行一个小型的版本。它遵循迭代和增殖开发的原则,并在使用 IBM®Rational®Unified Process (RUP)的各种版本的项目上运行良好。一些系统,特别是那些涉及到集成通用硬件和软件的系统,对与使用小型版本可能不太友好。

定制测试(是)。还有谁比客户更能知道系统必须去做什么?顾客代表可以书写测试用例,或者帮助书写任意项目的测试用例。实际上,对于一个更不敏捷的项目来说,顾客通常指定验收测试作为合约的一部分,或者它的补充物。

简单设计(可能)。设计应该尽可能的简单,这是理想化的。正如 Jeffries 描述的那样,这种 实践确实是不断增值的设计。项目需要的设计的数量,应该由项目的类型以及项目需求来决定。

配对编程(是)。成对编程看起来可以产生更好的质量且避免过大的压力。只要有两个团队成员可以一起工作,这种实践就可以进行。如果团队是完全地理分开的,那么这种实践就无效了,5 但是它与团队的规模无关。

测试驱动开发(是)。对质量有严重责任的开发员,应该为他们的工作书写单元测试。如果他们书写单元测试的话,他们就可以在执行代码之前就去书写了。项目规模并不影响什么时候书写测试的选择。

重构(是)。好的程序员不停的工作,以创建更加强壮更具维护性和有效的代码。项目的规模再一次与此无关。

持续集成(可能)。小型项目可以使用简单的工具去执行持续的集成实践。拥有多个位置和多个代码库的大型项目,可能并不能构建完整的项目。显然他们会需要更高级的工具,以达到一个更加有效的集成过程。经济考虑可能会是决定是否采取实践最重要的因素。

集体代码拥有权(值得怀疑)。虽然小分队的团队成员可能会理解所有他们创建的代码,他们非常理解其他团队成员工作 的几率很小。一般的代码所有权会在开发员之间进行分配。

编码标准(是)。没有编码标准的任意规模的项目都注定会出问题。

隐喻(不)。坚定的 XP 支持者对这个问题很关心。有一些人做了长期的尝试,想要人们意识到隐喻的价值。我仍然没有被说服。显然,在我们开发结构时我们使用了很多的隐喻,但是它们并不能取代结构的作用。在笔者看来,随着项目的变大,试着得到隐喻的精确信息是十分低效的。

可持续步伐(是)。这不仅仅关系到公司和项目的规模,还关系到公司和项目的文化。

我赞成 Jeffries 的评价,他说大多数 XP 实践能够很好地适应大型的项目。那么其他的敏捷实践呢 ?

关于 Scrum 的笔记

另一项流行的是 Scrum。6 Scrum 是一种可以适用于许多类型工作的管理过程。

基本上,Scrum 是一种构建产品的增长的迭代过程。它在构建新的产品时最有效,但是也可用于其它的条件下。Scrum 的主要目的是日常的循环以及 30 天的循环。图 1 是一个图标,选自 Wikipedia 关于 Scrum 的网页7 ,如下所示:

 

图 1:Scrum 循环。

Scrum 有一些非常基本的思想,并以一种适合软件开发团队工作的方式进行组织。特定的实践有:

1.    迭代开发。这是大多数软件开发过程的例程需要的图片,不管是不是敏捷的。在 Scrum 中,迭代校正 sprints,定义为 30 天。

2.    短期会议固定的日常循环 下,每一位团队成员都回答三个问题:

a.     上一次会议我完成了什么?

b.    达到我的目标碰到了什么障碍?

c.     下一次会议之前我需要做些什么?

有一个人扮演的是 Scrum 管理员的角色,并未扫清障碍负责。

  • 两种挤压未作之事:产品所有需求的产品积压以及 sprint 积压,包含了当前 sprint 规划需求。在sprint 期间 sprint 积压并没有改变。
  • 回顾每一个 sprint 尾期以改善过程。

没有 Scrum 概念是特别新的。Scrum 以一种低负荷的方式进行组织,并依靠自我组织的团队。

对大型的团队来说 Scrum 是否适合?Ken Schwabe,Scrum 创作人之一,肯定地回答了这个问题。他指出通过“scrums of scrums”,可以适应大型团队。8 Scrum开发员说这项技术适用于超过 500 人的大型团队。我并不能确定这些团队成员是否都只忙于一个项目。

还有许多其他我们会讨论的,关于对大型团队适用性的敏捷方法学。您可以自己去执行这些实践。在这里,我想要推荐一种更有效使用时间的方式。

 


 

 

重构问题

在试着决定怎样通过关注技术或者过程,而不是项目来应用“流行”技术,工具和过程时,我已经掉进了一个陷阱。当我在处理设计和开发 Rational Unified Process,也就是 RUP 时,我与我的客户进行讨论,并发现那些成功者,关注的是为项目的成功需要去完成的项目和工作。

关于 RUP 的一个微观概念,是这是一个过程而不是一个过程框架。成功的 RUP 采用从他们的项目开始,并定制 RUP 以使其适合他们的项目和公司。我想在我们试着对采用任意的方法学,包括敏捷技术的采用时,相同的方法也是有效的。

识别价值

任何向公司引入更改的尝试都将会失败,除非这种更改与公司的核心价值相协调。例如,试想一下,向您的公司引入一项软件再使用实践。软件再使用的益处总所周知。但是根据开发员所写代码的数量进行奖励,那么这种价值就很难引入。开发员知道他们是怎么评价的。程序员将可能抛弃这种方法,以确保他们并没有再使用模型,因为它将会使更少的代码被书写出来,这就意味着更差的性能。

如果我们假设采用敏捷方法时,您并不准备更改公司的价值,那么如果您想要使敏捷方法获得成功的话,您就必须选择与实际价值相匹配的实践。

识别背景

项目和公司存在于一个背景中。背景就是项目或者公司存在的环境。背景的一些典型特征是:

  • 团队位置团队成员是否位于同样的地理位置(例如一个单独的区域)?团队成员是否可以有规律或者无规律的聚会?如果他们并不位于单独的区域,那么他们的地理分布如何?他们是否被一些时区或者地理因素所阻隔?
  • 已存在的实践和工具如果您不断的引入敏捷方法的话,那么它们就必须执行已存在的过程和工具。更改必须以一种尽可能自然的方式进行整合。当一开始团队将更改整合到他们的工作方式中去时,一般都会引起生产效率的下降。如果更改与现存的实践并不协调的话,这种下降会更加的明显,而且新的操作可能永远不会产生想要的结果。
  • 人员因为人才是最终使用新过程和实践的一方,所以他们的个性与工作习惯也必须在考虑范围之内。如果您的公司的成功是一群有独立意志的贡献者所做的话,那么引入一项需要大量合作的过程的话,这种组合很可能毁于交流不善良。
  • 例程许多公司拥有大量的例程或者规范。特别是政府规划更是在这一中环境下进行的。定义良好的重大事件,需要正规的检查和大量格式正确以及准备充分的文件来支持检查。不强调例程以提高项目其他特征的实践,在这样的公司内将不会受到欢迎。

决定背景的其他因素取决于项目和公司。

定义成功

在您为您的公司和项目识别实践价值和背景之后,您仍然有一个最重要的问题要问:新实践或者新过程的最终目标是什么?换句话说,什么可以定义成功?

我认为“变得更加敏捷”并不是一个目标。因为它太容易了。今天许多的敏捷媒体文章对许多管理员和项目领导进行了狂轰滥炸。他们从开发员那里听到了关于敏捷的信息,这些开发员是在寻找书写代码更加省时的方法,而不是努力支持软件开发的其他方法。但是,努力变得敏捷并不是最终的目的。必须要有一个或者多大能够被认为是更改目标的可识别业务。

一旦您开始奋斗,您就可以问正确的问题了:“我们可以将什么样的实践,整合到与我们的价值相匹配的已存在的背景中去,这样我们的员工具可会积极的响应它,并最终到达预设的目标?”如果您的价值和背景指示一项敏捷位置的话,那么您就当然应该采用敏捷方法了。如我在上面所述的那样,项目规模的影响可以忽略。

 


 

 

应当重视的参考材料

我建议您要熟悉敏捷以及一些敏捷方法学,这样可以帮助您决定什么实践最能适合您的需求。据我看来,下面的书籍和网站将会给您一个关于这个问题的较好的原因。

Agile Software Development 2nd edition.: The Cooperative Game(《敏捷软件开发》第二版),Alistair Cockburn,Pearson Education,2007。Alistair Cockburn 对软件开发原则有一个广阔的视角。他定义了一系列的过程(他的 Crystal 家族),并分类了过程的应用性。该书为理解敏捷提供了一个好的基础。

Agile Software Development in the Large: Diving into the Deep(《大型的敏捷软件开发:深入研究》),Jutta Eckstein,Dorset House,2004。Jutta Eckstein 关注了怎样对大型的软件开发应用敏捷方法进行的咨询和研究。本书给出了她对大型项目应用敏捷方法,怎样达到这一点,以及怎样做到更好的观点。如果您要查看对大型的项目或者公司应用敏捷方法的话,那么这篇文章您就必须要阅读。

Martin Fowler 的网站,http://www.martinfowler.com/。我喜欢 Martin Fowler 的作品。在我看来,他和 Craig Larman 是软件开发方面的最好的两大学者之一。他们写的就是我想要读的。Martin 关于敏捷和 XP 的文章应该在您需读文章的列表上。

前面提到过的 Craig Larman,他的网站 http://www.craiglarman.com 是很有价值的。他的书,Agile and Iterative Development: A Manager's Guide(《敏捷和迭代化开发:项目经理指南》),Addison-Wesley,2003,提供了四种方法学的精彩对比。在阅读这篇文章之后,您就会理解怎样去比较和对比其他的文章了。

 


 

 

结论

每一个专业的管理员和开发专业人士都想做的更好。现在敏捷方法看上去为一些小型团队和项目,提供了利益,这就让我们去思考,我们怎样让这种利益在更大的背景下仍然有效。方法就是首先关注想要的结果,然后决定什么样的实践将会最好,而不是在理解想要的结果之前去理解敏捷。

不管您做什么,如果可能的话,将您的实践建立在迭代开发的基础之上。很少有瀑布模型有效的情况发生。所有现代的方法都是建立在迭代,增值开发的基础之上。9 使用这些作为一个基础,并添加与您的公司和项目文化相匹配的敏捷实践。

 


 

 

注解

1.    查看 Agile Forums » Advancing Agile » Large Projects

2.    查看“敏捷软件开发:关于它的起源以及创始人的传记”。

3.    查看 Manifesto for Agile Software Development 和 Principles behind the Agile Manifesto

4.    查看 What is Extreme Programming?

5.    为支持分布的成对编程,构建了一些实验系统。结果到目前为止并不确定。

6.    查看关于 Scrum 的信息。

7.    查看 维基百科上的 Scrum 条目

8.    关于 Scrum 概念的描述可以从 Mountain Goat Software 的网站上找到。

9.    人们可能会掉入的陷阱,是将敏捷方法当做瀑布模型的反面。这并不是事实。迭代开发并不是瀑布模型的反面。您并不一定要使用敏捷方法来进行迭代开发。


华为、腾讯的敏捷之路

2008年12月27日在深圳举办的活动是QClub第一次走进华南地区,50多位同行聚集在华为互联网业务部漂亮的新办公区里,与王速瑜和周代兵两位嘉宾一起分享腾讯公司在开发互联网产品过程中的经验和体会,以及华为软件公司的敏捷之路。

 

腾讯公司在开发互联网产品过程中的经验和体会

主讲是腾讯公司的R&D研发总监王速瑜。腾讯的互联网产品要求新求快,需求不确定的程度很高,必须快速适应变化。

 
用QQ漫画形式推介敏捷

在腾讯敏捷产品开发流程TAPD(Tencent Agile Product Development)中,结合了类似FDD的做法,由产品经理归纳的特性去驱动开发,过程上借鉴Scrum,具体实践借鉴XP。迭代计划会议强调所有人员都参与,包括UI、QA等等部门,共同探讨各种困难,评估工作量。每开发完一个需求,都要根据用户调研、会员测试等途径得到的数据做回顾。互联网应用用户基数大、产品分发容易,而且他们可以很容易地根据后台数据分析用户行为,以之判断新特性是否成功。利用以上特点,他们通过逐步增加新特性的用户量、多个版本交叉升级的“灰度发布”方式,做到早发布、常发布。

通过明星产品QQMail的实践,观察到团队成员的心情在逐步向好,同时用户量也有10倍以上的增长,这些效果坚定了他们继续推行的信心。

腾讯很重视工具建设,比如有内部门户帮助团队间的交流研讨,有类似Mingle的迭代计划工具等等。王速瑜还提到一个“团队股市”的有趣应用,可以反映出团队的敏捷能力上升情况,帮助衡量团队能力,也起到激励的作用。

实践中也遇到一些困难。比如站立会议对于二三十人的较大团队负担较大,时间长了之后变得形式化和呆板。为此他们采取了轮流主持等方式加强参与感和增加刺激,但结果还不能令人满意。有的团队改用虚拟方式增进效率,也更适合分布式团队。

结对编程的推行也不太成功。开始的时候效果很好,因为看到质量提高,团队成员也愿意去做,但逐渐由于项目压力大而放弃。

其他困难还有每年上千毕业生要融入团队,大型产品QQ客户端发布周期长达半年以上,诸多问题尚在探索之中。

华为软件公司的敏捷之路

第二位分享的是周代兵,华为软件公司软件工程部经理。华为的转变经历了很长的过程。首先是引入IPD(Integrated Product Development)改变了游击队做法,成功将企业从自行摸索的技术导向转变为市场导向。接着引入CMM(I),大大提高产品质量。IPD+CMM形成的项目管理、质量保证体系确保了企业的正常运作。

然而,在华为的传统做法中,过于偏重对过程的控制,忽视了人与工具的因素。流程控制使得产品质量可控,进度有保证,管理层亦较容易了解进度。但软件开发不同于生产线上的重复劳动,是创造性的工作。严守流程能完成任务,但其成效是未知的。片面追求运作规范,结果是完美的报告的背后,可能是质量完全不相称的交付物。

华为还引入了RUP,尝试用迭代去解决瀑布方法交付周期长的问题,但发现RUP虽然全面、完善,但并不能切合需要。于是Scrum和XP进入了他们的视野。

 
复习了一遍Scrum和XP

在实施中,他们利用精益思维去发现需要改进的地方,有选择地采纳一些XP实践,并以Scrum去补足XP在管理上的弱点。举例来说,他们用结对去代码复审和沟通的问题;用TDD去“做刚好够用的事情”,避免在无用的产品功能上浪费资源(曾有产品高达50%的功能无用);用看板和ScrumWorks等软件工具去维持项目进度的可视化;整合原先按照开发、测试等阶段划分的团队,消除“停工等活”的浪费。

在转变的过程中,他们并非全盘放弃传统做法,而是将IPD移到上层用在决定投资决策方面。然后用敏捷团队逐渐代替CMM团队。团队被赋予对自身采用何种方式的选择权,运作良好的项目可以继续下去。同时他们观察到以前所谓的“烂项目”会主动选择变化,正说明这些项目不适合瀑布方法。

他们也认识到改变需要很长的时间,从关注过程到对人的关注牵涉到文化的转变,而习惯根深蒂固,利益不同更是会产生以邻为壑的做法。为此他们用“一体化团队”去打破部门之间由于利益不同造成的 “部门墙”,将交付成功与所有人的利益关联起来;帮助成员做角色的转变,比如将过去充当警察角色的QA变成教练和Scrum Master的角色;重新设计办公室布局以促进交流。

周代兵将华为的敏捷之路形容为“一夜的引入,长时间的改变”,他们还在“Moving”之中。

Q&A

以下是部分Q&A(根据编辑笔记整理要点,非原话):

  • Q:开发与测试如何配合分工?
    王:测试不是某一部分人的责任,也不是到后期才做,从迭代计划就已经提出目标。需要平台工具才能保证。
  • Q:FDD如何实现对程序员的质量约束,TDD放在什么位置?
    王:FDD、TDD使用到不同阶段。FDD的目的在于让成员关注产品目标,鼓励成员提出想法。没有做FDD的建模部分,更接近于产品Backlog。Web产品对建模的要求低,因为很容易得到用户反馈,第二天就可以发布新版本给一部分用户。TDD处理编码部分的问题。有了持续集成之后,才将所有实践贯穿起来。
  • Q:结对的目的?
    王:把培训放到结对中,还有代码复审的作用。
  • Q:是否轻文档、重代码?
    王:不是没有文档,关键文档仍然是必须的要求。但文档写到什么程度,团队成员达成一致意见即可。团队之间交换成员,把人员放到不同项目中去,也有助于发现哪些文档是沟通中不可缺少的。
  • Q:推行敏捷是否“一把手工程”,如何使领导觉得敏捷是成功之路?
    周:绝对是,没有管理层的认可不可行。推动者有教育管理层的任务,可以借助外力推广理念,可以用标杆项目增加说服力。不打旗号地去传播经验。
  • Q:绩效考核如何适应敏捷方法?
    周:华为过去非常重视可度量化,现在也仍然如此。曾经根据很细致的数据去做度量,但发现过程性的东西对产出的结果没有太大关系。因此现在改为关注结果,只用很少、很粗的数据去量化。由于传统的惯性还需要做很多说服工作才能扭转。
  • Q:测试人员的绩效如何衡量?
    周:过去用测试发现的问题量去衡量;现在用客户反馈的问题量去衡量绩效。
  • Q:计划时如何确定功能点数量?
    周:先确定迭代周期,一般为2~4周,根据在此期间能完成多少来确定。开始的时候不熟悉会少一些,后期可多一些。
  • Q:生产力提高多少?
    周:差不多。但明显改变交付能力,客户满意度增加。不同团队的生产力数据离散度增加了,可能与团队能力参差有关,还有待研究。
  • Q:实在多次迭代之后重构,还是每次都重构?
    周:重构有不同的维度。小范围的重构,个人编程的时候就会频繁进行。在增加许多功能之后可能发现架构上不适应,需要做大层面的重构。

 
分组讨论

引入敏捷但不行之过甚

作者 Venkat Subramaniam 译者 Jason Lai 发布于 2007年3月26日 上午6时20分

摘要

敏捷软件开发日益得到各方追捧。但是,“敏捷”二字到底意味着什么呢?是单元测试,持续集成,还是遵循 XP 或者Scrum?在本文中,我们将探讨如何将敏捷方法引入出现问题和尚未使用敏捷方法的项目中。

敏捷方法学

这些年以来,已经有一些敏捷方法陆续浮出水面:极限编程(Extreme Programming,XP)、Scrum、Crystal、精益开发方法(Lean Development,LD)、动态系统开发方法(Dynamic System Development Method,DSDM)和特性驱动开发(Feature Driven Development,FDD)等等。尽管这些方法所强调的地方各有千秋,但是它们之间存在一些共同主题:成功完成开发,使设计能够演进,创建健壮的代码,还有,最重要的是通过与客户的交互寻求反馈。

不同的方法对于不同的人来说,意义各有不同。某些人认为,假如你不照本宣科地遵循XP的所有核心实践,那么你就不是在实践XP。XP有一些重要实践,Scrum也有自己的重要实践。此外,还有其它的重要实践可供使用,并取得成功。

开发者们会问:“我应该遵循哪个方法?”“我应该用 XP,还是 Scrum?对于项目出现的不利局面,我该做些什么才能扭转乾坤呢?”这些问题都非常具有实质性,我们将在本文中逐一解决。

为失败的项目引入敏捷特性

方法学常常伴随着一些规程(ceremonies)而来。一些重量级的开发过程会非常规程化(或者说正规化)——它们会要求你遵循一系列的步骤,编写某些文档,等等。假如它真的能为你的成功带来影响的话,一定程度的规程是很好的。通常,敏捷方法会期望你去实践单元测试,举行站立会议(standup meetings)等等。这些同样也是规程,并且敏捷方法支持者们(包括你谦恭的作者)都会表示,这是一些应当遵从的好规程。但是,这些是你应当第一顺序采用的实践方法吗?你应当采用所有提供给你的实践方法吗?你应该立刻全部采用它们吗?不必,当然不必。

让我们打个比方。我们会同意,健康饮食加上锻炼是保持强健体魄的好习惯。然而,如果一个病人患了严重的胸痛,你肯定不会(也不想)听到医生说:“如果你饮食健康并且加强锻炼的话,你就不用到这儿来了。所以说现在给我爬起来,马上来跑步机上锻炼!”这么做着实荒唐可笑,弄不好还可能把病人的性命搞丢。我们必须先将病人稳定下来,直到病情得到改善,才能用强化训练的方法进行调整。

假如你想在出现麻烦的项目中全盘引入敏捷方法,其结果也有可能是全盘皆输。在引入其它优秀的实践之前,让我们先探讨一些能帮助我们重建项目,并使其恢复元气的实践吧。

采用迭代的步伐迈向敏捷

假定你只有几个月时间来完成你的项目,然而项目团队仍远远地落在计划之后。此外,假设你的团队并不熟悉诸如单元测试和持续集成之类的大多数重要的敏捷实践。为这样的团队引入单元测试,可能需要时间理解和熟练应用。尽管单元测试可以带来显著的益处,但是对你的团队来说,目前却可能并非合适的时间。

比较稳健的做法,可以是一个渐进的(迭代且递增的)方式,使你的团队迈向敏捷。在入手解决问题之前,第一件事情应该是去了解问题到底是什么。为什么你的团队会落后于计划?有哪些东西在妨碍他们?至少,世界上所有的好方法都无法马上见效。了解首要和迫切问题是什么,并且解决它们,是很重要的。一旦你解决了首要问题,你就可以继续前进,进行改进和调整。

使用迭代式敏捷方法的尝试

我曾有这样一个机会参与到一个处于危机状态的项目中——一位翘首企盼的客户在为他行将崩溃的项目紧急求援。这个项目进行了很长时间,却成效甚微。整个项目团队并没有采取任何敏捷方法,他们没有进行交流,项目没有迭代周期。他们痛苦地挣扎着,以期能跟上进度,并努力尝试在编写新代码和修正 bug 之间寻找平衡。

他们只剩下很短的几个月来完成这个项目;整个团队陷于一片恐慌之中,项目经理几近绝望。要求团队采取例如单元测试的方法,在当时看起来并不是一个稳当的做法。那么我能尽可能少地采取哪些敏捷方法实践,来为这个项目逆转乾坤呢?根据当时项目和团队的现状,我们决定以其时看来最合乎逻辑的三个方法开始:每周迭代并提交演示版本,每天举行站立会,以及划分优先级和回溯。

每周迭代并提交演示版本

整个团队埋头苦干,发了疯似地想把事情做好。他们看到的项目范围和任务列表上的任何时间满得让人脑袋发晕。团队成员中存在一些合理的顾虑:我应该修改这些 bug 吗?我应该添加新特性吗?该是哪些新特性?那上周我开始着手的东西又该怎么办呢?还有两周前的呢?你要我一口气处理所有这些东西?就在现在?!

如果项目团队能够清楚地专注于他们应该做的工作,那么结果肯定是颇有裨益的。通过确定按照以周为单位的迭代进行工作(不同的敏捷方法推荐一至六周的时间作为迭代周期),我们可以每次定义出一周的工作范围。这样就为团队的每个成员和项目经理提供了一个让大家坐下来制定当前一周工作目标的机会。一旦用于迭代的任务列表被制定下来以后,团队的每个人参与评审。谁也不想搞出一个失败的计划——整个团队都必须统一口径,决定哪些要完成的东西是合理的。

每个周末,我们向可能为项目提供关键性反馈的核心客户进行项目演示。项目团队进行这些演示的目标,就是为了符合客户的期望,每周进行一次。在演示中,项目团队展示哪些东西已经被实际构建出来,阐明他们完成的特性,并且寻求反馈,从而了解哪些可以改进,哪些需要更改。我们也决定哪些任务应当在下周优先执行。

每天举行站立会议

团队的成员们抱怨说,他们能听到的,仅仅是行军号角声,但没有人知道其他人到底走到了那儿。他们之间缺乏有效的交流。

我们在这个项目中引入的第二个方法就是每天举行站立会(最先在 Scrum 方法中提出,并在 XP 中被采用)。每个团队成员都有机会进行一个简短的演讲。他们被要求集中讨论三件事情:前一天他们做了些什么,今天他们打算做些什么,还有哪些东西在妨碍他们(如果有的话)。

这样做使整个团队得以了解每个人在做哪些东西。而且,这对当天的准备也起到帮助作用,促使每个开发人员把重心放在自己当天的任务上。

划分优先级和回溯

一个困扰项目团队的问题是,他们很难将注意力集中在他们应当完成的工作上。开发工作就像玩“抓螃蟹”游戏一样——他们被修复那些看似毫无规律地不断冒出的问题,搞得手忙脚乱。他们主要使用电子邮件报告问题。不幸的是,这些邮件常常丢失,或者被其他堆积成山的正常邮件和垃圾邮件所掩埋。通过使用一个简单的追踪系统,我们可以输入问题和错误,为它们分配优先级,并且检查开发人员的进度。这样也为项目带来了一些好处。

其他实践方法

在这个项目中,我们又进一步引入了其他有用的实践方法,但并不是一蹴而就的。这么做的目的,不是为了变得敏捷,而是为了成功。我们采取了一种为项目团队带来自信的方式进行工作,并且让大家明白项目在前进。我们否决或者推迟了不会带来即时收益的方法,把带来长期收益的方法保留到之后进行。通过遵循一些经过选择的有意义的方法,以及团队的帮助和对成功的恳切追求,项目提前于计划完成了——这在以前是不可想象的。

结语

Ron Jeffries 明智而又贴切地表达了这样一个观点:“采用XP本身并不能带来任何奖励。真正的奖励来自使用正确的实践组合做事,那就是成功。”你要做的,是把注意力集中在如何取得成功上,而不是照本宣科地去实践敏捷。首先,选好能实际解决你问题并且带来进展的实践方法。然后,继续采用其他使你和你的团队变得更好的方法。你怎么知道你做的是正确的呢?除了成功,没有更好的证明方式。

参考文献

  1. Kent Beck and Cynthia Andres, "Extreme Programming Explained: Embrace Change", Addison-Wesley Professional.
  2. Ron Jeffries, nn Anderson, and Chet Hendrickson, "Extreme Programming Installed", Addison-Wesley Professional.
  3. Ken Schwaber and Mike Beedle, "Agile Software Development with SCRUM", Prentice Hall.
  4. Venkat Subramaniam and Andy Hunt, "Practices of an Agile Developer", The Pragmatic Bookshelf.

关于作者

Venkat Subramaniam 博士(venkats@agiledeveloper.com)是Agile Developer, Inc.的创始人。他培训并指导了美国、加拿大、欧洲和印度的3000多名软件开发人员。Venkat帮助他的客户有效地在软件项目中实施敏捷方法并取得成功,并且他本人多次在大会上进行演讲。同时他是休斯顿大学的助理教员(在那里他获得了2004年计算机系教学优秀奖),此外他还在莱斯大学继续教育学院教授专业软件开发人员系列课程。他是《.NET Gotchas》的作者,以及《Practices of an Agile Developer》的共同作者。


关于腾讯敏捷框架TAPD(Tencent Agile Product Development)

关于腾讯敏捷框架TAPD(Tencent Agile Product Development)

腾讯是一家典型的互联网企业,互联网行业有其鲜明的特点:
1.关注用户行为
2.追求创新(腾讯有一个创新中心部门)
3.需求不确定性高
4.快速适应变化
5.快鱼吃慢鱼

腾讯在敏捷开发方面的实践大致包括3个部分:
1.产品
:采用FDD,即产品特性开发驱动的一种模式,腾讯的产品会有一个明确的产品经理这样一个角色,他会负责整个产品,包括产品的验证、产品的方向、市场调研、用户调研等。FDD模式是一种非常适合产品经理来对产品做一些滚动的要求,腾讯在产品设计上引入了类似FDD这样的模式,但是也不完全是FDD,只是参考FDD,所有的开发团队都是由产品经理所归纳出来的产品特性去驱动整个产品的研发。
2.项目管理过程:腾讯采取了SCRUM,但也不完全是SCRUM,有腾讯根据自己的特点去总结的一些实践,大概的项目管理过程同SCRUM的过程是比较类似的,包括每天的晨会、迭代、timebox、每个迭代完成的时候会有showcase、回顾总结等。
3.开发实践:参考了很多XP的实践,就XP完整的实践来说会比较理想化,很多东西不一定在实际开发中能够采纳,所以腾讯也是采纳其中的某些实践,比如自动化测试和持续集成,通过这样的实践就能保证产品有一个快速发布的过程。

在腾讯的敏捷实践中,具体的实践情况是这样的:
1.故事墙
:就是白板story wall,平时工作中很多团队都会使用,这些团队会把每天开发的一些产品特性采用story的方式每天都在白板里面展示出来,整个团队每天都会围绕这个白板能够清晰的看到整个产品或者整个项目的一个过程,包括整个产品特性的过程。
2.迭代总结:在每一个产品发布的时候都会有一个总结。具体的做法是,把做得好的、不好的总结出来,做得好的在下一次迭代发扬光大,做得不好的在下一次迭代就要注意改进。这样的总结是要求项目的所有成员都必须参加,包括项目的开发人员、测试人员、QA、项目经理、产品经理等,每个人都要去去总结他在上一个迭代中碰到了什么问题,通过便签纸的方式贴出来,项目经理实际上可以看成是SCRUM M a s t e r,包括站起来总结这样一些东西,包括我们下一次迭代继续发扬什么,必须要注意什么东西,最后就会得出一个excel的文档,包括上一个迭代中出的问题,具体的解决办法,都会有。
3.每日晨会:每个团队每天大概花15-30分钟,回顾昨天做了什么、昨天有些什么问题、同时也会介绍每个人今天计划做些什么工作(特点:是站着开会)。最早是通过白板的方式去做,就是每天项目经理组织团队成员对着白板,白板上体现项目的进展情况,通过会议可以很明确的知道昨天大家做到什么样子,今天大家计划做什么,最早的时候每个成员都是口头汇报的。实践一段时间就发现了一些问题,第一、对于一个20、30人的团队,每天要怎样做晨会,这是目前遇到的比较大的困惑;第二、晨会很容易形式化,究竟带来什么样的效率和效果,目前也在通过一些方式去研究,去探讨。第三、有一些形式上的呆板,刚开始做会觉得比较有意思,觉得这跟传统做法不一样,每天这样做并且做多了就感觉很枯燥,这也是面临一个挑战。后来腾讯也做了一些改进,比如为了让成员的参与程度更强一些,包括形式上会更强一些,现在有些团队就会采取每个人轮流主持的方式,刚开始晨会的时候我们也会通过一些好玩的东西去刺激一下某些东西,但是现在看来的话,感觉改进的还是不是很透。在腾讯内部有一个交流通信的软件,有些项目也开始不采用站起来开晨会的方式,觉得站起来效率也高,就会通过即时通信软件每天去交流,最后由一个人去统一输出,这样能解决一些分布式团队的合作。所谓分布式团队就是这个团队中有些同事在这个大楼,有些同事是在那个大楼,通过这种实时交流的方式可以解决一些问题。
4.结对编程:并没有很好的实施开来,但是在一些团队里面还是一直在尝试着做结对编程的工作。一个在编写程序,旁边还有一个人,同时记录编写过程、编写思路、碰到的问题、自己的想法,编写完以后一段时间他们会交换一下,就是互相交换着进行编程,这是一个结对编程的一个过程。
5.时间盒:timebox,在腾讯的产品研发中,产品的每一个迭代都有一个明确的时间盒。在每一次迭代开始的时候会召开一次IPM会议,即本次迭代的计划会议,会议中团队中的所有成员包括产品人员、开发人员、项目经理、总监、部门领导,一起去敲定本次迭代要完成的任务,一旦任务敲定下来,本次迭代就会严格按照这个去落实执行。
6.一个完整的迭代过程:包括概念、设计、开发、测试和发布五个过程。在概念阶段,会采用FDD里面提到的一些好的最佳实践来支撑到我们怎么样去敏捷的做需求开发,会制定一些产品发布的计划,比如产品在未来,某个迭代什么时候发布,要发布哪些产品特性,都是在这个阶段做的。在设计阶段,会做产品原型上的设计。对于互联网产品说更多的是通过快速原型法快速的让产品在不同范围内去做一些体验,比方产品在某个迭代的一个小迭代里面,可能会在一个团队里面先去体验,可能就会采取发布到公司某一个部门去体验,或者发布到整个公司范围去体验,它会是一个不断放大的一个过程。在开发和测试阶段,更多的采取XP的一些实践,包括编码规范,代码走读,比如1周一次代码走读,构建持续集成的环境,包括自动化构建,自动化测试等,会有一些好的测试上的实践,如全员测试,就是将测试看成不仅仅是测试人员的工作,更多的是整个团队的工作,当然也包括这个产品的其他同事的工作,通过全员测试来激发大家对产品质量负责。在发布阶段,腾讯采用的是灰度发布,同传统的软件发布不一样。项目中整个迭代过程就通过类似SCRUM模式去管理,如有每日晨会,如何建设团队氛围,统一的管理平台,每次迭代完成时的总结回顾等等,这属于项目管理的工作。还有一些基础的工作,如代码管理,版本管理,文档管理,异地开发管理,这些在腾讯的整个管理体系里面都包含的,还有会制定一些相关的规范,不过规范不是很强硬的要求每一个项目必须执行,更多的由团队自己选择,让他们根据自己团队的特点、规模去选择应该采取哪些实践。
7.灰度发布:这是互联网的一个特点,说白了,就是对用户一个逐步放量的一个过程,而且不要求团队要尽早的将产品包发布出来,也就是不要求马上发布给所有用户,而是会分批的去发布,比如按号段发布,比如在公司内部先体验。发布的时候也有策略,比如发布时如何放量,对用户有些什么样的实验,技术上怎样做一些后台开关,运营上怎样跟进,怎样保证4小时人员的留守,发布完后怎样收集用户反馈等等都会有一些统一的规则。比方实验室某WEB产品的发布,可以同时有多个版本,1.1版可能会有100%的用户在用,1.2版可能只有1%的用户在用,它们是一个交叉升级的过程。
8.用户研究:如何加强用户的参与度,这是一种成本比较低的用户研究方法。通过抓取一些用户数据做分析,分析用户在这个产品上整个体验的过程是怎样的,通过后台的数据可以看到整个活动的曲线,同时CE也可以通过一些科学的手段去保证,包括市场调研、用户研究、数据挖掘、产品体会等,这就是通过一些对用户反馈、用户观察的工具去配合去对用户做研究。比如QQ拍拍的一个用户的研究,我们可以到现场去做的一个调研,经常会由产品经理和用户研究人员到用户的实际办公地点进行调研,做一天的反馈,通过观察用户一天是如何使用你的产品,配合一些相关的工具去科学的分析。因为互联网是非常强调同用户的这种反馈的,腾讯有自己内部的一个CE反馈平台,在这个平台上可以收集到所有用户的反馈,产品经理可以每天都会看到他所负责的产品有哪些反馈,包括内部的、外部的,然后他就可以根据这些反馈对产品进行一些快速的调整,包括开发一些什么样的产品特性,内部同事也可以踊跃的在平台上反馈,内部同事本身就是QQ用户。
9.项目管理支撑工具:腾讯内部有一个团队在研究和开发这样一个工具,用来支撑项目管理过程中的工作实践,当然界面不会做得特别好,毕竟是内部团队用的。比如腾讯的IT工具中实现了故事墙(story wall),就是模拟线下的工作白板,能够把一个迭代分成不同的阶段来看这个story的工作情况,能够很方便的支持每个团队在每天晨会的时候可以对着这样一个界面去做他的这个晨会,比如说有一些story做完了,就可以将它从这个状态拖到下一个阶段的状态,每个团队每一天都会对着这样一个故事墙,就能很清晰的了解到每个成员的工作情况,帮助团队很透明化的去工作,而且目标一致。这是腾讯在工具上的支持。
10.敏捷团队团队方面的探索:比如QQMail团队是这样的,有产品组、有开发组、UI组、测试组,整个团队都是围绕QQMail去开发,采用了敏捷开发的过程,具体团队成员间分工协作的详细内容大概会有几个要点,第一、从设计上看,每周每个迭代都会有一个IPM会,IPM会要求所有角色一起参加,包括产品经理、项目经理、QA、DE、UI等等,在会议上他们一起讨论产品需求,如产品经理谈谈他了解到的用户反馈,谈谈他从公司领导那了解到多少产品上的要求,谈谈他对这些产品特性的优先级考虑,就在会议上开发人员评估开发这样一个特性大概需要多少工作量,有没有技术上的困难,测试人员也会了解大家讨论的内容,这样使得测试人员能在开发阶段之前就能了解整个产品的需求是怎么样子的,整个团队就这样来讨论并确定一个迭代开发的范围,在开发过程中,所有的角色都会参与,像QQMail团队,QQMail是一个明确的产品,07年整个用户量翻了10倍,就是采用的敏捷开发,在QQMai产品开发过程中有一个要求,就是开发人员和测试人员在每完成一个需求都要进行一次showcase,即每开发完一个产品需求,要把产品经理、开发组、测试组都叫到一起,一起来总结一下这个产品特性开发到什么样子,是不是有比较好的用户体验,是不是满足一些预想的东西,而且也会对一些用户进行调研,也就是让用户参与到产品的测试中来。会采取全员测试的过程,即测试人员、开发人员、产品人员、UI人员会参与测试,并且每个人在开发一个需求完后,都要去做测试,而且也会进行交叉测试,比如这个开发人员会去测试一下其他开发人员开发的东西,所以在腾讯是希望全员测试的理念能够深入到团队里面去,在上线后的4个小时里也会要求人员留守,去看看这个产品后台统计的数据,及时分析用户的行为,去发现用户对这个特性的感觉是怎样的,用户的反应是怎样的,看看会不会出一些错误,这个就是4个小时内必须留守的制度。QQMail从06年、07年到08年的一个发展情况可以看到整个团队的心情曲线是逐步向好的方向发展的,QQMail最早在06年的时候,本身实际是存在很多的问题,比如需求太过于前卫,因为跟用户脱节,团队内部幻想着提供什么样的产品特性给用户,采取一些什么样的技术架构去做一些更好的体验,比如06年采用了很强的Ajax框架,前台架构完全是通过Ajax去实现的,由此带来了很多的问题,而且当时它整个team的要求也非常高,搞得整个团队比较疲惫,在06年中期就有一个小小的改变,包括对整个产品在性能上的改变,但实际上对于团队来说还是比较被动的去接受,就是比较被动的去感受用户的变化,对产品究竟怎么走、怎么营收整个团队都比较茫然。到06年10月,在QQMail团队中开始推广敏捷的一些理念,提倡团队怎样去更好的关注用户需求,怎样通过一些敏捷实践让团队做得更好,10月份做了很多交流,整个团队也看到了一些希望,敏捷开发刚刚引入到一个团队是比较新鲜的,包括如快速响应、响应变化的这些理念,给团队带来了很深的感受,在06年年底就对整个团队的分工协作做了一些改进,在07年通过一些敏捷上的运作看到整个效果还是非常的明显,这是比较成功的一点,大概是07年中这个产品的用户量大概是06年的10倍,就是07年达到了1000万。现在整个团队也把迭代、整个研发节奏固定下来了,会在固定的周期有固定的角色去响应用户不同的东西,会把跟用户的这种距离拉得更近一些,这就是QQMail团队的一个大概的发展历程。
11.在腾讯敏捷是怎么样开始的。最早的时候是通过认知,认知就是包括了解业界的一些方法论,包括同Thoughtworks的一个接触去了解敏捷是怎样的,而认可的话我们会去总结我们腾讯本身是怎么样子的,我们有这样一个框架之后我们就会搞一些团队去实践,通过实践以后再不断改进,本身也是一个不断迭代的过程。整个实施阶段大概分成几个阶段:06年参加Thoughtworks外部培训和行业走察 à 试点期:组织很多专题研讨和内部培训,树立标杆,更大范围内进行培训 à 推广期:内部建立一个顾问团队,开发一些扫盲的课程,不断的到一些团队里面去介绍去培训,让大家接受这些理念。腾讯内部专门有内部门户去介绍腾讯整个产品研发体系,所有团队都可以将自己实践的感受提交到这个门户,其他团队就可以了解到另外一个团队的一些优秀的实践,同时腾讯内部做了很多的交流研讨,包括我们会有专门的团队去同大家谈敏捷,不断的将一些好的实践推广到各个团队去,在腾讯也会有一个敏捷能力模型,会把团队分A1、A2、A3三级,模型里面每个A级都会有一些标准,这样的话我们就能够看到每一个团队的敏捷能力是一个什么样子,他是不是在朝着好的一些方面去发展,每个A级都会有一些衡量的指标,可以从不同角度去看它是不是达到了这样的指标。这个有点像一个股票的排行榜,就是你可以看到每一个团队它的行情,它的涨跌是什么样子的,这有点类似股票的这样一个产品,这对于体现一个团队而言是一个蛮形象的东西,由此也能看到整个大盘是一个什么情况,体现整个公司的情况。同样的话,也会有一些个人的排行榜,关于个人的排行榜,到年终的时候都会有大奖的,有一些奖品奖励到同事去更好的实践敏捷。同样腾讯也面临一些挑战,第一个是团队非常多,每个团队特点都不一样,比如规模不一样,应用方法不一样;第二个是产品非常广,互联网上所有的产品腾讯几乎都有,这种多元化的产品它本身产品的研发模式会有一些不一样,那么敏捷、TAPD怎么样去适应这种多元化产品的研发;第三个是敏捷在腾讯也是存在一个过程改进,这样就会存在一些不适应性,针对这种不适应性应该怎么样去做才能更好;第四个,腾讯人员本身的素质也是参差不齐,每年校园招聘大概会招聘1000多个毕业生,这些毕业生从毕业到能上手工作,他们对敏捷的了解,融入到团队中都需要一个过程;第五个是一些长周期的项目,比如QQ客户端,一个版本的发布可能要半年到1年的时间,像这样一个产品怎样去做敏捷开发,也许它就不适合敏捷开发。

相关文章推荐

软件开发需求分析五个常见错误及应对措施

在软件开发的传统瀑布模型中,需求分析的第一个阶段也是最重要的阶段。这个阶段包括以最清楚的形式搜集与客户要求和定义有关的信息以及希望产品解决的问题。这种分析包括了解客户的商业背景和限制、产品必须执行的功...
  • sscsgss
  • sscsgss
  • 2010年05月17日 19:42
  • 1009

软件需求与问题解决

(一)    小满当上项目经理后不久,参与了一个大项目。当时市场签下来的时候,公司里面是欢天喜地的。项目做了一年多。到了交付的时候,用户却很不满意,当初说好的东西,好多都变了卦。    用户是上...

Web_JavaScript_页面多个window.onload需求问题解决;

特别说明:当页面出现多个window.onload时,就会出现意想不到的事情,比如后面的...

.Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决

说真心话,Eclipse跟我们.net的VS比起来就是屌丝比高富帅,一切都是那么的难用,速度慢得我无法忍受 于是想试试Google钦点的Android Studio IDE工具,这跟ADT一样也是一...
  • ymnets
  • ymnets
  • 2016年02月22日 12:59
  • 265

网络连接问题解决方法软件

  • 2011年10月11日 07:05
  • 121KB
  • 下载

企业软件 - 创新尝试 - 用友 股份 产业链创新中心 - 产品流程会议问题解决 - 杨天政 - 原型产品发版标准 - 2014-3-13

产品流程会议问题纪要     序号   阶段   问题     1   产品规划   市场分析也业务规划可选,如果有出什么样的文档?     2   产品立项   后三项流程(备案、立项终止或修订、立...
  • lxlhu
  • lxlhu
  • 2014年03月13日 14:59
  • 1438

LINGO很好用的优化问题解决软件

  • 2009年05月01日 11:19
  • 170KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件需求与问题解决
举报原因:
原因补充:

(最多只允许输入30个字)