简介
SFCD经常收到大大小小的潜在客户对开发一款移动应用的成本的疑问。很不巧,这个问题没有一个简单的答案,开发应用的成本根据应用类型和客户要求的特性有非常大的差异。
最佳场景是客户有时间和我们坐下来聊聊,让我们有充分理解他们的商业目标和潜在用户的机会。这可以让我们削弱一些围绕开发的不确定性,从而得到更确切的成本估算。某些看上去很简单的特性可能会对开发时间和成本造成很大的影响,需要在幕后做大量的工作,或者在计划设计阶段需要大量投入。
其他时候我们只能被迫基于非常有限的产品信息做出一个预计的成本,这时我们靠着对整体产品定位的了解和前期项目得到的经验来得出一个概算。
无论哪种情况,我们都希望从小点着手,并和客户紧密工作,在核心概念上不断迭代、搭建和测试。迭代的方法是我们设计理念的核心,意味着在不同阶段中彼此的过程循环和反馈。用户体验指引整个产品探索和概念,说明设计和开发团队做出的每个决策。反过来,他们也可以建议新的点子或指出潜在的障碍,有助于更好地完善整体概念和用户体验。
和客户工作的第一步是尝试充分理解产品定位、潜在的用户、关键场景和可用的技术以及局限。这可能会占用大量时间,产品前期准备(preproduction)时间甚至能达到和产品开发过程本身相当。
一款“简单”的应用
让我们用例子说话。例如一个客户找到我们,有兴趣开发一款iOS平台的笔记应用,可以说是“最简单”的一类应用。在我们能开始测试和确定概念前,我们可能花几天时间研究策略,讨论客户的目标,审视市场上的潜在竞品并定义最小功能特性。一款能够满足最小特性需求的应用通常称之为“最小可行产品”(Minimum Viable Product, MVP),在SFCD我们非常坚持这一点。越快得到一个功能原型,就能越快评估构建的产品并根据发现调整工作优先级。
一旦我们锁定策略和概念,产品研发就进入了预开发阶段。我们的用户体验团队(UX)、设计和工程师们共同合作敲定应用整体计划,开始搭建产品的基础。
UX团队决定App如何工作,枚举不同特性,探索多样场景。笔记如何视觉化呈现?用户如何新增、编辑和删除笔记?是否需要搜索功能?每个场景的定义、讨论和优化可能会耗去几天时间,而且团队需要为每个场景建立用户流程(user flow),决定完成整个流程需要那些屏幕(screen)并之作线框图——屏幕外观最基础的素描以及交互元素的在屏幕上的位置。完美的情况下这个流程的产出是一个用户凭直觉就可以理解,而且尽可能保持简洁的界面。
与此同时,设计团队开始建立一种视觉语言,决定色彩、字体、图形元素并开发产品图标,这些工作本身几乎就能够独立成为一个项目。要花费很多的功夫才能制作出优秀、富有魅力、无需言语就能展现app的图标。通常设计师会尝试不同的视觉比喻,看看哪个最能表达app的功能。然后绘制许多粗略、速写的框架图,讨论这些框架的质量、不同,来删除一部分噪音。最终选出一批较好的设计送给客户审阅。
这时候,工程师们已经开始提供每个流程阶段的输入,评估架构和技术,指出潜在的陷阱,评估可用技术的性能能力。在前期(preproduction)准备的最后阶段,工程师们要勾勒出项目结构,考虑到要确保应用维护和更新能够最高效地进行,通常一个简单的笔记应用需要1-2天时间。
计划到位地时候,项目就正式进入了生产阶段。设计团队开始应用设计语言到线框图中每个,每面屏幕,定义所有控制、动画、切换等等状态,而且还要考虑屏幕大小、分辨率和一些特定设备适配问题。应用图标经过多轮草稿阶段后才能进行最终的渲染,而且设计师要手工绘制多个版本来应对不同的图标大小。这可能是项目中最有挑战而且也是最耗时间的工作,因为有些时候为了保证像素对比度和视觉质量,不能自动调整图标大小。这时候不同的图标大小就需要细致的手工绘制。为开发人员准备这些资源可能需要额外的几天时间。例如我们这个简单的笔记应用,整体的设计时间在10天左右。
项目组织是按时、按预算交付项目的关键。我们团队使用各种工具来帮助团队实现自动化流程,在较短时间内完成扎实可靠的产品。对一个简单的笔记应用,开发可能会耗时10天左右,还需要额外一些时间进行质量保证工作。在原型生产完成后,多个团队需要严格评审产品,这个流程可能会花上非常多时间(对一个简单的笔记应用,可能要再多3天时间),但是为了向终端用户呈现精雕细琢、消除bug和不一致的软件,这个阶段绝对是不可或缺的。
当客户觉得现在应用已经完成的时候,我们就准备提交到Appstore了。在编写应用描述的时候我们会非常小心,并精心选择合适的、能够清晰说明app功能的截图,向用户展示为什么他们会需要下载这款应用。这个最终提交阶段可能会额外话费1-2天。
现在让我们回头看看,结算下在这样一个简单笔记应用上所花费的时间。
一款简单笔记应用的核心功能组
- 编写、编辑和删除纯文本笔记
- 每个笔记的日期和时间戳
- 列表浏览所有笔记
- 笔记搜索
- 所有笔记保存到用户设备
一款简单笔记应用花费的时间
阶段 | 时间 |
---|---|
战略和概念 | 2天 |
用户体验 | 3天 |
设计 | 5天 |
开发 | 10天 |
QA | 3天 |
发布 | 2天 |
整体 | 25天 |
显而易见,即使是这样一款“简单”的笔记应用也是一项重要工作,需要整整25天的工作。每个工作日八小时,总共是两百个小时或者五个星期,每星期40个小时。根据具体公司、整体质量和经验水明,通常一家公司的工资水平在100-250美元一小时。在这种薪资下,一个简单的笔记应用成本可能在2万到5万美元左右。SFCD团队的设计薪资在200美元每小时,开发薪资在175美元每小时,由SFCD完成这款应用的成本大约在3.7万美元。
增加复杂性
为了进行更深入的比较,让我们看看一款更复杂的应用,向简单笔记应用添加在线同步和社交功能。我们上个例子里仅仅适用于移动设备,而这个版本则需要开发一套后端系统,用于保存数据和跨设备访问。还要制造一些新的功能性,需要SFCD各类团队的注意。整体产品策略和用户体验需要更多额外时间来勾勒新的、更复杂的用户流程以及额外的闲逛图,增加大概7天项目耗时。设计需要生成新的图形元素和新的屏幕(screen),要多花上5天时间。而受到最大影响的工程师团队,他们需要在应用代码中管理额外的复杂度,并且需要为应用的服务器端全新建立一整套代码库。增加这些功能特性可能需要增加50天的开发工作,同时增加相应的QA时间。
社交笔记应用的核心功能特性组
- 编写、编辑和删除笔记
- 在笔记中嵌入图片和短视频
- 选择公开分享笔记或者设置私密
- 每篇笔记的日期和时间戳
- 邀请、寻找和添加好友
- 所有笔记的列表显示
- 查看好友的笔记订阅
- 保存和“收藏”好友的公开笔记
- 评论好友的公开笔记
- 分享笔记——通过电子邮件或者社交媒体(利用iOS的内置分享)
- 搜索你的笔记和你保存的好友笔记
- 通过云端打印笔记(使用iOS的AirPrint功能)
- 跨平台同步笔记
社交笔记应用花费的时间
阶段 | 时间 |
---|---|
战略和概念 | 5天 |
用户体验 | 10天 |
设计 | 10天 |
开发 | 60天 |
QA | 10天 |
发布 | 2天 |
整体 | 97天 |
这款更大更复杂的应用的整体成本大概由7.76万到19.4万美元。在SFCD,它的成本大约在14万美元($140,800)。
后续支持
当然,当项目结束的时候,我们不会仅仅将这款应用交给客户。我们要打包全部源码和资源来交接,但我们仍会继续参与项目,提供支持和必要的更新。
如你所见,开发一款应用的时间和成本差异很大,而一些表面上看上去简单的功能特性可能会需要大量的实施工作。启动你的项目时要牢牢记住这一点。
版权说明
本文已取得原作者的翻译授权;在保留译文作者及链接、原文作者及链接的前提下,欢迎转载本译文。