《Joe谈优秀软件开发方法》(1)

原创 2009年05月12日 18:07:00

     这本书我个人认为是非常棒的,第一次从图书馆借回来,看了不到一半,到期了,觉得没什么,就还回去了,过了一段时间,由于工作上的经历,对书中的一些内容慢慢有了感悟,才觉得这本书不错,于是又第二次从图书馆借了回来细细看,现将一些感悟写下来。

    先来说说加班。

    书中说的是EA,我没去过EA,自然不知道EA有多“剥削”员工,但说实话,我之前对EA的感觉一直是不错的,不仅仅是因为我非常爱玩《极品飞车》,记得在成都刚刚工作的时候,在一次公司的全体培训会议上,老板问“你们玩游戏吗”,回答玩的人很多,老板又问“那你们知道EA的口号是什么吗?”,全体人员哑巴了,这时候只有我一个人大声说了句"Challenge everything”,从那以后,但凡公司会议,一说到相关内容或是需要给大家鼓鼓劲的时候,老板就指着我,我这个时候要做的就是大声说“challenge everything”,好像扯远了。。。。

    EA的加班非常严重,他们的HR甚至有这样一种思想:“EA就是这样,如果你忍受不了,那么就去别的地方吧,否则就给我乖乖的忍受。”,EA每年的员工流失超过50%,大家都知道,新员工进来以后,公司要对他们进行培训,然后慢慢的,这些新员工才能融入正常的开发流程。培训的开销,时间的花费,这些都是一笔不小的开销,而这么高的员工流失率,意味这EA大部分都是新员工,他们可能连培训成本都没收回来,更别期望这些员工能为公司创造什么价值了。

    策划、主管经常让我给出一份开发工作的工作量评估,而当我告诉他们一个结果的时候,他们总是会问我“这个时间不包括休息日的吧?如果把周6周日算进去,时间是不是会更短一些?”,我给他们的答案一般都很坚决“是不包括休息日,但如果你把休息日也算进去,总的时间只会长不会短!”

    这种问题,我觉得更本就不能用简单的加减法来计算!!

    我真的非常非常认同书中的观点:你觉得加班就一定会带来效率吗??认真的看看你周围的同事,每天下午下班后,吃过晚饭回来,有谁是一坐下就开始工作的?到了周6周日,又有谁是按照平常的上下班时间来公司的?人的大脑都会有一种潜在的规律,到了下班时间,总是会花那么一些时间用来浏览网页,聊天之类的。所以,如果按照每天晚上加班一小时来算,那这一小时里,真正用来工作的时间是多少??况且,周6周日本来是用来陪女朋友逛街的,你把他拉来公司加班,本来8点半上班,他可能睡到10点才来,然后女朋友还不高兴,电话里和他吵了一架,到了公司后,他先花个一个小时上网,用来解解闷气,然后才开始写代码,写代码的时候还在想着和女朋友吵架的事,越想越不爽,代码里可能哪里写的出了bug都不知道,以后的测试或者上线过程中,测试人员测了几轮终于发现这个问题,然后写测试报告反馈给项目经理,最后辗转反侧终于提交到了这个开发人员手里,然后他又花了一天的时间去测试重现这个问题,最后终于找到症结所在,然后修复,然后打包发布…整个过程消耗了多少人力?浪费了多少时间?而原因,仅仅是因为这个开发人员花了周6整整一天中的2个小时来编码导致的???

    所以,不要以为周6过来加班就能缩短项目时间!在成都工作bronnie曾经说过:“加班,其实就是能力不足的表现,不过不是你们开发人员,而是你们的teamleader,是你们的pm,是我。是我们没有把握好整个项目的进程,没有充分考虑到项目过程中的各种变化及风险才导致了你们的加班!”。现在想想,确实是这样,大家也都做开发这么久了,真正开发过程中有哪些东西是需要你加班加点的来写代码才能完成的?很少很少!其实回想一下,业务其实都很简单,都不复杂,那么又是什么让我们消耗了这么多的时间?

 

    这真的是一个需要好好考虑一下的问题。

读《Joel》谈优秀软件开发方法

豆瓣上该书的书评:http://book.douban.com/subject/2193777/首先,前言部分很耐人寻味。其中的关于优秀作品的一句格言:“展示,而不是讲述”很值得我们深思。言下之意,优...

李天盟谈软件开发方法

软件开发的方法,是经过我十五年总结,得到的一套方法。过去的几年中,我在我哥哥的电脑公司推广这套方法,短短几年已经得到千万元的利润。有的人可能听过我哥哥的公司,就是那个天峰集团。我昨天刚开车从曲阜过来,...

敏捷软件开发方法与实践

  • 2016年04月26日 22:03
  • 15.71MB
  • 下载

插件体系结构软件开发方法研究

本文首先分析了插件式体系结构软件的结构和工作原理,详细地对插件系统的设计思想,开发中的原则、建议、技术方法以及可行性进行了总体的细致深入的分析。SharpDevelop是采用微软.NET技术基于插件树...
  • xuhx
  • xuhx
  • 2011年01月01日 00:31
  • 7060

敏捷软件开发方法理论与实践

  • 2008年07月23日 11:47
  • 1MB
  • 下载

专业英语——软件开发方法(系统分析、面向对象模型)

结构化分析 基于功能分解 面向对象分析的三种模型、两个阶段 两个阶段: 领域分析(现实世界中那些语义被应用程序获取的事物,需求分析中所构造的对象说明了现实世界系统的静态结构并将其...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《Joe谈优秀软件开发方法》(1)
举报原因:
原因补充:

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