ソフトウェア開発プロジェクトの進め方(私家版)
1. 前提条件
- WEBサービスやWEBアプリの開発
- チームは3-7名程度
- ある程度方向性が決まっている
2. 全体計画
プロジェクトチャーターの作成
- プロジェクトの目的や意義をまとめ、チームで共有する
スキルマップの作成
- 誰が何をできるのか、どういう事をしたいのかを明確にした上でチームで共有する
成果物の定義
- プロジェクトの成果物を洗い出す
- 何を作ればプロジェクトが完了するのかを考えながら成果物を設定する
- とりあえず全て洗い出した後、必須項目や優先順位を設定していく
- 機能、UI、外部システム連携を中心に成果物の全容を洗い出す
タスクの分解
- 成果物が定義できたら、それらを作るためのタスクを分解する
- 原則として、タスクの粒度は2日で終わる規模を目安とする
- タスクは完了条件を明確にする
- 正確に分解できない場合は調査タスクを入れておくのがよい
- 調査/検討に2日、実装に2日みたいな設定が塩梅が良い
- 完全に未知のタスクはアプローチの検討からタスクを作る
- 分解されたタスクは課題管理システム的なものに登録する
概算見積もり
- 分解されたタスクを元に予想工数を算出する
- この時点で納期(仮)に間に合いそうになければ成果物の取捨選択や納期の延長などを検討する
マイルストーンの設定
- 工程や中間成果物などで大まかなマイルストーンを設定する
- いつまでに何が完了されているべきか?
- ゴールから逆算して考えるとよい
- 単なる工程ベースではなく、工程と成果物を組合せたマイルストーンを設定する
3. 週次計画
週単位でやることを決める
- 週単位でやっていくタスクを検討する
- 原則週次MTGで決める
- 1〜2週間程度の予定を立てる
- 計画はマイルストーンに基づき優先度や重要度の高い順に進めていく
4. 実行
開発
日時MTG
- 朝会(or 夕会)はチームが好きな方で
- 日時MTGで随時状況を共有
- 問題があれば随時対応していく
5. レビュー/フィードバック
週次MTG
- 週ごとの進捗確認MTG
- 週ごとの成果を確認し、次週やることを整理する
- 週次レビューの結果を元に計画との乖離を調べ、全体計画にフィードバックする
- 余力があれば週次レポート的なものを書いてもいい(大抵は書かない)
課題整理
- 課題(困っていること)の整理と対応策の検討
- 週次MTGでは共有のみ行い、結論を出す必要はない(時間が掛かるため)
- 課題はスプレッドシートなどで管理し、随時メンバーが書き込めるようにしておく
全体計画へのフィードバック
- 全体計画の変更が必要になるようであれば、全体計画を更新する
- 停滞しているタスクがあれば担当者の変更やタスクの再分割を検討する
参考資料
関連文書