ウォーターフォールとアジャイルの納期の話


契約の形態とアウトプット
納期は、契約時に成果物又は提出物とは契約形態に紐付くもので、成果物か提出物の名称は契約形態で使用する名称を区別する。契約時に何を請け負えるか明確ならば、請負契約を選択するだろうし、作業内容が不明確だったり、何をするかが決まっていなかったら準委任(支援)契約で契約を結ぶことになる。実際の契約においては、契約間の関係やその他の諸事情によりそれとは違う契約形態になっていることも少なくないだろう。
請負契約の場合、契約書の中に記載した成果物を期日までに顧客へ引き渡すことを約束する。準委任でも、提出物を定義する場合、期日までになんらかのアウトプットを提出することにある。請負契約では、合意した期日までに成果物として記載したアウトプット、多くはドキュメントやプログラムを顧客に引渡しする義務を負う。一方、準委任契約の場合の提出物は、作業報告書のような作業記録をアウトプットとして提出し、請負契約のようなドキュメントに責を負わない。


納期とプロジェクトチームの負荷
先に述べたとおり、請負契約では納期が決められるために、プロジェクトチームは納期までに決められたアウトプットを治める義務を負う。しばしば、納期に対するアウトプットを作り上げる作業のバランスが合わないときにプロジェクトチームは作業負荷が高くなる。契約期間全般を通して負荷が高い、つまり、作業量と比較して全体の期間が短納期であればあるほど、プロジェクトチームに負担が掛かる。過負荷なプロジェクトばかり経験してれば、だれでもそんな契約形態では仕事がしたくなるのが当然であって、それを契約面やシステム開発方法論などなんらかで解決する道筋を見つけたくなるのはエンジニアとして普通の振る舞いだ。


請負と準委任の違い
請負契約と納期に話を戻すと、請負契約では、合意した期日に合意したアウトプットを引き渡しましょう、という約束を明示的にすることになる。一方、準委任契約は、通常、アウトプットを決めない。あっても作業報告書くらいなものだ。なぜなら、契約時点で作業内容を決められないが作業する人を確保したいとか、コンサルティングのようにプロフェッショナルなサービスを買うような場合が多いからだ。もちろん、コンサルティングのサービスでも、その契約期間中になんらかのドキュメントなどを作ることを具体的に合意することも少なくないが、タイトルとコンサルタントから示されるアウトプットのテンプレートのみが決まっているだけで、実際の内容は作業を開始してから調整することが多い。このほか、コンサルタントが何らかアウトプットするための作業は、その時間で契約を縛る。
言い換えれば、準委任は作業のアウトプットと作業時間を合意し、実際に何を作るかは、始めないとわからないと言うことができる。


契約形態とシステム開発方法
請負契約だから、システム開発方法はウォーターフォールしかないかと聞かれるならば、それはそう限らない。請負契約であればこそ、その方法は受託者側に裁量があって、その受託内容あったシステム開発方法を選択すればよい。システムの開発方法も、ウォーターフォールアジャイルの“どちらか”どちらかを選ぶという択一の選択ではなくて、ウォーターフォールフレームワークアジャイルスクラムの一部を取り入れるようなシステム開発方法でも何ら問題ない。
一つ気にする必要があることは、契約面でどこまで開発方法が縛られることがあるかをプロジェクトマネージャやチームが理解しているかということであって、どのようなシステム開発方法を取っても良いが、契約と相容れない手法を取ることはできない。


アジャイルに納期は無いのか
アジャイルの書籍やインターネット上の情報を読んでいると、ウォーターフォールには、“契約により”納期で縛られ、アジャイルには、契約する際から納期を“設定しない”と読めるような記述が多い。ウォーターフォールは、納期に縛られるから窮屈だ、アジャイルは、ベストエフォートで顧客にリリースする、と。でも、それは全く違うことを言っているのだろうか。ウォーターフルは納期に契約で縛られ、アジャイルは納期に縛られないと。ちょっと、気になるのである。

ワタシの見解は、どっちも一緒、なのだと思っている。請負契約では納期に提供する成果物が明確に決まっている。片やアジャイルでも顧客と次のリリース日までに“ベストエフォート”であってもある機能を提供することを明示的に約束する。請負契約ではないから法的責は追わない代わりに、顧客満足という別の指標で縛られることになる。納期に縛られないが、プロジェクトチームはベストエフォートと言いつつ、顧客満足度を下げたくないから、リリースする機能がもれないように自ら縛るようになる。
これは、プロジェクトチームを縛る条項が明示的なのかそれとも暗黙でないだろうか。明示的と暗黙と、どちらが好ましいのかは好みの問題に過ぎない。アジャイルを選択し、ベストエフォートでサービスを提供するのであれば、ベストエフォートでサービスを提供して見える化することと相反するような顧客満足をどのように見える化できるかがポイントになるだろう。




  • 道具室(アプリとか)

毎晩少しづつ読んでる。

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

  • 音楽室(PCからリンクをクリックするとき、PCにiTunesが入っているとアプリケーションが起動します)





  • 視聴覚室
  • 調達室