迈向企业级移动之路

来源:互联网 发布:pc编程语言 编辑:程序博客网 时间:2024/04/29 03:36


钟晓骏 发布于: 2013年01月10日 (1评)
分享到 
收藏+7

对于企业而言,移动互联网是一个机遇与挑战并存的新的发展方向。本文不仅指出了新环境下,企业级产品所面对的挑战,更提供了应对之道。

新的时代

将时钟回拨到20年前,那时PC开始大量被普通消费者使 用,Internet协会成立,人们开始学习网上冲浪,Google、Yahoo!、Amazon这些公司即将成立,随后在互联网的带动下高速发展,这之后的15年是互联网时代。此前,人类历史上从来没有一种技术能够如此快地融入每一个普通人的生活。

转瞬来到2007年,第一代iPhone发布,Android紧随其后,并随着智能移动设备的快速普及,移动互联网以远超传统互联网的速度被大众所接受并使用,一个新的时代已然开启。

根据国际电信联盟(ITU)于2012年6月公布的数据显示,截至2011年底,全球已有超过10亿的移动宽带使用者,年度移动宽带用户新增率提高了40%。另一份数据指出,全球10%的互联网流量由移动互联网贡献,在某些国家,甚至近半的互联网活动来自移动互联网,包括印度(48.87%,如图1所 示)、赞比亚(47.09%)、苏丹(44.95%)等。毫无疑问,移动互联网大潮已至。

图1 印度移动互联网流量已超过桌面互联网(数据来源:StatCounter Global Stats, 11/12)

新的挑战

与传统互联网开发相比,移动互联网有着如此鲜明的特征,以至于在传统互联网中积累的技术、经验和思路变得不太适用,一些显著的区分点在于以下几个方面。

  • 用户体验更被重视:对于用户而言,移动设备有更强的日常用品特性,它随时会被使用,随时影响着用户的心情。并且因为使用环境拥有不确定性,以及受限的文字输 入和屏幕尺寸,必然要求更高的软件交互设计能力,甚至要求软件以用户体验驱动的方式来进行开发,以保证产品能被用户轻松使用。
  • 需要更精准的用户需求定位:传统互联网服务,包括Facebook、Google搜索等公司在移动互联网领域的表现并不出色,反而是Instagram这种小巧、易用且精确定位了用户需求的应用获得了巨大成功。
  • 随时使用(Access anywhere anytime):随时都可以使用的软件服务,要求开发者考虑网络不稳定,甚至没有网络的情况;服务使用量变大,访问时间更扁平;用户使用更间断化,一个事务可能在相隔相当长时间后才完成等情况。
  • 应用商店:毫无疑问,App Store改变了用户的应用购买习惯,使选择自己需要的应用变得更容易。但对应用的开发者而言,这意味着更大的竞争压力,用户通常会在同功能的应用中挑选 出评价最好的一个,而在不满后也能更容易地切换到其他选择上。因此,对应用的开发者而言,如何更好地满足用户、维护好评价就变得相当重要。

同时,对企业而言,扩张到移动互联网也不得不面临一些企业运营问题,包括如何使移动互联应用与已有的IT系统最好的融合,特别是旧有的IT系统已被企业员工很好地适应,那么在保持旧系统的情况下进行扩展,也许是成本更小的选择。

再有就是新的系统和平台意味着企业不得不引入更多的人力来开发和维护,带来更大的管理开销,且对整个IT系统的开发和维护都带来更大的挑战,这必然需要更多专业的技能来帮助实施。

国内某一线的旅游酒店集团决定启动自己的移动互联网战略。他们发现可以找到一个微型甚至个人开发商,花很少的钱就能拥有一个具备基本功能的移动App。但随 着开发工作逐渐深入,他们终于发现低价是有原因的:移动应用无法与已有的IT系统无缝整合,导致企业一些很核心的产品和服务无法在手机上呈现。这必然导致 不良的用户体验,对企业品牌也会产生负面影响。

还有,大多数企业的IT部门在进入移动互联网领域时常发现自己需要储备一些新技能,这些技能 的背后都是成本。在桌面互联网时代,B/S架构占据绝对主流,企业通常只需在Java和.NET平台间任选其一,再选择一些脚本语言,如Ruby或 PHP,就可以应对绝大部分IT建设的需要。

在移动互联网领域,情况则要复杂一些,企业可能不仅需要在HTML5上做很大投入,还要对一个 本地化的开发技能做投资,例如Objective-C for iOS、 Java for Android和C# for Windows Phone,且需要面对团队扩张带来的沟通和管理成本的上升。企业需要考虑如何合理地建设团队,提高投资效率。

移动平台的碎片化也给企业的移动战略实施设置了巨大的障碍。在智能手机领域,硬件和平台标准差异巨大。光iOS平台中就包括了iPhone4、iPhone5、iPad、The new iPad等差异比较显著的硬件规格;而Android平台上的各种设备更是差异巨大、软件版本各异;还不要提蠢蠢欲动的Windows Phone 8平台。覆盖更多平台、兼容更多设备固然能为企业带来更多的用户和机会,但也会造成开发、管理成本的上升,如何处理好这个问题,也是企业移动战略能否成功 的重要基础。

新的思路

当然,移动互联网带来的巨大挑战背后是全新的机遇,不仅在于一些新生的创意项目可以孕育出新的成功企业,同时对于传统企业,也意味着新的市场、新的扩张方向、新的增长可能。无论是谁,都无法忽视移动互联的高速发展,以及它带来的种种可能性。

企业在面对移动浪潮时,应该怎样去改变思路、拥抱变化呢?这是一个难以简单回答的问题,但下面讲述的几个方面,或能带来一定的启发。

  • 面对移动市场,需要展开新的视野,以移动的方式来考虑业务、分析问题,包括重视移动互联网的长处和局限。例如,更多地关注用户体验和以更简单、方便的接口来 提供业务;如何利用移动应用随时可以使用的特点来拓展企业的市场,减少移动应用的业务完成时间,保证用户在时间碎片中也能达到目标。
  • 考虑企业IT系统的重构,保证其发展方向能够契合移动互联网发展。这意味着企业的经营者不仅要以新视野来考察外部市场,也要以新思路来架构企业的内部结构,以保证企业在移动发展战略中不会因为内部IT结构的老化和臃肿而错失良机。
  • 移动应用天生要求更快速、更有效的需求分析和开发,这不仅因为移动互联在高速发展,也因为移动应用的使用环境使用户更没有耐心,同时移动的生态系统又意味着 用户可以更容易地得到更多的选择,所以移动开发会明显有别于传统的开发,要求开发者用更精益的思维方式去开发产品,更多关注如何维持可持续的产品认知,以 小的迭代来发布产品,快速分析反馈,以需求来拉动产品发展。
  • 移动开发牵涉更多新技术,企业需要以更开放的心态去接受和应用这些新技术,这样才能在快速发展的移动市场掌握先机。

通常,越大的企业越倾向于在评估时,把新技术看做风险,而不是机遇。这对于更保守和缓慢变化的市场来说,或许是有效的评估手段,但对于快速变化的移动市场,这可能意味着企业难以跟随变化。转换思路,把新技术更多地看做机遇而不是风险,是移动市场对企业的天然要求。

新的起点

在机遇与挑战并存的移动互联网时代,企业需要一些切实的起点,快速开始行动并获得市场反馈。根据全球移动互联网已有的实践经验,我们可以总结出一些典型的工作,企业可以现在开始行动。

体验为王

关于用户体验,根据ISO 9241-210的定义,用户体验是“用户在使用或参与一个产品、系统、服务后的感知与反馈”。可见,用户体验是一种非常主观、难以衡量的东西,它并不同于传统的人机交互界面设计,后者主要考虑如何将系统功能以恰当的形式展现给用户使用。

而用户体验涵盖了更多内容,不仅限于美观的界面、良好的操作,甚至包含了用户对企业品牌一致性的认知。例如,一家优秀的快递公司如果提供了一个反应略显迟缓的软件产品,那么无论其界面多么美观实用,也是在用户体验上有缺陷的,因为它损害了用户对公司主体服务的感知。

与传统的理解不同,用户体验设计并不是一次性“把软件变美”的工作。良好的体验需要参与软件交付的所有人对软件的价值、目标用户及使用环境有充分的理解,并在整个交付过程中持续维护和完善用户体验。

为此,软件交付团队需要转变从前基于文档的需求获取和描述方式,转而使用可视化、强交互的方式来采集和描述需求,以确保所有参与者不仅对功能,且对用户体验有共同的理解。商业模式画板、用户体验地图、手绘原型、用户故事等都是很好的工具(如图2所示)。

总之,用户体验设计需要能让产品给最终用户带来一致、可预知且完整的感受。这必然要求设计师要渗入产品开发的各个阶段,从立项、设计到开发、测试,把用户体验贯彻到产品的灵魂中。

这对基于需求功能分析的传统开发流程而言,是一个巨大的改变,但可能是企业不得不去拥抱的变化,因为在信息传播如此迅捷的今天,一个用户体验良好的产品不但能带来稳定的用户增长,而且对于企业的品牌和形象也是最好的广告。

图2 借助可视化、强交互的方式采集和描述需求

超越平台

为每个移动平台都开发一个本地移动应用,无疑是最能保证用户体验的方案,但这也意味着更高的投入和维护成本,一个好的折中方案可能是使用混合型应用(Hybrid App)。

混合型应用通常把公共的业务逻辑包装到可以跨平台运行的代码中,然后以平台本地的代码来实现UI表现层,因为用于业务逻辑的共享代码和UI表现层的本地代码一般使用不同的语言,所以称为混合型应用(如图3所示)。

图3 混合型应用

Calatrava(http://www.oschina.net/p/calatrava)就是为这样的混合型应用而设计的移动应用开发框架,其核心是通过跨平台的JavaScript来实现业务逻辑,然后通过框架提供的Bridge来使逻辑能够驱动UI。

目前,Calatrava支持iOS和Android的原生UI实现,同时也支持使用HTML5来实现Web UI。开发者使用Calatrava的话,不仅可以使公共的逻辑代码能够跨平台共享,还能以原生UI来保证良好的用户体验,同时还可以混合使用基于 HTML5的Web UI。

这意味着企业可以基于Web UI来快速搭建跨平台应用,尽快投入市场,然后再根据用户反馈和持续设计来逐步替换Web UI为体验更佳的原生UI实现,达到精益开发的目的。

内建反馈

精益创业的方式要求企业需要具备畅通的渠道来了解用户行为和反馈,企业需要尽快建立这样的反馈渠道和反馈机制。

这不仅要求企业的移动开发流程拥有快速的反馈响应,同时也意味着企业需要拓展新的方式去收集和了解用户以及市场行为,除了要借助传统的方式(例如用户调查),更要通过自动化的反馈系统来分析用户真实的行为。

对于Web应用,有很多已有的服务(例如Google Analytics、Omniture等)提供了相当便利的用户行为采集和分析功能。然而移动应用还没有这样成熟且通用的解决方案,这就要求IT团队在交 付功能的同时关注用户行为的跟踪采集,在架构和项目计划中对这些特性给予同等的重视。

而且,用户行为数据往往以异构、非结构化数据的形式存在(例如服务器日志文件),因此在分析用户行为时,传统的关系型数据库和数据仓库显得力不从心。同时,繁重的ETL过程也使得传统的商业智能技术无法跟上移动应用的快速变化。

因此,引入Hadoop等轻量级、开源的大数据分析工具对于有效理解用户行为、快速调整移动战略也很有意义。

内建反馈决定了企业移动应用的改进速度,架构合理的内建反馈可以极大地帮助企业决定移动战略的方向,验证商业价值的存在与否。

内建质量

移动互联网需要企业快速响应、快速改进,精益创业方式应该得到技术团队的充分支持。如果一个版本上线仍然需要几个月时间,即使对用户行为有清晰理解,仍然无法快速调整以适应顾客的需求。

企业希望在移动互联网领域以精益创业的方式工作,开发团队就需要快速地响应用户行为和反馈、快速迭代、快速发布。如果对产品质量的控制没有内建在整个开发过 程中,那么容易导致严重的质量问题到了产品发布的最后环节才被发现,极大影响产品交付计划,更不可能达到持续交互的状态。

因此,对质量的重视应该贯彻到开发过程的每个环节上,严格检测,必须在第一时间发现问题、快速修复。

  • 一方面,需要更高频率的发布上线。
  • 另一方面,需要严格控制质量,这就对测试工作提出了很高要求。如果完全依赖人工测试,不仅效率低、降低交付速度,且容易出错,特别是面对大量碎片化的移动设备,人工测试的性价比将大幅降低。

因此,企业需要建立完善的自动化测试机制,利用成熟的测试方案,在保证测试覆盖率的同时,提高效率,降低成本。

幸运的是,目前针对不同移动平台均有比较成熟的自动化测试工具可供选择。

Frank(http://www.oschina.net/p/frank)提供了针对iOS平台的功能测试能力,可以模拟用户的操作对应用程序进行黑盒测试(如图4所示),并且使用Cucumber(http://www.oschina.net/p/cucumber)编写测试用例,使测试用例如同自然语言一样描述功能需求,让测试以“可执行的文档”的形式成为业务客户与交付团队之间的桥 梁。Android平台上也有Calabash(http://www.oschina.net/p/calabash-android)提供类似支持。

图4 用Frank编写的测试用例就像用自然语言在描述功能需求

同时,企业移动应用交付团队还需要引入持续集成(参见Martin Fowler的文章《持续集成》:http://article.yeeyan.org/view/2251/94882)等实践,使软件质量在交付过程中得到持续的关注与保障。

正如丰田生产方法所强调的:质量不能靠最后的检查来得到,必须把质量内建在生产过程中。

小结

移动互联网对于企业而言,是一个机遇与挑战并存的新发展方向。现代商业社会最大的特点就是变化。

拥抱变化是现代企业生存发展的首要任务,不仅关乎竞争优势,也在于开拓新的市场。而移动互联网,正是在变化中涌现出的庞大趋势,企业若有志于拓展移动战略,那么首先需要的是转换新的思路:

  • 充分考虑移动互联网的优势和不足,以移动的视野来分析业务;
  • 移动互联与企业原有IT系统的集成,以确保移动战略顺畅实施;
  • 以敏捷、精益的思想来驱动产品开发,才能跟随移动市场的快速发展;
  • 开放思想引入新技术,掌握住移动开发的先机。

在新思路的指引下,企业可以开始部署、调整自己的移动战略,尽快尝试以本文中提到的几个新的起点为基础,包括:

  • 加强产品中的用户体验设计;
  • 植根于移动跨平台的技术方案;
  • 在产品中内建反馈系统;
  • 贯彻内建质量。

把移动战略落实到行动中,才能真正地抢占先机,战胜挑战,掌握机遇。

刘宇峰,程序员,在嵌入式和J2ME Java虚拟机开发方面工作近10年,对移动平台领域有着丰富的技术经验与认识。目前为ThoughtWorks Mobile Lab成员。

曾学海,ThoughtWorks Mobile Lab咨询师。擅长协助传统企业制定移动互联网战略,提供咨询、设计、实现、验证、改进的一体化服务。

原创粉丝点击