昨天晚上,有一个好久不见的朋友给我打了一个电话,上来就问我,我的系统研发了1年了还没上线,我应该怎么处理?
问题出在哪里?
1、由自己设计再交给外包开发。
不专业的设计反而会提高开发成本。设计看上去好像是一件谁都会做的事情,会拿笔,会点PS,就觉得是懂设计了。建筑也是设计,但并没有人随便画一栋楼就开工,船体设计也是一样,不是随便画出一条船建出来就能浮在水面。软件界面的设计不仅要考虑到人性化,美观度,还有非常重要的一点是结构性。每一个地方都应该有个合理的结构,才能流畅地开发出来,不符合开发结构原理往往要花费很多时间。
另外,软件界面也分容易开发和难开发的,再设计的过程中也会考虑时间和成本的因素。在这些因素的结合下才慎重选择的设计,一般人是做不到的。
2、依据功能来定价
依据功能来定价是非常不合理的。当前这种根据功能来定价是为了让这个定价表面上看起来有据可依,降低沟通成本,但是从软件开发的角度来看是非常不合理的。
作为一个软件架构师,在接到需求的时候需要根据需求来进行技术选型,架构设计,开发框架建设,这些事情都没有完成具体的功能,但是却为整个软件的开发打好基础,为后续的维护迭代提供有明确的路线。再到具体的功能上,有没有良好的技术选型和架构,做出来的功能天壤之别,从效率、特性、维护上看都差之千里。
而对于这样一个有经验的架构师来说,值钱的不是具体的功能,而是前期的架构,和具体实现的规范。所以真正具有优雅的合理的开发者的公司不会在具体的功能上计较,而是根据需求来考虑应该为客户创造多少价值,再订下双方都能接受的价格。
3、要求外包公司加急完成开发
实际上再怎么有经验,在开发的过程中也可能遇到先前没有考虑到的问题,犯下没有预料到的错误,这时候多出来的余裕时间就可以用来调整。
人无完人,尤其是软件这个行业,多出一点时间来既是为客户负责,也是为产品负责。因此要求外包公司在约定的期限内加急开发,反而会造成不可挽回的漏洞。
4、越老越有名气越大的外包公司越好
对于只需要对领导负责的客户来说,越大越好。实际上现实中的大外包公司确实只想政府项目。但对于产品对于创业者来说,不是。
IT行业属于日新月异的行业,每过半年都几乎会有颠覆式的改进,以前做不了的事情,可能现在就能做了,以前需要花费大量成本的事情,现在成本也可能被大幅度压缩了。
而大型的服务商架构冗余,更新缓慢,往往落后当前技术水平3到5年。同时由于大公司名牌溢价,营销支出增加,能吸引大量的客户,公司的重心往往会放在销售和营销上,技术部门地位就被边缘化。而对于大公司而言,还要同时接非常多的单,就算整体开发处于低下水平也依然能赚钱。
小而美的开发团队将成本都实打实地投入到产品的开发上,相同的价格,能带来远胜大企业的效果。尽管面对没有名气的公司增加了客户的筛选成本,但一旦选对了,可能就率先达到了其他竞争者没有的优势。