七十五条

这七十五条,是我这些年来,尤其是在微软工作两年来的体会的总结,关于如何用正确的方法来写出质量好的软件的体会的总结。或许看似平淡无奇,但大音希声,这七十五条的效用,未必及不上那几十页几百页的体系,却远远比那好用:

1. 你们的项目组使用源代码管理工具了么?
2. 你们的项目组使用缺陷管理系统了么?
3. 你们的测试组还在用Word写测试用例么?
4. 你们的项目组有没有建立一个门户网站?
5. 你们的项目组用了你能买到最好的工具么?
6. 你们的程序员工作在安静的环境里么?
7. 你们的员工每个人都有一部电话么?
8. 你们每个人都知道出了问题应该找谁么?
9. 你遇到过有人说“我以为…”么?
10. 你们的项目组中所有的人都坐在一起么?
11. 你们的进度表是否反映最新开发进展情况?
12. 你们的工作量是先由每个人自己估算的么?
13. 你们的开发人员从项目一开始就加班么?
14. 你们的项目计划中Buffer Time是加在每个小任务后面的么?
15. 值得再多花一些时间,从95%做到100%好
16. 登记新缺陷时,是否写清了重现步骤?
17. 写新代码前会把已知缺陷解决么?
18. 你们对缺陷的轻重缓急有事先的约定么?
19. 你们对意见不一的缺陷有三国会议么?
20. 所有的缺陷都是由登记的人最后关闭的么?
21. 你们的程序员厌恶修改老的代码么?
22. 你们项目组有Team Morale Activity么?
23. 你们项目组有自己的Logo么?
24. 你们的员工有印有公司Logo的T-Shirt么?
25. 总经理至少每月参加一次项目组会议
26. 你们是给每个Dev开一个分支么?
27. 有人长期不Check-In代码么?
28. 在Check-In代码时都填写注释了么?
29. 有没有设定每天Check-In的最后期限?
30. 你们能把所有源码一下子编译成安装文件吗?
31. 你们的项目组做每日编译么?
32. 你们公司有没有积累一个项目风险列表?
33. 设计越简单越好
34. 尽量利用现有的产品、技术、代码
35. 你们会隔一段时间就停下来夯实代码么?
36. 你们的项目组每个人都写Daily Report么?
37. 你们的项目经理会发出Weekly Report么?
38. 你们项目组是否至少每周全体开会一次?
39. 你们项目组的会议、讨论都有记录么?
40. 其他部门知道你们项目组在干什么么?
41. 通过Email进行所有正式沟通
42. 为项目组建立多个Mailing Group
43. 每个人都知道哪里可以找到全部的文档么?
44. 你做决定、做变化时,告诉大家原因了么?
45. Stay agile and expect change
46. 你们有没有专职的软件测试人员?
47. 你们的测试有一份总的计划来规定做什么和怎么做么?
48. 你是先写Test Case然后再测试的么?
49. 你是否会为各种输入组合创建测试用例?
50. 你们的程序员能看到测试用例么?
51. 你们是否随便抓一些人来做易用性测试?
52. 你对自动测试的期望正确么?
53. 你们的性能测试是等所有功能都开发完才做的么?
54. 你注意到测试中的杀虫剂效应了么?
55. 你们项目组中有人能说出产品的当前整体质量情况么?
56. 你们有单元测试么?
57. 你们的程序员是写完代码就扔过墙的么?
58. 你们的程序中所有的函数都有输入检查么?
59. 产品有统一的错误处理机制和报错界面么?
60. 你们有统一的代码书写规范么?
61. 你们的每个人都了解项目的商业意义么?
62. 产品各部分的界面和操作习惯一致么?
63. 有可以作为宣传亮点的Cool Feature么?
64. 尽可能缩短产品的启动时间
65. 不要过于注重内在品质而忽视了第一眼的外在印象
66. 你们根据详细产品功能说明书做开发么?
67. 开始开发和测试之前每个人都仔细审阅功能设计么?
68. 所有人都始终想着The Whole Image么?
69. Dev工作的划分是单纯纵向或横向的么?
70. 你们的程序员写程序设计说明文档么?
71. 你在招人面试时让他写一段程序么?
72. 你们有没有技术交流讲座?
73. 你们的程序员都能专注于一件事情么?
74. 你们的程序员会夸大完成某项工作所需要的时间么?
75. 尽量不要用Virtual Heads

Comments on “七十五条

Leave a Reply