如何有效编写软件的75条建议

1.你们的项目组使用源代码管理工具了么?

应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。

2.你们的项目组使用缺陷管理系统了么?

应该用。ClearQuest太复杂,我的推荐是BugZilla。

3.你们的测试组还在用Word写测试用例么?

不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。

4.你们的项目组有没有建立一个门户网站?

要有一个门户网站,用来放Contact Info、Baselined Schedule、News等等。推荐Sharepoint Portal Server 2003来实现,15分钟就搞定。买不起SPS 2003可以用WSS (Windows Sharepoint Service)。

5.你们的项目组用了你能买到最好的工具么?

应该用尽量好的工具来工作。比如,应该用VS.NET而不是Notepad来写C#。用Notepad写程序多半只是一种炫耀。但也要考虑到经费,所以说是“你能买到最好的”。

6.你们的程序员工作在安静的环境里么?

需要安静环境。这点极端重要,而且要保证每个人的空间大于一定面积。

7.你们的员工每个人都有一部电话么?

需要每人一部电话。而且电话最好是带留言功能的。当然,上这么一套带留言电话系统开销不小。不过至少每人一部电话要有,千万别搞得经常有人站起来喊:“某某某电话”。《人件》里面就强烈谴责这种做法。

8.你们每个人都知道出了问题应该找谁么?

应该知道。任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。

9.你遇到过有人说“我以为…”么?

要消灭“我以为”。Never assume anything。

10.你们的项目组中所有的人都坐在一起么?

需要。我反对Virtual Team,也反对Dev在美国、Test在中国这种开发方式。能坐在一起就最好坐在一起,好处多得不得了。

11.你们的进度表是否反映最新开发进展情况?

应该反映。但是,应该用Baseline的方法来管理进度表:维护一份稳定的Schedule,再维护一份最新更改。Baseline的方法也应该用于其它的Spec。Baseline是变更管理里面的一个重要手段。

12.你们的工作量是先由每个人自己估算的么?

应该让每个人自己估算。要从下而上估算工作量,而不是从上往下分派。除非有其他原因,比如政治任务工期固定等。

13.你们的开发人员从项目一开始就加班么?

不要这样。不要一开始就搞疲劳战。从项目一开始就加班,只能说明项目进度不合理。当然,一些对日软件外包必须天天加班,那属于剥削的范畴。

14.你们的项目计划中Buffer Time是加在每个小任务后面的么?

不要。Buffer Time加在每个小任务后面,很容易轻易的就被消耗掉。Buffer Time要整段的加在一个Milestone或者checkpoint前面。

15.值得再多花一些时间,从95%做到100%好值得,非常值得。

尤其当项目后期人困马乏的时候,要坚持。这会给产品带来质的区别。

时间: 2024-12-05 00:05:15

如何有效编写软件的75条建议的相关文章

如何用正确的方法写出高质量软件的75条体会

1. 你们的项目组使用源代码管理工具了么? MVM:应该用.VSS.CVS.PVCS.ClearCase.CCC/Harvest.FireFly都可以.我的选择是VSS. 2. 你们的项目组使用缺陷管理系统了么? MVM:应该用.ClearQuest太复杂,我的推荐是BugZilla. 3. 你们的测试组还在用Word写测试用例么? MVM:不要用Word写测试用例(Test Case).应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站.主要目的是

编写出更优秀软件的 10 条建议

1.测试,测试再测试2.根据你使用的语言进行重构3.为你的方法,流程和功能编写文档,哪怕很短4.写测试文档,包括手动和自动测试5.创建自动化的UI测试6.运行复杂度分析工具,如NDepend7.你对结果不满意,请不要发布8.代码要有可读性9.不要为了更好优化而写出复杂,可读性很差的代码10.部署之前喝杯咖啡

《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 第2章 编写第一个程序 2.1 编写程序所需的工具

第2章 编写第一个程序 本章介绍如下内容: 在文本编辑器中输入一个Java程序: 使用括号组织程序: 将信息存储到变量中: 显示存储在变量中的信息: 保存.编译和运行程序. 第1章已经提到,计算机程序是一组告诉计算机做什么的指令.这些指令使用编程语言输入到计算机中. 在本章,读者将通过将指令输入到文本编辑器的方式来创建第一个Java程序.输入完毕之后,可以保存.编译并测试该程序.然后你可以破坏该程序,然后再进行修复. 2.1 编写程序所需的工具 第1章讲到,要创建Java程序,你必须有支持Jav

《Java编码指南:编写安全可靠程序的75条建议》—— 指南10:不要使用clone()方法来复制不可信的方法参数

指南10:不要使用clone()方法来复制不可信的方法参数 创建可变方法参数的防御性副本,可以减轻来自各种安全漏洞的威胁,更多信息请参考<The CERT Oracle Secure Coding Standard for Java>[Long 2012]的"OBJ06-J. Defensively copy mutable inputs and mutable internal components".然而,对clone()方法不当地使用,可以使攻击者利用这一漏洞,提供看

JAVA代码编写的30条建议

JAVA代码编写的30条建议 (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母.这样便可标志出它们属于编译期的常数. Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此.对于域名扩展名称

写好软件75条体会自我检查

你们的项目组使用源代码管理工具了么? 采用ClearCase进行源代码管理,同时启用开发,测试,集成三个分支,对于Bug分支根据版本实际情况确认是否启用.   你们的项目组使用缺陷管理系统了么? 使用ClearQuest管理缺陷和变更   你们的测试组还在用Word写测试用例么? 采用TestManager写测试用例和管理测试用例,必要配合Excel进行.   你们的项目组有没有建立一个门户网站? 项目有专门的讨论工作室.   你们的项目组用了你能买到最好的工具么? 能够买到.主要是VS.Net

10条建议 着手开始Web2.0实施

专家精选10条建议助你着手构建一个更动态的Web站点,跃入Web2.0时代-- 如今Web2.0的宣传铺天盖地,很难找到一个可靠的策略来让公司的网站更加动态.在这里我们给出10条建议,这些建议均来源于领先的已经铺平道路的专家和IT经理.它们将帮助你接触Web2.0,并且理解它的生产力.力量和存在的问题. 1 使用WordPress或者TypePad开始blog 这两家网站提供免费的hosting和简单的.只需要几分钟就可以掌握的工具.值得关注的还有,两家公司还出售一种公司版本的博客软件(Type

【珍藏】CMU大师对软件工程师的系统建议(附书和论文下载)

问题:你对想要学习机器学习的软件工程师有哪些建议?(What would be your advice to a software engineer who wants to learn machine learning?) Alex Smola: 这很大程度上取决于软件工程师的背景及其具体想掌握机器学习的哪部分知识.简而言之,我们以一名拥有四年本科学位和一到两年行业经验的初级程序员为例,并假设这位程序员希望学习计算广告学.自然语言处理.图像分析.社交网络以及搜索和排序.那么,我们先说掌握机器学

学习3DS的50条建议

这是我看过的最犀利的也是最好的建议.不知道是谁写的但这个人肯定是有经历的人,从他的话里我感觉的出来.他所说的人很像我,有时候很坚持的做3D有时候却希望玩MAYA我到底属于能坚持的人呢还是浮躁的人呢?反正看了这50条建议以后我心理有点震动所以把这50调建议推荐给大家. 学习3DS的50条建议! 1.有明确的目的或兴趣,针对性地下手. 2.初学者请不要看太多太多的书那会误人子弟的 3.看<c:3smax4help>,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被粒子,动力学,插件等词汇