これはいい本だ。最近出た「ソフトウェア開発モデル契約の解説 」である。
1994年の旧モデル契約の解説書 も「わかりやすく伝えよう」という意欲の感じられる良書であった。
新モデル契約は全57ヶ条であり、旧モデル契約の全36ヶ条よりだいぶ長くなっている。
新モデル契約の解説書では、ソフトウェア開発の各工程と、それぞれの工程の成果物について説明しようと試みている点がよい。
私などは単純に要件定義→基本設計→詳細設計→プログラミング(以下省略)と考えていたのだが、この本では、
要件定義→システム設計(システム外部設計)→システム方式設計(システム内部設計)→ソフトウェア設計→プログラミング(以下省略)
となっており、さらに、要件定義以前のシステム化の方向性、システム化計画の重要性を指摘している。
各工程をどう呼ぶかは、ベンダーによって差があり、結構ややこしい。たとえば下のサイトによると「システム設計」イコール「外部設計」などとなっている。「詳細設計」は「プログラム設計」と同義とのこと。
http://www3.alpha-net.ne.jp/users/design1/takeda/SystemDesign/SystemDesign.htm
考え方として、ユーザーから見える仕様の決定までと、それ以降の工程とを分けるということが、ベンダーとユーザーとの役割分担を考えるうえで重要だ。
上記でいうと、要件定義→システム設計(システム外部設計)までが、ユーザーから見える仕様の決定にかかわる工程。「外部」とは「ユーザーから見える」ということだ。この工程で、ユーザーがいかに適切に関与するかが開発の成否のカギを握っている。
したがって、契約書の起案のうえでも、要件定義→システム設計(システム外部設計)までをひとまとめにするのはよい考え方だ。旧モデル契約書ではこの段階を「要件定義・設計サービス」と呼び、その後の「構築サービス」「運用準備・移行サービス」と区別していた。「要件定義・設計サービス」の成果物が「システム仕様書」となる。新モデル契約ではさらに細分化されているが、良し悪しであろう。
この分野の古典的名著としては吉田正夫先生の「ソフトウェア取引の契約ハンドブック 」があり、初心者はあるいはこちらが適切かもしれない。上記に紹介した新旧のモデル契約は大手ベンダーの業界団体が作ったものであるという点も、ユーザーの側からは留意する必要があろう。