この記事の要約
検収基準とは「何をもって完成とするのか」を判断する具体的な条件のことです。要件定義の段階で「誰が・どのような条件で・何をすると・どうなれば合格か」まで決めておくことで、発注側と開発側の認識のズレを早期に発見でき、納期遅延や予算オーバーを防げます。
前回のコラムでは「検収時に何を確認すればよいか」について説明しました。
しかし、実際のプロジェクトでは、確認方法が分かっていても、いよいよ検収という段階になって、「思っていたものと違う」「何を基準に合格とすればいいのか分からない」という状態になることがあります。
システム開発の終盤でこのようなズレや曖昧さが発覚すると、プロジェクトの納期遅延や予算オーバーに直結します。
実は、こうした検収トラブルのほとんどは、開発が始まる前(要件定義の段階)に「検収の完成基準」を決めておくことで防ぐことができます。
今回は、検収をスムーズに進め、プロジェクトを成功させるために、要件定義の段階で決めておきたいポイントを解説します。
1.なぜ終盤に「思っていたものと違う」が起きるのか
プロジェクトの最終段階になって「思っていたシステムと違う」というトラブルが発生するのは、決して珍しいことではありません。
なぜ、時間と労力をかけて進めてきた開発のゴール直前で、このようなことが起きてしまうのでしょうか。
「完成イメージ」の共有には要件定義書だけでは限界がある
最大の原因は、発注側と開発側で「完成」に対するイメージが一致していないことです。
多くのプロジェクトでは、開発が始まる前に「要件定義書」を作成し、お互いに合意します。しかし、要件定義書に書かれているのは、あくまで作りたい機能です。
- ボタンを押したらすぐ処理が完了するのか、確認画面を表示するのか
- エラーが発生したとき、どのように表示するのか
このような「実際の操作感」や「細かい挙動」は、要件定義書だけでは認識を合わせきれません。
発注側は「希望を伝えたから当然こう動くはず」と思い込み、開発側は「書かれた希望通りに作った」と解釈します。
つまり、「思っていたものと違う」という問題は、検収のときに突然発生したのではなく、開発が始まる前に、完成した状態についての認識を十分に合わせられていなかったことが、終盤になって表面化したものなのです。
終盤で気づくほど、修正の負担は大きくなる
開発の初期段階で「この画面はイメージと違う」と分かれば、まだ修正しやすいでしょう。しかし、開発が進んでから大きな変更をすると、その画面だけを直せば済むとは限りません。
すでに作られたプログラムやデータベース、関連する画面などにも影響する可能性があるため、開発終盤での仕様変更は、追加コストや納期の遅延につながりやすくなります。
そのため、「完成してから確認すればいい」と考えるのではなく、そもそも何をもって完成とするのかを、開発が始まる前に決めておくことが重要です。
2.検収基準(完成基準)を開発前に決める3つのメリット
検収基準(完成基準)は、開発が終わってから「完成しているか」を判断するためだけのものではありません。
開発が始まる前に「何ができていれば完成なのか」を明確にしておくことで、開発中の認識違いを減らし、プロジェクト全体をスムーズに進めることができます。
ここでは、検収基準をあらかじめ決めておく3つのメリットを紹介します。
①認識のズレを「初期」に潰せる
検収基準を決めるためには、「何ができていれば合格(検収完了)なのか」を発注側と開発側で具体的に話し合う必要があります。
この話し合いを開発前に行うことで、「この場合はこう動いてほしい」といった要望の漏れや、双方の認識の違いに早い段階で気づくことができます。
開発が完了してから認識のズレに気づくよりも、要件定義の段階で発見できたほうが双方の負担は小さくなります。
②検収作業そのものがスムーズになる
検収では「どこをどう確認すればいいのか分からない」ということがよく起こります。
ですが、検収基準が決まっていれば、確認すべき項目や、どのような状態になっていれば合格なのかが明確になります。
例えば、「会員登録ができること」だけではなく、
- 必須項目が未入力の場合は登録できない
- 登録完了後に確認メールが送信される
といった具体的な基準まで決めておけば、検収時にはその条件を一つずつ確認できます。
「何となく触って問題がなさそうだからOK」とするのではなく、決めておいた基準に沿って確認することで、検収作業そのものを確実に進められます。
③納期遅延と予算オーバーを防げる
すでに他の機能が完成している段階での仕様変更は、関連する部分への影響調査や修正、再テストなども必要になるため、追加コストや納期の遅延につながりやすくなります。
一方、開発前に完成基準を明確にしておけば、早い段階で双方の認識を合わせられるため、開発途中や検収時の手戻りを最小限に抑え、予定していた予算とスケジュールに沿って、スムーズにシステムのリリースを迎えやすくなります。
3.「検収基準」の決め方と具体例
では、実際に検収基準はどのように決めればよいのでしょうか。
ポイントは、「機能があること」だけではなく、「どのような状態なら完成とするのか」を具体的に決めておくことです。
ここでは、特に検収時に確認しやすい3つの観点から、具体例を紹介します。
画面・操作性の基準
画面については、実際に利用する人がどのように操作するのかを基準にすると、完成イメージを共有しやすくなります。
例えば、
- 「〇〇の画面から、3ステップ以内でデータ登録ができること」
- 「登録完了後は、登録完了画面を表示すること」
- 「入力途中でエラーになった場合、それまで入力した内容が保持されること」
などです。
「使いやすい」といった抽象的な表現ではなく、どのような操作をしたときに、どのような動きをすれば合格なのかまで決めておくことがポイントです。
データの基準
システムでは、入力されたデータを登録・検索・出力したり、CSVなどのファイルを取り込んだりするケースも多くあります。
こうした処理についても、正常なデータだけでなく、エラーが発生した場合にどうなるかまで決めておくと、検収時の判断がしやすくなります。
例えば、
- 「CSVファイルを取り込むと、正常なデータがデータベースに登録されること」
- 「CSVに不正なデータが含まれていた場合、該当する行とエラー内容が画面に表示されること」
- 「エラーのあるデータが含まれていても、正常なデータまで登録されないこと」
などです。
特に、「エラーが起きたときにどうなるか」は、後から「ここまで考えていなかった」という認識のズレが起こりやすい部分です。
あらかじめ具体的なケースを想定して基準を決めておけば、検収時にも「この場合はどう動くのが正しいのか」と迷うことが少なくなります。
性能・環境の基準
システムは「正しく動けば完成」というわけではありません。
利用者が増えたときにも問題なく使えるか、想定している環境で正常に動作するかなど、性能や利用環境についても基準を決めておく必要があります。
例えば、
- 「想定する人数が同時に利用する環境でも、データ登録が正常に完了すること」
- 「ChromeやSafariなど指定のブラウザで正常に動作すること」
- 「スマートフォンからアクセスした場合も、指定した画面が正常に表示されること」
などです。
「動作すること」だけを基準にしてしまうと、実際に使い始めてから「人数が増えたら遅くなった」「このブラウザでは正常に表示されない」といった問題が発生する可能性があります。
そのため、誰が、どのような環境で、どの程度利用するのかを想定し、その条件を検収基準に落とし込んでおくことが大切です。
このように、検収基準を決めるときは、単純に「〇〇機能があること」とするのではなく、
「誰が」
「どのような条件で」
「何をすると」
「どういう結果になるのか」
まで具体的にしておくと、検収時のチェックポイントが明確になります。
まとめ
システム開発では、完成間近になってから「思っていたものと違う」と気づくと、修正に時間やコストがかかり、納期にも影響する可能性があります。
こうしたトラブルを防ぐために重要なのが、開発が始まる前に「何をもって完成とするのか」を明確にしておくことです。
検収基準を要件定義の段階で決めておけば、発注側と開発側の認識のズレを早い段階で発見できます。
また、実際の業務に沿ったテストシナリオを開発初期から準備しておくことで、完成後の検収もスムーズに進められます。
一見すると手間に思えるかもしれませんが、結果として自社の時間や労力、そして開発費を守るための一番の近道になります。
株式会社パパグラムでは、システム開発の要件定義の段階から、お客様と一緒に「何をもって完成とするのか」を整理し、検収まで見据えたシステム開発をサポートしています。
「どこまで決めてから開発を始めればいいのか分からない」「要件定義から相談したい」という方も、ぜひお気軽にお問い合わせください。