你听说过SEMA么?它是一个用来测试一个软件团队有多好的相当的系统。不,等等!不要手贱点开这个链接!它会花费你大概六年的时间来了解这个东西。所以我提出了我自己的、跟它相比极不负责任的、草率的评价一个软件团队的质量的测试。这个测试最棒的方面是它只会花费你3分钟的时间。你节省下来的所有时间,还可以去上个医学院。
Joel测试的好处是很容易快速得出针对每一个问题的“是”或“不是”。你不必去翻出那些每日编程行数和每个拐点的平均bug数。如果你的团队有一个“是”就得一分。关于Joel测试令人失望的是,你真的不应该用它来确保你的核电站软件的安全。
Joel测试
TheJoelTest
1、Doyouusesourcecontrol?
2、Canyoumakeabuildinonestep?
3、Doyoumakedailybuilds?
4、Doyouhaveabugdatabase?
5、Doyoufixbugsbeforewritingnewcode?
6、Doyouhaveanup-to-dateschedule?
7、Doyouhaveaspec?
8、Doprogrammershavequietworkingconditions?
9、Doyouusethebesttoolsmoneycanbuy?
10、Doyouhavetesters?
11、Donewcandidateswritecodeduringtheirinterview?
12、Doyoudohallwayusabilitytesting?
获得12分是完美的,11分也还可以,但10分或更低的分数表明你有严重的问题。事实上,大多数软件企业都以2分或3分的分数在运转着,他们真的很需要帮助,因为像微软这样的公司一直以来都以12分的完美表现在运转。
当然,这些都不是决定成败的唯一因素:特别是当你有一个正在开发没人要的产品的伟大的软件团队的时候,那么,人们是真的不会接受这个产品的。同时一个没有这么做的“神枪手”仍然能产生出令人难以置信的改变世界的软件也是可能存在的。但是,在其他条件相同的情况下,如果你把这12件事情都做好了,你就会拥有一个能始终如一完成任务的团队。
你使用源代码管理么?
我用过商业源代码管理包,也用过CVS,它是免费的,让我来告诉你,CVS很好用。但如果你没有对源代码进行管理,你就要应激尝试把程序员都弄到一块来工作。程序员根本不会知道别人都做了什么。犯过的错误不能轻易改过来。关于源代码管理系统的另一个好处就是源代码本身可以在每个程序员的硬盘上进行验证---我还从没听说过哪个使用源代码管理的项目丢失了很多代码。
你能在一步之内编译程序么?
通过这条测试我想明白:从最新的源代码的快速复制到进行能输出的编译需要多少步骤?再优秀的团队里,有一个单独的脚本,它能从零开始对代码做一个全面的检查,重新编译每一行代码,生成EXE文件,在他们各种各样的版本、编程语言和#ifdef宏定义组合,创建安装包和最终--CDROM布局、下载网站等等。
如果这个过程需要一个以上的步骤,就很容易出现误差。当你接近完工的时候,你很想有很快的修复“最后一个”bug的周期,生成最后的EXE文件等。如果编译代码要用20步才能完成,运行安装编译器,……,等等,你会抓狂的,并且会导致你愚蠢的错误。
正式由于这个原因,我曾工作过的上个公司就从“聪敏”模式切换到了“软件安装打包”模式:我们要求安装过程中可以运行,使用NT调度从脚本整晚自动地运行,“聪明”模式做不到这些,所以我们就抛弃了这个模式。
延伸内容:
网友评论 ()条 查看