見出し画像

第11回: CMMIでアジャイルを強くする(その2 テーラリングアプローチ)

「CMMIでアジャイルを強くする」の第二弾として、今回のブログでは、アジャイル開発におけるテーラリングアプローチについて書きます。


1. テーラリングとテーラリング指針

CMMI成熟度レベル3以上の組織では、各プロジェクトやチームは組織の標準プロセスを使用します。しかしながら各プロジェクトやチームはそれぞれ固有の特徴を持つので、標準プロセスをそのまま使用できるケースは少ないです。そこで標準プロセスを基に、各自の特性に合わせてプロセスや作業成果物を開発または適応させます。CMMIではこのことをテーラリングと呼んでいます。(第3回:CMMIの定義する組織成熟度も参照ください。)

しかしながら、標準プロセスのテーラリングを各自の判断に委ねてしまうと、標準プロセスは全く使わないで全て自分達のやり方で行うプロジェクトも出てくるかもしれません。それでは標準があっても無いのと変わりません。そこで、標準プロセスを適切に適応してもらうための組織指針の設定が必要となるのですが、CMMIではこれをテーラリング指針と呼びます。例えば、標準プロセスのこの部分は適用必須、この部分はオプション、あるいは、このような特徴を持つプロジェクトでは適用必須だが、それ以外ではオプションなどを定義します。
標準プロセスをテーラリング指針に従って適応させることで、各プロジェクトやチームは事業目標に大きな影響を及ぼすプロセスはしっかり行い、そうでないプロセスはその特性に応じて省くことができます。

テーラリングアプローチ

第10回のブログで、私はPaul E. McMahonさんの著書、Integrating CMMI and Agile Development: Case Studies and Proven Techniques for Faster Performance Improvement (SEI Series in Software Engineering)を紹介しました。この書籍ではテーラリングアプローチとして、Tailor Down(テーラーダウン)アプローチTailor Up(テーラーアップ)アプローチの二種類があると説明しています。(上記の書籍のp189~p191)
以降で、それぞれについて説明します。

2. Tailor-Down(テーラーダウン)アプローチ

標準プロセスを詳細に定義してそこから不要なものを省くアプローチです。イメージを絵にしてみました。

テーラーダウンアプローチ

これは「多くのプロジェクトは全てのタスクを必要とする」という想定のもとで採用するアプローチで、実際に多くの組織で採用されています。
Paulさんによると、CMMIのリードアプレイザーの中でもCMMIで要求しているテーラリングはこのアプローチだと信じている人もいるようです。しかしCMMIは特定のアプローチの採用を要求してはいないため、当アプローチを選んでも、後述するテーラーアップアプローチのどちらを選択しても構わないのです。

テーラーダウンアプローチの弱点

作業方法が決まっていて、組織内のどのチームも基本的には同じ方法を採用できるような場合には、当アプローチは効果的かもしれません。しかしながらPaulさんは書籍の中で、当アプローチは小規模プロジェクトに多大な負荷を与えると指摘しています。確かに、標準プロセスに定義されている多くのタスクを一つ一つ見て、不要なものを外す作業はなかなか大変です。外す場合に理由を説明・記述することがルール化されている場合にはなおさらです。
また、以下は私自身の意見ですが、
チームが組織標準に引きずられ、自主性の発揮を阻害される
自分達が納得した上で実施しているわけではないので、容易に形骸化する
ということが起きやすいと考えます。これは特にアジャイルを採用している組織にとっては致命的です。
そこでPaulさんは、もう一つのアプローチ、Tailor-Upを推奨しています。

3. Tailor-Up(テーラーアップ)アプローチ

標準プロセスとしては必要最低限を定義し、詳細は各プロジェクトやチームが定義するアプローチです。絵にすると以下のような感じです。

テーラーアップアプローチ

当アプローチでは、最低限の決まり事を守ることにより大きなリスクの発生を防ぎつつ、各プロジェクトやチームの自主性の発揮を促進します。
各プロジェクトやチームは、書籍や記事、ビデオなどの世の中の情報を参考にしながら各自でやり方を定義し、改善します。しかしながらそれを全て自分達で行うのはなかなか大変です。そこでCMMI成熟度レベル3以上の組織では、組織全体を支援するチームが情報を調査・収集・分析・整理して、有益なプラクティスを組織ライブラリーとして提供します。
「最低限の標準プロセス」「有益なプラクティスのライブラリー」が当アプローチの二本柱と言えるかと思います。

ちなみに私の所属する株式会社SI&Cでは、アジャイル開発の組織標準プロセスを持っていますが、テーラリングはテーラーアップアプローチを採用しています。仕事の進め方の大枠はスクラムを採用し、プロジェクト立ち上げ時や終了時に必要なプロセスや成果物は従来からある組織の標準を基に追加しています。また、最低限のエンジニアリングプロセスも定義していますが、そこではタスクも成果物もサンプルと位置付けています。

同様なアプローチのアジャイル開発の標準を作成した会社として、株式会社エヌアイディー(NID)様です。NID様は社内のアジャイル開発標準や事例を書籍にまとめて公開していますので、是非参考にしてください。
「実践スクラム ~スクラム開発プレイヤーのための事例」

テーラーアップアプローチの弱点

弱点とまでは言えないかもしれませんが、Paulさんは書籍の中で、「テーラーアップのやり過ぎ」について警告しています。テーラーアップアプローチを採用している組織のプロジェクトやチームでは、”正しく考えず”に必要以上の成果物を定義しがちであることを指摘しています。
Paulさんは”正しく考えて”本当に必要な成果物を定義するための「メンバーが正しい質問をすることを支援するシンプルな基準」を設定することを推奨してます。以下はその例です。

1. それは要求されている成果物ですか?
2. 当社内のメンバーあるいはコントラクターのメンバーの中で、仕事の遂行のために誰かがこの情報を必要としていますか?

つまり「顧客の要求しているもの」「誰かが読んで役に立つもの」だけを作成しようと言っています。

いかがでしたでしょうか?実はこの”Tailor Down”、”Tailor Up”という言葉はCMMIのモデル文書にも載っておらず、また検索してもあまりヒットしないので、あまり一般的でないマイナーな言葉かもしれません。
しかしPaulさんが説明しているこの概念は、「CMMIでアジャイルを強くする」ためには必要不可欠かと思います。


この記事が気に入ったらサポートをしてみませんか?