無料ブログはココログ

« [#TiDD] プロセスプログラミング2 - ウォーターフォールとアジャイル - | トップページ | [#TiDD] プロセスプログラミング4 - チケット駆動開発 - »

[#TiDD] プロセスプログラミング3(改) - ファシリテーション -

プロセスプログラミングの歴史を振り返ると、プロセスのクラスである標準プロセスは発展し、現場のソフトウェア開発に大いに貢献しています。その一方、インスタンスに関しては、プロセス記述の研究が進んだものの、現場への貢献はあまりありません。このため、ソフトウェアプロセスに関する集まりに参加すると、現場での経験が抽象化されないまま、情報交換されています。

もちろん、TSPガイドブック:リーダー編 (IT Architects'Archive)

をはじめとする標準プロセスを実践する本にも多くの情報があります。しかし、それは標準プロセスを前提とするものであり、独立した技術とは言いにくいものです。

これは、一人として同じ人間はおらず、同じ人であっても時と共に成長することによるものです。このため、プロセスのクラスから生成されるインスタンスには同一のものはなく、各インスタンスの差異が大きいことから一般化した議論が難しいからです。

ソフトウェアプロセスの喩として用いられることの多い、料理のレシピでさえも工夫する余地があれば結果は異なります。大阪で行列のできることで有名な「堂島ロール」というロールケーキがあります。このお店は元々堂島ホテルにあり、今も同じレシピを元に「堂島ホテルロール」http://sakaba.cocolog-nifty.com/sakaba/2010/02/post-5c72.html
が作られています。しかし、味は微妙に違います。レシピというプロセスのクラスは同じでも、そのインスタンスが生成されるときに立地や販売戦略、価格などの異なる要素によって人間が最適化するからです。

標準プロセスを定めた場合であっても、テーラリングが行われます。開発対象や諸条件に応じて標準プロセスをカスタマイズして用いるのです。しかし、それは標準プロセスを計画時に変更するものです。計画を実施している間に、開発者のコミュニケーションを良くし、メンバーの能力をどのように高めるか、というプロセスのインスタンスを実践することを目的とした技術ではありません。

そのような中で、プロセスのインスタンスに注目している技術ははプロジェクトファシリテーションです。プロジェクトファシリテーションのお話では、かんばん、バーンダウンチャート、コミットベルなどのツールが注目されがちですが、それはあくまでも支援環境、すなわちプロセスインスタンスの実行環境です。そのような環境を用いた上で、実際のプロジェクトのメンバー構成を考慮して、コミュニケーションやモチベーションを向上するという、インスタンスの技術がファシリテーションの特徴だと思います。

このように、プロセスのクラスとインスタンスを分けて考えると、プロセスのクラスのテーラリングの観点で、個別のプロセスインスタンスを生成するだけでは不十分です。生成したインスタンスをどのように進化させるか、プロセスプログラミングの観点で見直す必要のあると思います。

このエントリーをはてなブックマークに追加



« [#TiDD] プロセスプログラミング2 - ウォーターフォールとアジャイル - | トップページ | [#TiDD] プロセスプログラミング4 - チケット駆動開発 - »

私のアジャイル」カテゴリの記事

ソフトウェア」カテゴリの記事

プログラミング」カテゴリの記事

チケット駆動開発」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [#TiDD] プロセスプログラミング3(改) - ファシリテーション -:

« [#TiDD] プロセスプログラミング2 - ウォーターフォールとアジャイル - | トップページ | [#TiDD] プロセスプログラミング4 - チケット駆動開発 - »