务流程,无不功能强大、覆盖面广。然而,种种限制使得我们无法开发出这样完备、全面的软件系统,最后的结果并不理想。
在此不是要否认专家的作用,而是我们应该如何借用他们的智慧。笔者认为进行需求分析和边界定义的时候,采用“四象限法”比较好(如表1所示)。可以把需求按照“重要且紧迫”、“次要但紧迫”、“重要但不紧迫”、“次要且不紧迫”划分为四类,把项目分成几个阶段,首先完成“重要且紧迫”的,而后完成“次要且紧迫的”,第三完成“重要但不紧迫”的,最后在完成“次要且不紧迫”的。这样不仅保证了核心需求的边界,而且充分考虑了软件功能的扩展性,进而确保项目的正常进度和效果。
软件开发商: 重打单,轻做单
软件开发商作为项目的开发者,其重要性毋庸置疑,毕竟一切有关应用软件的构想再全面、再完美,在没有变成现实以前,也都是纸上谈兵。很多软件开发商喊出“满足客户需求”的口号,但在实际开发过程中真的这样做了吗?尤其是当项目订单满天飞的时候,是不是存在下面的问题呢?
1. 职责不清,分工不明
由于许多软件开发商现在还处于“作坊”的状态(只是存在“大作坊”和“小作坊”的区别),所以研发人员职责不清、分工不明的现象非常严重。有的甚至从调研到分析/设计,到开发、调试,再到实施、维护,一气呵成。先不说工作量有多大,仅从项目的风险来说就是非常可怕的,更不用说最大限度发挥研发人员的长处了。
在笔者看来,研发人员的职责一定要进行划分,但是可以根据公司的实际情况来决定划分的粒度。如表2所示:
软件开发商: 重打单,轻做单
软件开发商作为项目的开发者,其重要性毋庸置疑,毕竟一切有关应用软件的构想再全面、再完美,在没有变成现实以前,也都是纸上谈兵。很多软件开发商喊出“满足客户需求”的口号,但在实际开发过程中真的这样做了吗?尤其是当项目订单满天飞的时候,是不是存在下面的问题呢?
1. 职责不清,分工不明
由于许多软件开发商现在还处于“作坊”的状态(只是存在“大作坊”和“小作坊”的区别),所以研发人员职责不清、分工不明的现象非常严重。有的甚至从调研到分析/设计,到开发、调试,再到实施、维护,一气呵成。先不说工作量有多大,仅从项目的风险来说就是非常可怕的,更不用说最大限度发挥研发人员的长处了。
在笔者看来,研发人员的职责一定要进行划分,但是可以根据公司的实际情况来决定划分的粒度。如表2所示:
表2仅仅是抛砖引玉,只是希望在人员职责方面要花一些功夫,毕竟是一个组织,不能所有的人干同样的事。从管理上来说这样不利于工作分配,不利于考核,不利于调动大家工作积极性,更不利于软件开发商的长远发展。
2. 眼高手低,重打单,轻做单
研发人员与销售人员之间存在一定的矛盾,之所以存在矛盾主要是各自工作目的和所站角度有比较大的差异。研发人员认为销售人员到用户那里就是吹牛皮,压根儿不管技术难度与合理性; 销售人员认为研发人员过于保守,不放“卫星”如何能拿到订单。解决矛盾的办法,就是把研发人员和销售人员团结在一起,真正成为“一根绳子上的蚂蚱”,这样他们就会心往一处想,劲往一处使。笔者想从以下两点进行阐述:
(1)协调研发与销售的关系
对于销售人员的考核往往从签单量、回款量、回款周期几个角度,是否可以增加项目周期和项目成本作为考核指标呢?毕竟功能复杂的项目往往会花费较长的周期和较多费用,增加考核维度可以让销售人员多从项目整体的角度看问题,而不是仅仅从自身利益看问题。
对于研发人员的考核大多从项目的开发质量、开发周期几个角度,是否可以增加功能满意度和功能使用度作为考核指标呢?