私にはアジャイルチームやスクラムチームで働く機会がなく、それらを適用する機会もありません。私は1〜3ヶ月間、お客様のために1回限りの開発作業をたくさん行っています。しかし、この種の環境で私が学んだことの1つは、次のとおりです。
プロジェクトのすべての段階で顧客とサインオフします。
これはあなたの質問に次のように答えます:
要件を設計ドキュメントと決して混ぜないでください。
実際、それはそれを超えています。
- まず、作業範囲(SoW)を承認します。
- 次に、要件を承認します。
私たちは何度も、要件を常に変化させている不合理な顧客を見てきました。ただし、これらの変更に対して支払うことは期待していません。適切に管理されていない場合、プロジェクトのコストはプロジェクトの収入を大幅に上回り、上回ります。
サインオフされたSoWを使用すると、範囲外の要件から保護されます。「ベンダーはアプリxxxをインストールします」、そして突然、「クライアントはアプリxxxへの通信を保護するためにPKIインフラストラクチャ全体をインストールすることを望んでいます」。
サインオフされた要件を持つことで、「アプリxxxへの通信を保護および暗号化する必要はありません」という上記の同様のケースに続いて、突然の不合理な要件からユーザーを保護します。
これらは法的保護であることに注意してください。クライアントからの新しい要件を実行するかどうかを決定するのは、まだあなた次第です。ただし、それらが要件に含まれておらず、純粋に善意から行われていることを強調するのは依然として良いことです。
設計ドキュメントをメインの要件ドキュメントにマージすると、要件ドキュメントを承認できなくなります。顧客はこれに非常に満足しますが、開発チームは可能なクランチタイムを嫌うと思います。
私は人々が持っている別のアプローチを見ました(しかし、デザインを要件とマージすることではありません)。
要件ドキュメントを個別の付録ファイルを含むメインファイルに分割します。重要で具体的なことを要件文書に保管してください。これにより、要件ドキュメントを承認すると同時に、後の段階で付録の変更を行うことができます。付録として、サポートドキュメントにこのアプローチを主に使用します。付録としてのデザインドキュメントで動作するかもしれませんが、私は付録としてのデザインドキュメントを見たことがありません。
さらに、一部のプロジェクトでは、開発を開始する前に設計ドキュメントを承認することもできます。または、これらの設計/要件/SoWは配信またはマイルストーン支払いです。
本当に、それらをマージすることは避けてください。