アプリ開発スケジュールの立て方

最近とあるスマートフォンアプリの開発をしていまして、その開発スケジュールを立てることになりました。

ただ開発スケジュールについては今まで立ててもらってばかりで、自分で立てた経験が無いなーと思ったので、立て方について色々と調べたり経験者の方に聞いたりしてみました。

その内容のまとめをちらっと会社の日報に書いていたのですが、あとで見返せるようにブログにおこしておくことにしました。

マイルストーンを明確に設定すること

  • そもそもマイルストーンとは?…
    • 道路に1マイルごとに置かれた標石のこと
    • スケジュール上の「重要な節目」となる日
  • 設定しておくことで…
    • スケジュール遅延を早期に認識することができる
    • 目標が出来ることによるチームメンバーのモチベーション向上

スケジュール、コスト配分の目安

  • 目安となるスケジュール、コストの配分としては、設計:3分の1、開発:3分の1、テスト:3分の1 程度
    • この配分は従来のシステム開発の場合の配分なので、あくまで参考
    • アプリ開発の場合は体系立てて設計やテストの期間をきっちりと取らずに、開発と並行してそこら辺をカバーしていくことも
    • 品質を重視するなら、テストの配分をもっと増やす
  • バッファも含めて余裕のある開発期間を取るよりは、テスト期間やバッファのための期間を作るようがよい

スケジュールの引き方の手順

  1. 大枠のマイルストーンを決める(リリース日など)
  2. 各開発者の稼動日を分かる範囲で明らかにしておく
  3. 必要なタスクを洗い出す
  4. タスクの作業工数を決定する
    • 開発者を含めた複数の人が複数の視点で決定することが望ましい
    • マイルストーンに作業が収まり切らない場合は人員投入や複数人での並行作業も検討
    • 全てのタスクの工数を出した時点で現状の人員で大枠のマイルストーンを達成可能か確認する
  5. タスクの優先度を決める
  6. タスク間の依存関係を明らかにする(あれが終わってないとこれが出来ないとか)
  7. タスクの担当者を決め作業工数を元にスケジュールを引いていく
    • タスクの対応順番は依存関係や優先度を考慮して決める
  8. プロジェクトの重要なポイントとなる節目を決め細かいマイルストーンを追加する(○○機能完成など)
  9. 出来上がったスケジュールを見直し確認する(ウェブ管理の場合はガントチャートを見るとよい)

Backlog や Redmine などの Web ツールを用いる場合もエクセルを用いてスケジュール管理する場合も同様です。

出来上がったスケジュール確認で見るべきポイント

  • スケジュールの実現性や余裕感
    • 多少のことが起きてもリスケしなくても大丈夫なスケジュール
  • 作業間の依存関係が正しいかどうか
  • 担当者が同じ期間に複数の作業をしていないかどうか
  • タスクの人員アサインが最適かどうか
    • タスクの難易度に対しての開発者の技量の考慮
    • 開発者の得意分野の考慮

プロジェクトの中心はやはり人

  • 最も忘れてはならないこと

ついでに最近の創作メモ帳について

開設当初はPHPやウェブ系技術のことばかり書いてたのに、最近は上流工程のことやらMac設定云々の話題やら、幅広くなってます。。

だんだん内容がブログ説明文にそぐわなくなってきて、方向性が迷走してるような気がしますが気にしないことにしますw

たぶんまたPHPに戻りそうなので。たぶん。

2014/11/11: スケジュールの引き方の手順など少し更新しました。