モバイルアプリ更新のための堅牢なワークフローを構築する方法 - TechRepublic

モバイルアプリ更新のための堅牢なワークフローを構築する方法 - TechRepublic

モバイルアプリはまるで生き物のようです。常に最新の状態を保ち、有用性を維持するには、アップデートという形でのケアと栄養補給が必要です。しかし、アプリの種類、提供する機能、関連するセキュリティの詳細、そしてアプリが処理または保存する情報によっては、アップデートのプロセスが複雑になる場合があります。

前回の記事では、ユーザーのニーズや行動に反応するアプリを設計するためのヒントに焦点を当て、リアクティブモバイルアプリの構築方法について書きました。この記事の続編として、ユーザーのメリットを最大限に高めるために、アプリを最新の状態に保つ方法についてお話ししましょう。

私は、Rollout の Erez Rusovsky 氏と話をしました。同社は、組織がバグを修正し、展開済みのアプリケーションにリアルタイムでアップデートをプッシュし、開発者が App Store に展開した後もアプリケーションを管理できるようにすることを支援するネイティブ iOS ソリューションを提供する企業です。

「モバイルアプリ市場は510億ドル規模の産業に成長し、米国企業の79%がモバイルアプリが成功の要因であると回答しています」とルソフスキー氏は述べています。「しかし、モバイルアプリの配信モデルは、ユーザーの手に渡った後は、開発者の手に負えなくなります。モバイルを重要なビジネスドライバーとして活用する企業が増えるにつれ、アプリにバグや不具合が発生し、数時間、ましてや数日も待たされることは、フラストレーションを募らせるだけでなく、コストの増大にもつながります。これは、収益や顧客の信頼を損なうことにもつながります。」

WebおよびSaaSソリューションは、豊富なオープンソースおよび商用ソリューションを活用して、アプリを継続的に配信および展開できます。一方、モバイルにはこのような多様性はありません。FacebookやAirbnbのような広く普及しているアプリだけが、独自の社内展開ソリューションを提供しています。しかし、モバイル開発ソリューションの選択肢は増えつつあり、サードパーティ製ツールを使用することで、企業は新バージョンをリリースすることなくリモートで変更を加えることができます。例えば、Optimizelyのようなモバイルテストソリューションは、ユーザーがリモートでユーザーインターフェースを調整したり、Firebase Configのようなリモート設定ソリューションは、アプリの設定をリモートで変更したりすることができます。また、AppBoyのようなマーケティング自動化ソリューションは、アプリ内メッセージをリアルタイムで追加できます。

これらの課題を踏まえ、モバイルアプリの更新プロセスにおいて信頼性の高いワークフローを構築するためのヒントをいくつかご紹介します。最初の4つはシステム管理者としての経験に基づいて考案したもので、次の6つはソフトウェア開発の観点からRusovsky氏が提唱する推奨事項です。

1.専用のアプリアップデートリリーススケジュールを用意する

行き当たりばったり、あるいはランダムにアップデートをリリースするのは、災難のもとです。1ヶ月に2回アップデートした後、6ヶ月間全くアップデートしないのは、プロフェッショナルではなく、ずさんな印象を与えます。機能の修正や追加が何回あったらアップデートを実施するか(2回、5回、あるいはそれ以上)を決め、月1回や四半期ごとのアップデートなど、標準的なスケジュールを立てましょう。

セキュリティ関連のアップデートでは、より頻繁なリリース、あるいは「単発」のリリースが必要になる場合があります。新しいフォントやアイコンを追加するよりも、機密データを保護するコード変更をリリースする方が重要です。そのため、ユーザーにセキュリティ修正と通常のアプリリビジョンの違いを理解してもらうとともに、セキュリティ修正をできるだけ早くインストールする必要があることを伝えましょう。

2.問題点と改善点をより深く理解する

アプリが直面している問題と、改善が必要な箇所を的確に分析するには、画面録画、エラーログをリアルタイムで確認できるスマートなバグ診断、アプリ使用状況の分析、クラッシュレポート機能などの機能を活用しましょう。アプリ内のトラフィック量が多い箇所だけでなく、問題点も確認できる仕組みが必要です。

3. アプリのアップデート通知の標準的な方法を考案する

アプリのアップデートをユーザーに通知し、オプションを提供するための計画を策定してください。アプリ内のアラート、メールによる通知、テキストメッセージ、またはその他の手段が考えられます。繰り返しのアラートや不要なアラートは避けてください。ただし、アップデートによってもたらされるメリット(新機能やオプション、パフォーマンスや安定性の向上など)のリストは必ず含めてください。アプリのアップデートに関する問題が発生した場合、必要に応じてサポートの連絡先情報も必ず含めてください。

4. アプリの更新統計とフィードバックを監視する

ユーザーがモバイルアプリをどれくらいの速さでアップデートしているかを確認し、結果に基づいて必要に応じて上記の手順を修正してください。セキュリティアップデートが適切な速度で適用されていないでしょうか?アナウンスメントをより積極的に(あるいは控えめに)行う必要があるでしょうか?ユーザーからのフィードバックで問題が多すぎる、あるいはアップデートの頻度が長すぎるといった問題はないでしょうか?プロセスを改善するために、何か変更すべき点があれば、それを確認しましょう。

動的分析も役立ちます。Mixpanelなどの今日の分析プラットフォームの中には、分析機能を動的に変更・追加できるものがあり、柔軟性が向上し、小さな問題を修正・変更するためだけにリリースを繰り返す必要がなくなります。

5.アップデートを準備する際には徹底的なアプリテストを実施する

アプリのアップデートを社内で確実に配信するためには、コードや機能に精通したアプリユーザーが潜在的な問題や問題点を的確に把握できるよう、社内QA、ベータテスト、配信テストを実施する必要があります。ベータテストをより効率的かつ自動化するために、適切なツールセットを用意してください。

6.リモート設定を活用する

このモデルでは、アプリ内のデータがハードコードされることがなくなり、リモート設定コンポーネントを使用して、ユーザーのニーズやオプションに応じてデータを設定または変更できるようになります。例えば、ウェルカムメッセージを変更したり、広告の表示回数を制御したり(表示する場合)、ゲームの複雑さのレベルや画面の色など、アプリに影響を与えるパラメータ値を実装したりすることができます。

7.新機能をすぐに有効化せずに展開する

更新したアプリに機能の有効化をハードコードしないでください(つまり、変更は準備ができるまですぐには反映されません)。そうすれば、いつ、誰に対してリモートで機能を有効化するかを事前に決定できるため、新バージョンをリリースし、新機能を段階的にテストすることができます。さらに、動作に問題のある機能をロールバックする際の影響を最小限に抑えることができます。

8. 機能フラグを使用する

機能フラグとは、リモートで誰がどのようなエクスペリエンスを得るかを決定またはテストすることを意味します。ユーザーのニーズや好みはそれぞれ異なるため、これにより、最もメリットが得られる可能性のあるユーザーに基づいて特定の機能に焦点を絞ることができます。例えば、営業担当者はアプリの営業関連コンポーネントを活用でき、マーケティングアナリストは製品の認知度を高めるためにソーシャルメディアの側面に焦点を当てることができます。

9.本番環境でのバグや問題への対処方法を特定する

アプリの新バージョンやリモート設定の変更など、リモートでダメージコントロールとバグ修正を行う方法を決定します。Rolloutは基本的にこれを実現します。アプリにホットフィックスやパッチをリモートで適用することで、問題を抑制し、品質問題をユーザーに通知します。また、バージョンリリースなしで変更を適用することも可能です。

10.ネイティブ vs ハイブリッドまたは JavaScript ベースのソリューション

ネイティブ言語ソリューションはシンプルです。ハイブリッドベースのソリューション(通常はJavaScriptとネイティブ言語の両方を使用)は、アプリの新バージョンをリリースすることなく、バックエンドからJavaScriptコードを更新できるため、俊敏性が向上します。一部の企業は、JavaScriptアップデートによる俊敏性を得るために、アプリのパフォーマンス低下を覚悟しています。

FacebookのReact Nativeは、JavaScriptによるアップデート(つまりリモートコードアップデート)を可能にするハイブリッドソリューションとして、異なるアプローチを採用しています。ネイティブ言語アプリと比較して、パフォーマンスの低下はほぼありません。Microsoftも、JavaScriptによるリモートアップデートのプロセスを効率化するCodePushというソリューションを提供しています。

また、
リアクティブモバイルアプリケーションを構築するための10のヒント、
ニューイングランドペイトリオッツのワイドレシーバー、ジュリアン・エデルマンのために1日でモバイルアプリを開発した方法、
ATSの義務化にもかかわらず、データ盗難の危険にさらされているiOSアプリの数十、
2017年にモバイルアプリが変化する10の方法もご覧ください。

Tagged: