フェーズ単位契約

私は技術サポートが仕事になったのですが、以前は開発業務も行っていました。開発には二種類ありまして、大学などの研究を支援するシステム作りと、流行の業務系Webアプリケーション作りです。両方ともTomcat+PostgreSQLで開発していました。
研究系の方は、1〜3ヶ月のフェーズ単位契約です。どのような物かは、shotさんの日記のコメントに書きました。
業務系の方は、二括請負契約とでも言えば良いのでしょうか。要件定義フェーズと、それ以降を別契約にすることが多かったです。最初の提案時に、要件定義フェーズの費用、それ以降の開発(予定)費用、マシンやソフトの費用、といったものを合計した、概算見積もりを提出します。それで、まずは要件定義フェーズを契約して実施し、その結果を元に、それ以降の開発フェーズの費用等を再見積しました。要件定義フェーズの成果物として、要件定義書を納品して検収してもらってますので、要件の漏れや、要件の誤解などは、だいぶ少なかったです。それでも、多少はありましたが、開発フェーズが火事になるほどの致命的な物は無かったと思います。その代わり、要件定義フェーズと開発フェーズの間に、仕事の無い期間ができる可能性があります。
ただ、お客様によっては一括請負契約の方が良いという事もあり、契約書の日本語の解釈が違うとか、過去にはいろいろと苦労した記憶があります。そういうときは、折衝することになるのですが、あまりやりたい仕事ではないですね。
その他、駆け出しの頃は人月契約で身売りされたこともあります。たまたま、身売り先でOracle(6だったと思う)を使うことになり、更に私の担当上司がランボーのOMT本の訳者だったこともあり、オブジェクト指向SQLの洗礼を同時に受けたわけです。今にして思えば、VisualBasic ver2でO/Rマッピングもどきを作っていたのかもしれません。もう、記憶に残ってないけど。
という感じでいろいろな契約で働いてきたけれど、これまでの経験から言うと、契約期間は3ヶ月くらいで区切るのが、自分としてはやりやすいようです。それより短いと「ゆとり」が感じられないし、逆に長いと気合いを持続させるのが難しくなってくるようです。