我们每天都会收到拥有APP创意的人们的电话和邮件,他们想知道把这样的APP做出来需要多少钱。在Calvium,我们尽可能帮助他们,但有时候 做这样的报价真的很难。询问一款APP的价值,就和询问一条绳子的长度一样(译者注:意思是不知道明确的范围)。因此,尽可能多地阐明你的想法尤为重要, 并且最好拥有一份产品计划书来说明你的想法。

许多人只有他们创意的基本思路,却想先把这些告诉给工程师,利用他们在行业领域的专业知识来充实他们的想法。这很好!许多代理公司都提供日结算服务或者是咨询服务,如果你还不自信,可以花些时间来确保你的APP创意值得做下去。

但如果你确信你的创意可行,并且你正想要雇佣一些人来为你做这个事,接下来你就需要写一份产品计划书。撰写一份计划书并不容易,所以在给你报价之前,先来看看下面列出的几点我们需要知晓的、最重要的事项。

目标和背景

明确你想你的APP做什么,这点十分重要。你的APP会解决一个实际问题么?它是一款用来促进“替代性学习”的游戏么?(译者注:替代性学习是指借观察他人的行为来掌握复杂的刺激,反应、强化相互关系的学习方式。)列出你的项目目标,不仅能帮助我们了解你的APP,还能帮助你自己巩固你的想法,并了解到其余的产品功能。

如果你做了任何关于你项目的市场调研,就应该把它加到你的项目目标中去。

受众

(这款APP)是为谁而做的呢?答案似乎很明显,但了解你APP的服务对象,也能帮助揭示那些你未来会做的其他功能,并能帮助我们了解到这款APP的用户体验应该是什么样的。如果你服务的对象是小孩子,视觉设计就应该不一样,例如它的按钮就可能更大些。

操作系统

你想要你的APP运行在iOS?Android?Windows?还是都包括?以我们的经验来看,许多人都会开发Android和iOS程序。明确 你的APP运行在哪种操作系统,会是决定你APP价格最重要的一点,因此,你应该仔细考虑这件事。同时这也会影响我们下一步该怎么做。

原生或混合?

用iOS和Android开发一款APP,就像用法语和中文写同样一篇论文一样。我们虽然是在做同一件事,但却采用了两种完全不同的策略。每种操作 系统有不同的开发语言,因此如果你想进行原生开发,就需要花费双倍成本。混合开发能降低成本。如果你清楚地知道原生和混合开发的区别,那就告诉你的代理公 司你想要什么。如果你不确定,他们会给你建议,告诉你他们认为哪种方式最适合你的项目。(不知道原生/混合的含义?那就看看这篇博文《原生VS混合APP》

时间线安排

你的工作是否已超期?你的合作伙伴是否也超期了?试着尽可能详细地给出项目结束日期。

功能设计

这是关键。如果可以的话,当APP开发完成时,写出未来会出现在app store上的产品介绍文案。这会强迫你以一种简洁清晰的方式描述APP的功能。

除非你是个设计师,否则最好把定义用户界面和体验设计的工作交给你选择的代理公司。但是,需要详细定义好APP的功能,否则很难给出精确报价。通常 来说,开发任何APP,第一步都是进行详细的功能说明,这些说明包括所有你用户可能遇到的屏幕大小,以及操作APP的交互方式。

但是,尽管你仔仔细细地描述了一组功能列表,代理公司可能只给出一个大概的报价。

我们总是认为一款优秀的APP需要把一件简单的事情做到极致,但做这事的方法是它的一系列功能点。例如,如果你的APP需要“让你在街上遇到大坑时能发”,它会有如下几个功能:

  • 在你的报告中自动记录你的位置。
  • 让你在报告中附上一张照片。
  • 点击按钮后自动发给正确的人。

思考一下额外的功能点,想清楚是否这些功能有必要,或者当增加功能会超出预算时,这是否值得。

下面举例说明可能严重影响你成本的几个功能:

  • 推送提醒。需要发出提醒或别的什么吗?
  • 地理定位。需要知道你在哪儿,或者显示你要去的地方吗?
  • 社交化。需要分享到facebook或其他平台吗?
  • 需要登录么?
  • 有用户属性么?
  • 价格模型。人们会为你的APP花钱么?会有APP内购么?
  • 人们会给你评分或评价么?
  • 会链接到网站上去么?(你的网站、youtube等)
  • APP的内容来自于数据库还是内部系统?

视觉设计

大多数代理公司都有“驻家办公”的视觉设计师,他们都精通移动设计。这些设计师都很好沟通,因为他们知道怎么做最好的设计,而不喜欢来来回回扯皮。 如果你和这样的“驻家办公”团队合作,他们则需要遵循自己的设计规范(来设计)。任何你能给他们的指示,对他们而言都很有用。你知道你想要什么颜色、什么 字体么?你想要什么样的标识logo?理想情况下,如果你有关于品牌的指导方针,你也应该告诉他们。

运维计划

你可以和你所选的开发工程师讨论运维计划,但你最好表现出你知道你的APP需要进行运营维护,并且你已经想过怎么做。(可以看看我们关于APP运维以及为何应该这么做的博文

额外信息

提供一张带有全部联系人详细信息,以及每个参与项目人员的简历的额外表格很有用,表格中包括电子邮箱、角色和职责,以及电话号码和照片。

总结

写产品计划文档,不仅能帮助你认识到你的APP会是什么样子,也可以向开发人员证明你的能力,并让他们知道你会是个很好地合作伙伴。

但值得注意的是,最好只是把你的计划书作为参考文档,而不是当成铁则不可改变。很可能在初期你的APP会面临许多变更,然后你所选的代理公司就会告诉你这些情况,并帮助你做出这些决定。

 

怎样写APP计划书-20150313早读课的更多相关文章

  1. 纯css使用线性渐变实现滚动进度条(来自于微信前端早读课)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 前端早读课:JavaScript函数的6个基本术语

    lambdas(匿名函数) 箭头函数. const lambda = (a, b) => a + b; first-class functions(头等函数) 该类型可以用作变量的值. docu ...

  3. winform 写App.config配置文件——IT轮子系列(八)

    前言 在winform项目中,常常需要读app.config文件.如: var version = System.Configuration.ConfigurationManager.AppSetti ...

  4. 手把手教你写电商爬虫-第四课 淘宝网商品爬虫自动JS渲染

    版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 手把手教你写电商爬虫-第三课 ...

  5. 如何用php写app接口[原创]

    人生就如一列永不停止的列车,no one knows when or where to stop.总有那些美好,值得永远怀念.也总有那些希望,值得你无怨无悔的付出,追逐.去年年底带着女儿一起坐火车会湖 ...

  6. 181102 Windows下安装kivy(用python写APP)

    了解到Instgram,知乎等APP是用python写的.我也决定学习用python写APP.这里我们需要安装kivy. 环境:win7,python3.6 安装方式:DOS命令窗口 注意事项:目前不 ...

  7. 用web技术写APP

    _ 听说会写web的人也能写APP, 抱着尝试的心态踏上路体验一番 http://www.ionic.wang/start-index.html 0x00 框架环境介绍 ionic是什么? https ...

  8. 关于读写APP.config文件能读却写不了的问题

    今天要求用winform写一个窗口用来读写一个App.config,要对  <appSettings>里面的add key和value进行添加和修改.要实现的效果图如下: -------- ...

  9. WPF程序中App.Config文件的读与写

    WPF程序中的App.Config文件是我们应用程序中经常使用的一种配置文件,System.Configuration.dll文件中提供了大量的读写的配置,所以它是一种高效的程序配置方式,那么今天我就 ...

随机推荐

  1. SQLAlchemy技术文档(中文版)-上

    转自:http://www.cnblogs.com/iwangzc/p/4112078.html 1.版本检查 import sqlalchemy sqlalchemy.__version__ 2.连 ...

  2. Mysql中大表添加索引的办法

    Hash索引与 Btree索引的区别http://database.51cto.com/art/201010/229525.htm Creating Indexes/Sorting on very l ...

  3. [BZOJ1494][NOI2007]生成树计数 状压dp 并查集

    1494: [NOI2007]生成树计数 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 793  Solved: 451[Submit][Status][ ...

  4. C#关于log4net(Log For Net)

    1       介绍 log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java ...

  5. [libgdx游戏开发教程]使用Libgdx进行游戏开发(3)-给游戏添加一些控制功能

    每个游戏中都有一些只有程序员自己才知道的控制功能,比如增加金钱,满血复活,无视防御,不死等等. 都是为了方便自己调试而在测试阶段使用的功能. 正如上一章提到的:我们也需要加些只有程序员才知道的控制功能 ...

  6. 【转载】Linux中profile、bashrc、bash_profile之间的区别和联系

    如果你想对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效.~/.bash_profile:每个用户都可使用该文 ...

  7. 二分+Kruskal【p2798】爆弹虐场

    Description 某年某月某日,Kiana 结识了一名爆弹虐场的少年. Kiana 仗着自己多学了几年OI,所以还可以勉勉强强给这位少年 讲一些自己擅长的题.具体来说,Kiana 先给这位少年灌 ...

  8. COW

    COW 时间限制: 1 Sec  内存限制: 64 MB提交: 41  解决: 18[提交][状态][讨论版] 题目描述 Bessie the cow has stumbled across an i ...

  9. oracle 替换其中部分内容

    update TABLE_NAME set field =REPLACE(field ,substr(field ,0,1) ,'P') where field is not null ;

  10. JavaScript中的map方法

    假设有一个函数f(x)=x²;作用在一个数组[1,2,3,4,5,6,7,8,9],通常我们会用遍历的方法来实现. function f(x){ return x * x; } var arr = [ ...