Aqutras Members' Blog

株式会社アキュトラスのメンバーが、技術情報などを楽しく書いています。

Re:ゼロから始めるガントチャート生活

1週間ぶりになります、joniyです。

このブログの出だしの言葉の「お久しぶりです」率の高さがそろそろ皆さん気になってきた頃ではないでしょうか。 私、気になります!はい、余談でした。

Re:ゼロから始める異世界生活が2クールと知って歓喜しております。 1章2章も素晴らしかったですが、本番は3章ですね!楽しみですが見たいような見たくないような辛さを感じます...。
1クール丸々使って丁寧にやって欲しいですね。

Re:ゼロではスバルは死に戻ることで起こってしまう未来を回避することができますが、現実では死んでもやり直すことは出来ません。 やり直したいと思わないようにプロジェクトを成功させる or 可能な限り失敗を減らす 方法を常に模索していきたいですよね。

さて今回は、アジャイル開発におけるスケジュール調整に役立ちそうな手法を思いついて実践してみたら、 結構良い感じにプロジェクトが回ったので紹介します!

どうしてプロジェクトは失敗するのか?

プロジェクトが失敗した経験は少なからずみなさんあるかと思います。
プロジェクトが失敗する原因の多くは、スケジュール通りにタスクを消化できていないからだったのではないでしょうか。 スケジュールを守れていない箇所が一つでもあると、そこからだんだんとズレが増えていき、 最終的に大きく遅れてしまった...。 ということになります。

遅れているなら、他の人が手伝えば取り戻せる話では無いのか? と思う方もいらっしゃるかと思います。 もちろんその通りです。 遅れていることをしっかり報告でき、助けを求めることができるのであれば、小さなズレもすぐに治すことができます。

しかし、多くの場合は助けを求めずに必死で努力して結局遅れてしまい、 後から取り掛かるタスクに手を付けるのが遅れてしまいがちです。

常に、タスク状況を共有していれば、このようなことを減らすことができるかと思います。 遅れることが分かってさえいれば、手助けすることもできますし、スケジュール自体をずらすこともできます。

つまり、プロジェクトが失敗する根本の原因は、スケジュールを守れないことではなく、 各タスク状況の共有が不足しているからだと考えています。

ガントチャートの例

では本題に入ります。

f:id:joniy_joniy:20160624090736p:plain

例を示しながらどのようにガントチャートを用いてスケジュールを決めていくか解説します。

このプロジェクトにはたろうさんとよしのりさんの二人しかいません。締め切り間際で追い込みかけることになったら辛そうですね(
例なので、タスクの数が少ないですが、もっと多くても問題ないかと思います。 青系統の色で示しているのが、このプロジェクトのタスク、 赤系統の色で示しているのが、別プロジェクトだったり、出張だったりと別のタスクです。

この例では06/06時点でのガントチャートを示しています。

おおまかなスケジュールを立てる

スケジュールを守ろうと必死になってタスク状況の共有ができないのであれば、 タスク状況の共有を重視してスケジュールを決めれば良いのです。

どういうことかと言いますと、スケジュール自体は大まかに決めます。 6月にスタートしたプロジェクトで7/1がデッドライン!とだけ決めます。
(締切は最初から決められていることがほとんどだとは思いますが)

そこからここまでには終わっておきたいタスクを決めていきます。 担当者も決めておきますが、状況によって他の人でもやっていいことにします。 タスクに取り掛かるのは、だいだいここからここの間とだけ決めておきます。

このように全体のスケジュール自体はおおまかに決めるに留めます。

例では、薄い色で示しているタスクが大まかに決めたスケジュールです。

濃い色で示しているものは、後述する厳密に決めたスケジュールです。

直近のスケジュールだけ厳密に決める

全体のスケジュールはおおまかに決めました。
次は直近のスケジュールを具体的に、厳密に決定します。 1ヶ月のプロジェクトであれば、1週間毎を目安に誰がいつまでにどのタスクを消化するのかを決めます。 そしてガントチャートには毎日自分の担当タスクの消化状況を%表記で記載していきます。

これによって、誰が遅れているのか誰が余裕があるのかが明確にわかるようになり、
「ちょっとあそこ辛そうだから手伝ってあげて!」とヘルプしやすくなります。
(ヘルプ頼まれるのが面倒だから進捗状況を悪く記載する人が出てきそうな気もしますが)

リスケ日を細かく設ける

厳密に決めたスケジュールが終わると、次のスケジュールを厳密に決めます。
タスクの消化状況によって、前のタスクを伸ばすこともあるのでリスケですね。 例では、毎週月曜日がリスケ日となっています。

この時点で、前の期間に割り振っていたタスクの消化状況を確認します。 遅れの出ているものがあればそのことを考慮する必要がありますし、 早く終わって別のタスクにとりかかっているところがあったらそのタスクの終了予定日を早める。

といった感じで、始めに区切った大まかなスケジュールをタスク消化状況を考慮しながら 具体的に区切っていきます。

振り返り

f:id:joniy_joniy:20160624090736p:plain

では、ガントチャートをもう一度振り返ってみましょう。
よしのりさんはタスクの消化が早いですね。 06/06時点ですでに06/10に終了予定であったtask7が終わっています。 これがわかることによって、これから先のターンでも早めにタスクを完了してくれそうなことが伺えるので、安心して任せることができます。

それに対して、たろうさんは順調にタスクを消化出来ているように見えますが、 プロジェクト外のタスクであるother6の進捗状況が心配ですね。足を引っ張って伸びていきそうな雰囲気が感じ取れます。 このように、遅れの出そうな原因も見つけることもできます。

終わりに

リスケを何度もすることで最終的なスケジュールのズレを極力減らすガントチャートの使い方を解説しました。 まだ、これを試しているプロジェクトは完了していませんが、大体上手く進んでいるので、 他のプロジェクトでも試してみようかなと考えています。

タイトルのRe:ゼロ要素は冒頭にのみあります(
それではまた!