软件开发成功12法则——Joel Spolsky
“有没有听说过SEMA?这可是衡量一个软件开发组好坏的很深奥的系统。别动,等一下!别按那个链接!给你六年你也搞不清这玩意儿。所以我自己随便攒了一套衡量系统,信不信由你,这系统,三分钟就可掌握。你可以把省下的时间去读医学院了(译注:美国的医学院可是要读死人的!)。
Joel 衡量法则:
1. 你们用不用源文件管理系统?
2. 你们可以把整个系统从源码到CD映像文件一步建成吗?
3. 你们每天白天都把从系统源码到CD映像做一遍吗?
4. 你们有软件Bug管理系统吗?
5. 你们在写新程序之前总是把现有程序里已知的软件Bug解决吗?
6. 你们的产品开发日程安排是否反映最新的开发进展情况?
7. 你们有没有软件开发的详细说明书?
8. 你们的程序员是否工作在安静的环境里?
9. 你们是否使用现有市场上能买到的最好的工具?
10. 你们有没有专职的软件测试人员?
11. 你们招人面试时是否让写一段程序?
12. 你们是否随便抓一些人来试用你们的软件?
“Joel 衡量法则”好就好在你只需照着逐条回答以上问题,然后把所答为”是”的问题算成一分,再加起来就可以了,而不需要去算什么每天写的程序行数或程序虫的平均数等等。但咱丑话说在前面,可别用”Joel 衡量法则”去推算你的核电站管理程序是否可靠。
如果你们得了12分,那是最好,得了11分还过得去,但如果只得了10分或低于10分,你们可能就有很严重的问题了。严酷的现实是:大多数的软件开发公司只能得到2到3分。这些公司如果得不到急救可就玄了,因为像微软这样的公司从来就没有低过12分。
当然,一个公司成功与否不仅仅只取决于以上标准。比如,让一个管理绝佳的软件公司去开发一个没有人要的软件,那开发出来的软件也只能是没有人要。或反过来,一帮软件痞子以上标准一条也达不到,没准照样也能搞出一个改变世界的伟大软件。但我告诉你,如果不考虑别的因素,你只要能达到以上12条准则,你的团队就是一个可以准时交活的纪律严明的好团队。”
注:SEMA:Software Engineering Measurement and Analysis):