先日,現ライフイズテックCTO,元スクウェア・エニックスCTOの橋本善久さんのタスク管理講座を受けさせていただきました.
本人にもFacebookメッセージで直接お礼を言いましたが,とても参考になったので,少しまとめておこうと思います.
橋本さん本人がスクエニ時代に作成された資料がネット上に上がっているので紹介しておきます.
目次
プロジェクトとは
まず,ここで使用する「プロジェクト」の意味しているところの説明からです.
「何かしらのアウトプットを期間内にまとめ上げること」としています.
大きいプロジェクトから小さいプロジェクト,一人のプロジェクトまで様々ですが,個人アプリ作成,チーム開発など,上記の条件をみたすものを今回はプロジェクトと呼ぶこととします.
基本的なタスク処理の考え方は同じなはずです.
プロジェクトを目標通りに終わらせるためには?
プロジェクトを目標通りに完全に終わらせるためにはどうすればいいのでしょうか.
プロジェクトを目標通りに終わらせることは無理.
予定より遅れることだけが目標からのずれではないので,結果的に目標通りには終わりません.
では,計画がずれてしまう原因は何なのでしょうか.
-
想定していた作業項目数と実際の作業項目数が違う.
-
想定していた必要作業時間とタスクを処理するのに実際に掛った時間が違う.
-
想定していた確保できる作業時間と実際に出来た作業時間が違う.
この3つです.
この3つの要因によるプロジェクト進行のずれこみをなくすにはどうすればいいのでしょうか.
それをなくすためにプロジェクトの段取りを行う必要があり,その段取りこそがタスク計画と呼ばれるものです.
タスク計画
それでは,実際に「メモ帳アプリを作成する」というプロジェクトを例にしてタスク計画をやってみることにします.
作業項目を洗い出す
まずやることは,作業項目を洗い出すことです.
「メモ帳アプリの作成にはメモの保存機能がいて,編集機能作って…」とざっくり考えるだけではダメです.
そこまでざっくりしていると,先ほど述べた想定していた作業項目と実際の作業項目に差異が生じてきます.
この洗い出し作業の時に有効なツールがマインドマップになります.
「え?マインドマップってアイデア出しに使うあれ?」
はい,私も橋本さんがそう言った時同じことを思いました.
橋本さんが使っていた,MindNodeというアプリを使ってタスク分解をしていきます.
MindNodeのフリーはこちらからMindNode
MindNode,開くとこんな感じです.
もちろん,マインドマップさえあればいいので紙でやってもらって大丈夫です.
では,中心に今回のプロジェクトを書きます.今回は「メモ帳アプリの作成」ですね.
次に,直感でこの作成にどのくらい時間がかかるかをその下に書きます.
5時間くらいあったらできるかなー?という予想.
次に,やるべきことを大きいくくりで書き出していきます.
今回は,設計,プログラム作成,デザイン,テスト,リリースの5工程に分けました.
そして,欲しい機能や状況を考慮しながら,タスクを分解していきます.
先ほど書いた大きいくくりをどんどん小さい単位に細分化していきます.
これでだいぶ自分がやるべきことが明確になったのではないでしょうか?
これ,やってみるとわかりますが,意外と時間かからないのです.10分もあればタスクの洗い出しが終わります.
わずか10分で自分のやるべきことが明確になる,やらなきゃ損じゃないですか?
項目ごとの作業時間を見積もる
項目の洗い出しが終わったら,その項目がそれぞれどのくらいの時間がかかるのかを見積もっていきます.
まずは1個ずつの細かいタスクにかかる時間を予測して記入していきます.
あら,意外とそれぞれに分けるてみると時間がかかりそうだなというのを感じると思います.
そうです,直感とは結構離れているのがわかるのです.自分の見積もり能力の低さを実感します.
細かいのが全部かけたら,合計していきます.
細かいタスクの和を求めて行って,最終的にプロジェクトにかかる時間を見積もります.
どうでしょうか.5時間ぐらいでできるかなーというのがいかに甘かったか実感できましたでしょうか.
時間の予測も,それほど時間はかからなかったと思います.
おそらく5分くらいですが,これだけで予測よりもだいぶ正確な時間の見積もりが出せました.
作業可能時間を見積もる
なににどのくらいの時間がかかるかがわかったら,あとはそれに使える時間をカレンダーと相談しながら見積もっていきます.
使える時間の見積もりはどんなやり方でもいいですが,こちらのシートなどを使うと,何日にどれだけの時間が使えそうかを簡単に見積もれそうです.
http://family.president.co.jp/fileadmin/user_upload/family/article/2015/katuyouA3.pdf
リンク先のはこんな感じのもの.
時間不足への対策
作業可能時間を見積もり,作業に費やす時間を見積もるとだいぶ見通しが立つようになってきます.そしてその後,気づくと思います.「あ,時間がない」
大抵の場合,必要な時間 > 使える時間となります.
また,見積もったよりも多くの時間が実際にはかかってしまうとかよくあることなのでそうなると…(そうならないように出来るだけさきほどのマインドマップで細かく分けておくことが必要.)
この時点で足りなかったらどうしようもありません.
時間不足への対策としては以下のようなことがあります.
-
やることを減らす
-
品質を下げる
-
内容を変える
-
根性
人員増員,ツールの変更等で生産性向上,期限を伸ばすなどもありますが,今回の橋本さんの講座は学生向けであったため,これらは対象外です.
根性…はちょっと…ですね.ひたすら徹夜をして…って一日とかならまだいいかもしれませんが,数日続くと体調を崩したり,昼寝をしてしまったりと逆に効率が悪くなってしまいます.
そこで,内容の部分に目を向けます.
やることを減らす,品質を下げる,内容を変える,どれにも共通していることだと思いますが,よく考えてみると実際そこまで大事じゃない機能をつけようとしていることもあります.
そこで,作業に優先順位をつけていきます.
絶対に外せない心臓部分から着手し,その次にあったほうがいいがなくても良い機能,どっちでも良い機能と拡大していきます.
自分の持ち時間と比較して,タスクをソートして項目を減らしていきます.
この時に有用になるのが,優先順位マトリクスです.
画像引用: ゲーム開発
プロジェクトマネジメント講座 スライド182枚目
縦軸に重要度,横軸に難易度を取ります.
タスクたちを配置してみて,低重要度なものは切り捨てていきます.
重要度が中間で高難易度なものはとても危険です.切り捨てましょう.
そして,まずは重要度が高いが難易度が高いものをテストします.どんな技術でできるのか検証したり,プロトタイプを作成してみます.
不確定要素が多いものを後に持ってきてしまうと,あとでどんどん時間がなくなってしまいます.
次に高難易度で難易度が中のものを出来るだけ早期に検証実験を行います.
その後,高重要度低難易度を迷わず作ります.
その後は,時間と相談しながら,残り僅かなら中重要度低難易度を先に片付けるのもよし,時間に余裕があるなら中重要度中難易度を実験を入れながら進めていくのもよしです.最終的に時間が余ったら切り捨てていったものに手を付けましょう.
タスク計画完了
作業項目を洗い出し,作業にかかる時間を見積もり,作業可能時間を見積もり,作業優先順位を決めました.
かなり見通しが立ち,リスクもだいぶ減ったのではないでしょうか.
あとは時間配分.よくあるのが,準備や最後の調整に時間を割かず,本制作でいっぱいいっぱいになってしまうパターン.
アイデアや設計,プロトタイプ設計に費やす準備の時間,ものを実際に作る本制作にかける時間,最後の作りこみや修正にかける調整時間.
この比率は1:1:1が理想らしいです.そうすれば多少ずれ込んでも対処できる.
最初からギリギリを想定しているとやりきれなかったということになります.
最後に
と,約2時間のタスク管理講座でしたが,いろいろなことを学べました.
普段メモをとらない僕がガッツリメモってましたから…笑
この講座の内容,これからもずっと役に立つことだと思うので,大切にしていきたいです.
こんな機会をくださったことに感謝です.
「やることが多い時は睡眠時間削ればいいやー」とか思ってた時もありましたが,それは違うということを思い知らされた1日でした.