作業者はちゃんと一次検証をしよう
システム開発をする場合、プログラミングやテストを実際に行う作業者と、作業者が作成したプログラムやテスト結果といった成果物をチェックする検証者が、ペアになって仕事をすることが多いです。
ただ、作業者が一次検証をしていないことで、検証者が作成した成果物を見てもよく分からず、確認に時間がかかったり、テストをやり直したりするケースも散見されます。そうすると作業分担をしたことがかえって非効率になりますし、品質も低下します。この問題は、作業者が一次検証をしない場合に起こりやすいとされています。
本記事では、作業者が一次検証をしない場合のデメリット、一次検証をする際のポイントをご紹介します。
一次検証とは
一次検証とは、作業者が自身の成果物について、問題がないかチェックすることです。一次検証と区別するために、検証者がチェックすることを二次検証と呼ぶこともあります。
「作業者が成果物をチェックするなんて、当たり前じゃん」
と思う方もいらっしゃると思いますが、実際の現場では「指示通り作業を実施しました」で終わる方は意外といらっしゃいますし、内容をどこまでチェックするかについては、技術力や経験年数によって差があります。
どこまでチェックしていたのか、を場合分けすることは難しいため、本記事では「作業者が一次検証をしなかった」という前提で、話を進めます。
一次検証をしないデメリット
システム開発に限らず、QCD(品質、コスト、納期)が重要と言われますが、一次検証をしないとそのすべてが悪くなります。
品質が低下する
一次検証をしない1番の問題は、品質が低下することです。
検証者が、分かりづらくミスが多い検証物を見ながら、実質的に一次検証を行うことになってしまうと、無意識に確認範囲が狭くなってしまい、障害の原因となりがちです。
障害が発生してしまうと、障害対応のコストがかかり、納期が遅れ…といった具合に、悪循環になってしまいます。
コストがかかる
一次検証がされていない成果物は、多くの場合分かりづらく、ミスが多いです。検証者が内容を確認するのに時間がかかりますし、内容について疑問に思ったことを作業者に質問しても、答えられないこともあります。
明らかなミスは、作業の再実施を求めることになりますが、期限が押している場合など「もういいや、自身でやった方が早い」と、検証者が作業者とほぼ同じことをやり直すこともあり、余計なコストがかかってしまいます。
納期に悪影響を及ぼす
検証者は、前述のとおり余計な作業が増えるため、その分納期に影響します。作業者は、本来実施すべき一次検証をしていないので、通常より作業が早く終わるかもしれません。
ただ、指摘を受けて再修正、再テストを行うことになれば、こちらも余計な作業は増えますし、多くの場合、納期に悪影響を及ぼします。
一次検証をする際のポイント
「作業者が、一次検証をしなければならないことは分かったけれど、何に気を付けて作業すればいいの?」
一次検証のポイントは「人に説明できること」です。具体的には、
- プログラムの修正箇所や意図が分かるようになっているか
- テストデータが、何のために用意したのか分かるようになっているか
- テスト結果が想定どおりである、と分かるようになっているか
といったことを意識することが必要です。
その意識した内容を、人に説明して理解してもらうには、
- 赤枠で対象箇所を囲む
- コメントや吹き出しで、意図を残しておく
といった見せ方も必要です。
よく言われることとして、「1ヶ月後の自分自身に説明できるか?」というものがあります。
例えば、プログラミングやテストを実施しているときは、「このぐらいのことは当然分かるだろう」と思っていても、1ヶ月経ってユーザーから問い合わせがあり、対象プログラムに関して見直して見ると「あれ、これ何やってたんだっけ?」となりがちです。
まして、他人は自身の頭の中身など分かりません。「ちょっと丁寧すぎるかな?」くらいの対応が、ちょうど良いです。
Discussion