最早认识的一个朋友是程序员,曾经到一家外包公司接单子,小外包公司经常遇到的问题就是和需求方谈产品功能。客户要做外包,对方让他一次性报价,但是客户连功能点自己都不清楚,这时朋友说还是按照具体功能点来做吧。但是客户坚持先给个估价才会考虑做不做,最终朋友在不得已的情况下给了个价钱,结果遇到另外一个程序员只报了他一半的价格去做这个单子.....

可想而知,当开发成本和需求不匹配的情况下,项目失败是必然的!

这种情况在我们目前创业的项目程序员客栈屡见不鲜,其实目前全世界都是类似的这样外包不靠谱的情况。不过我们为了打破这种迎合业主,一味砍价而不考虑实际的情况,在明确需求功能点情况下以原型确定为开发导向的估价的方法将一般项目开发的成功率从32%提升到97%。

很多程序员为了接单子迎合需求方,接的单子虽然多,但失败率大,当我们程序员客栈www.proginn.com明确在定义市场规范后,虽然目前接的单子和外包公司相比还有一定的差距,但是客户的满意度很高,需求的二次复购率很高,缔造的口碑效益让我们明白所走的道路是正确的,所以目前客栈开发需求最大的来源居然是老客户介绍,这让我这个做运营推广的确实也捏了一把汗,口碑的力量大于一切。

以下内容不管您是有需求的客户还是一个想接单的程序员都可以参考一下,看看靠不靠谱:

先问一个小问题吧,如果有人请您安排一个烤肉Party,要您马上估价,你能迅速说出来吗?也许你可根据您的经验说大概多少钱,不过真正的成本,如果您不知道:

多少人要来参加?

要不要娱乐活动?

来party的人年龄?

要不要啤酒或…哪一类的酒?

猪肉、牛肉、羊肉?

甚至更多的细节,相信你随便说数字一定不准!互联网产品开发项目比上述的“烤肉活动”更复杂,下面我就已一名专业的Dotaer身份给大家解释一下我们程序员客栈的开发流程:

第一阶段:沟通需求方产品功能点(项目经理,三号位,抗压)

当需求方把想做的产品发布到平台,这个时候平台的项目经理会与需求方取得联系,了解需求方的初步想法,理清项目范畴看看目前需求方只是一个想法还是到哪个开发阶段,看是否需要投入时间理清楚产品的核心功能点,而不是简单的跟随客户天马星空的想法随意报价,类似“我想做一个类似京东商城”“我想做一个类似滴滴打车”,客栈项目经理遇到很多这种就差几十个亿可以打造的航空母舰的项目了,再问这样的问题,分分钟全部自杀!比较靠谱一点的方案,项目经理简单沟通需求后会给出一个大致的估价区间,但是这个报价是不准确的,因为产品的开发功能点这个时候并没有确定。

所以这个阶段只能说是项目经理免费给出了一份商业开发顾问方案,建议客户落实1.0版本的核心业务流程打通的方案产品。这个时候我们一般会建议客户自己先做一份所谓的产品商业模式图,项目经理也会根据多年的项目开发经验给出合理化的建议,现在的创业者基本都是“火星人”,能想到的不能想到的都会有需求,如果项目经理发现市场已供给过剩充斥太多竞争者产品或想法用现代的科技无法实现,这个时候会给你最真实的建议。

大致的产品商业模式草图

第二阶段:确认想法做产品原型设计(产品经理,四号位,负责BP)

需求方如果有大概的商业模式草图那么将会是一个很好的开发,这个时候产品经理就能很轻松的做出产品的原型图,包括用户体验设计(UX),APP界面的交互逻辑,以及产品功能点实现的大致状况,根据目前我观察坐在对面的项目经理队伍,最容易出问题的就在这一块,如果原型不确定,需求方功能点改来改去,那么如果冒然到下一步UI设计的话,设计师将会与产品经理发生矛盾,如果很不幸到了第四步,那么程序员就会联合设计师一起来打产品经理!

“为什么不和客户确认好需求?MDZZ”

所以第一个阶段产品原型做好的话,就能非常准确的给出产品的开发预算。

产品原型设计图(参考)

第三阶段:UI视觉设计(设计师,二号位,带节奏)

完全准备好原型设计才到这一阶段UI设计体验设计,以为产品经理所做出来的产品功能点是明确了客户的开发需求的,所以UI设计师更多的是提供一种色彩的搭配以及增强用户使用体验感官的设计,此阶段估计以下成本:

参考市面优秀产品的设计分析

提供多种版本的logo解决方案

提供所有主要界面的多种风格设计

互动样板的开发

和前端工程师沟通特效

这个阶段非常非常重要,不只是UI设计师一个简单的设计工作,还要与开发工程师进行沟通、产品经理给出意见、项目经理负责监督、客户负责定稿,最终定稿确认进入下一阶段的开发。

第四阶段:进入开发出产品1.0测试版(前端工程师、后端工程师、iOS工程师、Android工程师=程序员=一号位carry全场)

此时已经明确进入程序员的开发阶段,如果前面没有变动的情况下,程序员加班加点,产品在不久的一段时间后,就能准时上线,通常客户在这个时候是最容易提出新的功能点改动需求:

“不就是加一个小按钮吗?”

“一个简单的自动回复啦”

如果是开发者直接与客户接触沟通的话,你猜会发生什么后果?不是吵架就是程序员撂蹶子不干了!

“当初说好的呢?”

“PM就是个二货,当初为什么不和客户确认好,会不会BP啊?”

这个时候项目经理的重要性就会体现出来,作为“润滑剂”的角色存在,项目经理应该及时和客户沟通产品的完善性,并且解释开发"迭代"的概念,原则性问题不能改变的情况下,确保确定的核心版本上线,而不是和程序员一起起哄进入无休止的修改加功能,“加功能”属于二次迭代开发需求,必须要从第一步重新来做。最重要的“产品上线”工作一定要落实在开发工期内。

第五阶段:进入开发测试Debug阶段(测试工程师,五号位,support)

很多人往往忽略的环节,其实测试是非常重要的一个环节,如果一个产品只是根据客户自我的使用角度去使用,是很难发现产品的缺陷的,这个时候你真的需要一名专业的测试工程师,之前客栈的腾讯测试工程师给出过最专业的测试建议:

1、需求分析、系统分析和测试分析,主要是通过经验找出风险,以及编写用例。代码review。所以经验和技术都很重要!

2、测试用例执行,检查需求实现是否正确,质量好坏(交付影响有多大,是否达标)

3、质量流程和标准的建立。这些可以提升效率降低成本。

4、评测对比,主要是性能,可靠性,以及和竞品的对比测试,这需要投入大量的分析工作,也需要一些专业的方法和技巧。只有经过一套合理而完善的开发体系出来的产品才是满足客户开发需求并且经受的了市场的考证。

最后如果您是有开发需求的客户,您应该拒绝那一开始没问清楚就跟您随意报价的开发团队。如果你是一名程序员,你应该拒绝一开始就没有明确功能点需求的开发客户。当然如果你想和我Solo,我也可以奉陪。

产品开发也要看阵容,APP开发只需五步变得靠谱的更多相关文章

  1. 开发一款即时通讯App,从这几步开始

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 " ...

  2. SharePoint Server 2013开发之旅(二):使用在线的开发人员网站进行SharePoint App开发

    上一篇我已经介绍了新版本的SharePoint Server提供了四种主要的开发场景,其中一个全新的App开发模型让我们眼前一亮.这一篇我将介绍如何在线进行SharePoint App开发. 谈到Sh ...

  3. 3星|《给产品经理讲技术》:APP开发技术介绍,没有技术背景的话恐怕只能看懂书中的比喻和结论

    基本是APP开发涉及到的相关技术的入门级介绍.涉及到的知识点与技术细节比较多,不少技术相关的内容并没有像标题暗示的那样没有技术背景也可以看懂,而是涉及到许多专业的术语.原理.也有一些内容是用比喻的方法 ...

  4. 在APP开发设计中,为什么APP开发公司要慎用左右横滑设计?

    移动端屏幕越来越大,但用户对内容量的要求也水涨船高.如何在有限的屏幕内透出更多的内容,是设计师们研究的重点. 常用的内容拓展设计有:Y 方向 List 滑动.Z 方向 3D Touch .入口式内容折 ...

  5. 微信公众平台开发:进阶篇(Web App开发入门)

    本文转载至:http://blog.csdn.net/yual365/article/details/16820805  WebApp与Native App有何区别呢? Native App: 1.开 ...

  6. 【Android 开发实例】时间管理APP开发之数据库设计

    当然也能够先写界面什么的.可是,总认为先把数据库后台写好在写界面比較放心. 对于数据库的设计,我一開始没什么概念.甚至不知道怎样下手,一開始想着设计成几个表?有哪些字段? 最后用了两天时间,还是一无所 ...

  7. 开发Web版一对一远程直播教室只需30分钟 - 使用face2face网络教室

    转载自:https://blog.csdn.net/wo_shi_ma_nong/article/details/88110111 在“为网站开发远程直播教室的折腾过程及最终实现”中,介绍了如何使用f ...

  8. iOS App转让、转移、迁移(App transfer) -- 仅需四步

    当需要将某个 App 出售给其他开发人员,或想要将其移至其他 App Store Connect 组织,则您需要转让该 App.您无需将 App 从 App Store 下架,即可将其所有权转让给另一 ...

  9. 写给Android App开发人员看的Android底层知识(1)

    这个系列的文章一共8篇,我酝酿了很多年,参考了很多资源,查看了很多源码,直到今天把它写出来,也是战战兢兢,生怕什么地方写错了,贻笑大方. (一)引言 早在我还是Android菜鸟的时候,有很多技术我都 ...

随机推荐

  1. 函数编程中functor和monad的形象解释

    函数编程中functor和monad的形象解释 函数编程中Functor函子与Monad是比较难理解的概念,本文使用了形象的图片方式解释了这两个概念,容易理解与学习,分别使用Haskell和Swift ...

  2. js 读取外部的本地json文件

    Javascript 读取外部的本地json文件 方案1 运行本地web服务器,提供文件服务 方案2 1.data = '[{"name" : "Ashwin" ...

  3. C++基础 (3) 第三天 构造函数 构造函数初始化列表 拷贝构造函数 析构函数 静态成员变量

    // 同类之间无私处 2构造函数 3析构函数 4构造函数的种类和析构函数的顺序 结论:析构函数的调用顺序,跟对象的构造顺序相反,谁先构造,谁最后一个被析构. 拷贝构造函数: 注意: 等号写在下面和写在 ...

  4. Win 10安装mysql以及常见问题总结

    一.mysql免安装版本配置1.从官网下载安装包,解压后,在电脑属性环境变量的path中配置bin的路径 2.配置my.ini [mysql] # 设置mysql客户端默认字符集 default-ch ...

  5. BA-siemens-insight时间表设置

    时间表问题汇总: 如果遇到这种问题,显示"unable to locate databse object",就使用database transfer上传一边所有的模块信息,然后在操 ...

  6. nodejs-函数

    使用表达式定义的函数要提到使用之前,要不然无法解析,自然的function xx(xx)不用,ECMAscript自动提前 with关键字 引入空间命令空间,然后可以直接使用里面的对象了 label标 ...

  7. 洛谷 U3346 A1-偶回文数

    U3346 A1-偶回文数 题目背景 方方方很喜欢回文数,于是zzq就出了一道关于回文数的题目. 因为偶回文数比较简单,所以方方方就把它放在了第一题... 题目描述 我们定义一个长度为偶数的回文数叫做 ...

  8. WebApi传参总动员(一)

    目前自己的工作和WebApi相关,免不了传入.接收参数.以前的老办法是从请求流中获取json,再反序列化,这中间有2个不能控制的地方,一个是流,一个是反序列化,都需要try,总感觉非常的不爽.因此对W ...

  9. Android-自己定义标题栏

    Android-自己定义标题栏 2014年4月25日 分享知识点 最近也比較多事情,想发发博客就是心有余而力不足,本篇博文主要教大家怎样实现自己定义标题栏,非常easy.那么聪明的你一下就看懂. 有兴 ...

  10. HDU 4268 Alice and Bob(贪心+Multiset的应用)

     题意: Alice和Bob有n个长方形,有长度和宽度,一个矩形能够覆盖还有一个矩形的条件的是,本身长度大于等于还有一个矩形,且宽度大于等于还有一个矩形.矩形不可旋转.问你Alice最多能覆盖Bo ...