アプリケーションライフサイクルの最適化がモバイルアプリの企業価値を高める
モバイルアプリ開発をとりまく状況は、様々な側面で年々厳しさを増している。とりわけアプリの品質については、求められる水準が極めて高くなってきており、開発者を悩ませている。スマートフォンが広く普及したことで大量のモバイルアプリがリリースされるようになり、競争が激烈になっているためだ。
キャップジェミニ社の「ワールド・クオリティ・レポート」最新版(2015-16)による報告が、それをまざまざと物語っている。例えば61%のユーザーは4秒以内にアプリが起動することを期待しており、49%のユーザーが2秒以内のレスポンスを望んでいるとのことだ。また、バッテリー消費の激しいアプリは36%のユーザーが利用を停止し、反応がなかったりクラッシュするアプリは半数以上のユーザーがアンインストールしてしまう。これはかなり厳しい数字といえる。アプリのコンテンツ以前の問題によってユーザーに受け入れられないことが、これだけあるのだ。
さらにアプリストアでのレビューやSNS上での共有といった、口コミによる評価もさかんに行われている。口コミの伝達スピードは非常に速い。ちょっとした品質の低下ですらユーザー離れを引き起こし、ブランドを毀損してしまいかねない。そうなればダメージは致命的だ。特に金融や通信といった業態では企業収益に直結するような死活問題にもなるだろう。
モバイルアプリをリリースしている企業は、常にこうしたリスクを抱えており、まさに綱渡りをしているような状況となっているのだ。とはいえ品質に完全を望むことは、現実的ではないのも事実だ。
「こうした状況で必要なのは、すばやい対処です。そのためには、フィードバックに基づいた実装からテスト、セキュリティチェック、リリースといった一連のアプリケーションライフサイクルを最適化する必要があります」日本ヒューレット・パッカード株式会社(以下HPE)のシニアコンサルタントである小宮山晃氏はこのように述べる。
アプリケーションライフサイクルの最適化と課題
実は、こうした流れは近年では特別なことではない。モバイルに限った話ではないが、DevOpsと呼ばれる、開発サイドとインフラ運用サイドを統合・自動化し、ユーザーに素早くデリバリーするという取り組みが効果を発揮している。すでに導入している、または導入を検討している企業も少なくないだろう。
これと同じような考え方を、モバイルアプリの要件定義からテスト、運用まで含めたモバイルアプリのライフサイクル全体にわたって適用する必要がある、というわけだ。テストなど自動化できるものは自動化しつつ、ライフサイクル全体を統一的に管理することによって最適化する。これにより企業のモバイルアプリの価値を高め、ひいてはその企業自体の価値を高めていくのだ。
しかしながら、DevOpsもそうだが、その考え方の必要性を理解しても、具体的にどのように実現していけばいいのか、悩ましいものがある。例えば機能テストの自動化やモバイルのセキュリティチェック、デプロイの自動化などを機能単体で支援するツールを、オープンソースソフトウェアを含めすでに利用しているユーザーもあるだろう。しかし、そうした個別のツールを使うことはできてもどのようにライフサイクル全体を最適化するかはまた別の課題となるのだ。
加えて、モバイルアプリにはモバイルデバイスならではの問題が付きまとう。その最たるものがいわゆる「フラグメンテーション(断片化)問題」だ。モバイルデバイスにおいては、機種やプラットフォーム(OS)の違い、OSのバージョンといった差異が大量に存在していることを指している。
PCでも環境の違いが問題になることがあるが、モバイルアプリはその比ではない。ご存知の通り、モバイルデバイスは変化が非常に早い。新たな機種がどんどん投入されるし、OSのバージョンアップや仕様変更も頻繁に行われる。OSのバージョンはメジャーバージョンだけでなく、細かなアップデートやマイナーバージョンの違いもある。特にAndroidでは、フラグメンテーション問題は日々深刻化している。
また、モバイルアプリはタッチスクリーンによる操作が前提であり、マウスに比べればはるかに複雑な操作ができる。カメラ、GPS、加速度センサー、指紋認証といった物理的なセンサーを使用していることもある。便利な反面、テストや運用面ではこういったハードウェア的な側面がハードルをあげているのだ。
課題は品質面だけではない。言うまでもなく、品質を確保しつつコスト削減もまた求められるのが現実だ。このような課題についてまとめたのが次の図だ。
ライフサイクルの全体最適化を実現するMobile Center
HPEのMobile Centerはこうした課題をもとにして開発された、モバイル向けのテストツールや、HPEのアプリケーションライフサイクルマネージメント関連ツール群などと連携し、統合化するためのシステムである。プラットフォームをつなぎ込みDevOpsのハブとなるような存在になる。Mobile Centerがカバーする範囲は以下の図を参照してほしい。
各ツールからの情報はMobile Center上で統合され、アナリスト、開発担当、テスト担当、運用担当といったモバイルアプリに関わる担当者すべてがリアルタイムに参照できるようになる。しかも複数のプロジェクトをホストすることも可能で、プロジェクト間の知識共有もできる。似たようなシステムを自前で構築することもできるかもしれないが、その導入・維持コストは、HPEによる完成された製品であるMobile Centerのほうが優れている。統合化ツールを導入することで管理工数やインテグレーションの工数を削減でき、本来のより重要な担当業務の開発に注力できるようになる。
統合化(センター化)ツール導入の効果
統合化ツールを利用しない場合(個別最適) | 統合化ツールを導入した場合(全体最適) | |
管理工数 | リーダー、マネージャレベルで進捗判断や品質判定に必要な KPI や情報をそれぞれのツールから集計しレポート化するための手間がかかる | 各ツールの情報がリンクされており(トレーサビリティ)、進捗判断や品質判定に必要な KPI や情報をリアルタイムに引き出す事ができる |
情報が各ツールのレポジトリ、各メンバーのローカルにあるため最新情報をアップデートする仕組みと現場への周知徹底に時間をとられる | 入力時に決まった項目をいれなければならないようにワークフローを定義することで現場への周知にかかる工数を軽減できる | |
インテグレーション工数 | 利用しているツールでプラグイン、アドインがない場合、自分たちで開発し、その後もメンテナンスしていかなければならいし、トラブルがあった時は自己解決しなければならず、進行に影響を与えてしまう事もある | 統合化されているためインテグレーション工数は基本的に初期導入時の設定のみになる、またメンテナンスもベンダー側で最新バージョンやパッチが提供されるため自分たちで保守開発する必要がない |
プロジェクトチームごとにばらばらのインテグレーション方法で統一がほぼ不可能になっている | 複数プロジェクトで利用可能なテスト基盤として構築できプロジェクト間でナレッジも共有できる |
統合化ツールのメリットは情報の集約に留まらない。各情報(テストケース、テスト結果、不具合、実施した機種、プラットフォームバージョン、アプリのビルド情報)が統合され一貫した追跡が可能になるのだ。こうしたトレーサビリティ(追跡可能性)は、全体の最適化には必要不可欠なものだ。しかもフラグメンテーション問題を抱えるモバイルデバイスでは、様々な機器やOSでの繰り返しのテストは必須だから、トレーサビリティは最適化に顕著に影響する。
また、リリース後のユーザーからの不具合報告やアプリに対する評価も直接、ビジネスに直結するケースが多いため悩みの種であるが、ユーザー体験を測定しその情報を統合して製品企画、開発チーム、テストチームにフィードバックする事で全員が同じ情報を同じタイミングで共有できるようになり、品質改善サイクルを理想に近づけていく事が可能となる。
全体を最適化できれば無駄を抑え、修正や新機能への対応が迅速にできるようになる。すなわち、Mobile Centerによって高い水準の品質を備えたモバイルアプリを実現し、またそれを維持することがきるようになるわけだ。
解決策は徹底したテスト自動化 モバイルアプリテストを取り巻く環境と課題
統合化ツール導入がもたらす効果とは? 3時間から15分へ91.6%短縮
自動化によりテスト時間の大幅削減を実現
これまで見てきた通り、Mobile Centerはテストツールをはじめとした多数のツールと連携するが、スモールスタートも可能となっている。Mobile CenterのライセンスにはHPE UFTという同社の自動テストツールのライセンスが付属しており、これだけを使ってモバイルアプリの自動テストをすぐに実施することができる。必要に応じて、ここから連携ツールを加えていき、拡張することも可能だ。また、複数拠点にまたがった、大規模な構成にも対応しているので、小規模から大規模まで柔軟にスケールするのもMobile Centerの利点となっている。
解決策は徹底したテスト自動化 モバイルアプリテストを取り巻く環境と課題
統合化ツール導入がもたらす効果とは? 3時間から15分へ91.6%短縮
自動化によりテスト時間の大幅削減を実現
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- モバイルアプリのテスト時における5つの課題とHPEが考えるテスト自動化とその先
- エンタープライズモバイルに必要なアプリの品質とは?―Think IT Mobile Developer Seminar 2016レポート
- モバイルアプリケーション開発のトレンドやテストの方向性とは
- 【デモ動画あり】実現可能な地に足の着いたDevOpsの第一歩を踏み出そう
- モバイルアプリの継続的テストフレームワーク、配信後のユーザー体験を測定―Think IT Mobile Developer Seminar 2015レポート
- アプリの差別化を図るにはインフラ監視だけでは不十分。UXを担保するAPMの必要性と手法とは
- クックパッドの開発体制、モバイルアプリを取り巻く環境と課題解決―Think IT Mobile Developer Seminar 2015レポート
- テスト自動化を導入してみたものの思ったより効果が出ない……その解決策は2つの仮想化にある
- 日本HP、モバイル対応機能を拡張した自動機能テストツールの新バージョンを発表
- 危険なモバイルアプリで会社を傾ける前に、低価格で簡単に使えるサービスで欠陥を洗い出そう