web快速开发的中国式改进

    “敏捷开发”在中国的环境中…其实并不敏捷..可以说软件工程绝大部分在绝大部分公司(绝大部分都是小公司)都是不适用的…理由其实非常的简单的..中国的互联网公司喜欢让工程师们来完成”不可能的任务”,而高层们认为”一切皆有可能”.

    大部分的小公司喜欢好高骛远,中国人喜欢思考长远的事情是优点..但是做事情也从长远的目标想一步登天也是常有的事情..

    本人参与这种小型的创业团队也有一些,基本都是失败的..Orz….毕竟互联网成功的绝对是少数中少数的..资本在不理性的逐利的同时,运营团队也在非理性的操作…

   本人甚至遇到有一些公司的开发方式以程序员的生命为代价在开发产品(那个劳动强度,基本符合我儿时看的一些伟人传记) ,问题是,并不一定出成果…

   废话说了很多了,说一些实际的:

   若产品有专门的产品经理来负责,请招一名对技术见解能力的程序员转做产品,此时做出的产品比较符合当前团队的实际,而不是象某一些产品经理说”yahoo和百度能做到,我们也应该能做到,很简单嘛!”这种不负责任的话.

   不要迷信各种开发方式,并没太多意义,合理的产品需求才是才是改进开发速度的首要关键,尽可能去掉一些没用的功能,尽可能简单的开发第一个版本的网站.中国式的需求和开发周期,只有中国的工程师能忍受,”高大全”基本是我们要求的,对比一下就知道了,国外的视频网站到了如今还是挺单纯的视频网站,国内的视频那已经不单单是一种视频网站了..与其做一些做全,还不如做专,做专则不是一种体力上的重复劳动,而是是工程师们最喜欢的劳动激荡的创新.

   产品的第一个版本或者版本更新,请给予尽可能小的功能,尽快的开发(本来想提尽可能少的人力,目前的做web的公司已经做到了..Orz…),人是一种天生倾向于简单粗暴式思考的动物,若一个版本过于复杂,不但是bug数量会很多,而且会因为把问题思考的太复杂(误以为很有见解和创意),导致产品的周期的无限期延长.

   敏捷开发最适合web,或者说web 2.0的观点,我个人认为就是简单设计,对于一个产品的功能的设计一定要简单,把一些多余没用的功能,比如,在设计一个blog的时候,应该时刻问问,若去掉了这个功能是不是blog,若是的话,请毫不犹豫的干掉这个功能..若不是的话,大家在研讨一下.可能有人认为我把产品设计和程序的架构设计混淆….其实大部分小公司的技术上的架构设计必须得兼一部分产品设计..

  简单设计其实有很多好处:

       一,让程序员能更快更好的实现产品,更快很容易理解,更好为什么呢?比如:打印出一个hello,word字符串,很难出现什么bug吧..在此基础上打印一个加法计算,也很难有什么bug吧..虽然例子极端了一点,但是能说明问题.

       二,简单设计如上面所说的步骤,能干掉很多无聊的功能,在我接触的一些产品的idea中,我个人认为大部分都是一些头脑发热的观点…有不少的设计产品的人,其实没有经过深思熟虑..但是他们的这些要求,却是让程序员来深思熟虑给予否定(这就是我为什么的要一个做技术的转产品的原因之一),可以说他是惯性懒惰的原因,也可以说他是不负责任的原因.

      三,简单设计有利于后期改进,第一,程序员在已有的程序代码上,来实现更复杂的代码,远比在没有任何基础情况下实现代码来的简单.因为程序编写类似数学解题过程,数学解题的误区往往都会犯在程序编写之上..循序渐进比一步登天式的开发来得更容易,还有很多附加好处,比如增加程序员的激情和创意等等..

    再提点一点..创意绝非来自于繁重的工作之中..创意绝对是来自于宽松的开发环境与专一的工作氛围(专一的氛围就很复杂了,以后再说吧)

    最后再说一句,中国绝非没有人才,而且是一个人才济济的国家,中国人都非常的聪明,只是伯乐不常有而已,本人见过非常多的有才华的人发挥不到他们的长处…可能是中国社会的需求太过单一了..这些人的才能多种多样….中国社会不需要这些才能..这个问题还可以谈很多..还有很多其他的话题没深入,以后再谈吧..

2 Comments

knowmore二月 23rd, 2008 at 5:44 下午

学习了

Reply

小路 reply on 二月 24th, 2008:

欢迎多来交流,呵呵

Reply

Leave a comment

Your comment

Comment spam protected by SpamBam