Upgrade to Pro — share decks privately, control downloads, hide ads and more …

失敗しないモバイルアプリ開発 企画者が知っておくべき開発の流れと検討のポイント

NCDC
January 29, 2025

失敗しないモバイルアプリ開発 企画者が知っておくべき開発の流れと検討のポイント

顧客体験の向上や業務効率化の手段としてモバイルアプリ開発の需要は伸び続ける一方ですが、アプリ開発の知識を誰もが持っているわけではありません。
実際に検討をはじめると、開発にかかるコストや期間、要件の決め方、デザイン、開発言語、配信方法、運用・保守など多くの検討が必要なことが、特に技術的な知識を持たないビジネスサイドの方にとって大きな課題となっているようです。

NCDCは、お客様の専門知識の有無に関わらず、新規システムの企画段階からご要望を伺い、要件定義、設計、UX/UIデザイン、実装、保守まで一元的にサポートしてきた実績を豊富に有しています。
本セミナーでは、こうした当社の経験を踏まえて、モバイルアプリの検討時に押さえておきたいポイントをご紹介します。

モバイルアプリ開発を検討する方がまず知っておくべきアプリ開発の一連の流れについて概観した後、各フェーズについて検討したいポイントをご紹介します。非エンジニアの方であっても、モバイルアプリ開発について検討する際に必要となる知見を一通り押さえ、具体的な検討が可能になる構成となっていますので、お気軽にご参加ください。

こんな方におすすめ
・モバイルアプリ開発を検討している方
・自社の目的に適したモバイルアプリの作り方を知りたい方
・開発の流れやポイントを大まかに把握したい方
・アプリ開発が必要な新規事業のご担当者

NCDC

January 29, 2025
Tweet

More Decks by NCDC

Other Decks in Technology

Transcript

  1. 自己紹介 2 エンジニア 塚本 雄人 モバイルアプリ開発を得意とするフロントエン ドエンジニア。 要件定義から開発、保守運用フェーズまで、ア プリ開発プロジェクト全体に携わり、高品質な プロダクト提供に貢献。

    車載システム開発等異なる領域で得た幅広い知 識と経験を活かし、プラットフォーム固有の仕 様やユーザー体験を考慮した設計・実装を強み とする。
  2. モバイルアプリについて ⚫ Webアプリケーションとの違い 7 特徴 モバイルアプリ Webアプリ 利用方法 ストアからインストールが必要 ブラウザ上で動作(Safari,

    chrome) 通信要件 起動時に通信不要(オフライン可) 通信環境が必要 デバイス連携 カメラ、位置情報、Bluetoothなどの デバイス機能が連携しやすい 一部デバイス機能に制限あり 互換性 機種やOSで動作が異なる場合あり どの端末でも基本的には同じ動作 リリース ストアの審査あり いつでもリリース可能 容量負荷 デバイスのストレージを使用 ブラウザが使用するストレージのみ バージョン依存 OSアップデートに追随が必要 使用ブラウザのバージョン (影響は少) 開発コスト プラットフォームごとの開発が 必要になる場合あり プラットフォーム共通
  3. モバイルアプリ開発の全体的な流れ ⚫ 企画 ⚫ アイデア出し、ターゲットユーザーの確認 ⚫ どんな課題を解決したいか、何を実現したいか ⚫ 要件定義 ⚫

    実現したい機能の洗い出し ⚫ 非機能要件 ⚫ 技術選定 ⚫ フロントエンド、バックエンド、クラウドサービス、etc. 10 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース
  4. モバイルアプリ開発の全体的な流れ ⚫ デザイン ⚫ ユーザー体験(UX)の意識、イメージカラーやテーマの検討 ⚫ 実装/テスト ⚫ 要件やデザインを形にする ⚫

    リリース ⚫ アプリストアの構築、ストア申請 ⚫ 保守/運用 ⚫ ユーザーの利用状況やフィードバックによる改善 ⚫ バグ修正、新機能の追加、OSやデバイスのアップデート対応 11 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース
  5. 成功に導くために押さえておきたいポイント ⚫ 企画フェーズ ⚫ 目的と課題の明確化 ⚫ 既存ツールや既存サービスとの比較検討 ⚫ システム連携 ⚫

    リリース後を見据えた計画 13 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース
  6. 成功に導くために押さえておきたいポイント ⚫ リリース後を見据えた計画 ⚫ 継続的な運用に備えたリソースや環境の確保 ⚫ リリースはゴールではなくスタート 18 計画 /

    開発 リリース 不具合修正 パフォーマンス改善 ユーザー動向の調査 フィードバック 機能追加要望 機能改善要望 課題解決のための軌道修正・最大化
  7. 成功に導くために押さえておきたいポイント ⚫ 要件定義フェーズ ⚫ 対応OSの選定 ⚫ デバイス種別による違い ⚫ ストア公開の必要有無 ⚫

    ストアのガイドラインの準拠 19 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース
  8. 成功に導くために押さえておきたいポイント ⚫ 対応OSの選定 ⚫ 参考:OSリリース頻度 21 iOS リリース日 Android リリース日

    18.3 2025.01.21 16 2025.04〜06 18.0 2024.09.16 15 2024.09 17.6 2024.07.30 14 2023.10 17.0 2023.09.19 13 2022.08 16.6 2023.07.25 12 2021.10 16.0 2022.9.13 11 2020.09 15.6 2022.7.20 15.0 2021.09.20
  9. 成功に導くために押さえておきたいポイント ⚫ デバイス種別による違い ⚫ タブレット対応の有無 ⚫ 画面の向き ⚫ 画面サイズ ⚫

    メモリやバッテリー、CPU性能の違いによる挙動差 22 iPhone 16Pro Max 6.9インチ iPhone SE 4.7インチ らくらくフォン Google Pixel 9 Pro CPU 2.0GHz x 4コア 3.1GHz x 8コア RAM 3GB 16GB ROM 32GB 128GB〜 バッテリー 3,300mAh 4,700mAh OS Android 10 / 11 Android 14
  10. 成功に導くために押さえておきたいポイント ⚫ ストア公開の必要有無 ⚫ 一般公開 (ストア公開) ⚫ ガイドライン準拠、ストア審査、ストアの各種設定が必要 ⚫ 社内利用

    (テスト配信) ⚫ ストア審査不要、または簡易審査 ⚫ 限られたユーザーのみ有効、有効期限あり 23 Company Store Customers Company Store 【一般公開 (ストア公開) 】 【社内利用 (テスト配信) 】
  11. 成功に導くために押さえておきたいポイント ⚫ ストア公開の必要有無 ⚫ テスト配信の種類 ⚫ 内部テスト ⚫ 審査が不要、社内の限られたユーザー向け ⚫

    開発段階の動作確認に最適 ⚫ 外部テスト ⚫ 審査が必要。社外も含めた限られたユーザー向け ⚫ 主にはストア公開前の動作確認、フィードバック用として利用 ※ iOSとAndroidとで微妙にストアの制約や呼び名は変わります。 24 Company Store
  12. 成功に導くために押さえておきたいポイント ⚫ ストアのガイドラインの準拠 ⚫ よくある審査落ち事例 ⚫ 動作不良 ⚫ アプリがクラッシュする ⚫

    意図した動作になっていない ⚫ プライバシー対応不足 ⚫ ユーザー登録機能があるが退会機能がない ⚫ コア機能以外で個人情報を収集している ⚫ UI/UXに関する規定 ⚫ 1画面に情報を詰め込みすぎている ⚫ ログインせずとも基本機能は使用できる必要がある ⚫ 課金機能 ⚫ アプリ外へ誘導する文言やリンクが入っている 26
  13. 成功に導くために押さえておきたいポイント ⚫ モバイルアプリ開発における開発言語の選定 ⚫ 開発言語の選定 ⚫ OS特化の言語 (ネイティブ言語) ⚫ Android:Kotlin

    (Google) ⚫ iOS: Swift (Apple) ⚫ クロスプラットフォーム ⚫ React Native (Facebook) ⚫ Flutter (Google) 28 ネイティブ言語 クロスプラットフォーム 開発費用 実質2アプリ分 (Android, iOS) 約半分 (1つのコードで両OSに対応) 保守費用 実質2アプリ分 (Android, iOS) 約半分 (1つのコードで両OSに対応) 新しい技術 最新のOS機能を活用可能 やや劣る(対応が遅い)場合あり パフォーマンス 高い 若干劣る可能性あり
  14. 成功に導くために押さえておきたいポイント ⚫ モバイルアプリ開発における開発言語の選定 ⚫ 選択の基準 ⚫ アプリの要件や目的に応じて最適な方法を選択することが大切 ⚫ ネイティブ言語例:RIZAP (ヘルスケア機器連携)、ポケモンGO

    (VR/AR) ⚫ クロスプラットフォーム例:Uber Eats (難しい機能を要せず開発効率重視) 30 ネイティブ言語 クロスプラットフォーム 開発費用 実質2アプリ分 (Android, iOS) 約半分 (1つのコードで両OSに対応) 保守費用 実質2アプリ分 (Android, iOS) 約半分 (1つのコードで両OSに対応) 新しい技術 最新のOS機能を活用可能 やや劣る(対応が遅い)場合あり パフォーマンス 高い 若干劣る可能性あり
  15. 成功に導くために押さえておきたいポイント ⚫ 提案された技術スタックの確認 ⚫ アプリを構成する中身(技術スタック)を開発者任せにしないこと ⚫ 技術的な知見がなくても確認できる観点で確認することが大切 ⚫ よくある問題発生例 ⚫

    古い技術構成なため、機能追加や保守が困難 ⚫ 最新の技術やサービスを多様したが、繁栄せずに廃れて機能が使えなくなる ⚫ 過度に高度で複雑な技術を使用し、開発や保守のコストが上がる ⚫ 別の開発ベンダーへ移行検討時に、上記の理由で移行先がが見つからない 31
  16. 成功に導くために押さえておきたいポイント ⚫ 提案された技術スタックの確認 ⚫ アプリを構成する中身(技術スタック)を開発者任せにしないこと ⚫ 技術的な知見がなくても確認できる観点で確認することが大切 ⚫ 確認すべきな主なポイント ⚫

    広く採用されている技術か (普及度) ⚫ 保守運用が容易な技術か (コスト面) ⚫ 移行や連携がしやすいか (他ベンダー対応) ⚫ アップデートや新機能追加が容易か(拡張性) 32
  17. 成功に導くために押さえておきたいポイント ⚫ 余裕のある実装期間の確保 ⚫ 問題なくスムーズに実装が完了することは稀と知る ⚫ 異なるベンダー間の認識一致が鍵 ⚫ 想定される問題 ⚫

    認識の不一致:要件の解釈にズレが生じる ⚫ 仕様書の不備:仕様書通りに実装してもエラーが発生する ⚫ 発生するロス ⚫ 確認待ちや出戻りなどのロスタイム ⚫ 発注者のベンダー間のやり取りや調整作業負担の増加 34 仕様確認、意思伝達 仕様確認、意思伝達 認識の齟齬
  18. 成功に導くために押さえておきたいポイント ⚫ 余裕のある実装期間の確保 ⚫ 問題なくスムーズに実装が完了することは稀と知る ⚫ 異なるベンダー間の認識一致が鍵 ⚫ 想定される問題 ⚫

    発生するロス ⚫ 改善策 ⚫ 余裕を持ったスケジュール設定 ⚫ 同じベンダーにモバイルアプリとサーバー側の開発を依頼する 35 意思疎通が容易 認識齟齬が起きにくい
  19. 本日のまとめ ⚫ 成功に導くために押さえておきたいポイント ⚫ 企画 ⚫ 目的と課題の明確化 ⚫ 既存ツールや既存サービスとの比較検討 ⚫

    システム連携 ⚫ リリース後を見据えた計画 ⚫ 要件定義 ⚫ 対応OSの選定 ⚫ デバイス種別による違い ⚫ ストア公開の必要有無 ⚫ ストアのガイドラインの準拠 39