对于移动应用开发,各个团队正在寻求引进轻量级的开发流程,比如敏捷软件开发,它为短周期内的构建应用提供了巨大的机遇和价值。
构建移动应用的开发组织和团队面临着他们自己独有的复杂性的挑战。不像传统的客户端—服务器架构的软件开发,也不像基于网页的软件开发,移动开发工程师们面临着非常严格的限制,例如内存,屏幕大小,输入设备等等……还有应用程序短暂的生命周期和苛刻的可用性需求。这就是为什么移动应用开发的工程师们需要快速地处理开发和部署周期中的所有不确定因素。
高德纳公司的分析师 Van Baker 在他最近的一篇博客中说,那些传统的实践对于移动应用开发来说已经不再适用,取而代之的是公司必须采用敏捷开发。
企业应用的开发团队按照传统的实践去定义和开发桌面应用,但是对于移动开发来说,大多数情况下并不适用,这是因为设备的多样性,网络连接和其它移动方面特殊的考虑。取而代之的是,应用程序开发经理们应该使用功能、性能、负载和用户体验测试,以及敏捷开发实践。
移动应用开发面临的一些限制如下:
- 移动设备对于应用的大小有限制。
- 移动应用应该可以快速下载。
- 快速顺利地更新应用。
- 应用要无错和快速。
- 根据需要,与后端服务器的无缝交互。
为了达到这种状态,需要不断改变和调整。因为敏捷适合于频繁的变更,所以它可以用于移动应用开发。Baker 说道:
移动应用程序不一样。它们需要频繁修改,以满足终端用户的期望。而敏捷开发流程尤其需要运营工作走在基础设施和系统的前面,以支持移动应用程序的频繁部署和推送更新。
Baker 提到,开发团队第一步需要为移动应用开发专心设计最佳的界面,并且开发人员需要把界面设计工作和用户真正的工作流程结合起来。
让用户预先体验一下这个应用程序将会做成什么样子,用适当的工具,根据用户的感受实时调整屏幕布局,这样做可以确保应用程序一旦试运行或正式部署,从第一个版本开始就拥有用户熟悉的外观,并且接近于满足用户的需求。仅凭这一点就会为公司成功的发展提供更大的机会。
Antony Savvas 说道,移动应用程序的测试也很复杂,因为移动应用在不同的操作系统和网速下的表现都不同。
移动应用的测试具有一些独特性,包括联网方式、便捷性、支持的设备、触摸屏、新的编程语言,资源约束和上下文感知。 Eliane Collins, INdT 产品验证部门的技术经理在他最近的一篇博客中描述了一些克服这些挑战的敏捷测试实践。
- 团队在一起办公:加入团队的测试人员、设计师和开发人员都安排在同一个房间,并鼓励他们之间的合作。
- 结对编程:开发与测试人员结对坐在一起实现单元测试,从而提高测试的覆盖率。
- 结对测试:测试人员一起实现并执行探索测试和非功能测试(性能和安全)。
- 回归测试优先级:回归测试按照发布功能的重要性顺序执行(覆盖认证测试)。
- 设计师参与界面测试,找出屏幕的流程和设计方面不一致的地方。
Eddie Kenny, Betfair 的敏捷软件开发经理,对移动应用开发采纳敏捷分享了他的观点。
所有做移动应用开发的公司都应该寻求采纳敏捷实践。这给不愿意冒险的公司敲响了警钟,它们会被那些已经采纳敏捷的竞争对手超越。如果你一开始只发布一个简化版本的应用,然后在此基础上不停地迭代,你的产品就会比你的竞争对手更快上市。
查看原文链接: Agile for Mobile Application Development
感谢曹知渊对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论