首先我们来看一下下面的这个信息:
■表:IT競争力の上位10カ国
国名 評価
(100点満点)
米国 77.4
日本 72.7
韓国 67.2
英国 67.1
オーストラリア 66.5
台湾 65.8
スウェーデン 65.4
デンマーク 64.9
カナダ 64.6
スイス 63.5
出典:Economist Intelligence Unit(2007年)
从中我们可以看出日本的IT实力究竟如何。那么,作为中国的一个邻居,为什么他们的IT实力会那么强呢?我问过一些多年从事
对日项目的开发者,从中或许找到了答案,虽然未必正确,但是或许会对我们有所启发。
首先说说日本IT的平均水平。在日本,即使是40岁的coder都很常见,就是50岁的也有。而在中国呢?你干了5,6年,至少也
能做个PL了,甚至PM了。可是在日本,你会发现你的身边有很多40多的人,可是他们竟然是coder!甚至有的人虽然是
coder,但是却有5,6个跟班的。
这就反映出了日本的一个IT的平均水平。平均水平如此之高,软件质量如何不高呢?
当然,平均水平不是唯一的因素。
有过对日开发经验的人,恐怕都有这个体会:就是日本的开发手段未必有多么的高明。大部分的日本企业是瀑布式开发,可以
说是以文档来驱动,并且重视V模型,也就是每个阶段都会有相应的测试。
这样的方式新奇吗?一点都不,需求,概要设计,详细设计,编码,测试,发布。这样的过程我们都知道。
但是如果我们看看日本的设计文档,如果你是第一次看,肯定会吓一跳。
但说标准的文档,一般就包括业务用语,框架使用指南,设计书规范,DB规范等等等等,足足有几十个。非常详细,如果你
能全部的仔细的看一遍,那么至少就算上半个专家了。
再看看他们的设计文档,界面是什么样子,界面上的每个元素的颜色,属性,位置,大小,都写得清清楚楚。每个功能,该
做什么,哪些组件该如何变化,都写得详详细细。
这么详细的文档,把全部的情况都写出来了,如果让coder按照这个文档来编写的话,基本就不会出什么错误了。
不过,即使再详细的文档,也难免有疏漏的地方,正所谓“百密一疏”。对于这个问题,自然有解决之道。日本项目的每个
过程的结束,都会有一个严格的评审。例如需求过程结束了,那么就会对需求阶段的文档进行严格的评审。
这里的评审绝对不是走走形式,而是真正的严格。
上面的这些可以总结成 认真,仔细,严格的工作方式。日本已经把传统的瀑布式开发发挥到精致,就好像武侠小说中,一个
普通的武功如果修炼到极点,威力也就如同高超的武功一样。
想必看到这,各位心里一个有一个疑问,就是日本项目的文档如此之细,不是要花费大量的时间?是的,接下来我们要说的
就是日本人工作态度的问题。众所周知,日本人的敬业精神是世界文明的。一个朋友曾经开过一个玩笑:在日本分辨中国人
和日本人非常简单,在路上走路慢悠悠的就是中国人,在路上以小跑方式走路的就是日本人。
这个笑话一点都不夸张。日本人工作起来真的是拼命,如果工作8小时,那么就是实实在在的8小时,很少有人偷摸上会网
什么的。而且,很多人都是主动加班,甚至有的人更是凌晨2-3点下班,白天正常上班。
我想,以这样的工作态度,去做那样精细的文档,就不觉得让人惊奇了。至于日本人为什么会有如此拼命的精神,或许这就是
他们天生的民族精神吧,很难简单的说清楚。
那么,日本为什么会成为软件强国?可以说是在平均水平非常高的IT环境下,通过拼命的民族精神,以及认真,仔细,严格的
敬业精神,把一个传统的开发方式发挥到淋漓精致的境界,日积月累,取得了如此的成就!
这样的结论未必正确,不过我只是希望能从日本人那里学到一点点东西就足够了。别的不需要,“认真,仔细,严格”这三点
如果能做到和他们一样我就满足了。