• 2009-11-08

    我们很忙

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://dreamhead.blogbus.com/logs/50687566.html

    软件开发似乎就应该是忙碌的,加班似乎也应该是常态。我听到最为痛心的一个说法是,每天都在加班,忙得连洗衣服的时间都没有。也是因为忙,忙得有没有时间学习、没有时间思考。所有一切都是因为忙。

    但是,我们都是怎么忙的呢?不妨看一些细节。

    软件开发中,最重要的过程应该是编码,但真正的编码有多长时间呢?在一个采用传统开发方式的团队中,会有一个最后集成阶段。因为前期做的验证不够充分,所以,要给后面留下很长的时间,用来做集成和测试,更有甚者,这个时间要比“开发”时间还长。这里的“开发”阶段只是在纯粹的编码。就这样,在计划中,很大的一段时间被砍掉了。

    即便是在“开发”阶段,就真正能坐在那里好好写代码吗?未必。在大企业里面,最浪费时间的是什么?开会。人多,沟通不畅,开会成了“自然”的选择,而且,往往是人越多,会就越多。事实上,很多企业的会都是非常低效,一开会就发散,通常一个会一两个小时就进去了。在《做好一件事》中还提到矩阵式管理也会让人无法好好写代码。就这样,在团队开发中,又有一段时间被消耗掉了。

    即便真正开始写代码,又是怎么做的呢?对于历史悠久的产品而言,程序员需要面对大量的遗留代码,编译一次代码,都要用很长时间,这意味着,消除编译错误这样原本应该很简单的事情都要消耗大量的时间。于是,经常可以看到一个个程序员面无表情的在那里等待编译。遗留代码,通常也意味着欠了一屁股的技术债务,也就是说,为一个功能要遍地开花的改许多代码,这也很耗时。对于不编写单元测试的程序员,常用的验证手段就是调试器,因为人的参与,这个过程不能自动化,很是缓慢。好容易到了该提交代码了,因为文件很大,出现冲突的几率也增加了,处理冲突也是耗时的事。在个人开发中,时间就在不知不觉中流逝。

    我们很忙,因为忙而认为一切都是理所当然的。正如上面所列,很多时间实际上是在一环扣一环的低效中无谓消耗了,所以,每天不得不加班,让自己看上去很忙,以此换回内心的“安宁”。

    我们真的很忙吗?


    历史上的今天:





    引用地址:

    评论

  • 搂主什么时候讲一讲 review, code repo tools(svn,cvs,...), bug system(bugzilla, etc) 之间一种比较好的work flow吧。

    目的让team形成review的习惯又想让尽可能多的事情自动化,(比如svn/hooks里面加上自动review topic)之类的,从而想让code reivew自然,方便。



  • 忙的无主题。不是不想忙。
    在电脑面前想做事情的时候,别的事情来了。
    把别的事情安顿了,回到电脑面前却又不知道从何开始了。
    如此了了。。。
    也是你以前提到的一个,环境的问题,主管的问题,环境能不能给你提供比较少的外界干扰,主管能不能替你推掉一些不必要的麻烦。
    呵呵。问自己。。。