とあるプロジェクトのお手伝いをしている。昨日は、クライアント側のPMさんに呼ばれてプチミーティング。現在、業務分析の最終段階だが、そこから実装にむけて問題がないか、そしてリリースに間に合うか不安だという。
僕は正直に答えた。「不安は最後まで消えません。むしろ、PMさんに最後まで不安に思っていただくのが僕の仕事です。100%完璧に未来を予測することなんかできません。常に問題は発生し、常に判断が必要です。その判断を的確に、タイムリーにPMさんにしていただかないといけない。そのためには、常に不安に思うことが正解です。状況を把握し、その時点で最もリスクを低減する方法をとり続けるというのが、システム開発の現実的な解決策です」
こんなことを言うのは僕がクライアントを信じているからだ。ウォーターフォールによる決定論的な手法に比べ、僕が説明したような手法(一般的にはアジャイル)は、「その場、その場で適当にやっている」と取られてしまう可能性が高い。特に、普通のスケジュール管理とは大きく異なるからだ。
管理すべきはスケジュールではなくてアプリケーション
スケジュールは予定でしかない。スケジュールが完全に正しければ、引かれた線を管理すればよい。でもそんなことはありえない。だから、アプリケーションや要員を管理して、常にリスクを知りプライオリティを決定しながらスケジュールを組み替えていかなくてはいけない。
大切なのは時間の区切りを作ることだ。タイムボックス型といわれるものだが、1ヶ月ぐらいの期間を定めてアプリケーションを管理する。期間の目標は機能(ビジネス)として定義し、それを実現するアプリケーションはコンポーネント単位でステート(状態)を管理する。これは、いわゆるスケジュール管理のようなプロセス(手順)をマネージメントする手法からすると大きな転換になる。その期間内であれば、コンポーネントに関する作業を何度行ってもよいからだ。
もし、予定外の作業が発生すれば問題点として管理する。この場合、守るべきは期間であって機能ではない。プライオリティの低いものから切っていくしかない(この場合、クライアントとプライオリティ感を事前に合意できていると話が早い)。
これでは”スケジュールの遅れ”が発生してしまうと思うかもしれない。しかし。これは勘違いだ。タイムボックスによって一定の期間でスケジュールはリセットされる。そのため、「機能が足りない」という表現はありえても、「スケジュールが遅れている」という表現ではない。重きを置いているポイントが違うのだ。
遅れたスケジュール(プロセス・手順)を取り戻すと考えるよりも、足らない機能をどうすべきかと考えるほうが、はるかに選択肢が広いのがわかるだろうか。プロセスは前提となるリソースや期間や手法が細かく決定されていることが多い。それ比べ、機能に注目していればリソースや期間や手法を組み替えることができる。
大切なのは、プロジェクトのゴールである「ビジネスの実現」をいうことを常に忘れないでいることだ。それに向けて最適な判断を下すためには、プロセスを管理していては難しい。
“問題がない”ことと、”問題が見えない”ことは違う
問題がないプロジェクトなんかありえない。問題が見えていないだけだ。問題が見えていれば対策を取る。お金を追加するか、期間を追加するか、機能を削るか、どれかしかない。ただ、判断するのはクライアントであるべきだ(なるべく早いタイミングで!)。
開発者には、正直に言うべきだ。「約束に向けて精一杯努力する。でも、できないかもしれない。そのときは一緒に考えて欲しい」と。
これを「プロではない」「甘えだ」と批判し、全責任を開発者に負わせるのは簡単だ。しかし、最終的に良いアプリケーションが完成しないなら意味がない。本当に残念なことだが、複雑なビジネスを完全にシステム化できるほどシステム開発は成熟していないのだ(Webアプリケーション業界は、たかだか10年の歴史しかない。詳しくは@ITへの寄稿記事を参照)。
だから、社外の人間であろうとも信頼して手を取り合うしかない。もちろん、ちゃんとしたマネージメント感を持ち、さらにそれにそった最適な開発手法を把握しているものに限る。本来は、そういった人間をアーキテクトと呼ぶべきだろう。僕も、まだまだ至らぬところは多い。修行の日々である。
なお、付け加えるなら、これは普通のビジネスにおけるリスクが高いプロジェクトのためのマネージメントと一緒だと思う。新市場開拓とか、まさにそう。予定通りに物事がすすむことはありえない。概要は、クリステンセン氏の「イノベーションへの解」に詳しい。
最後に、PMさんから「でもさ、経営陣を安心させなきゃいけないないんだよなぁ」とのぼやき。で、僕の答えは「それはPMさんの仕事です。役割分担ということでお願いします」。そしたら「そうだよな」と苦笑い。こんなクライアントと仕事ができるのは、本当に良い経験になる。

コメント (5)
いつも、興味深く拝見しています。
今回のエントリ、独立された後も良い環境で仕事をなされている様で、ますますのご活躍を期待します。
今、「人月の神話」を読んでいます。技術的記載は古くなった感は否めませんが、マネジメント論としては「そうかぁ、既に当時から分かってたんだぁ」と頷きながら読み進めています。
投稿者: HgCdTe | 2005年05月14日 17:48
日時: 2005年05月14日 17:48
yusukeです。HgCdTeさんコメントありがとうございます(以前、SAP古澤さんのブログでお見かけした方ですね?)。
そう「銀の弾丸は存在しない」というのは今でも同じですよね。ある固定的なプロセスに従ってさえいれば良いということはない。むしろ状況にあわせてプロセスを変化させる。確かに人月の神話から進歩がないのかもしれません。
逆に言えば学べるだけの過去はあるわけで、これからに期待ということですかね。
投稿者: yusuke | 2005年05月15日 13:14
日時: 2005年05月15日 13:14
勉強になります。ありがとうございます。
投稿者: おぐらじお | 2005年05月15日 17:27
日時: 2005年05月15日 17:27
yusukeさん:
覚えて頂いていて光栄です。
人月の神話から既に一世代を過ぎており、
そろそろ産業(業界)の構造が変わってきても
良いように思います。
その兆しは、そこここ(インタネットとかOSS)で
感じられますが、どこが突破口になるんでしょうか。
イロイロお話を伺えればと思います。
投稿者: HgCdTe | 2005年05月20日 00:39
日時: 2005年05月20日 00:39
arclamp.jpのyusukeです。おぐらじおさん、HgCdTeさんコメントありがとうございます&レス遅れ申し訳ないです。
> その兆しは、そこここ(インタネットとかOSS)で
> 感じられますが、どこが突破口になるんでしょうか。
そうですね。ようやく世界や環境や人は変化するという当たり前の前提を受け入れることが出来てきたように思います。これまでが画一・分割による効率化だとしたら、これから迎えるのは適応・統合による効率化といえるのかもしれません。って、概念論ですけどね。これから具体的にしていく作業していくところなのでしょう。
これからもよろしくお願いします。
投稿者: yusuke | 2005年05月23日 01:56
日時: 2005年05月23日 01:56