2003年5月28日 第65天
Watchdog已经开发了5天了。我可以毫不夸张地说,进度超出了我的想像。如果用“一天一个样”来形容,一点儿都不过分。5天来,我不但实现了Watchdog的全部通讯模型,还实现了几个简单的Script语句。之所以进度如此快,我想正是应验了软件工程中的那句话:好的设计是高质量和高速度的前提。由于前期花了近1个月时间构思和设计,整个实现过程完全按设计要求进行,每一步都是可预测的,即使遇上一两个技术问题,也可以很快通过各种途径解决。Watchdog的这种“前松后紧”的开发方法,也是我首次尝试使用的,从效果看来还真的很不错。以前开发项目觉得简单,很容易就轻视设计,结果造成项目到后期有时会变化很大,从而不得不调整架构设计方案,造成软件质量和进度下降等诸多问题。这次成功也使我深深体会到软件工程方法论对于项目开发成功的巨大指导性作用。
在这五天的开发过程中,Mentor又结合实际情况对Watchdog的实现提出了几个新的要求。但由于架构设计非常完善,Mentor要加入的功能很快就可以融入到已有的架构中。关于P2P的许多技术问题,Mentor也经常为我快速地解决,并不时提出许多好的建议,使我少走了许多弯路。
与此同时,一直以来困扰我和Mentor的一个比较大技术问题也在Redmond研究院的帮助下,在此时得以解决了。这样,我的开发工作在技术上几乎没有太大的难度了,我可以以最快的速度实现全部的Coding工作。值得称道的是,在微软公司,你可以向任何人询求帮助,而只要你问的人能解决这个问题,无论他在美国还是在中国,他就会毫无保留地教授你解决方法;如果他一时想不出解决方法,他会将你的E-mail立即Forward给其他的此方面的专家。我们项目中的许多写着问题E-mail是在中国与美国经过几次传递后才解决的。而这其中你都会看到包括中国的专家与美国专家的“多方会诊”,这也正是我上面所说的E-mail的一大独特的优点。微软公司这种无保留地沟通与互助精神,经常会大大加速了研发速度。这一点的确值得我们国内的公司学习。
(全文已经刊登在2003年第十期《程序员》杂志上,名为《在微软亚洲研究院的日子》,未经许可请勿转载!)