アプリケーション開発の開発工程(リマインドノート)
↓
①企画:APPの内容を考案
・課題をヒアリングする対象者を選定
例)友人、社会問題を抱える架空の人物など
↓
・対象者の属性をヒアリング
例)性別、年代など
↓
・対象者の抱えている課題を洗い出し
例)学習を継続できないなど
↓
・課題の深掘り
※課題に対し、「なぜ?」を繰り返し、原因を深掘り
例)学習を継続できないの場合
↓
・課題解決をできるAPPの考案
例)APP内容 : 目標のシェアで、ユーザー同士で励まし合えるAPP
↓
・ユーザーストーリーの考案
例)目標シェアのためには? : 目標管理機能
例)ユーザー同士の励まし合いは? : ユーザー管理機能、コメント管理機能
↓
・+@の考案
例)より便利にするには? : フォロー管理機能、お気に入り管理機能
例)ユーザーを増やすには? : SNSログイン機能、SNS共有機能
例)マネタイズ化するには? : 投げ銭システム管理機能
↓
②要件定義:APPの仕様と要件の洗い出し
「機能(大分類)」:実装したい機能を大小で分ける。
「機能(小分類)」:実装したい機能を大小で分ける。
「要件」:機能の要件を箇条書きで整理
「所要時間の目安」:見積もり時間
「優先順位」:実装の優先順位を概略記入する。
※優先順位で意識するポイント
・その機能がAPPの成立する上で重要か?:例えば、メモAPPにメモ機能がないと成立しない。
・解決したい課題との関連度:企画で決めた課題にどれぐらい影響するか
・実装時間は十分か?:そもそも時間がないと、誰かに見てもらえるAPPにならない。
↓
③設計:開発に必要なDBと画面遷移の設計
・DB設計:draw.ioなどを使い、ER図作成
↓
・画面遷移図作成:draw.ioなどを使う。
↓
・フロントデザインを書き出してみる:手書きでOK。時間をかけすぎないこと。
↓
④開発:プログラミング言語を使用し、開発
・タスク管理:GitHubプロジェクトボードなどでタスク管理
・コミットはこまめ:機能完成後、一気にコミットを行うのではなく、作業単位でこまめにコミット
・フロントのマークアップに時間をかけすぎないように注意:サーバーサイドを実装する時間が減り、APPの完成ができなくなってしまう恐れがあり
※bootstrapなど、ツールの利用もありだが、使いこなすまで時間が必要の為、スケジュールを確認
・むやみに不慣れな言語は使用しない:時間がかかってしまう恐れがある。
★デプロイは先に行う:最初からコードをGitHubで管理することと同時に、1つの機能が作り終わったタイミングで、デプロイを実施。
※まとめてするとトラブルの原因になる恐れあり。
★エラー発生時は、質問してみる
※Teratail,MENTAなど
↓
⑤テスト:開発した機能のテスト実施や品質検証
・単体テストコードや統合テストコードを記述:実装した機能ごとに、必ずテストを実施(APPの品質を担保のため)
↓
⑥運用/保守:リリース後のバグ対処や追加機能実装
・時間に余裕を持ってデプロイ、挙動確認を実施:機能ごとにこまめにデプロイを実施し、その都度必ず本番環境での挙動確認を実施
・エラーが起きる・意図しない挙動が起きる場合は、デプロイログを参考にコード修正を実施