产品级软件特制

产品级软件研发
什么是产品:
在我看来,需要具有以下特性:
1.适用性广泛。
这需要的是架构师级别的软件设计人员。 只有一帮程序员,是做不出产品的。

2.功能全面。
 
产品的核心思想可能很好理解。但围绕核心功能提供的配套功能,需要长时间的实践积累。才能达到功能全面。


3.性能好,稳定性好。

性能和稳定性也和实际应用有紧密关系。用户的实际业务情况,在测试时,可能不易测试到。
所以一个产品,从构思到成型,是需要很多投入和实践的。

开发产品的团队,一定是有组织的。胡乱拼凑的团队,给用户开发的大多是半成品,不能指望程序员有产品意识。

产品研发的结果能达到上述要求的根本在于,产品的概念必须一致。(参见《人月神话》)

团队划分要以这个为指导思想。

团队要有产品意识,开发结果到实施必须是产品级的。因此就需要测试。用实施人员做测试是不合理的。实施人员一般希望按工期完成任务,为何还要给实施人员增加负担。同理,测试也不该是开发人员的任务。测试本身是专业的工作。

如果产品开发后直接由实施测试,在这种没有控制的开发过程中,低质量的软件,最终会给到用户。由此造成的软件反复修改,必然会大大延长工期。实施人员很可能把软件调通就给用户了,功能是否合理、有多少隐藏的Bug,就成了开发和实施间互相推脱的责任。

开发人员的工作成果,是需要被监督和评价的。一般开发和实施人员,很难高瞻远瞩。