虽然公司也有一些比较成型的产品,会去做一些重产品加轻实施的一类的项目,但是产品化本身它需要的一些市场营销推广的,而市场营销推广本身也不是一件特别容易的事情。
所以说,对于纯的定制化软件开发的这一类公司,在当前的这种经济环境下面,你要真正能够生存下来,它并不是一件特别容易的一个事情。
对于一个定制化的软件开发项目,有哪些影响到了成本,或者是影响到我们未能按照计划进度交付它呢,真正关键的问题点究竟在哪里呢?

之前,我们一直都在强调开发人员的技能、开发人员开发的效率和质量。在《软件工艺》这本书里面也专门提到,一个好的开发人员,他可能是普通开发人员效率的5- 10倍。可见软件开发人员它本身的能力、技能确实对整个软件开发的交付质量周期影响很大。
但是对于一个软件团队,团队本身已经磨合了两三年或者是更久的一个时间,其实整个团队已经形成了相应的一些开发方法或者是开发节奏,包括底层的一些基础的开发框架、开发组件,比如我们常说的系统管理、流程引擎等,包括上层的一些门户集成,这些东西都已经是成型的,更多的都是基于业务功能点的一些开发,所以这个并不是一个特别困难的事情。
那么对于一个软定制化的软件项目,为什么最终做下来,公司还是亏钱了呢?
这里面有一个相当重要的原因,就是对于整个项目范围内的软件需求本身的一个不可控。
一个三个月或者是四个月的软件开发的项目,你会发现一半的时间往往都是在和客户去沟通需求,调研需求,包括确认需求,包括你在开发完以后,很多东西客户看了之后,还需要你去做相应的一些需求变更,所以说你会发现这种项目中的需求的梳理,需求的沟通,包括后面的需求的变更,这一些才是真正的影响了你整个软件开发周期的。
还有一个相当重要的点,并不是说团队软件开发人员本身的效率质量出现了什么大问题,反而是跟客户反反复复的沟通,确认需求,包括去处理后面的需求变更,需求蔓延,这个过程花费了团队大量的时间。所以为什么说软件定制化类的项目不好做,这就是一个相当关键的一个原因。
还有点,虽然说做任何软件项目,都会有技术规范书,有招标文件,但是任何一个软件项目它要想能够上线,最终还是要能够得到客户的验收。但,很多时候都会出现项目的需求范围蔓延。
需求变更这个事情,可不是简单的你想可控的就可控的。你想很简单地拿着当时的需求规范书,去跟客户说,你这个功能点在原来的需求规范书里面没有,我们不做。这你可以想好,你如若不做不开发,客户的办法很简单,这个项目不给你验收。
所以说很多时候,对于软件团队来讲,它逼不得已,他还是不得不去允许一些需求蔓延的,只有这样才能达到最终验收的目的。
任何一个软件项目,你报80万,就总有人会去报50万,你报50万的时候,很多人可能报20万。
这个一方面可能是跟软件公司本身所处的地理位置有关,比如一线城市,它的人员的工资本来就会高一些,还包括整个公司的综合管理类的分摊成本,这都会对报价有影响。
还有更加重要的一个原因?你报这个80万的时候,你可能期望是给客户交付一个90分的软件系统,但是这个往往并不是说所有客户的诉求和需求,很多客户往往首先考虑的是价格,也就是成本优先,费用优先的。他更希望的是花一个30万的费用拿到一个90分的软件系统。所以在这种情况下面,你往往很难去跟别人做进一步的竞争,这都会导致我们定制化的软件项目做起来相当的累,或者是做完了以后还赚不到钱。
我估计大部分做定制软件开发的小公司,或者是团队,都会面临的这个共性的问题。这个问题我们初步想一想,也没有太好的解决的方法。
项目内部的软件项目管理、软件工程、软件过程管理的这一些都可以花心思去把它做的尽量的标准规范,但是项目里最不可控的是跟客户的协调,跟客户的沟通,包括怎么样去梳理软件需求,怎样做好范围和需求的控制,即使你是用的相当有经验的业务顾问、产品经理或者是需求开发人员,这个难题短期也没有办法去解决。
如果你,或你们团队,或你们公司有什么好的办法,请不要吝啬哦,请写在留言区。