システム開発の現場で最も大事なのは「工程厳守」と「品質確保」。”最も”と言っておきながら二つも要素を並べてしまっているが、開発プロジェクトに参画しているシステムエンジニアやプロジェクトマネージャであれば、工程と品質は絶対に意識しなければならないものなのです。
特にプロジェクトマネージャがこの二つの要素をないがしろにしてしまうと、だらだらと工程遅延が発生し、プロジェクトが炎上してしまう恐れがあります。炎上を防止するためにも、工程厳守と品質確保は最優先事項として、プロジェクトメンバーに周知させておきましょう。
工程厳守
開発プロジェクトが始まれば、まずは工程表を作成し全体のスケジュールを決めていきます。基本設計や詳細設計、プログラミングやテストなど、各工程で区切ってスケジュールを管理するのが一般的。
この工程表にもとづいてプロジェクトメンバーはプロジェクト完遂のために尽力していくわけですが、各工程には開始・終了の予定日も決められているはず。あくまでスケジュール上の日付だからといって、軽い気持ちで受け取っているエンジニアもいるでしょうが、それではいけません。工程が遅れてリスケが繰り返されれば、結果として納期まで延期になり、お客様には迷惑がかかり、開発予算も膨れ上がって会社としても損が出てしまいます。
どんなプロジェクトにも必ず終わりを迎える日があるわけで、しっかりと納品するべき時に納品できるように各工程の開始日・終了日が決められているのですから、これは厳守しなければならないのです。
各工程の終了日はお客様の承諾をいただいて完了とする
各工程の開始日はエンジニアがその作業に取り掛かった日付でよいのですが、問題は終了日。何をもって完了とするのかですが、これは担当エンジニアの自己申告ではいけません。
しっかりとお客様の承諾をもらった上で、その工程を完了とするのが望ましいでしょう。そうしないと納品間近になって、お客様から「こんなシステムが出来上がるはずではなかった」と言われかねません。もしそんなことを言われたら工程を遡っての作業となってしまい、大幅に工程が遅延してしまいます。
基本設計の工程であれば基本設計書を作成し、お客様に内容を説明する。そしてお客様確認を済ませたという証拠のために、必ずお客様印をもらうようにしましょう。お客様印まで頂戴したら、エンジニアも工程を遡って作業することは許されません。仕様凍結して先の工程に進みます。
ただしプログラミング工程でお客様確認をもらうのは難しいので、単体テストまでの結果をお客様に提示して、納得いただいた上でお客様印をもらうようにしましょう。
品質確保
工程を厳守したとしても、納品後にバグばかり発生するシステムではいけません。稼動前のバグ対応ならまだしも、稼動後にバグが発生すれば、お客様の業務もストップしてしまいますし、時間がない中での対応となり、作業も雑になってしまいます(稼動前のバグも多すぎてはいけませんが・・)。雑な作業は新たなバグを生み出してしまうことにもつながります。
品質を確保するためには、担当エンジニアの努力はもちろん必要ですが、それ以外にも品質を確保するための仕組みづくりが必要になってきます(先に説明した工程ごとのお客様承認も品質確保にとって大事)。またプログラミングやテスト工程だけを入念に行うのではなく、ウォーターフォールモデルで開発を進める限り、要件定義や設計段階のうちから品質を考えた作業の進め方を心がけることも重要です。
有識者からレビューを受けよう
「50歳を過ぎても頼られるSEになるには業務知識を蓄えよ」の記事でもご説明していますが、設計やプログラミングができたからといって、質の高いシステムを作り上げることができるとは限りません。想定外の処理やデータを考慮したシステムを構築するためには、その業務に精通しているエンジニアの存在が必要になってきます。
その有識者となるエンジニアが全ての作業をこなせればよいのですが、マンパワー的にもそういうわけにはいきません。だから担当エンジニアは必ず設計段階から有識者のレビューを受け、設計に穴がないかの確認を行いましょう。
品証部署の重要性は
企業によってはシステムの品質を保証する”品証部署”が存在することがあります。
品証の仕事は、エンジニアが形にした成果物のチェックを行い、本当に品質が確保できているかの確認を行います。ただし品証の人間はその業務に精通しているわけではないため、見当違いな指摘をだしてくる場面もしばしば見受けられます。
品質を確保するという点では、担当エンジニアの意識の違いが大きいので、品証はそこまで重要ではないかもしれませんが、品証部署によるチェックもないよりかはあった方がよいでしょう。
工程を厳守し品質を確保することで信頼が生まれる
工程を厳守して事前に決めた納期でシステムを納品する。そしてバグがなくお客様の業務も円滑に進めることができる。これがシステム開発~導入のあるべき姿で、システムエンジニアが目指すべき理想の進め方です。
工程を厳守して品質を確保することで、お客様からの信頼が生まれ、次の仕事にもつながるのです。システムエンジニアはプロですから、ただシステムを形にすればよいわけではなく、お客様の満足度も意識していきましょう。
おわりに
プロジェクトマネージャが工程と品質の二点をしっかりと管理していくことが、プロジェクトの炎上を防ぐ秘訣です。炎上を防ぐことは、エンジニアの気力低下や現場の士気低下というマイナス要素を排除し、お客様の信頼というプラス要素を生み出してくれます。
開発プロジェクトをスムーズに進めたいのなら、エンジニアとプロジェクトマネージャが一緒になって、工程厳守と品質確保に努めていきましょう。
【X(旧twitter)でも情報発信中】
Xを最近始めたので、フォローしてもらえると嬉しいです(エンジニア界隈の方はフォローバックさせていただきます)! システム開発に関することや、最新テクノロジーのことなど、世のエンジニアにとって有用な情報を発信してます!