西西河

主题:【原创】软件开发项目中的需求开发问题 -- 闲云野熊

共:💬27 🌺6 新:
全看分页树展 · 主题 跟帖
家园 侃几句

(1)开发一个新系统,尽管是用户订制的,但这是一个以前从未存在过的系统。任何人无法凭空想象该系统如何运作,如何实现以前从未实现的功能。因此没有人能够告诉开发人员这个系统的功能如何匹配系统建设目标。只有获得了一个实际的系统才能检验实际运行能否满意。而在实施过程中,用户的灵感总会被不断激发,产生新的愿望。

有两种情形,其一是用户已经有一套行之有效的Process(业务流程?),虽然没有一个软件系统,但依样画葫芦,只不过是把手动的流程变成自动的流程,这种情形好办。其二是用户现有的流程很乱,更糟糕的是用户有不现实的期待,以为新的系统可以自动解决他们所有的问题。这种情况下,首先要教育用户,买更多的时间。其次要依赖对该行业的理解,设法先把业务流程定义好。当然,还可以买象SAP这样的软件包,直接把同行的业务流程抄过来。

(2)一个系统的使用肯定牵扯到用户群体中的很多人,每个人,每个部门都对系统有着自己的幻想,都希望维护自己的利益。而这些利益不一定重合为系统建设目标。因此需求调研有如盲人摸象,只能获得很多片面、破碎的信息。这些信息之间有矛盾,不可调和,只能妥协,但妥协只能带来各方面都不满意。

妥协不是软件开发者的责任,软件开发的责任是尽可能早点发现矛盾所在,让用户老板自己决定。我个人的经验,在同一家公司内部,极少有不可调和的矛盾的,动动脑筋,很多时候都能双赢。

(3)对项目建设有决定权的领导有自己的看法,但这些看法只能通过下级人员反映给开发者。下级人员会塞入自己的意见。其次,系统的使用者不关心投入,只关心系统是否减轻自己的负担。因此最初的需求调研肯定获得了很多锦上添花的需求,而不是系统建设目标所必需的需要。

这要看哪一级别的领导了,负责拍板的,最关心的是投入多少,收获多少。比较强势的领导,会事先收集使用的意见,制定一系列的指标,计划,算清楚成本利益之后,才开始软件开发,而且在开发的过程中,会确保不偏离原有的目标。

(4)开发者并不实际关心系统是否贴近用户需要。只是关心是否不被抓住把柄。承建商只关心预计开发成本是否压缩利润。

这要看开发者是否特指程序员,在较大型的项目中确实可能这样,只是对着Spec(功能定义?)编码,在较小的项目里,Spec往往较为含糊不清,在这种情形下,程序员应该更频繁的和用户交流。无论如何,我总是鼓励程序员尽可能多点和用户交流,这样有助于提早发现问题所在。

至于开发商,把项目做好,有助于拿到下一个项目,用户总是有新的要求的。至于开发成本和利润,就要看合同是怎么签的了。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河