品質、コスト、納期の優先順位

はじめに

プロジェクト管理において、達成目標は3つある。
(1) 品質(Quality)
(2) コスト(Cost)※
(3) 納期(Delivery)
これらはその頭文字を取って、一般的にQCDと呼ばれる。
※コストについては、会社によって異なる呼び方(例:予算)をする場合もある。
上記3つの要素を厳守できれば、(個人的にはそう思わないが、少なくとも会社側からは)
「プロジェクト成功」とみなされる。

QCDの優先度

しかし、現実はそんな簡単に達成できないのがプロジェクト管理の難しさである。
もしもプロジェクトが最大限努力したもののデスマーチ状態に陥り、上記3項目の達成が
困難であることが確定した場合、どの項目を優先すべきだろうか?
筆者の個人的な主観での優先順位は以下の通りだ。
(高) 品質(Quality)
(中) 納期(Delivery)
(低) コスト(Cost)

「品質」を最優先する根拠

一番優先すべきは「品質」である。
読者諸君の中には異議のある方もいるだろうが、優先する根拠を以下に述べる。
品質の悪いソフトウェアは、ソフトウェアそのものを使わなくなる可能性があり、本末転倒となるからである。
さて、「納期」と「コスト」だが、ここから意見の分かれるところであろう。
短期的な観点(今後このクライアントとは取引しない等)であれば、確かに「コスト」を優先しても構わない。
しかし中長期的な観点を考慮すると、やはり「納期」が優先される。
これは単に技術者だから、経営の観点が抜けているという訳ではなく、ソフトウェアは然るべき機能を有し、
然るべき時に使われ活用されてこそ存在意義があると確信しているからである。
また、そのような考え方が、今回はプロジェクトが失敗したとしてもクライアントとの信頼関係低下を最小限に留める結果に繋がるはずだ。

実務経験からの具体例

その1:WBSのアクティビティ

タイトルの通り、WBSにおける各アクティビティにも同じことが言える。
以下のような悪循環の経験はどなたもあるのではなかろうか。
(1) 開発期間が短く、「納期優先」になる
 ↓
(2) エラー系を考慮せず実装 or 試験を簡略化
 ↓
(3) 後工程で不具合として発見
 ↓
(4) 修正するのにより多くの工数が掛かる
 ↓
(1) に戻る

その2:老舗

ちょっと変わった視点として、別な世界を例に挙げてみよう。

世の中には創業から長く続く店がある。いわゆる「老舗」である。
老舗には他店にはない、個性や強みがあるのだ。
あなたが知っている老舗を一つ頭に思い描いてほしい。
その老舗は他店と比べて、どのような個性や強みがあるのだろうか?
・立地条件や利便性だろうか?
・安さやコストパフォーマンスの高さだろうか?
・商品提供の早さだろうか?
・接客力の高さだろうか?
個人的な考えとして、信頼性の高さもあろうが、老舗の強みはひとえに「品質の高い商品」であると思う。
信頼性は「品質の良い商品」があってこそ、高まるものだからだ。

まとめ

この文章を読んだ方が、今一度プロジェクト管理、そして実装を含む各作業において、
「何を優先すべきか」見つめ直す契機となってくれれば幸いである。