BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース アジャイルな振る舞いを可能にするための契約

アジャイルな振る舞いを可能にするための契約

原文(投稿日:2016/03/31)へのリンク

Martin Kearns氏は、オーストラリア メルボルンで開かれた1st conferenceで、アジャイル契約について講演した。InfoQは、アジャイル契約がウォーターフォールプロジェクトの契約とどう違うのか、契約がスコープの変更や、開発中の大きな障害や遅延をどう扱えるのか、アジャイルマインドセットに基づき、契約がアジャイルな振る舞いを可能にすること、全員を巻き込んで仕事をすることに役立つと証明するのに何ができるのか、組織がアジャイルソフトウェア開発に契約を使いたいときに弁護士が持てる役割、そして組織がアジャイル契約を使えるようになるため、自身では何をしなければならないのかについてインタビューした。

InfoQ: ソフトウェア開発においてなぜ契約が重要になるとお考えですか?

Kearns氏: 組織が成果を出し、サポートを提供し、任務を増強するのに第三者と関わり合う必要があるとき、そして金融取引が取り決めの一部であるときは、契約は成功に欠かせません。最も大事なことは、契約はアプローチの意図、期待された振る舞い、説明責任を示しているということです。

InfoQ: どのような点で、アジャイル開発の契約とウォーターフォールプロジェクトの契約は異なっていますか。

Kearns氏: 最も大きな違いは、ウォーターフォールプロジェクトの場合、変化は関連書類で取り除かれ、多くの経費やフォーカスが続く変化に置かれることです(いわゆるスコープクリープ)。これは不可避なもので、事前にどれだけ計画されていても関係ありません。それにより自分の利益を最優先にフォーカスしようとする両者の関係は自然と悪化するのです。

アジャイル契約は、プロジェクトが失敗してもいいような構造で始めます。契約構造は双方が、例えば乏しいビジネスアイデアで構成されている場合など、離れることができるようにしておかなければなりません。あまりに多くのプロジェクトが一方の利益のために続いてきたのです。また、継続的な出口条項を持つ必要があります。届けられた価値がイテレーションのコストより少ない時点で、続ける理由がないからです。逆に供給側としては、もしクライアントの振る舞いとマインドセットがアジャイルアプローチを支援していないなら、損失を被ることなく立ち去る能力が絶対に必要です。アジャイル契約において集団責任は不可欠ですし、単一取引では要求できないものなのです。

InfoQ: 多くの"典型的な契約"では、達成しなければならないスコープを事前に合意します。アジャイルでは変化を歓迎し、スコープをそれに合わせて変えたいのですよね。アジャイル契約はこれにどのように役立つのでしょうか?

Kearns氏: 最初の2-4イテレーションのうちに定義しておきたいことの1つに、バックログにおける信頼度、ユーザーストーリーのサイクルタイムがあります。アジャイル契約を成功させるためには、プロジェクトの制約を計算に入れながら、デリバリーのコストをよく把握する必要があります。わたしは通常、時間と材料の契約タイプで最初のスプリントを請け合うのが好きです。

信頼度が許容範囲であるなら、決められたコストに届くようなフィーチャとストーリーポイントの数、もしくはどちらかの数を決めて動きたいですね。もし"実行可能"になったら、わたしの持論、"1つ入れば1つ出て行く"というナイトクラブアナロジーに移行したいです。変わるためのわたしのアプローチは、常に"イエス"と言うことです。クライアントはプロジェクトのシーリングを上げることも、同サイズのストーリーやフィーチャを除くこともできます。当然、プロジェクトのシーリングが上がると、コストや予想される時間も上がります。

InfoQ: アジャイル契約が開発中の大きな障害や遅延をどう扱えるのか、事例を紹介いただけますか。

Kearns氏: わたしが好きな方法の1つは、障害のバブルアップチャートを作ることです。そこで時間を掛けて遅延の軌跡を追うのです。ダイアグラムにバブルが現れ、障害が長く残っているほど右に寄っていきます。何もしないでいるとデリバリーに大きく影響してきますので、"バブルアップ"をします。バブルがトレランスの境界から離れたら、関連するコスト(バブルのサイズ)が変更要求に換えられるのです。

プロジェクト遅延への影響がもはや現在の契約に吸収できないのであれば、契約上の修正で対処しなければなりません。これはストーリーポイントシーリングの削減や、たいての場合はプロジェクト費用の上昇によって起こりうるものです。バブルの漂流がプロジェクトのトレランスから日々離れていくのを見るので、経済的に影響が及ばないように、リードタイムを最大にして問題を追うのです。

Bubbling Chart Impediments Agile

InfoQ: 講演ではアジャイル契約がアジャイルな振る舞いを可能にし、アジャイルマインドセットに基づき、全員巻き込めるようにするべきだと述べていましたね。これについて詳しくお願いします。

Kearns氏: わたしの契約で見るのが好きなことの1つに、早く失敗することに安全であるということがあります。ベンダとして、相手のプロジェクトの仮説が間違っており、期待と合わないと分かったら、自分が償われること、クライアントがプロジェクト資金を他のどこかで再分配できる価値を知るということが重要なのです。これだけでも最初の議論に違うフォーカスを与え、最初の方のイテレーションは結果としてもっと焦点の合ったものになります。

他にアジャイル契約について言えば、スコープを高い確信レベルで事前に定義できないということがあります。典型的なベンダ成果物は、ベンダの利益を守るため、インキュベートするよう、プロジェクトの他の要素とは切り離して届けられるように設計されています。残念ながらプロジェクトの結果は相互依存的に関連しており、アジャイル契約の条項は再設計するよう要求されます。これに対処できる1つの方法が、正しい振る舞いを設計できるものなのですが、すべての当事者が"原理に働く"ために必要なのです。責任は双方の組織で分けなければなりません。これは弁護士と協調の真価がわかる、わたしが本当に学んだことでした。彼らは契約書式のアレンジを受け入れてくれたのです。原理が共有されると、互いに関わり合うための方法が確立されました。このような原理の例としては、ベンダチームから要求された回答率を明示的に述べることになると思います。目標となるリリース日、または市場への継続的デリバリーのスピードを達成するための経営判断に関するものです。

契約のスタイルに埋め込まれたアジャイルマインドセットを持つことには多くの利点があります。わたしが最後に述べたいのは、そのような状況におけるベンダマネジメントの役割です。わたしたちがかなり速いリズムの契約レビュー(2-4週)をしているように、そこには成果と、イテレーションの成果物がどう価値や知識、または両方を上げるのかについては引き続きフォーカスが当たっているのです。再調整を通して、関係は定期的に規則的なフィードバックループを通り、透明性はすべての当事者が成果にフォーカスを当てるよう助長し、そして相互関係は成功を分かち合うと良くなっていきます。

InfoQ: 組織がアジャイルソフトウェア開発に契約を使いたい場合、弁護士にはどんな役割があると思いますか?

Kearns氏: 弁護士は同じ責任を負っています。プロジェクトの条項が、遂行されるべき作業内容を反映していること、クライアントの利益が守られることを保証するべきものです。わたしはこの変化を目にしません。アジャイル契約の中のイテレーションは、より詳細な情報と定期的なレビューリズムを通して、リスクを軽減するのです。

InfoQ: アジャイル契約を使うため、組織自身は何をしなければなりませんか。

Kearns氏: わたしは、新しい働き方に対してオープンになること、どんな契約も成功する実装のためには双方に責任があると理解することから始まると思います。そこにはアジャイル契約の中のより多くの協力と、ウィン-ウィンなシナリオを達成するための誠実な要望があるのです。人々は率先して巻き込まれる必要がありますし、わたしはいつも、オフィスフロアにいるベンダ/クライアントを見分けられないときは、事はうまくいっているとわかるのです。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT