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

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

这种情况在我们目前创业的项目程序员客栈屡见不鲜,其实目前全世界都是类似的这样外包不靠谱的情况。不过我们为了打破这种迎合业主,一味砍价而不考虑实际的情况,在明确需求功能点情况下以原型确定为开发导向的估价的方法将一般项目开发的成功率从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. C#——面对对象之封装、继承、多态的简单理解

    一.封装 隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别. 简单来多,就是讲我们所需要的代码打包封装进入一个类里面,便于我们调用,操作.这就是封装. 这样就隔离了具体 ...

  2. iframe里面开启全屏allowfullscreen="true"

    <iframe id="J_iframe" width="100%" height="100%" src="client-a ...

  3. BZOJ 1726: [Usaco2006 Nov]Roadblocks第二短路 Dijkstra

    Description 贝茜把家搬到了一个小农场,但她常常回到FJ的农场去拜访她的朋友.贝茜很喜欢路边的风景,不想那么快地结束她的旅途,于是她每次回农场,都会选择第二短的路径,而不象我们所习惯的那样, ...

  4. Java 分布式事务

    0 引言 本文主要介绍java中分布式事务以及对应的解决方案. 1 分布式事务产生的原因 1.1 数据库分库分表 当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此 ...

  5. C语言基础 (10) 变量作用域,生命周期 内存结构

    01 课程回顾 1.指针数组 注意: 对于数组来说,在使用sizeof的时候a和&a[0]是不一样的, 虽然以%x打印出来他们都是地址 2.值传递 int a; fun(a); int *** ...

  6. Java web课程学习之Servlet

    Servlet简介   (1) Servlet本质上就是一个Java类,只不过运行在Servlet容器中 (2) Servlet的功能: ① 创建并返回客户请求的动态HTML页面 ② 创建可嵌入到现有 ...

  7. xx-net安装配置

    同学们,有没有因为不会FQ而痛苦?本小白就蛋疼了很久,今天终于把xx-netFQ工具给配置好了,拿出来和大家分享下. 首先,需要先下载xx-net,地址为:https://github.com/XX- ...

  8. JAVA 上传图片功能

    前后端实现上传图片功能(JAVA代码) 1.前端大概 请求头必须为AJAX请求头: 'X-Requested-With': 'XMLHttpRequest' 一般是指网页中存在的Content-Typ ...

  9. 数据挖掘算法学习(一)K-Means算法

    博主近期实习開始接触数据挖掘,将学习笔记分享给大家.眼下用的软件是weka.下篇文章会着重解说. 转载请附上链接http://blog.csdn.net/iemyxie/article/details ...

  10. AnyForWeb告诉你什么才是“最好的”编程语言

    一被问到最好的编程语言是什么,专家们一定会异口同声的说,'世界上根本没有什么最好的,每一种编程语言都有它存在的意义和价值'. AnyForWeb认为,后半句所阐述的观点全然没错,但最好的也并不是不存在 ...