Slide 1

Slide 1 text

失敗しないモバイルアプリ開発 企画者が知っておくべき開発の流れと検討のポイント NCDC Online Seminar 2025 / 01 / 30 NCDC株式会社

Slide 2

Slide 2 text

自己紹介 2 エンジニア 塚本 雄人 モバイルアプリ開発を得意とするフロントエン ドエンジニア。 要件定義から開発、保守運用フェーズまで、ア プリ開発プロジェクト全体に携わり、高品質な プロダクト提供に貢献。 車載システム開発等異なる領域で得た幅広い知 識と経験を活かし、プラットフォーム固有の仕 様やユーザー体験を考慮した設計・実装を強み とする。

Slide 3

Slide 3 text

本セミナーについて

Slide 4

Slide 4 text

本セミナーについて ⚫ 本セミナーでは、モバイルアプリ開発を検討する際のポイントや注 意点ついてお話します ⚫ 以降、以下の項目についてそれぞれお話します ⚫ モバイルアプリについて ⚫ モバイルアプリ開発の全体的な流れ ⚫ 成功に導くために押さえておきたいポイント 4

Slide 5

Slide 5 text

モバイルアプリについて

Slide 6

Slide 6 text

モバイルアプリについて ⚫ 「モバイルアプリ: Mobile Application」とは ⚫ スマートフォンやタブレットなどのモバイルデバイスに、直接インス トールすることで動作するアプリのことを指します 6

Slide 7

Slide 7 text

モバイルアプリについて ⚫ Webアプリケーションとの違い 7 特徴 モバイルアプリ Webアプリ 利用方法 ストアからインストールが必要 ブラウザ上で動作(Safari, chrome) 通信要件 起動時に通信不要(オフライン可) 通信環境が必要 デバイス連携 カメラ、位置情報、Bluetoothなどの デバイス機能が連携しやすい 一部デバイス機能に制限あり 互換性 機種やOSで動作が異なる場合あり どの端末でも基本的には同じ動作 リリース ストアの審査あり いつでもリリース可能 容量負荷 デバイスのストレージを使用 ブラウザが使用するストレージのみ バージョン依存 OSアップデートに追随が必要 使用ブラウザのバージョン (影響は少) 開発コスト プラットフォームごとの開発が 必要になる場合あり プラットフォーム共通

Slide 8

Slide 8 text

モバイルアプリ開発の全体的な流れ

Slide 9

Slide 9 text

モバイルアプリ開発の全体的な流れ ⚫ 大きく以下の流れで開発は進みます 9 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース

Slide 10

Slide 10 text

モバイルアプリ開発の全体的な流れ ⚫ 企画 ⚫ アイデア出し、ターゲットユーザーの確認 ⚫ どんな課題を解決したいか、何を実現したいか ⚫ 要件定義 ⚫ 実現したい機能の洗い出し ⚫ 非機能要件 ⚫ 技術選定 ⚫ フロントエンド、バックエンド、クラウドサービス、etc. 10 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース

Slide 11

Slide 11 text

モバイルアプリ開発の全体的な流れ ⚫ デザイン ⚫ ユーザー体験(UX)の意識、イメージカラーやテーマの検討 ⚫ 実装/テスト ⚫ 要件やデザインを形にする ⚫ リリース ⚫ アプリストアの構築、ストア申請 ⚫ 保守/運用 ⚫ ユーザーの利用状況やフィードバックによる改善 ⚫ バグ修正、新機能の追加、OSやデバイスのアップデート対応 11 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース

Slide 12

Slide 12 text

成功に導くために押さえておきたいポイント

Slide 13

Slide 13 text

成功に導くために押さえておきたいポイント ⚫ 企画フェーズ ⚫ 目的と課題の明確化 ⚫ 既存ツールや既存サービスとの比較検討 ⚫ システム連携 ⚫ リリース後を見据えた計画 13 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース

Slide 14

Slide 14 text

成功に導くために押さえておきたいポイント ⚫ 目的と課題の明確化 ⚫ 解決したい課題は何か、アプリケーションで何を実現したいのか ⚫ 課題や理想的な状態を明確化、可視化 ⚫ アプリケーションは目的達成や課題解決のためのツールであることの再認識 14

Slide 15

Slide 15 text

成功に導くために押さえておきたいポイント ⚫ 既存ツールや既存サービスとの比較検討 ⚫ 世にある既存サービスで解決できないか ⚫ 課題解決にはモバイルアプリが最適なのか ⚫ 市場の競合アプリを調査し、差別化ポイントや自社で開発する意義の 明確化 15 課題 調査 既存サービス 市場調査 競合分析 自社開発の 意義の明確化 新規開発 or

Slide 16

Slide 16 text

成功に導くために押さえておきたいポイント ⚫ システム連携 ⚫ 既存の社内システムや、既存の外部ツールとの連携要件の確認 ⚫ 連携の実現が可能かどうかの確認 16

Slide 17

Slide 17 text

成功に導くために押さえておきたいポイント ⚫ システム連携 ⚫ 既存の社内システムや、既存の外部ツールとの連携要件の確認 ⚫ 連携の実現が可能かどうかの確認 ⚫ 事例1:独自の社内ポータルサイトとの連携 ⚫ 事例2:指定のウェアラブル端末との連携 17 【事例1】 【事例2】

Slide 18

Slide 18 text

成功に導くために押さえておきたいポイント ⚫ リリース後を見据えた計画 ⚫ 継続的な運用に備えたリソースや環境の確保 ⚫ リリースはゴールではなくスタート 18 計画 / 開発 リリース 不具合修正 パフォーマンス改善 ユーザー動向の調査 フィードバック 機能追加要望 機能改善要望 課題解決のための軌道修正・最大化

Slide 19

Slide 19 text

成功に導くために押さえておきたいポイント ⚫ 要件定義フェーズ ⚫ 対応OSの選定 ⚫ デバイス種別による違い ⚫ ストア公開の必要有無 ⚫ ストアのガイドラインの準拠 19 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース

Slide 20

Slide 20 text

成功に導くために押さえておきたいポイント ⚫ 対応OSの選定 ⚫ AndroidとiOSのどちらに対応するか、または両方の対応とするか ⚫ 対応するOSバージョンの範囲と保証期間 ⚫ OSアップデートへの追随計画 20

Slide 21

Slide 21 text

成功に導くために押さえておきたいポイント ⚫ 対応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

Slide 22

Slide 22 text

成功に導くために押さえておきたいポイント ⚫ デバイス種別による違い ⚫ タブレット対応の有無 ⚫ 画面の向き ⚫ 画面サイズ ⚫ メモリやバッテリー、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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

成功に導くために押さえておきたいポイント ⚫ ストア公開の必要有無 ⚫ テスト配信の種類 ⚫ 内部テスト ⚫ 審査が不要、社内の限られたユーザー向け ⚫ 開発段階の動作確認に最適 ⚫ 外部テスト ⚫ 審査が必要。社外も含めた限られたユーザー向け ⚫ 主にはストア公開前の動作確認、フィードバック用として利用 ※ iOSとAndroidとで微妙にストアの制約や呼び名は変わります。 24 Company Store

Slide 25

Slide 25 text

成功に導くために押さえておきたいポイント ⚫ ストアのガイドラインの準拠 ⚫ ストアへのリリースには、各OSのストアが示すガイドラインに準拠して いる必要があり、申請時には審査が必要 ⚫ 要件がガイドラインに沿った機能であることの確認 25

Slide 26

Slide 26 text

成功に導くために押さえておきたいポイント ⚫ ストアのガイドラインの準拠 ⚫ よくある審査落ち事例 ⚫ 動作不良 ⚫ アプリがクラッシュする ⚫ 意図した動作になっていない ⚫ プライバシー対応不足 ⚫ ユーザー登録機能があるが退会機能がない ⚫ コア機能以外で個人情報を収集している ⚫ UI/UXに関する規定 ⚫ 1画面に情報を詰め込みすぎている ⚫ ログインせずとも基本機能は使用できる必要がある ⚫ 課金機能 ⚫ アプリ外へ誘導する文言やリンクが入っている 26

Slide 27

Slide 27 text

成功に導くために押さえておきたいポイント ⚫ 技術選定フェーズ ⚫ モバイルアプリ開発における開発言語の選定 ⚫ 提案された技術スタックの確認 27 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース

Slide 28

Slide 28 text

成功に導くために押さえておきたいポイント ⚫ モバイルアプリ開発における開発言語の選定 ⚫ 開発言語の選定 ⚫ OS特化の言語 (ネイティブ言語) ⚫ Android:Kotlin (Google) ⚫ iOS: Swift (Apple) ⚫ クロスプラットフォーム ⚫ React Native (Facebook) ⚫ Flutter (Google) 28 ネイティブ言語 クロスプラットフォーム 開発費用 実質2アプリ分 (Android, iOS) 約半分 (1つのコードで両OSに対応) 保守費用 実質2アプリ分 (Android, iOS) 約半分 (1つのコードで両OSに対応) 新しい技術 最新のOS機能を活用可能 やや劣る(対応が遅い)場合あり パフォーマンス 高い 若干劣る可能性あり

Slide 29

Slide 29 text

成功に導くために押さえておきたいポイント ⚫ モバイルアプリ開発における開発言語の選定 ⚫ クロスプラットフォームのモバイルアプリ採用企業 ⚫ Flutter:スシロー、マイナビ、じゃらん、ユニクロ、WINTICKET、松屋 ⚫ React Native:Instagram、Facebook、Uber Eats、BURGER KING ⚫ 弊社事例 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

成功に導くために押さえておきたいポイント ⚫ 提案された技術スタックの確認 ⚫ アプリを構成する中身(技術スタック)を開発者任せにしないこと ⚫ 技術的な知見がなくても確認できる観点で確認することが大切 ⚫ 確認すべきな主なポイント ⚫ 広く採用されている技術か (普及度) ⚫ 保守運用が容易な技術か (コスト面) ⚫ 移行や連携がしやすいか (他ベンダー対応) ⚫ アップデートや新機能追加が容易か(拡張性) 32

Slide 33

Slide 33 text

成功に導くために押さえておきたいポイント ⚫ 実装・リリース フェーズ ⚫ 余裕のある実装期間の確保 ⚫ 余裕のあるリリース計画 33 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

成功に導くために押さえておきたいポイント ⚫ 余裕のある実装期間の確保 ⚫ 問題なくスムーズに実装が完了することは稀と知る ⚫ 異なるベンダー間の認識一致が鍵 ⚫ 想定される問題 ⚫ 発生するロス ⚫ 改善策 ⚫ 余裕を持ったスケジュール設定 ⚫ 同じベンダーにモバイルアプリとサーバー側の開発を依頼する 35 意思疎通が容易 認識齟齬が起きにくい

Slide 36

Slide 36 text

成功に導くために押さえておきたいポイント ⚫ 余裕のあるリリース計画 ⚫ ストア審査を想定した計画 ⚫ ストア審査は少なくとも一度はリジェクトされる前提で考える ⚫ 再審査までにかかる工数の把握 36 審査提出 審査 リジェクト リジェクト内容の確認 要件の再確認 実装修正 2〜5日 1〜3日 1〜3日 1サイクル1週間程度を見込む

Slide 37

Slide 37 text

本日のまとめ

Slide 38

Slide 38 text

本日のまとめ ⚫ 本セミナーでは、モバイルアプリ開発を検討する際に押さえておき たいポイントについてお話しました ⚫ モバイルアプリについて ⚫ モバイルアプリ開発の全体的な流れ ⚫ 成功に導くために押さえておきたいポイント 38 保守 / 運用 デザイン 技術選定 要件定義 企画 実装 / テスト リリース

Slide 39

Slide 39 text

本日のまとめ ⚫ 成功に導くために押さえておきたいポイント ⚫ 企画 ⚫ 目的と課題の明確化 ⚫ 既存ツールや既存サービスとの比較検討 ⚫ システム連携 ⚫ リリース後を見据えた計画 ⚫ 要件定義 ⚫ 対応OSの選定 ⚫ デバイス種別による違い ⚫ ストア公開の必要有無 ⚫ ストアのガイドラインの準拠 39

Slide 40

Slide 40 text

本日のまとめ ⚫ 成功に導くために押さえておきたいポイント ⚫ 技術選定 ⚫ モバイルアプリ開発における開発言語の選定 ⚫ 提案された技術スタックの確認 ⚫ 実装・リリース ⚫ 余裕のある実装期間の確保 ⚫ 余裕のあるリリース計画 40

Slide 41

Slide 41 text

No content