创业路上,如何预防外包被坑?

自从做程序员客栈,这个问题变成了朋友咨询我最多,也是我自己最经常总结的问题。

  和很多创业的朋友聊过,加上平台做了300+项目的经历,我总结了下面这些经验,来帮助朋友们尽量降低风险,提高成功率。

  避免被坑,这其实是个风险管理的问题,可以分成以下三个阶段:1:开始前,如何降低风险2:进行中,如何控制风险2:风险已发生,如何尽量降低损失

  我们先来聊聊第1个:开始前,如何降低风险

  首先,从自身来看,如果以下两个问题没弄清楚,外包被坑一半的原因其实应该算在自己身上。

  1-自己要清楚要实现什么

  经常有人私信我,“做一个微店那样的网站多少钱?”,“做一个网站要多少钱?”,“做一个京东3万块钱够么”。

  所有在外包的时候,只能提出这样的问题的人,都应该先停下,不要去找外包,要先整理清楚自己的需求。你要先弄清楚:

  1)你的核心流程是什么?是用户购买?是分享转发?是发布信息(文字,图片,语音,视频)?就拿最简单的登录流程来说,都分为手机号+验证码登录,手机号+密码登录,邮箱+密码登录,第三方登录。

  2)最简单快速可验证核心流程的产品是什么?比如facebook, 最开始核心流程就是就是对两张人脸评分,它的功能也只实现了这一点,然后迅速爆红于校园。

  3)所有你想做的事情当中,可做可不做的有哪些?这个其实是对问题2的补充。Stack overflow创始人Joel在他的《软件随想录》中曾经提到过,那些自己出于上线压力不得不从本期版本中挪动到以后版本的功能,后来被证明从来没有上线过,而这,被他认为自己做过最正确的事情之一:不要为了一些可有可无的功能而浪费时间精力。

  以上三个问题,以程序员客栈3.0为例,我们会这样做:

  1)我们的核心流程:企业方预约开发者做短期雇佣

  2)最简产品形态:

页面:可预约的程序员列表,预约页面,预约进展页面

流程:企业方预约(具体时间,地点,工作内容)-开发者接单 - 企业方托管费用-双方联系,开始开发-开发者提交完成-企业方评价

  3)在验证阶段,可有可无的需求:所有通过现有其他工具可以实现的需求,以及对核心流程无关键影响的需求,我们都定义为现阶段可有可无的需求,如:

限制开发者接单次数

限制企业方发布次数

上传文件,提交每日进度

  因此,我们在原有程序员列表,个人履历页的基础上,产品最终形态和交互如下:

预约最简模型.png

  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)选择了合适的合作伙伴:经验,靠谱,有时间

  那么你的成功率会大大提升。

(0)

相关推荐

  • 创业路上,如何预防外包被坑?

    自从做程序员客栈,这个问题变成了朋友咨询我最多,也是我自己最经常总结的问题. 和很多创业的朋友聊过,加上平台做了300+项目的经历,我总结了下面这些经验,来帮助朋友们尽量降低风险,提高成功率. 避免被坑,这其实是个风险管理的问题,可以分成以下三个阶段:1:开始前,如何降低风险2:进行中,如何控制风险2:风险已发生,如何尽量降低损失 我们先来聊聊第1个:开始前,如何降低风险 首先,从自身来看,如果以下两个问题没弄清楚,外包被坑一半的原因其实应该算在自己身上. 1-自己要清楚要实现什么 经常有人私信

  • 浅谈FastClick 填坑及源码解析

    最近产品妹子提出了一个体验issue -- 用 iOS 在手Q阅读书友交流区发表书评时,光标点击总是不好定位到正确的位置: 如上图,具体表现是较快点击时,光标总会跳到 textarea 内容的尾部.只有当点击停留时间较久一点(比如超过150ms)才能把光标正常定位到正确的位置. 一开始我以为是 iOS 原生的交互问题没太在意,但后来发现访问某些页面又是没有这种奇怪体验的. 然后怀疑是否 JS 注册了某些事件导致的问题,于是试着把业务模块移除了再跑一遍,发现问题照旧. 于是只好继续做排除法,把页面

  • Vue 3.x+axios跨域方案的踩坑指南

    缘起 最近实验课上需要重构以前写过的一个项目(垃圾堆),需要添加发生邮件提醒的功能,记得以前写过一个PHP版的实现,所以想把PHP写的功能整理成一个服务,然后在前端调用.但是这个项目是JavaWeb,也就是说我需要面对跨域的问题.不过本篇文章,讲的并不是如何解决这样的跨域问题,而是我在找如何解决这个问题的路上遇到的坑. 其实,在前端工程化大行其道的现在,前后端已经分离开来,前端为了提高工作流效率往往自己开一个小型的服务器,就比如webpack.devServer.这样在前端调用后端接口的时候必然

  • Vue-cli3.x + axios 跨域方案踩坑指北

    缘起 最近实验课上需要重构以前写过的一个项目(垃圾堆),需要添加发生邮件提醒的功能,记得以前写过一个PHP版的实现,所以想把PHP写的功能整理成一个服务,然后在前端调用.但是这个项目是JavaWeb,也就是说我需要面对跨域的问题.不过本篇文章,讲的并不是如何解决这样的跨域问题,而是我在找如何解决这个问题的路上遇到的坑. 其实,在前端工程化大行其道的现在,前后端已经分离开来,前端为了提高工作流效率往往自己开一个小型的服务器,就比如webpack.devServer.这样在前端调用后端接口的时候必然

  • 关于python中remove的一些坑小结

    前几天,使用python时遇到这么一个需求,删除一个列表中值为1的元素.我寻思着使用remove方法,但是remove方法只会删除第一个,于是我使用for循环去删除.代码和运行结果如下: 当时这个结果让我很懵逼,为什么1没有被删除完?查了资料发现,是for循环捣的鬼.因为for循环实际是循环的列表下标(索引),同时由于列表的可变性,每一次删除一个元素,列表的长度就会发生变化,元素的索引也会发生变化.这里来具体分析一下这段代码: 第一次循环,循环索引为0,此时索引为0的元素是1,满足条件,因此my

  • Springboot处理配置CORS跨域请求时碰到的坑

    最近开发过程中遇到了一个问题,之前没有太注意,这里记录一下.我用的SpringBoot版本是2.0.5,在跟前端联调的时候,有个请求因为用户权限不够就被拦截器拦截了,拦截器拦截之后打印日志然后response了一个错误返回了,但是前端Vue.js一直报如下跨域的错误,但是我是配置了跨域的. has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested res

  • .NET+PostgreSQL实践与避坑指南(推荐)

    简介 .NET+PostgreSQL(简称PG)这个组合我已经用了蛮长的一段时间,感觉还是挺不错的.不过大多数人说起.NET平台,还是会想起跟它"原汁原味"配套的Microsoft SQL Server(简称MSSQL),其实没有MSSQL也没有任何问题,甚至没有Windows Server都没问题,谁说用.NET就一定要上微软全家桶?这都什么年代了-- PG和MSSQL的具体比较我就不详细展开了,自行搜一下,这种比较分析文章很多.应该说两个RDBMS各有特色,MSSQL工具集庞大(大

  • SpringMVC配置404踩坑记录

    目录 前言 错误 原因 总结和教训 前言 在学习SpringMVC的路上真是开门就遇见拦路虎了,在配置的时候一直是按照硅谷的视频配置的.但是跑起来就一直是404,这个就很搞人心态了.在配置环境时是在晚上11:00然后配置到11:30,而找错误就十分的痛苦了,从当天晚上的12.00一直到半夜1.30还没找出来,第二天又是卡了一天,直到快到第三天的前一个小时可算让我找出来了. 首先在这里先感谢夜星大佬和杨总.夜星大佬远程帮我找错误,杨总帮我提意见!在此90°的鞠躬.同时也希望本篇博客能够帮助更多的小

  • Vue3+Tsx给路由加切换动画时的踩坑及解决

    目录 项目场景 样式文件 步骤 最终代码 总结 项目场景 用最新的技术栈Vue+Tsx给后台管理系统路由加动画时,语法上与模板语法有些许不同,记录下自己的踩坑记录 样式文件 新建文件transition.scss,这里用的是若依框架人家写好的样式,写好之后在全局引入该样式文件 // global transition css /* fade */ .fade-enter-active, .fade-leave-active { transition: opacity 0.28s; } .fade

  • 安装mysq 5.7.20 解压版遇到的坑(推荐)

    MySQL官网: https://www.mysql.com/downloads/ http://www.jb51.net/softs/451120.html 1. 解压版环境变量配置好后,根目录没有my.ini  也没有 my-default.ini文件 新建文件 my.ini 放到 ./bin 目录下 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装

随机推荐