2009-10-18

最近もらった本 - アジャイルな見積りと計画づくり

(最近はうそです. もらってから半年くらいたってます....)

プロジェクト管理の本だった. 見積りの話も丁寧に書かれている. プロジェクト管理の二本柱(PMBOK による) "計画" と "監視制御" のうち, "計画" に占めるソフトウェア開発固有な部分は見積りくらいだから, 当然といえば当然かも. 前半 2/3 が計画(=見積り), 後半 1/3 が監視制御の話. 顧客に見積りや計画を求められる管理職には読んでおいて欲しい気がしたけれど, 管理職が読むのを期待するよりは自分で読んで見積りができるようにしておく方が たぶん現実的だし, 本書の趣旨にもあっていると思う.

本書の前半で説明されている見積りについて言えば, 規律にうるさい マコネルの見積り と比べ 実施の敷居は低い気がするので, まずはこのコーン式見積りをやってみるのが良さそう. 私のいるチームも planning poker もどきをやったりしている. 未熟なのでまだ精度は低いけれど, プレッシャーで見積りが縮むことは減ったとおもう. (そういえば "痛ポーカーがあればいいのに" という話を見積のたびにしている. 本題とは関係ないけど誰かに作ってほしい.)

本書後半の監視と制御の話は, タスクボードやバーンダウンチャートなど Scrum 周辺で見かける話とかぶった. ただ他のアジャイルの本と違ってテストやリファクタリングなどコード寄りの話がなく, 自分の苦手な部分が抜き出されている感じで申しわけなくなりながら読んだ. 監視や制御について自分は素人だと再認識した.

面倒の取り分

世の中には PM という名の管理職制度があるせいで, 管理職でない下っ端が自分は管理をしなくて良いと誤解することがある. 基本的に管理の仕事は面倒だから, アジャイルになったところで必ずしも楽しいものではない. 作業時間を記録する, タスクをカードに書きだす, ポイントを集計してチャートを書く, バグに追われて機嫌の悪い同僚にミーティングを促す ... 意志が弱かったり締切に終われたりすると, 言い訳を探してさぼりがちになる. 管理職の存在は格好の言い訳を与えてくれる.

ところが現実の管理職がこうした面倒を引き受けてくれることは少ない. 私がこれまで見てきた管理職の仕事は渉外が主で, 身内の世話に十分な資源を割く例は少なかった. 顧客対応のコストが大きい受託開発ではよくあるパターンだと想像している. 字面だけ見ると管理の仕事を管理職がやるのは当然だから, チームを管理しない管理職を責めるのは当然と感じるかもしれないし, いくらかは憂さ晴らしにもなる. けれど次のプロジェクトで同じ管理職の面倒見がよくなることもまずないだろう. 下手をすると管理と銘打った謎のエクセルシートに記入を求められ, 更なる不幸を招くかもしれない. (エクセルに恨みはないけれど, 気に入らない場面にはいつも顔を出すんだよね...) プログラマが忙しい程度には管理職も忙しいと考えるのが自然だ.

コーンの本をはじめとするアジャイルの開発手法は, 私達プログラマが管理職に押し付けながら書類に埋もれ果たされることのないモヤモヤした期待を, 名前のついた部品=プラクティスにばらしてくれる. 部品にばらされたことで, 私達はそれを検分することができる. ああ, これは自分でやった方がいいな. これは管理職よりお客さんに頼まないと. これは経営判断がいる. これはいらない...

従来のプロジェクト管理手法も独自の部品をもっているけれど, そこにプログラマ向けの部品はなかったと思う. だからプログラマは安心して <管理> を 管理職にまかせ, 管理職は誤った判断を下し, プロジェクトは失敗し, 異動が発令され, 焼け野原から這い出したプログラマは亡き管理職の無能を偲べばよかった. 平社員万歳!

コーンの切り出した部品は, モヤモヤの中にはプログラマの成分も多く含まれていることを示した. 見積りと計画, その追跡は代表格. こういう仕事は面倒で, できればやりたくない. でも他人に任せるともっとひどいことになる. 面倒でも不恰好でも自分でやった方がいい. (正直なところ私は見積りが劇下手なので, 自分が見積りや追跡をしたところで失敗することはよくある. けれど自分の見積りが下手で炎上するのと上司がアホで炎上するのとでは, 前者の方がだいぶ腑に落ちやすい.)

私は日頃から プログラマは管理職のどんぶり判断にプロジェクトを委ねるな と主張しているのだけれど, プログラマがコード書き以外にどんな役割を果たすべきか, そのために何をすればいいのかの道筋を示せず, もどかしく思っていた. コーンの本はそれをある程度説明してくれた.

見積りと追跡は当然として, 自分がその先どの責務まで踏み込むべきかは今も私にとって自明でない. ただコーンがそのモヤモヤに絞って輪郭を与えたおかげで, いくらかは考えが進んだ. 結局私達の多くはプリマドンナではないし, 私達の管理職の多くは BillG のインタビューを突破していないし, 私のオフィスは西海岸でもシアトルでもマンハッタンでもなく新宿のはずれにあり(これは別にいいんだけど), 潤沢な資金をもたらす革新的/独占的ソフトウェアのために働いていたりはしない. 私達の多くは, 才能からでなく面倒を引き受けることで対価を受け取っている. 数多ある小さな面倒を一つ一つ拾い上げ解きほぐす手管が, プログラマのうたうひとつのアルトなのだと思う.