通用化产品的研发

什么是通用化产品:
在我看来,需要具有以下特性:

1.功能全面,具有前瞻性

用户没想到的有用功能有很多,这些功能都是产品功能应该覆盖的。产品的功能是全面总结现在的用户需求,并要包括未来用户的需求。这和在现场用户要什么做什么的定制化开发,是完全不同的。这就需要有产品的设计师,产品不是单个项目需求驱动的,产品是设计师驱动的。只有一帮程序员,是做不出产品的。

2.功能通用,适用性广泛

产品的功能不是针对某个具体用户的场景设计的,而是针对某类用户(现在的用户,将来的用户)的通用设计。通用的功能具有广泛的适用性。

没有好的设计人员是做不到这一点的。


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


3.性能好,稳定性好。

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

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


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

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

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

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

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

猜你喜欢

转载自gdpglc.iteye.com/blog/2248066