Back

书稿 技术的重要性

发布时间: 2014-06-29 05:48:00

经验:  绝对不要找太便宜的软件承接方。

互联网创业,绝对不要找太便宜的 人,和团队。 跟其他行业一样。软件行业也是一分钱一分货。出的钱高,就能找到靠谱的人或者团队。 出的钱低,那么获得的软件质量也不敢恭维。

案例: 某位朋友,需要做的项目量级上千万。但是在软件投入方面仅仅是10万。 结果对方无法保证项目的按时交付。

深层分析:在北京,一个3年经验的程序员月薪假设1W, 那么在一个正规的公司,每个月要为他消耗2W。 如果某个项目, 需要5人月(就是需要一个人干5个月。 人月: 是衡量软件工期的单位。)那么它的成本就是10W。  如果你的项目以低于成本价的价格 外包出去。那么80%是失败的。 因为对方是一个连成本都不会估算的软件承接方。不要指望他能很好的控制工期进度。

经验:明确互联网在自己项目中的位置。

很多朋友,在自己的项目中,不太明确互联网技术的地位。比如: 某个项目,又有线下的实体商店,又有线上的 网店, 有移动应用APP。那么,该如何确认自己的项目是否是一个“互联网项目”呢? 很简单。 你就假设自己没有移动APP, 没有线上的网店,你看看这个项目能不能正常运转。 如果不能的话,你就要小心了。  如果你为自己的项目整体估值1000W。 那么你务必不要把自己的互联网技术上的预算弄得太低。

经验: 一个靠谱的技术开发团队的运营成本。

什么样的团队是靠谱的? 1 。 诚信,不忽悠客户。 2. 有扎实的技术,和成功的案例。 

一般来说,这样团队的组成是:  开发人员(2,3名) + 测试人员(1名) + 项目经理(1名) + 运维人员(1名) 

而一个互联网项目,给这个团队做的话,最少要做6个月,要做成熟的按照1年时间来算, 5人 X 12 个月 X 2W。 = 120W  

如果考虑到这个项目除了PC端,还要上移动端(只考虑IOS,ANDROID,不考虑winphone等), 那么开发人员还要增加2~4名,

这个时候的成本就是:  170 ~ 220 W.   

结论: 如果没有足够的干粮(比如说200W) 做好未来一年挨饿的准备,那么团队是养不起的。

经验:外包项目与自己培养团队的比较

把项目外包出去是一个不得已的选择。如果资金允许,务必要培养自己的团队。 因为在软件项目中,“人”才是最重要的。代码不重要。 只要有高素质的人存在, 那么你的项目就会一帆风顺。 我见过的比较多的情况是:
某项目,干了1期。 交付了。然后开发人员消息了(可能是他离职,可能是该团队解散,公司关掉等等) 然后来了一个人,继续接手。 如果这个人是个经验丰富的老手, 可以看懂前任程序员的代码,那么他大约需要一段时间来很痛苦的阅读和理解前任的代码。 同时做各种修改,各种重构(改善现有代码的结构)。 如果这个人是个菜鸟,前任作者的代码他看不懂,那么完了,估计前任作者30分钟的工作,这个新人可能要做一周。(在《人件》 以及《软件工程的45个事实和悖论》中有更加精彩的论述)。

所以,除非你的项目不需要谁维护,否则不要外包出去。(我所有见过的成功交付的项目,都会要求做第二期,第三期。。。)

外包的唯一优势就是:我们不需要一直“养”着一个团队。需要人的时候我直接找外包团队来做就可以。 如果你手头没有足够的资金,但是又需要在1个月内做出一款线上的产品的话,确实一个可行的选择。但是如同“壮士断腕”,它的副作用相当巨大。可能你在做第二期的时候把前期外包的成果“推倒重来”。—— 原因是外包软件的整体架构不被新团队所理解,而且你也找不到原来作者了。 

结论:能不外包就绝对不要外包。一旦做了外包,就做好承担更大失败风险和日后 还债的准备。

经验:如何保证你的项目进度?

务必要让程序员过来跟你一起工作。 最好是面对面,或者坐邻居工位。 能够有个开放式的环境,大家围坐在一起更好。 程序员有了问题可以直接问项目经理,项目经理想查看进度时,也可以面对面找程序员,大家还可以有每天上午10点的站立会议(注意:要站着,每个人发言不超过1分钟,讲述自己今天要做的事情和昨天遇到的问题)
每天都做交付(见敏捷开发的 “项目自动化”)。 做到一键部署,这样我们的产品经理每天下班前都会看到哪个哪个新特性上了线。

经验:产品经理如何提需求?

要“小步快跑”。 比如,老板脑子里有100个点子,而这一百个点子在目前的项目资源中是无法得到全部分配的(通俗的说,我们目前只能在一个月内完成5个点子),那么就把这100个点子做个排序: 第一期项目先做这5个点子。   等项目一期做了交付之后,我们再上另外10个点子(或者需求) 。。。等等等等。 这样小步快跑,项目才能成功。

《人月神话》: 如果某个项目的时间估算(交付时间)超过了1年,那么它基本上会失败。 如果超过2年,那么绝对会失败。

经验:如何保证项目的稳定?(或者说,如何搞垮你的竞争对手?)

办法很多。 如果你发现对方的项目是花5千块请的大四学生做的,那么恭喜你,它肯定会在3个月内垮掉。不需要你做什么。

经验:如何组建技术团队?

Back