要件定義の進め方

システム開発の大炎上を防ぐために、上流工程(前工程)に位置する「要件定義」について、考えていくブログです。

要件定義書の作り方
PDCAサイクルではなく、PDCサイクルを回そう
あるべきV字モデルについて整理した
スコープを決めてから、QCDの議論をしよう

システム開発におけるベンダ選定の3ステップ

システム開発において、ベンダ選定は極めて重要な作業だ。ベンダで開発の行方が決まるといっても過言ではない。もう少し正確に言うと、その会社の組織力とプロジェクトマネージャの能力で決まる。今回は、システム開発におけるベンダ選定の3ステップを紹介する。

ベンダ選定における重要なポイントは、組織力

その前に、ベンダ選定における重要なポイントを紹介しておく。システムというのは、人月商売である。これから作ろうとするシステムをいざ作ろうとした場合に、設計者○○人月、実装者○○人月、というふうに見積もりをしていく。人月というのは、その仕事を一人で開発した場合に、何か月でその仕事をやり切れるかという単位だ。12人月といった場合、一人で開発したら、12か月かかる仕事量であることを意味する。

自社の人間だけでは開発できないので、多くのエンジニアは、一次請けの会社が他の会社から集めてきた人たちであったりする。集められたエンジニアは、会社も違うし文化も違うため、品質に対する考え方も違う。

このような状況において、システムの品質を保っていくためには、各エンジニアの認識を共通化しつつ、システム開発をマネジメントしていかなければならない。こういうことをする人たちのことを、プロジェクトマネージャという。

ここで重要な点は、プロジェクトマネージャも人であるという点だ。人であるがゆえに、能力もバラバラだ。そして、プロマネとしての手腕を測る方法はない。プロジェクトマネージャという国家資格は存在するが、資格はあくまでも知識を問うものであり、その人の本当の力量は、仕事を見てないとわからないのだ。

大変なことだ。プロマネは重要な仕事であるというのにも関わらず、顧客側は、プロマネの力量を測る方法がないのだ

そこで、プロマネの能力以外でどこを見るべきかとなるのだが、見るべきポイントは、会社の組織力となる。プロセス設計力といってもよい。人に依存するシステム開発というものを、プロセスを定義し、遵守させていくことによって、一定水準の品質を担保する。こういうところに組織としての優秀さが表れてくる。この辺りについては長くなりそうなので、また別記事で紹介することとして、ベンダ選定の3ステップを紹介する。

ベンダ選定の3ステップ

ベンダ選定の3ステップはシンプルだ。

  • ステップ1:良い要件定義書を書く
  • ステップ2:ベンダに見積もりを依頼する
  • ステップ3:ベンダを選定する

これだけだ。順に説明していく。

ステップ1:良い要件定義書を書く

当たり前だが、良い要件定義書を書くことが最初のステップだ。良い要件定義書を書くことは、システム開発のスコープをはっきりさせることを意味する。スコープをはっきりさせることで、ベンダは見積もりの精度を高めることができる。要件定義書の書き方については、下記を参照されたい。

req-definer.com

ステップ2:ベンダに見積もりを依頼する

次のステップは、ベンダへの見積もり依頼だ。要件の実現手段はベンダによって異なるので、相見積もりをすることをお勧めする。信頼できるベンダがいるならば、そのベンダに依頼してもよい。

ベンダ同士を比較するとコスト削減に目が行ってしまいがちだが、本来の目的からすると、コストを下げることは最重要な目的ではない。あくまでもこれから作ろうとしたものが、狙いのコストに収まっているかが重要だ。ちゃんとしたシステムが出来上がり、狙いのコスト以下に収まっていればそれでよいのだ。

ステップ3:ベンダを選定する

ベンダを選定しよう。選定の方法はいろいろあるが、顧客が決めたスコープ(=要件)について、QCDをすべて満足できそうな業者を選定すべきだ。

Qについて

品質を確保できそうな業者を決める。営業が持ってくる資料を見る意味はない。プロマネはどんな人か、組織力はどのくらいか、を見ることが重要だ。品質というのはプロセスで作りこまれる。会社としての品質への取り組みを聞いてみよう。内部の監査がどうだとか、品質とは何か?聞いてみると良い。答えられないようならば、その会社は危うい。品質に対する考えもないベンダが、品質を確保できるわけないだろう。組織やプロマネが品質の確保に対してどう取り組んでいるかが重要な点だ。

Cについて

人月単価を確認しよう。あまりに安いのは危険だ。別の記事でも紹介予定であるが、あまりに単価が低いと、人材の質は良くない可能性がある。コストについては、企画段階のコスト内に収まっていれば良しと考えるのがよい。

Dについて

納期については、納期を守るために、どのような開発をしようとしているかを見るのが良い。一つの指標は、「いつまでに」をさっと決めるような人たちは、納期意識が高い。会話でさぐっていく必要がある。

ベンダ選定の3ステップの図説

参考として、これまで説明した内容を1枚で図示しておく。

f:id:req-definer:20220127210821j:plain

ベンダ選定の3ステップ

当たり前のことをつらつらと書いているように思われるかもしれないが、当たり前のことを当たり前にコツコツとやっていくことが、システムを作り上げるうえで重要なのだ。

結論:要件を定義しなければ、見積もりを依頼できないことを心得よう