« プレゼンの極意 | トップページ | スコープ管理はプロジェクト計画書から始まる »

2004/10/10

開発プロセスにも構造化とオブジェクト指向の路線対立がある

 有名なシステム開発プロセスとして、ウォーターフォール・RUP・CMM/CMMIという重量級プロセスとXP・スクラムという軽量級プロセスがあるが、構造化対オブジェクト指向という軸で分類することで、より理解できるのではなかろうか?

 重量級プロセスの考え方の背景には、プロセス指向があるのではないか。重量級プロセスのリーダーは、作業手順を命令すること、作業手順の優先順位を決定することばかり考えている。その発想は、構造化設計と全く同じ。プロセスを積み上げていくと、プロジェクトが完了する、という発想。
 ウォーターフォール・RUP・CMM/CMMIはいずれもドキュメント駆動。
 RUPはウォーターフォールのV字型プロセスを小さく分割だけにすぎないのではないか?
 CMM/CMMIの肝は構成管理。仕様書や成果物のバージョン管理だけでなく、コミットメントまでReDo/Undoの仕組みを取り入れている。承認というプロセスをすごく重要視するので、経営者層の受けがいいのではないか?(倉貫さんのBlogを読むと、ユーザは承認プロセスがないと安心できないらしい)
 リーダーの立場から重量級プロセスを眺めると、プロジェクト管理の技術習得の示唆になるのですごく役立つ。特にCMM/CMMIの構成管理・履行検証のプロセスは非常に大事。

 しかし、これらのプロセスをプロジェクトに当てはめると、部下を管理している、という思いが強くなる。以前、僕も重量級プロセスから得た知識を自分なりに考えてプロジェクトを進めてみたことがあったが、部下をスケジュール通りに制御する気持ちが強すぎて、コミュニケーションがうまく行かない時があった。
 弱点は、プロジェクトメンバーのモチベーション維持が難しいことではないか。

 アジャイルプロセスの考え方の背景には、オブジェクト指向があるとはっきり言える。その発想は、責任駆動と全く同じ。チームメンバーに責任と権限の範囲内で開発の自由を与える発想。
 だから、PMBOKで言うチーム・ビルディングが非常にうまい。コミュニケーションやモチベーション維持をすごく重要視している。例えば、コーヒーブレイクとか、部屋のレイアウトとか、ペアプロとか。アジャイルプロセスのスキルは、システム開発だけでなく、オフライン勉強会やサークル活動のようなプライベートな活動にも応用できる所が素晴らしいと思う。

 XPの肝は、イテレーションのサイズをずっと守り続けること。そのためには、ストーリーとタスクの粒度をそろえることが重要になる。開発者のスキルに応じてタスクを分割すること(実際は開発者にタスクを見積もりさせるだろうが)、ユーザの要求から大きく外れないようにストーリーを分割し、ストーリーの優先順位を決定することの2点が重要に思える。
 しかし、この2点を実行する際に必要とされる技術については、誰も触れていない気がする。だから、すごく敷居が高い。
 とある勉強会で、アジャイル開発を経験しているプロジェクトマネージャが何故ビジネスモデリングに興味を持っているのか、尋ねてみたら、タスク分割時にモデリングのスキルがないと、滅茶苦茶な設計になってしまい、リファクタリングでも収拾がつかず、ゴールが見えなくなるから、と返事を受けた。
 XPはケント・ベックとマーチン・ファウラーのペアプロ経験に基づいたプロセスだから、普通の人が実行できる代物ではない。

 アジャイルプロセスには、単なる開発プロセスだけでなくプロジェクト管理の技術も含まれているのに、はっきりと認識されていない。アジャイルプロセスに必要なスキルを誰か理論として整理してくれないのだろうか?

|

« プレゼンの極意 | トップページ | スコープ管理はプロジェクト計画書から始まる »

日記・コラム・つぶやき」カテゴリの記事

プロジェクトマネジメント」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 開発プロセスにも構造化とオブジェクト指向の路線対立がある:

« プレゼンの極意 | トップページ | スコープ管理はプロジェクト計画書から始まる »