標準化の重要性

システム開発には開発標準と呼ばれるルールブックが存在し、それに則って開発が進んで行きます。開発標準が不出来なものだと開発メンバーへの混乱を招くことになります。

標準化とは何か

標準化とは、システム開発の手順を規定することです。システム開発は、メンバーの開発経験によって成果物の品質に差が生じます。これはシステム開発に限った話ではなく、個人に蓄積されたノウハウによって作業内容が大きく異なるのです。そのような個人間での成果物の差を無くし、誰が業務を担当しても一定の品質で成果をあげることを狙いとして、開発標準を規定します。標準化は、設計や製造、テストによって作成する文書や成果物を作る前の段階で行っておく必要があります。

標準化の対象

標準化する対象は、システム開発に存在する業務の全てです。例えば製造フェーズであれば、コーディング規約、プログラムや関数の命名規則、レビュー記録表、などが挙げられます。これらを開発標準として、ある程度のルールに従った開発を行うことができます。標準類の代表例を次に示します。

  • レビュー記録表
  • コーディング規約
  • 命名規則
  • 設計書フォーマット
  • 開発ワークフロー

上記の中でも特に、開発ワークフローに注目が高まっています。開発ワークフローは、開発の業務プロセスそのものを規定し、業務に対するインプットとアウトプットを明確化します。さらに、レビューなどの指摘に対応するために、どこの業務まで戻るのか、何をもって業務を完了とするのかをこと細かく、徹底的に取り決めます。担当者はそれらのワークフローに従い開発を進め、各開発フェーズの各業務において何をすべきかを知ることができます。

標準化には経験が必要


開発標準に沿って開発が進められるため、その標準が開発にマッチしていなかったり、標準そのものに矛盾があってはなりません。例えば、レビュー記録表に記載できる項目がバグの指摘だけの場合に、レビュー内容で指摘された内容がバグでなかったものは記載できないことになります。あるいは、1回分のレビューのみしか記載できないなど、再レビューの可能性が考慮されていない標準類は、開発担当者を大いに混乱させる原因となります。

一方で、一字一句を開発標準と同様に記載しなければならない、という標準もまた良くありません。これは明らかに開発者の業務効率を低下させます。例えば、コーディング規約などにはある程度の自由度を持たせるべきです。プログラムの最上位モジュールに関しては、ある程度コーディング規約に沿ってコーディングしてもらうことが必要ですが、外部呼出しされない、閉じた世界での関数やメソッドに対しては、プログラマのやりやすい書き方で実装させるべきです。外部呼出しされない関数やメソッドに規約を導入しても、メリットよりデメリットのほうが大きいのです。


標準化作業こそ、システム開発に深く精通している者が担当するべきなのです。システム開発を円滑で高品質に進めるためには、現場でどのような意思決定が働き、どのような状況が発生しうるかを想定して標準化を行わなければなりません。

標準化ビジネス

開発標準は、大手IT企業のノウハウを集約した形で今や商品化されています。開発標準商品は、プログラムジェネレータをパッケージの中に組み込んだ形のものもあり、製造でさえボタン一つでコードを生成することができるようになってきています。 今後も開発標準はどんどん進化していき、システム開発へ投じるコストも削減の一途を辿ることになるでしょう。無論、これはビジネスとして当然の結果でもあり、ムダを排除しようとする基本的な発想が、こうしたビジネスチャンスを生んでいるのです。