BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース モバイルアプリケーション開発のためのアジャイル

モバイルアプリケーション開発のためのアジャイル

原文(投稿日:2014/10/06)へのリンク

モバイルアプリケーション開発を行うチームの,アジャイルソフトウェア開発などのライトウェイトな開発プロセス導入に対する関心が高まっている。短周期でアプリケーションを開発する上で,大きな効果と可能性が期待できるためだ。

モバイルアプリケーションを開発する開発組織やチームは,モバイルアプリ独特の複雑性という課題を抱えている。一般的なクライアントサーバやWebベースのソフトウェア開発とは違い,モバイル開発者は,メモリや画面のサイズ,入力デバイスなどの非常に厳格な制限や,アプリケーションライフサイクルの短さ,極限的なユーザビリティ要件といった問題に直面している。モバイルアプリケーション開発者が,開発手法やデプロイメントライフサイクルの変化すべてに対して極めて敏感なのは,そういった理由によるものだ。

GartnerのアナリストであるVan Baker氏は,先日のブログ記事の中で,従来のプラクティスはモバイルアプリケーション開発には有効ではない,アジャイル開発を適用する必要がある,と述べている。

エンタープライズアプリケーションの開発チームは,従来のプラクティスを使用して,デスクトップアプリケーションの要件定義と開発を行っています。しかしその大部分は,デバイスの多様性やネットワーク接続性などのモバイル特有の問題のため,モバイル開発では機能しません。アプリケーション開発マネージャは,機能,パフォーマンス,ロード,ユーザエクスペリエンスのテストに加えて,アジャイル開発プラクティスを採用する必要があるのです。

モバイルアプリケーション開発には,次のような制限がある。

  • アプリケーションのサイズの制限。
  • 短時間でダウンロード可能でなければならない。
  • 迅速かつスムーズなアプリケーションの更新。
  • エラーフリーで高速な動作。
  • 必要ならば,バックエンドサーバとのシームレスな通信。

このような状況は,いくつもの変更や調整を経て始めて達成できるものだ。アジャイルは頻繁な変更に適しているので,モバイルアプリケーションには有用だ。氏は言う。

モバイルアプリは違います。エンドユーザの期待に応えるために,頻繁に改訂する必要があります。このアジャイル開発プロセスでは特に,モバイルアプリの頻繁なデプロイやプッシュアップデートをサポートするインフラストラクチャないしシステム上で,オペレーションを行う必要があります。

モバイルアプリケーションを開発するチームは,その出発点として,最適なUIの設計を重視する必要がある。開発者にはこれを,ユーザが実際にどのような行動をするかを表現したワークフローと組み合わせることが求められる,とBaker氏は言う。

アプリケーションがどのようなものかをユーザに体験してもらいながら,適当なツールを使用して画面をその場で構築すれば,アプリケーションの最初のビルドからユーザは馴染んでいますし,アプリケーションがテスト用配布やデプロイされた時点では,彼らの望むものに十分近づいているはずです。これひとつとっても,開発が成功するチャンスはより高くなっているのです。

Antony Savvas氏は,モバイルアプリのテストの複雑さについて述べている。OSやネットワーク速度が異なると,アプリケーションの振る舞いが違うからだ。

モバイルアプリのテストには,接続性や利便性,サポート対象デバイス,タッチスクリーン,新しいプログラム言語,リソースの制限,コンテキスト認知などといった特異性がいくつもある。INdTで製品評価を担当する技術マネージャのEliane Collins氏は自身のブログで,これらの課題を克服するためのアジャイルテストプラクティスについて説明している。

  • チームのコロケーション: テスタ,デザイナ,開発者を同じ部屋に配属してチームを結合し,共同作業を奨励する。
  • ペアプログラミング: 開発者とテスタがペアを組んでユニットテストを実装し,テストカバレッジを向上する。
  • ペアテスティング: テスタが共同で探索的テストや非機能テスト(パフォーマンス,セキュリティ)を実装し,実施する。
  • 回帰テストの優先度付け: 提供する必要のある最も重要な機能(認証のテストも含む)から順に,回帰テストを実施する。
  • インターフェースに関与したデザイナが,スクリーンフローとスクリーンデザインの不整合を識別するためのテストを行う。

Befairでアジャイルソフトウェア開発マネージャを務めるEddie Kenny氏は,モバイルアプリケーション開発へのアジャイル適用についての見解を,次のように述べている。

すでにアジャイルを導入しているライバルに遅れを取らないためにも,すべての企業はモバイル開発へのアジャイルプラクティスの導入を検討すべきです。アプリケーションの小規模なバージョンから始めて,それからイテレーションを繰り返すようにすれば,競合相手よりも先に製品を市場に送り出すことができるのです。

この記事に星をつける

おすすめ度
スタイル

BT