经常遇到朋友问我:“开发一个京东商城需要多少钱?开发一个滴滴打车需要多少钱?”类似这样的需求,就连我这样一名伪开发者都不愿意去骗客户或者朋友,因为这种问题是很难回答出来的。为什么这么说呢?要知道类似京东商城滴滴打车这样亿级别用户的产品,很难知道他之前经过了多少次版本的迭代,也很难知道他的产品线有多广,很多朋友甚至连“迭代”这样的名词具体概念都不懂,今天我会以Q+A的形式汇总诸多开发过程中遇到的客户问题,希望能给创业中的你一些建议,如果你是一名开发者可以绕道。
首先我们先看一张目前我们程序员客栈项目的流程化概念引导图:
我把它总结成一句话:产品化过程梳理分析,模块化功能点需求整理,时间化里程碑进度管理,成本化人力资源开发。
1,我有一个好的想法如何实现?
把自己的想法整理成文档,或者画成粗糙的说明图,简单来说不管你用什么方法,怎么样能够让产品经理知道你想开发一个什么样的东西是最重要的。这里对于创业者来说自身的表达能力非常重要,如果实在无法与专业产品经理沟通,应该让项目经理帮忙自己完善专业化产品需求说明文档,然后让专业的人做专业的事情才靠谱。(开发者们也不要说创业者的是多么的粗糙,没办法这个世界总是先有想摘星星的人,后来才有航空飞行员,互相理解尊重非常的重要。)
2,为什么要做原型?
经常碰到朋友会跟我说,“你直接对着这个网站的样式模仿抄一个差不多的给我就行,做原型干嘛?原型是谁?”这个时候我几乎是崩溃的,事实上产品开发远没有想的那么简单。举个例子:当你盖房子之前一定是先有图纸,然后土建方面会有一个项目经理来负责整个工程的质量和各个方面的进度。到了互联网产品开发这里也是一样,如果土建的项目经理拿不到工程师的图纸,他该怎么去协调各方面的人去进行开发呢?同样的道理,如果一个需求不明确的产品,一个没有原型概念导入的产品开发都是不成熟的,开发者该如何进行开发呢?或者简单来说,产品最最重要的功能点还没有提炼出来,那就意味着有着无限变化的可能性。
3,程序员不都是写代码的吗?有什么区别?
遇到过一个朋友问我:“你不是会写代码吗?那为什么你做出来的网站这么丑?”我很想跟他说:“我不是一个优秀的开发者,但是我好气啊!我又不会美工,我又不会前端,义务帮你开发一个东西,只能保证你的使用,好看什么之类的真的做不到啊。”“反正你就是水平差嘛!”这里要向所有的人说明的一点,程序员也是分为好几种方向,N多种语言的,前端:Java、html5等等。后端:php、java等等。移动端:安卓、ios等等。
4,项目经理是干嘛呢?这个人好像有吃干饭的嫌疑?
项目经理是开发过程中最重要的环节之一,虽然项目经理不直接进行开发,但是需求沟通所有方向包括:客户、产品、设计、前端、后端、测试。包括项目的风险把控,产品的需求分析,任务的计划安排,项目组的关系协调,开发人员的情绪安抚,产品质量的合格验收等等,涉及的原素非常多,考验的是一个人的综合开发管理能力,不可小觑。这里用一个简单的小故事来说明项目经理的重要性,还是举土建来说吧,因为父亲是从事这行的项目经理,今天的互联网开发和盖房子很像,土建的工程师类似于产品经理,一个做土建工程图纸,一个做产品高保真原型。土建的打地基类似于后端开发,土建的钢结构(也可以想成墙体)类似于前端开发,土建的油漆工抹灰工类似于UI设计师,剩下的产品文字描述类似于你自己装修自己的家的概念一样,测试类似于土建的维修保障这一块。如果这些人乱作一团的话,想想后果是什么?反正工地上就是打架咯!现实开发过程中当然不会那么偏激,但是会浪费很多客户的时间成本。
5,什么是迭代?
产品的开发永远是一个过程,一个产品面向的客户千千万,免不了又各种各样的需求需要修改,程序也不可能没有BUG,需要不断的修复不断的完善,功能点也是逐步逐步增加的,这是一个概念化问题,例如谁能准确的告诉我淘宝第一版本是什么样的?我相信很多人应该都不记得了,最初是没有支付宝的,只能用网银付钱,最初是没有购物车的,最初也是没有收藏产品功能的,最初更没有头图视频功能,类似很多很多功能点都是一步步完善开发出来的,需要经历很多的市场需求分析,用户反馈调查,并不是一步到位的,马云尚且需要这么多年完善产品的功能和界面,所以类似遇到一个京东开发需要多少钱这样的问题,我都会告诉我的朋友,这个问题类似于一个标准化的航空母舰开发需要多少钱一样,但是如果你知道最初的京东第一版是什么样,主要功能点有哪些,那么从事过产品开发者的项目经理就够能准确的梳理出核心功能部分的开发需求。你可以这么理解,京东从1.0版本历经1.0-1.1-1.2-1.3-1.4-1.5-……12.8,过程中经历了很多种版本需求变动开发,能够迅速提炼出你想要的功能点才能够让开发者或者说是项目经理准确的知道产品开发的费用。