常常遇到朋友问我:“开发一个京东商城须要多少钱?开发一个滴滴打车须要多少钱?”相似这样的需求,就连我这样一名伪开发者都不肯意去骗客户或者朋友,由于这种问题是很难回答出来的。为何这么说呢?要知道相似京东商城滴滴打车这样亿级别用户的产品,很难知道他以前通过了多少次版本的迭代,也很难知道他的产品线有多广,不少朋友甚至连“迭代”这样的名词具体概念都不懂,今天我会以Q+A的形式汇总诸多开发过程当中遇到的客户问题,但愿能给创业中的你一些建议,若是你是一名开发者能够绕道。php
首先咱们先看一张目前咱们程序员客栈(www.proginn.com)项目的流程化概念引导图:html
我把它总结成一句话:产品化过程梳理分析,模块化功能点需求整理,时间化里程碑进度管理,成本化人力资源开发。前端
1,我有一个好的想法如何实现?html5
把本身的想法整理成文档,或者画成粗糙的说明图,简单来讲无论你用什么方法,怎么样可以让产品经理知道你想开发一个什么样的东西是最重要的。这里对于创业者来讲自身的表达能力很是重要,若是实在没法与专业产品经理沟通,应该让项目经理帮忙本身完善专业化产品需求说明文档,而后让专业的人作专业的事情才靠谱。(开发者们也不要说创业者的是多么的粗糙,没办法这个世界老是先有想摘星星的人,后来才有航空飞行员,互相理解尊重很是的重要。)java
2,为何要作原型?ios
常常碰到朋友会跟我说,“你直接对着这个网站的样式模仿抄一个差很少的给我就行,作原型干吗?原型是谁?”这个时候我几乎是崩溃的,事实上产品开发远没有想的那么简单。举个例子:当你盖房子以前必定是先有图纸,而后土建方面会有一个项目经理来负责整个工程的质量和各个方面的进度。到了互联网产品开发这里也是同样,若是土建的项目经理拿不到工程师的图纸,他该怎么去协调各方面的人去进行开发呢?一样的道理,若是一个需求不明确的产品,一个没有原型概念导入的产品开发都是不成熟的,开发者该如何进行开发呢?或者简单来讲,产品最最重要的功能点尚未提炼出来,那就意味着有着无限变化的可能性。程序员
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,过程当中经历了不少种版本需求变更开发,可以迅速提炼出你想要的功能点才可以让开发者或者说是项目经理准确的知道产品开发的费用。