2009年手机软件外包的经验和教训
作者:陈跃峰
出自:http://blog.csdn.net/mailbomb
2009年是不平凡的一年,这一年经历了很多事情,汲取了很多经验和教训,本文将对软件外包方面的经验和教训进行一下总结,和CSDN的朋友们一起分享。
由于本人一直从事Java手机软件的开发和培训工作,所以在接外包时主要接的都是Java手机应用软件方面的项目。
2009年上半年也陆陆续续接了一些小的项目,正式开始做外包也就是从2009年8月底开始的,寻找外包主要的方式还是来自各种外包的网站,当然要勤快一点,多浏览信息,比如CSDN的项目交易,软件项目交易网等。
下面结合项目说一下具体的情况:
1、 第一个正式的外包项目
这是一个网站的客户端,发包的是武汉一家处于创业期的公司,开发该程序主要是将对于网站的访问拓展到Java手机中,项目金额总计是1.2W,开发周期是2009.9.1-2009.10.15,整个项目由该公司出界面设计、美工以及服务器端程序,我只负责手机客户端的开发和测试,实现出的是一个通用的Java客户端,没有适配具体的机型。
这个项目按期完成,后续又做了一些修改,总的来说还算比较成功。
为了这个项目,我于8月底去了一趟武汉,和公司签了合同,还见了公司的2个主要负责人以及服务器端程序和美工,大家谈的还比较融洽。
教训:后期维护虽然压力不大,但是托的比较久,按照合同的约定尾款应该在11月中就要结的,但是一直托到现在还没有给,但是老总答应3月中结款,所以在后期处理上还是没有控制好。
2、 最失败的一个项目
在上一个 项目将要结束的时候,就谈了这个项目,这个是手机优惠券客户端软件,发包的是一个准备拉风险投资的个人,在上海有个广告公司,项目金额总计是2.5W,开发周期是2009.10.19-2009.12.5,我还是负责手机客户端的开发和测试。
我于10月16号到上海和发包人谈了项目细节,并于次日签订了合同,由于对于界面的要求比较高,所以由发包人又找个了兼职美工专门设计界面,这里拿了4K的定金。
我拿到了初步的界面设计以后,回来开始进行项目准备,并编写了美术要求文档,但是在后续不久就发生了变化,在11月初,发包人还专门飞郑州和我沟通,并增加了一些功能和模块,对于界面和功能的变更我忍下来,修改了代码和功能,于11月中提高了第一个界面demo。本来我打算做一个通用版本的,由于发包人对于界面的比例要求很严格,并提出了一些修改,所以又返工制作专门的240320版本,美术也进行了返工和修改,于12月初制作出了符合设计要求的界面版本,而且我在12月初专门到上海进行了一些细节的修改,在花了1天的时间修改了细节以后又返回郑州。
其间,11月初我介绍了一个服务器程序,发包人和他没有谈妥,所以服务器端就一直托着,直到12月初我到上海时才开始和服务器程序进行第一次接触,我本以为在12月底可以完成要求,但是刚回来不到1天,界面又要变更了,而且变更很大,且变更了一些模块,这样我就火了,说这样做再做2个月也做不好(后来这话获得了验证),都做了1个多月的界面了,这样做项目不行。我这个时候想退出了,但是后来又谈了一下,签订了一个备忘,约定了后续的进度计划,约定时间延期到1月10号,发包人又支付了5K的延期费用。
后续又一直修改,再加上服务器端的测试等,一直托到2月5号才算收尾,这样大家都回家过年了。
年后2月19号发包人问怎么交接,我说按照合同约定先支付费用然后3天之内完成交接,自此发包人就人间蒸发了。
合计花了2个半月,其间多次进行修改,获得了9K的收入,还有2W1的费用未进行支付。
教训:对于整个项目进度缺乏控制,对于发包方一再的修改进行了不该有的让步,对于项目风险和发包人的信用过于乐观。
3、 最小的项目
本年度接的最小的项目是RMB600大圆,制作大概十几个高级用户界面,花了2天左右的时间完成,虽然费用很少,但是认识了一个也做外包的朋友,我们一起聊了很多,收获还是不小。
4、 最顺利的项目
本年度最顺利的项目是深圳一家公司的项目,制作一个Java菜单,使用高级用户界面制作,包含短信发送、拨打电话等功能,总计实际花的时间在1天左右,收入2.8K。据说这是一个和非洲某国家进行的国际合作项目,相信发包公司赚的要比我多很多很多。
这个项目从开始联系到最终完成也差不多有1个多月的时间,但是消耗的精力还是比较小的。
5、 500元尾款
还做了一个广东某公司的关于电话充值的小项目,项目总金额也才1K5,后来由于进行了修改,又追加了0.5K的费用,就是这0.5K的尾款,足足要了3个月才要回来,其间和发包人联系多次,最终终于要到,不如意啊!
当然,还做了一些其他的项目,就不一一罗列了。
通过这些项目,总结了一些经验,和大家共享:
a) 合同只是君子协定,自己一定要遵守,这是你的信誉。
b) 对于项目款项的支付按照进度进行支付是最好的办法,我的想法是将项目划分为:1、定金,2、界面完成,3、功能完成,4、移植等这样的阶段,完成一个阶段支付该阶段的费用,将双方的风险都控制到比较低的水平。
c) 一开始项目做足功课,最好将项目的界面、功能以及实现的方案(例如是做通用版还是进行移植等)都确定好,后续如果需要修改,可以,根据耽误的时间和精力支付相关的费用。
d) 勤快一点,多关注外包的信息,早起的鸟儿有食吃。
基本就这么多了,希望各位同仁积极指正!!
陈跃峰
爪哇米工作室(www.JavaMeStudio.com)
2010-3-19