之后就是开发工作,不过在开发过程中出现了一些之前我没有预见到的问题。首先,9月3号我回到成都,然后整个9月份我的时间都投入到了另一个项目中,整个9月,我一直在准备出差或出差,导致这个月基本上没有什么进度;其次,在11月末12月初,团队成员的时间安排出现了问题;第三,需要对接的一个第三方会员系统接口迟迟不能提供。由于这三个原因,导致了系统未能在双十二正式上线,当然,在项目实施过程中,需求的变更也产生了一部分影响。最终,系统正式上线的时间向后延迟了一个月左右,如果我没记错的话,系统正式上线运营时间为2015年1月10日左右,酒泉汇众公司的第一家线下体验店,也是唯一的一家线下体验店(后面会介绍为什么是第一家也是唯一一家)是在2015年1月21日正式开业的。
在系统正式上线之后,系统没有出现什么大的BUG,唯一一个会影响使用的问题是Android端程序在三星NOTE3手机上会出现闪退的问题(后来证实是因为三星NOTE3手机底层进行了内存优化,导致程序出现了内存溢出的问题),但这个问题在最初的反馈中,并不明确。现在回想起来,其实在这时,这次合作就已经出现了问题,只是因为我当时经验尚浅,未能及时发现问题。在解决这个BUG的过程中,我多次要求酒泉汇众公司提供出现问题的手机让我带回成都,主要原因是在系统开发过程中,我们使用了各种品牌和型号的手机进行了测试,虽不能保证100%的Android机进行适配,但80%以上的Android机都是可以使用的,但因为酒泉汇众公司无法提供可让我拿回成都的测试手机,所以这个BUG一直拖到了2015年3月份才得到了彻底的修复。
在2015年春节期间,我与酒泉汇众公司进行了多次沟通,我希望他们能够按照约定,在系统上线后,支付一部分费用,但对方最开始说会计回家了,说年后处理。年后上班后,该公司居然无人理睬我,所以我将系统后台关闭(用户仍然可以正常购买、支付),后来该公司股东兼总经理薛贵德居然把我叫去公司臭骂了一顿,这个情节完全在我意料之外,我没想到,在现在的软件开发过程中,居然还有甲方劈头盖脸骂乙方的情况,并且该老总叫嚣要起诉我,要让我把老子(北方方言中老子表示父亲)赔进去,但根据我的了解,我所从事的工作是软件开发工作,需要定立“技术开发合同”,虽然《合同法》规定口头合同具有法律效力,但是技术开发合同,必须采用纸质形式。后来又说要先解决Android端BUG才能支付费用,而我提出需要将出现BUG的手机带回成都进行调试,酒泉汇众公司又说无法提供测试用机让我带回成都。这里还需要插着说一下,在年前的一次饭局中,该公司老总提出说这个BUG一定要解决,因为他们的客户就是拿3000元以上手机的人(我保证这是我在整个系统建设过程中第一次听到这样一个需求),然后我说,那我们的iOS端做得很好,现在愿意拿3000元以上手机的人,一般都是iPhone手机,然后该老总又说现在谁用iPhone,说他身边的人,用苹果手机的人很少。我也是醉了,我不知道这位老总说的是真的,还是只是为了让我解决这个BUG才这样说。
过完年,我依旧没有拿到第二笔项目款,这时我开始意识到有问题了,但是因为有朋友在中间担保,我觉得应该可以拿到剩下的费用,我还是在三月份时解决了那个BUG,之后,我将测试安装包发给了该公司,然后该公司依旧未支付费用,四月份,该公司老总来成都参加“糖酒会”,顺便来我们公司考察,然后,就在四月中旬,该公司老总出差结束,回到酒泉后,据称是醉驾肇事逃逸并致人死亡。直到这时,该项目彻底结束了,我的开发费用也要不回来了。
之后我尝试联系该公司另一名股东、中间担保的朋友,但是都没有追回我的开发费用。但是项目已经完成了95%以上,为了不让跟着我的小伙伴吃亏,我开始利用自己的钱支付他们的开发费用,直至前两天(除夕夜当前),我将所有的费用都支付完了。至此,事情告一段落。
在这次外包过程中,我发现了一些问题,有我的问题,也有酒泉汇众公司的问题,下面我一一列举说明,希望对后来者能够有一些作用。
先说我的问题:
1、开发周期预估不足。由于之前接的外包项目相对这个项目来说,都是些小项目,所以在时间的估计和把握上,并没有流出太大的余地,这也是导致最后未能按时上线的一个原因;
2、未能坚持关于费用支付的原则问题。因为朋友作为中间人,没有坚持一些外包的基本原则,在个人或团队的外包过程中,一般需要首次支付项目经费的40%~50%;
3、对朋友过于信任。未能及时发现风险,其实在商业活动中,还是应该坚持商业原则,不要考虑感情因素,要做先小人后君子;
4、对团队内部的管理有些松散,应该在团队内部明确任务和时间节点,加强时间管理。
然后说说我看到的汇众公司的问题:
1、公司内部信息不流通。汇众公司负责和我对接的有两个人,首先这两个人之间的信息是不完全流通的,当然,也许是因为其中一个并非专职负责这件事情,其次就是下级和上级之间信息不流通,2015年1月系统就上线运营了,直到2月底了,汇众公司的老总居然还不知道系统已经在产生实际订单和交易了,然后我把系统后台停掉之后,老总直到大约一周之后才知道这件事情,而且居然以为我把整个系统都给停了;
2、负责与我对接的人权限过小。在以往的项目中,负责与我对接的人都是一个部门的经理或者具有相关权限的人,在与汇众公司的合作中,与我对接的人对很多事情都不具有决定权,而且在付款方面也没有任何权限,我实在不明白,这样的体系架构,这个公司的效率到底体现在哪里,说实话,我实在不能理解一家私营企业为什么会形成这样低效的氛围,如果是国企、央企、政府机构、公益组织等,我都能理解,但是一个私企,确实是我第一次见,感觉好像不是在为自己挣钱一样。
然后,再来说说我经历了这件事情之后的一些思考吧:
1、团队建设非常重要。其实不管是不是公司,是不是互联网公司,团队的建设都非常重要。团队建设涉及很多方面,作为管理者,你要想办法让你的团队高效运转,信息快速、无障碍流通,而且,现在很多85后、90后成为了主要劳动力,我自己也是90后,我自己的感觉就是,你如果只想着上班时间咱们在一起工作,只想着通过工资、奖金、福利来搞团队建设,那你就OUT了(当然这些事基础条件),除此之外,人工作也是需要愉快的氛围,如果一个团队只是机械式的工作,互相之间没有默契、没有感情,那这个团队必定不会发挥最大效能的。一个团队,并不只是一个工作集合体,它还应该是一个集吃喝玩乐于一体的“团伙”;
2、公司内部信息流通很重要。一个有效信息不管从这个公司的哪一个人进入这家公司,都应该以最快的速度,传递到所有相关人员的手中,很多时候,信息的不对称会造成决策者无法做出正确的决策,团队之间互相无法配合。在公司内部,不光要能做到信息从上向下流动,还要做到信息从下向上流动,作为管理者,如果你只是发布命令,而不听一线工作人员的反馈的话,那得到的结果很有可能是事倍功半;
3、代码质量管理很重要,虽然有的时候项目周期会很紧张,但是基本的代码管控要有,即使当时没有办法进行严格的代码质量审查,那也应该尽可能的为以后重构代码提供一些便利,比如强令编码人员填写SVN日志信息、强令编码人员在每个类和函数上加上功能描述语句等,当然,如果有时间的话,最好还是进行严格的代码审查,尽可能的保证代码的健壮性和可复用性,其实这并不难,只需要项目经理或组长每天打开代码看一下,时不时的看看SVN日志,定期让编码人员给你展示一下功能并大概解释一下代码即可;
4、在商业活动中,一定要坚持一些基本的商业原则,可以因为关系的原因提供优惠的价格,但是不能因为关系的原因答应类似于增加需求、缩短开发周期、延迟付款等要求,无论是否签订了合同,如果出现付款不及时的情况,应及时停止开发工作,或者停止新版本的交付及旧版本的维护。商业就是商业,不应该掺杂过多的其他因素,一手交钱、一手交货就是最基本的原则。
最后,再来说说这件事情的一些细节和插曲,以供大家参考。
1、前文说到酒泉汇众公司的总经理薛贵德于2015年4月份在酒泉醉酒驾驶发生车祸致人死亡并逃逸,这是我从朋友处打听来的,之所以要从朋友处打听,是因为4月初在成都和这位薛总见面后,对方也表达了清晰的继续合作的意愿,希望能够将这个项目进行下去,但是等我想确认那个BUG的修复结果是否满意时,却发现联系不上他,然后我开始联系酒泉汇众公司,最开始他们对我声称公司老板出差了,让我之后再联系,但是迟迟没有下文,所以我开始联系我酒泉的同学和朋友,先是听到酒泉在4月中下旬发生过一次严重车祸,因为我们这个城市并不大,一年也出不了几个恶性案件,所以一出现就会导致相关人员(当事人的家属、朋友等,公检法系统、政府相关部门等)都知道,我听到这个消息时,也联想过,毕竟想让一个消失的如此彻底,在当今社会,恐怕只有政府了(其他的都是非法的!!!我相信社会是和谐的,哈哈哈),但是没想到后来证实,真的很不巧,就是他。然后我就像汇众公司的另一位股东追款,但是另一位股东坚称要等到薛总回来后处理,因为最开始我听到的消息称,被撞人家的最大诉求是让肇事者负完全的刑事责任,所以我就没报多大希望。后来到2015年10月份,我又听说这个老总出来了,我也不知道是赔钱赔够了,家属原谅了?还是花钱走了关系了?亦或者只是取保候审?总之是出来了,但是这位老总出来之后依旧保持失踪状态,依然联系不到,我打电话去公司,公司说他们也联系不到(我就呵呵了),至此,事情基本上可以说是彻底结束了,而我也没有再去刁难那位中间人向彪。
2、前文提到过这位薛总曾把我叫到汇众公司臭骂了一顿,这件事情我觉得很有意思,所以在这说一下,那天把我叫去,刚开始他在工作,然后和我在办公室里面聊,前两句话还正常,突然就开始发飙了,然后就是各种质问、摔手机(他自己的)、要求我就未能如约上线系统道歉等等,而我被突如其来的这一下给整懵圈了,等反应过来之后,就一直在笑(当然道歉还是道了,毕竟这个事情我也觉得是我的问题),我就和他面对面坐着,然后就静静的看着他在那摔摔打打的,真的挺搞笑的,后来问他们公司的员工,原来他平时就那样训员工,而我真的是第一次见到这样的老总,我真的是理解不了,甲方为何能骂乙方?不过在这个过程中,他提了一个问题,他问我为什么要结算项目款不跟他说,还质问我到底谁是这家公司的企业法人?我也是醉了,不过我还是给他解释了,我说你一个公司的老总,我不可能这点事情都要和你说吧,这也不是说一个几十上百万的项目。而且他指责我说在开发过程中我没有主动给他打过电话,汇报过进度,听到这句话我心中真的是千万只羊驼奔过!!!我是乙方啊!你是甲方啊!你甲方是有人和我对接的,你难道指望乙方时时为你汇报工作?Are you kidding me?你甲方那个负责和我对接的人是摆设吗?我只是和你进行了一次合作,我又不是你公司的员工,我有什么义务给你甲方老总汇报工作?也正是这一次接触,我才完全明白了,这位薛总在这件事情中完全处在一个“瞎子”和“聋子”的地位,很多事情他都不知道,当然不可能要求一个公司老总能够清除的知道自己公司的每个项目的每个细节,但节点性的信息你总应该是了解的吧,但是没有!最后,他接了个电话,电话铃一响,突然又恢复了正常,这个情绪控制的如此之到位,我佩服;
3、在接近交付之前,酒泉汇众公司从老总到对接人员,一直在跟我提你看携程、顺丰优选、京东、淘宝做的如何如何好,我只能一遍一遍不厌其烦的给他们解释(因为他们公司员工知道这件事情并不代表老板也会知道),他们所参考的这些系统,仅手机端的开发成本就是我给他们开发这个系统报价的几百甚至几千倍,这些系统整体的开发及运营成本是他们这个系统的几万倍甚至都不止,而且这些系统从1.0版本发展到现在至少都经历了一两年的时间,这不是说我这么几个人,用几个月就能搞定的。通过这件事情,更坚定了我以后对客户不能抱有幻想的想法,客户真的什么都不懂,有的时候,你越是为客户考虑,他越觉得容易,所以应该将问题摆在客户面前,比如客户提出,是否能参考携程开发一个系统,你就应该马上说,如果只要功能是多少多少钱,如果要求和携程完全一样,能够顶住大用户量,那就要将开发成本乘以多少倍,然后再告诉他们可以循序渐进的做,省得客户总觉得做软件不需要钱,很便宜;
4、再来说说项目款要不回来了之后我是怎么处理的,因为报价低,当时我给团队承诺的开发费用也不高,虽然我对项目款是不报希望了,但是我还是秉持着“不能坑跟着我的小伙伴”的原则,我用自己的收入(工资和私活的钱)向项目组的核心成员兑现了当初的承诺,当然,这也导致我整个2015年一直走在“还债路上”,知道今年过年的前一天,我才彻底把这些欠债还清。其实按照我最初的利益划分中,我也并不是这个项目组中挣得最多的,我每次在进行这种活动时,原则就是干的多,拿的多,当然,如果你掌握的是一些核心技术,你干的少,也可以拿的多,总体来说就是基本上遵守分配原则,不干那种撑死自己饿死别人的活,因为感觉那样太对不起和我一起干活的小伙伴了;
5、事情发展到现在,我已经不抱任何希望了,而且前两天我实地考察了一下,汇众公司唯一的一家体验店,已经在转让了,汇众公司的办公地点,也换成了另外一家公司,我也不知道他们是搬走了还是倒闭了,我通过工商系统查询,发现这家公司还未注销,这家公司在册持股人共有8人,注册资本150万,注册时间为2014年7月10日。如果哪天出现了奇迹,他们需要重新开启系统,我这也保留了最终的数据和程序,不过他们必须先支付完所有的费用,否则他们还是重新去找人开发吧,毕竟薛总曾威胁我信不信它可以重新找人做这么一套系统,我现在表示我信!You can do it!
最后的最后,打个广告吧,如果有谁需要B2C(多商家版)的电商系统,可以联系我,我现在部署了一套演示系统,但是因为时间的关系,还没来得及撤换LOGO,不过如果你需要的话,我可以私信给你网址,这套系统实现了基本的电商业务流程,对接了支付宝和中国银联,有完整的Android端和iOS端,服务器端是用PHP开发的,你可以选择完整源码购买,也可已选择购买软件。至于价格,要求不同,价格不同,我可以提供一些修改,但是需要根据修改的幅度报价。如果有需要的,具体来联系我吧。