9月スタッフ会合を行いまいした。
こんにちは〜!
スタッフのこばけんです!
9月16日にスタッフ会合が開催されましたので、その内容を共有したいと思います!
アジェンダはこちら!
社員ワークショップ
今回のワークショップは...
スケジュール
を行いました!!
スケジュールとは
スケジュールとは、期限までに完成させられるようにするもので、以下の目的があります。
- 期間内に効率的に仕事を終わらせるため
- システムの開発開始から終了までの日程を可視化する
- プロジェクトに関係している人とスケジュールを共有するため
スケジュールには大きく分けて二つ存在しており、マスタースケジュールと詳細スケジュールがあります。
以下に、二つの概要を記述しておきました。
- マスタースケジュール
- プロジェクト全体のマイルストーンに沿ったスケジュール
- お客さんとのスケジュール共有にも
マスタースケジュールイメージ図
- 詳細スケジュール
- 開発時に使うスケジュール
- どれくらいの期間でその機能を作るのか分かる
今回は詳細スケジュールについて触れていきます。
WBS + ガントチャート(ウォーターフォール)
詳細スケジュールの一種で、主にウォーターフォール型開発で利用されます。WBSとは、システムで必要な機能をトップダウン方式で洗い出し、担当者が割り当てられるタスクの大きさまで分解したもので、以下のような成果物が生成されます。
ガントチャートとは、各タスクに必要な作業時間を割り当て、あらかじめ各タスクの前後関係をつけ、マイルストーンに間に合うようにタスクをつなげてスケジュールを組むものです。
WBS + ガントチャートのスケジューリングは以下の手順を踏んで行っていきます。
- システムに必要な機能をWBSで洗い出す
- 各タスクに必要な時間を見積もる
- 各タスクに前後関係(優先順位)をつける
- マイルストーンに間に合うように、各タスクをつなげる
- 各タスクに担当者を割り当てる
- ボトルネックになるタスク(クリティカルパス)があれば、スケジュールを再調整する
メリット
- 全体のタスクが視覚的にわかりやすい
- 担当者が次に何をやるのかが決まっている
デメリット
- タスクには前後関係があるので、後続のタスクが影響されやすい
- スケジュールに変更があると再度スケジュールを作り直す(リスケ)のが大変
- タスクごとの開発期間が決められているので、開発者は時間ををめいっぱい使おうとする
- クリティカルパスのタスクが遅れるとスケジュールが遅れる
これらの作業は大体、プロジェクトマネージャ(PM)が事前に完成させておくものです。
スプリント(アジャイル)
こちらも詳細スケジュールの一つで、主にアジャイルのスクラム開発で利用されます。
スプリント計画のスケジューリングは以下の手順を踏んで行っていきます。
- 要件から全ストーリーを洗い出し、ポイントを割り振る
- ストーリーの優先順位を決める(プロダクトバックログ)
- スプリントの期間を決める
- 開発メンバを想定して、チームの生産性(ベロシティ)を出す
- 生産性を元に必要なスプリントの回数を出す
- 優先順位を元に各スプリントにストーリーを割り当てる(スプリントバックログ)
メリット
- スケジュールの変更が起きた場合、スプリント感でストーリーの入れ替えを行うだけで良いのでスケジュールを引き直し易い(リスケしやすい)
- チームでどのようにスプリント内のストーリーを終わらせるかを検討するので、個人が遅れてもカバーしやすい。
- スプリント内で機能が完成するので、お客さんからのフィードバックがもらえて、修正が行える
デメリット
- 要件からリリースまでをスプリント内で決めていくので、要件がなかなか決まらないとスケジュールが崩れる
- チームで進捗管理を行っていくため、各個人の進捗が見えづらい
スクラム(アジャイル)の特徴より、チームみんなで一緒に作り出していくものになっています。
今回はスプリント計画を行いました!
今回の演習では、スプリント計画を実施しました。
演習の流れはこんな感じでした。
プロダクトバックログの作成
まず初めに、プロダクトバックログというものを作成します。プロダクトバックログはというと、プロジェクトを完了させるために必要なすべての機能が優先順位順にソートされているリストのことです。前回のワークショップで作成した機能一覧からタスクを作成していきます。
スプリント数の計算
プロダクトバックログ作成後、それらのタスク(機能)のポイントから必要なスプリントを計算していきます。スプリントとは、開発を行っていくにあたってのひとまとまりの期間であり、その中で開発、まとめ、レビュー、調整を繰り返していきます。スプリントは短くても1週間、長くても4週間程度にするのが無難です。プロジェクトの規模にもよりますが、普通1スプリント2週間で回していきます。
スプリント数、及びプロジェクト期間の計算に必要な要素を以下にまとめてみました。
項目 | 概要 | 計算式 |
---|---|---|
全ポイント数 | タスクに割り振った人日の合計ポイント | |
バッファ係数 | 想定されるリスクに応じて設定 | |
1ポイント辺りの作業時間 | 1ポイント辺りの作業時間 | |
1スプリントの期間(日) | 1週間(5日)、2週間(10日)、3週間(15日)、4週間(20日) | |
1日1人の作業時間 | 1人が1日にかけられる作業時間 | |
開発人数 | 全体の開発人数 | |
全ポイント数(バッファ込み) | プロジェクト内で消化していく全ポイント | 全ポイント数 × バッファ係数 |
総作業時間 | プロジェクトに掛かる総作業時間 | 全ポイント数(バッファ込み) × 1ポイント辺りの作業時間 |
1日チームの作業時間 | チームが一日にかけられる作業時間 | 1日1人の作業時間 × 開発人数 |
1スプリントの作業時間 | 1スプリントにかけられる作業時間 | 1スプリントの期間 × 1日チームの作業時間 |
1スプリントの消化可能ポイント数 | 1スプリントで消化可能なポイント数 | 1スプリントの作業時間 ÷ 1ポイント辺りの作業時間 |
スプリント数 | 必要なスプリント数 | 全ポイント数 ÷ 1スプリントの消化可能ポイント数 |
概算プロジェクト期間 | 開発にかかるプロジェクト期間 | スプリント数 × 1スプリントの期間 ÷ 20 |
以上の要素からスプリント数を割り出すことができます!
また、概算したプロジェクト期間も割り出すことができるので、規模感もここで数値的に分かってきます。
スプリントバックログの作成
スプリント数が割り出せたら、ようやくスプリントバックログを作成することができます!
スプリントを作成し、「1スプリントの期間(日)」で決めた期間を設定してください。プロダクトバックログの優先順位に注意しながら、スプリントバックログの優先順位に注意しながら、スプリントバックログ内にタスクを割り当てます。「1スプリントの消化可能ポイント数」を基本超えないように注意しましょう。
ワークショップの様子
作業中のスタッフたち
各チームの発表
フリー枠
今回はこちらのテーマで発表してくれました!
映画について
「スパイダーマン」で有名なMarvelの映画について発表してくれました!
自分は戦隊ヒーローや仮面ライダーが好きということもあり、同じヒーローという点で惹かれるものがたくさんありました!
ゲームの話1
あの有名(?)な「シャドウゲイト」のお話です!
プレイヤーにやたら不憫な仕様満載のレトロゲーです。どうやら今3DSのバーチャルコンソールで登場している模様。気になる人は是非プレイしてみてはいかが?!
ゲームの話2
先ほどとは打って変わって、こちらはGC王道の「スーパーマリオサンシャイン」
発売が14年前ということで、時代の流れを感じました...(因みに発売当初、私は小二でした)