2016 年 1 月 20 日

App / 网站建设开发外包注意事项有哪些?

创业外包有几种类型:

产品外包(外包产品设计+技术实现)、技术外包(产品设计自我完成,仅做技术开发外包)、设计外包(将产品交互和界面设计外包)。

产品外包是一个整体方案,需要非常值得信任的团队而且有过所属行业的开发案例;即便是再好的朋友没有碰过这个行业,还是算了吧。信任就需要和团队的核心成员有私交,能够喝酒聊天,在项目的紧要关头能够直接和核心成员沟通解决问题。

网站建设外包需要良好的资金支付能力;也就是财大气粗者为之。产品外包后,很长时间都是要耳鬓厮磨的;各种摩擦意见都会针锋相对,遇事后冷静和财气是保证长期合作的基础。

技术外包就是创业者自己完善想法,如果自己没有将想法变成产品的能力就以较为低廉的吃饭请大公司或者行业产品的大牛帮助一下自己,搞定需求和产品关系,梳理产品逻辑。技术团队希望的是能够拿到一个“相对完整的产品方案”,而不是每天早上确定了,晚上又修改方案的案子。纯纯的技术团队外包是行业中最多的外包形式;确是骗子最多的外包。

骗子的几个主要特点:

1.技术核心人员没有,或者来自培训学校
2.没有稳定的开发团队人员变动很大
3.团队成员的素质低
4.以收入为主,一个人同时承接N个项目。
技术外包的风险固然比产品外包低一些。由于产品的最终体验都是技术团队能力的体现,所以以用户体验为主的服务还是要和就技术团队有较好的沟通。在前期选择和自己臭味相投的技术团队;要能够开始的时候就聊的顺才能够在后来很好地解决问题。

设计外包是一个风险和收益并举的事儿。由于设计外包和技术外包很可能做对接。如果两个都要外包就要初期两个团队一起见,能够在需求沟通和业务逻辑沟通阶段两个团队共同参加;达成初期的一致目标是最为关键的。

问题一:外包,还是自主研发

创业团队不可能面面俱到。运营擅长的团队居多。
外包或自主研发,老大哥D建议:
——当然,外包
——选择外包需要方法:找一个技术的朋友帮助你确定外包公司,承担一个沟通的事宜避免语境不同的“恶语相向”
——对外包也要考试:提供应用场景的专业技术问题,百度即可。

技术外包形式:项目外包和人员外包。根据自己的项目特点选择选择适合的结构。建议是项目外包,人员外包成本高人员素质差。国内即便是对日对美外包的人员很多都是新毕业的大学生。
创业初期发挥自己擅长的东西;在真正需要的自主研发的时候项目应该已经“成”了。

问题二:技术外包的形式,和需要自我准备的

任何时候,对于一个创业团队都要想清楚自己要做什么。变不怕,除非变了方向和业务领域;做市场测试的变,要能够在提交给外包团队的方案中包含了,不要遮遮掩掩试图节约成本。
成本是通过合理的沟通来解决;并且是双方在方案的框架下调整实现规则等实现成本的理性处理。
自我准备要充分和完善,做好一切打算。
自我准备有
——产品方案
——测试方案
——最小实现方案
——技术维护方案
这些方案都不是一个创业的小团队能够思考清楚地。怎么办?找朋友帮助,但是自己要有方法;找真正帮助你和你相熟的人,把基础问题解决了。

问题三:如何鉴定外包团队的素质——知心朋友+测试题目

外包团队的素质良莠不齐。外包本身也是一个良心活。
鉴别适合自己的外包团队除了臭味相投之外,要有方法。
方法1:找到知心朋友
找技术方面的知心朋友,请他一起协助和外包团队沟通。确定外包团队的技术实力。
方法2:行业案例
很多时候,外包团队说A案例是我做的。你看的时候,案例过期了或者已经转成别人的执行了;这个就别信了。
行业案例是后续能够持续“默契”的基础。做过一个行业的外包团队才真的知道行业中的暗礁、浅滩。
从零开始除非你非常信任,或者,他们要进入这个行业做了相应的准备。否则,后悔莫及就是深夜中你独自仰望天空的表情。
方法3:测试题目
百度很多测试题目,找一个熟悉的技术(这个应该不难)将问题转化成你的产品的方案某一个部分;在沟通的时候旁敲侧击问问对方可能的实现方案。
你看他的眼睛就知道能否了。

最后,在技术问题的选择上有几个误区陈列如下:

1.架构贪图完美前言 —— 开始别想架构,把眼前的问题解决好最重要
2.先进的技术和大众的技术 —— 稳定的技术是创业初期的福利,有更多的技术支持方案和选择,有成熟的人才
3.完善考虑仔细斟酌 —— 快速上线,快速实现,过程改进,才是最佳方案
4.团队越牛逼越好 —— 牛逼的人是否在一线真的干活最重要,稳定的合作伙伴远比牛逼重要
5.用什么语言 —— 这个看看培训学校在培训什么语言就知道了
6.代码一劳永逸,能够支撑一年半载 —— 别做梦了,系统代码要能够承担从零开始写的代价
外包还涉及到开发时间,需求变更解决机制,沟通机制,上线测试,后期维护和服务等诸多内容。

另外几个画外音:

1)系统,即便是我们自己的,每8个月更新30%的代码,14个月更新90%的代码。系统是不断升级和迭代的,找到这样的人(自招或者外包)。不要找固步自封的团队;

2)系统的外部依赖也是变化的,例如:微信的卡券,1.2, 1.4, 1.6, 1.9我们跟着经历过来的,他们增加减少和调整算法结构,我们都是跟着变化的。不要考虑一蹴而就的技术实现方案;

3)外包公司和自己团队核心面临的问题,过了8个月,很多代码很多架构没人敢动了;业主或老板不愿意承担改动的责任。要知道软件项目没有人一开始就“门清”的,用一个完整的解决方案解决12个月以上的事情,找死。业主和老板,要承担基础代码变动带来的“不确定”性。你不需要懂,需要的是担负相关责任,和技术一起平滑过渡,N多人不理解原则才出问题的,而不是没有合适的团队或者人;

4)12个月,代码一定要重构,找你信任的CTO才是关键。任何一劳永逸的态度,都会出大问题。

新创业的兄弟,我在技术上的建议是:

1)你们的CTO如果没有见过1000万访问的配给(团队+设备),你就等等。如果你的公司成长到了日活跃用户100万(客户端),你的CTO目标是5000 - 1亿规模的CTO,否则后期成长肯定有问题。

2)找大公司的大牛技术做顾问;找一线技术做技术经理。解决实用和前瞻,现在和未来负载的综合问题。

3)在你不需要技术团队跟屁虫一样跟着的时候,选择外包就好了。技术顾问+小型外包适合非技术型创业团队。因为技术顾问都是你信任的朋友。如果没有,去找一个值得信任的朋友。


 

随着大众创业,万众创新的东风不断的吹,近来身边多了很多创业者。然而,正如你看到的那样,其中很多都想干 O2O 生意。大部分这类创业者有一个共性,那就是非技术背景。因为 O2O 生意需要线下部分,也往往是以前做线下业务的人想到自己有资源优势所以想来个“互联网+”。技术人,码农,一般是不会想去干这样的事情的。针对这样的创业群体,我同事写过一篇广受好评的文章《如何拒绝“只差一个程序员”的创业者》。看完你也许会觉得,尼玛,不带这样的!

别灰心,我今天要从另外一个角度来说说非技术人员创业容易踩的那些坑,以及如何避免。请注意:只针对无技术背景的,非技术类创业者。

由于我做了十几年的码农,这两年又搞了一个软件开发平台,所以当身边朋友有这样的需求的时候会自然想到我:“海龙,我想搞这样一个 APP,对接 aaa 与 bbb,有点像滴滴打车,不过我们干的是另外一个行业……,……,你看怎么搞?需要多少钱?多久能搞出来?”

面对这样看起来简单,却又无法回答的问题的时候,心里只有一百万只草泥马奔腾而过。
1. 抓主要矛盾
首先,你得有一个明确的需求,最好有一个需求文档(我曾经给一个朋友发了“你有需求文档吗?”然后他消失了很久没回消息。后来他告诉我,他去百度了一下什么叫做需求文档……)。然而,需求文档一定是只关注最重要的那个功能和流程。也许这个行业有100个问题,也许你有救世主的才华,但在你的产品第一版,请务必只解决那个最迫切的需求。否则你将面临产品胎死腹中,或者失去市场先机的惨痛局面。

你不必去百度需求文档怎么写,格式是什么,那都不重要。你就按照你内心的想法,用其他人能看懂的文字表达出来就好了。还有,需求文档不应该超过一页纸,否则一定是你想要的太多了,请砍需求。由于公司业务的原因,我帮不少创业者分析过产品需求,做的最多的一件事情,就是砍砍砍。
2. 请个 CTO 不如招个产品经理
无论你面临的是千亿级的市场还是万亿级的市场,技术在最开始都不是一个重要的因素。要知道淘宝最开始的程序也是个渣渣,后来是完全重写的。请一个 CTO 是很费时费力费钱的,但普通的产品经理有很多。招一个产品经理,帮你把想法和需求整理成产品文档,画出产品原型图。这个过程能够很好的帮助你梳理自己的思路,有什么想法应该在这个阶段探讨,确定。在这个阶段多花点时间值得,对于后面的工作是非常重要的一个基础。

找产品经理也不需要名校名企BAT背景,有一定工作经验,能写文档,能画图就行了。产品经理往往是跟过软件开发的,他可以对后续的工作给你很多建议。甚至他还可以帮你介绍程序员。
3.设计没有你想象中那么重要
除非你是做一个以设计为导向的产品,否则对于第一版的产品来说,设计真的不重要,只要不太丑就行。我可以列出一堆知名企业的 APP 在最初几个版本的设计都是惨不忍睹,例如 京东,一号店,寺库等等。在初始阶段,能解决问题比赏心悦目重要太多。所以在产品开发的时候,不要太过于纠结设计的问题,虽然你很羡慕隔壁做的精美绝伦的 APP,但那都是后面的事情。找个设计师,快速把产品经理的原型图变成产品界面,体验一下将来产品的感觉,这很重要。

以下截图是京东 APP 的早期版本,大家感受一下~

4.软件开发的标准
对于普通的软件产品来说,开发已经是非常工业化的流程了。无论你是 APP,网站还是微信,只要你能想到的,基本上都能做,而且大部分软件开发者都能做,不是什么高科技。除非你说想再做一个微信,基本上都不太贵。有一个粗略的判断标准:如果你的产品不能以10万元以内的成本,在三个月之内做出来,那么你的需求有问题或者你找错了人。

在开发的过程中,要控制自己什么都想要的欲望。软件开发了一半,看到别人有个新功能,然后你去找程序员说能不能加这个,加那个……相信我,这时候程序员最想干的就是拿键盘拍死你。要把功能的需求定在产品阶段,产品原型确定了,就尽量不要改。先做出来看看。

基本上,你不必担心实现你想要的功能会不会很贵。对于绝大部分的创业项目,前期的研发成本应该是不高的。所以,有想法就尽快试,失败的成本估计也就是北上广深的一个厕所,哈哈。
5. 要能容忍 Bug 的存在

所谓 Bug 就是软件的缺陷,所有软件都有,比如头像多点两下就闪退了。天下武功,唯快不破。在目前的创业环境下,尽快推出产品是王道。你测来测去,bug 测没了,用户也测没了。所以,不纠结,主要功能好用就上。当年我也面临过同样的问题,产品有很多 bug,同事都不敢上,后来我硬是让上线了。有 bug 慢慢修,死不了人的。我记得京东最初有一个版本,下单完成后会闪退。于是我每次下单完成以后要重新打开 app 再下单,或者看看刚才买了什么。所以你看人家百亿美金的上市公司都这样,我等屌丝创业者还纠结啥?最近上线的微众银行更是说明了这一点。
6. 找外包还是自己建团队?

首先讲结论:如果身边没有开发者资源,短期内希望产品上线,先找外包,同时着手建团队。由于大环境的原因,外包在国内成了一个贬义词,很多人被坑过,所以不敢找外包。但从模式上,网站建设外包是一个非常好的解决团队资源稀缺的方法。但是我们对外包也要有一个正确的认识,不能期待100分,80分算很好的了,60分也 OK。但是长远来看,外包解决不了后续发展的问题。当你有很多需要及时响应的需求,或者很多琐碎的需求的时候,自己的研发团队是必不可少的。所以,如果你是一名严肃的创业者,还是尽早建立自己的技术团队。然而,正如之前说过的,在 A 轮之前,CTO 应该都不是一个关键因素,所以不急。找几个踏实做事的开发者实现你的想法比较靠谱,也不必追求名企名校BAT,基本上在早期阶段,很难。

软件开发是有一个流程的,以上几点基本覆盖了最常见的软件开发流程:需求,产品,设计,开发,测试。按照这个流程走基本上不会出大问题。如果有能力,这些流程是可以合并的。例如你运气很好找了一个“全干工程师”,文能写文档,武能编代码,那么恭喜你,产品开发周期会缩短很多:)

讲了这么多,其实都算不上真正的“软件开发”问题。我原本以为这篇文章会写的比较技术,后来想想都到了创业的年龄了,这个时候讲技术细节,即使学会了也是然并卵。还是讲讲行业规律,技术常识比较实用。计算机,互联网技术在人类生活中扮演了越来越重要的角色,无论你做的是哪个行业,或多或少,都会遇到一些软件开发的问题。不会技术没关系,但是不能不懂技术。希望这篇文章能帮助到一些创业者解决在产品落地过程中的一些问题。