この章では,作業記録における注意点や,改善を行う際の着目点について,アスケイド(あるいは私個人)での運用事例を紹介したいと思います。
有用な記録を長く続けるために
作業の記録は:
- 意味のある(= 役立つ)内容であること
- 長期に渡って継続的に記録されていること
が重要です。
そこで,「記録内容」を基にした改善に先立って,まずは「記録方法」そのものに関する改善のポイントを説明します。
正直に記録する
嘘の記録をどんなに分析しても,決して改善には結びつきません。何はなくとも,正直に記録することが重要です。
毎日記録する
ただし「毎日の記録」と「正直な記録」が相反する,たとえば:
出社しているけど,実は全然働いていない
といった場合は,当然「正直な記録」を優先させてください。
分類の工夫
たとえば,自分が属するプロジェクトにおいて, (1) メンバーへの進捗状況の個別確認をしていた際に,技術的な質問を契機として, (2) 成果物に対するちょっとしたレビューを実施してから, (3) 再び進捗状況確認に戻ったとします。
これら一連の作業を細分化して:
| 作業種別 | 開始時刻 | 終了時刻 |
|---|---|---|
| 打ち合わせ | 14:00 | 14:12 |
| レビュー | 14:12 | 14:49 |
| 打ち合わせ | 14:49 | 15:10 |
といった具合に記録しようとすると,あまりの煩雑さに,早々に記録そのものをギブアップしてしまうことでしょう。
もちろん,組織によってはもっとシステマチックな進め方により,このような事態にはならないのかもしれませんが,(とくにソフトウェア開発の現場などは)良し悪しは別として,こういった状況は珍しくないのではないでしょうか。そうであれば,作業の進め方に関する理想論や是非に関する議論は置いておいて,まずは現実的な解を模索する必要があります。
アスケイドでは,「レビュー」や「打ち合わせ」といった直接的に2人以上のメンバーが関与する作業以外にも,「内部メーリングリストへの広報」や「内部Wikiへの情報公開」のような作業は,間接的ではありますが:
「メンバーとのコミュニケーション」のための作業
と位置付け,これらの作業は全て「渉内」という分類で記録する運用ルールを設けています。
そのため,先のような作業は以下のように記録されます。
| 作業種別 | 開始時刻 | 終了時刻 |
|---|---|---|
| 渉内 | 14:00 | 15:10 |
当初は社内でも「打ち合わせとレビューの区別が付かないのは如何なものか?」との意見がありました。
しかしそうなると,そもそも「何人出席したら」「誰が宣言したら」,ひいては「どういった体裁を整えれば」その作業をレビューとみなすのか? といった「レビュー」そのものの定義を決め,誰もがそれを判断できる基準を示さなければなりません。学術的には興味深いかもしれませんが,それだけのコストを払ってまで打ち合わせとレビューを区別したいか? という問題に,我々は「NO」と結論を下したというわけです。
同様の方針から,以下のような作業はアスケイドでは全て「渉外」として分類しています。
- 顧客へのメール送信(新規・返信)
- 打ち合わせ
- 打ち合わせ資料の作成
- 顧客への納品向け作業
それ以外の作業分類としては,主にユニファイドプロセス(Unified Process)におけるワークフロー名(例: 設計・実装・試験)に加えて,以下のような分類も使用しています。
- ●非作業系分類
- プロジェクトに関係しているが,プロセス定義等では扱われない「移動」や「待機」など
- ●非プロジェクト系分類
- プロジェクトから比較的中立な,「メール確認」「社内インフラ整備」「営業活動」など
所要時間記録の精度
忙しい様子のたとえとして「分刻み」などと言いますが,PSPでの作業実績の記録には「分刻み」の精度を求めてはいけません。
もちろん,自分の几帳面さや,対局時計的な機能を提供するPSP補助ツールを信用するのであれば,試してみても良いとは思いますが,私の経験上はあまりお勧めできません。
各タスクの開始/終了は思ったよりも厳密なものではないので,10分ないし15分単位,つまり1時間を6ないし4つの枠に等分して,各時間枠の間に何をやっていたのかを記録する,といったあたりが程度が妥当な精度です。
もし本当に「分刻み」のスケジュールを実践しているとしても,それが本当に効率を追求した結果なのか,それとも色々な作業に目移りしているだけで,無駄なタスク切り替えのオーバヘッドが大半なのか,一度振り返って見た方が良いのではないでしょうか。
作業内容の細分化
作業分類や所要時間の記録に関してはある程度の割り切りが必要ですが,作業内容に関しては極力細分化することをお勧めします。
ここで言う「作業内容の細分化」とは,たとえば同じ「実装」作業であっても,複数の部位を実装していた場合には,それぞれ別のタスクとして記録をつけましょう,というものです。たとえば:
| 作業種別 | 作業内容 | 開始時刻 | 終了時刻 |
|---|---|---|---|
| 実装 | サブシステムX | 13:00 | 19:00 |
という記録よりも以下のような記録のほうが,振り返りの際に改善の余地を見つけやすいのではないでしょうか。
| 作業種別 | 作業内容 | 開始時刻 | 終了時刻 |
|---|---|---|---|
| 実装 | サブシステムX モジュールA |
13:00 | 15:30 |
| 実装 | サブシステムX ユーティリティ |
15:45 | 16:15 |
| 実装 | サブシステムX モジュールB |
16:30 | 18:00 |
| 実装 | .... | .... | .... |
注意して見ていただければわかるように,内容別にタスクを分割することで,大雑把に「実装」としか記録していない状況と比較して,各タスクの間に15分ずつ休憩を取っていることがわかります。ここで重要なのは,休憩を取ることの是非ではなく,まずは自分がどの程度の頻度でどれだけ休憩をとっているのか把握することです。
