自从做程序员客栈,这个问题变成了朋友咨询我最多,也是我自己最经常总结的问题。
和很多创业的朋友聊过,加上平台做了300+项目的经历,我总结了下面这些经验,来帮助朋友们尽量降低风险,提高成功率。
避免被坑,这其实是个风险管理的问题,可以分成以下三个阶段:1:开始前,如何降低风险2:进行中,如何控制风险2:风险已发生,如何尽量降低损失
我们先来聊聊第1个:开始前,如何降低风险
首先,从自身来看,如果以下两个问题没弄清楚,外包被坑一半的原因其实应该算在自己身上。
1-自己要清楚要实现什么
经常有人私信我,“做一个微店那样的网站多少钱?”,“做一个网站要多少钱?”,“做一个京东3万块钱够么”。
所有在外包的时候,只能提出这样的问题的人,都应该先停下,不要去找外包,要先整理清楚自己的需求。你要先弄清楚:
1)你的核心流程是什么?是用户购买?是分享转发?是发布信息(文字,图片,语音,视频)?就拿最简单的登录流程来说,都分为手机号+验证码登录,手机号+密码登录,邮箱+密码登录,第三方登录。
2)最简单快速可验证核心流程的产品是什么?比如facebook, 最开始核心流程就是就是对两张人脸评分,它的功能也只实现了这一点,然后迅速爆红于校园。
3)所有你想做的事情当中,可做可不做的有哪些?这个其实是对问题2的补充。Stack overflow创始人Joel在他的《软件随想录》中曾经提到过,那些自己出于上线压力不得不从本期版本中挪动到以后版本的功能,后来被证明从来没有上线过,而这,被他认为自己做过最正确的事情之一:不要为了一些可有可无的功能而浪费时间精力。
以上三个问题,以程序员客栈3.0为例,我们会这样做:
1)我们的核心流程:企业方预约开发者做短期雇佣
2)最简产品形态:
页面:可预约的程序员列表,预约页面,预约进展页面
流程:企业方预约(具体时间,地点,工作内容)-开发者接单 - 企业方托管费用-双方联系,开始开发-开发者提交完成-企业方评价
3)在验证阶段,可有可无的需求:所有通过现有其他工具可以实现的需求,以及对核心流程无关键影响的需求,我们都定义为现阶段可有可无的需求,如:
限制开发者接单次数
限制企业方发布次数
上传文件,提交每日进度
因此,我们在原有程序员列表,个人履历页的基础上,产品最终形态和交互如下:
预约最简模型.png
在这个过程中,如果自己没法一个人整理出来,可以去程序员客栈(www.proginn.com)约产品专家来探讨分析。
2-知道实现一个产品的流程,以及一般的时间安排避免节奏踏错,浪费时间和人力
实现一个产品,一般的流程如下:
第1步,将想法变成产品文档(起码包括原型,流程图,页面交互图,页面说明文档),一般是专业的产品经理来做这件事情。因此,你首选需要找到的,是一名产品经理。
第2步,根据原型页面做出UI设计,提供设计文档(包括设计效果图,原稿图,切图)。因此,你需要一名UI设计师。
第3步,根据你的业务逻辑和数据要求,做出后台系统,提供接口。因此,你需要一名后端开发者。
第4步,根据原型,设计,开发出用户界面(网页,iOS,Android都是此类),因此,你需要一名前端开发者(Web前端,iOS,Android等。)
第5步,前后端联调测试,这个时候需要测试人员根据文档做出测试用例。测试成功后,才可以部署上线。
这样,以一个最简单的APP研发规划为例,可以做出以下的时间规划:
时间规划
3-知道如何去选外包合作伙伴再次强调前面两点都准备好了,我们才需要想想寻找外包合作伙伴的事情。如果自己都还没想清楚,就开始找人来开发,多牛逼的开发者,也不能帮你成就一个可以正常上线的产品。
在找外包合作伙伴时,如何来预防项目失败呢?我们的经验是以下3点:
1:有经验的人他一定做过类似项目,已经积累了成功的开发经验,而不用从头开始学习你需要的功能如何开发。否则,不仅失败可能性很高,你需要支付的金钱和时间也会成倍上升。
我们和某些程序员聊过,他们会这样来对私活定价:自己很熟悉的,难度低,时间快,价格低;自己知道,但不熟悉,需要去研究一下的,难度中,时间中,价格中;自己不知道,还需要去寻找解决方案,然后来学习的,难度高,时间长,价格高。
因此,找到有经验的人,他会很轻松高效,并且便宜地帮你完成你需要的功能。因此,我们也把这个认识融入到了客栈开发者个人的展示,以及项目程序员对接过程中,来提高成功率。
2:靠谱他一定有良好的合作记录,业界口碑不错,老客户多。能看到老客户对于合作的评价更好。
技术很牛,态度不好的开发者我们也遇到过。有接单之后突然没有人影了的,我们只能尽快对接下一位;有遇到一点挫折,就从项目经理开始埋怨到发包方的;有闹脾气最后不愿意合作,源代码也不给了的。这些人,即使技术很牛,也不适合合作,会给项目带来不可预估的时间甚至金钱损失。
这个是我们非常看重的一点,因此,我们会展示所有签约开发者的过往评价,成功次数和成功率,来帮助企业方做出更正确的判断。
3:有时间第三个潜在的风险,就是开发者没时间了。技术很牛逼,态度也很好,但是最近有事在身,没有办法来接单,如果接单,那么失败可能性很大。
为了避免这个影响用户在客栈上雇佣开发者的成功率,我们专门研发了“Ping”功能,有时间想接活的开发者每天可以把自己Ping上首页,在对接项目时也会得到优先推荐。
4:细致到每周的交付计划如果自己去找外包,签订合同是基本要求。但是在签订合同的时候,我们比较容易忽略的是具体的交付计划,以及根据交付计划来付钱的规则。
能想到外包比较多的是每周开会,建议在合同中也要规定要每周的交付计划,双方都按照这个交付计划来推进。这样,在之后如果发生延期,从每周计划上便可以定位原因,理性解决。
总结如果在发布外包之前,你做好了以上准备:1)明确的需求2)清楚需要完成哪些工作3)选择了合适的合作伙伴:经验,靠谱,有时间
那么你的成功率会大大提升。