IT業界で気づいたことをこっそり書くブログ

くすぶってるアプリエンジニアが、日々気づいたことを適当に綴っていきます(受託→ベンチャー→フリー→大企業→ベンチャー→起業)

QCDはトレードオフする(トレードするとは言っていない)

(同僚でQCDがわかる人が1割くらいしか居ないので説明・・・)

 

Q:Quality 品質

C:Cost  コスト

D:Delivery 納期

法則:QCDは一つを向上させると、他が疎かになる

QCDはトレードオフするというのはIT業界では常識(キリッ

 

という前提での話

ーーーーーーーーーーーーーーーーーー

 

 QCDはトレードオフ関係にある

が、QCDは独立して決定されるので、トレードされない

ということに今更気づいた

分かりやすいものから挙げていく

 

  • 納期

納期はクライアントのビジネスの都合で決定される

もしズレたら計画が崩壊し多大な損失が出る

だから大抵の場合、納期はずらせない

 

コストが足らずとも、品質が足らずとも、知ったこっちゃない

とにかく納期は絶対なのだ

 

  • コスト

コストは相場によって決定される

もし高すぎれば失注する

QCDのトレードオフはクライアントに認識されていないし、我々IT業界でも認識が薄いので、コストはあくまで人月によって決まる。

 

もし特急料金を求めたらどうだろうか?

通るかもしれないが、競合他社が短納期の難しさを理解せず、イケると勘違いしていたらそちらに流れるだろう(もちろん破綻するが)

 

だから、コストは人月基準の相場に引きづられる

 

  • 品質

品質はトレードオフできると思っている方がいるかもしれないが、それは違う。

品質は製造者の品質信仰によって決まる。

機能要件と非機能要件がきちんと分けられていればまだよいが、大抵はどこまでが要件でどこからが品質向上なのかが不明確だ。

 

技術者やデザイナーは、コンポーネントひとつに対し半日こだわることで幾らコストが掛かり、それがクライアントのビジネスにどの程度影響するか、大抵の場合答えを持ちあわせてはいない。

なので「こうあるべきだ」が基準となる。

 

技術者に品質を下げるよう要求できるだろうか?

そんな恐ろしいことができるPMは少ないだろう

 

なので、品質の最低限度は人に依存する

 

 

 

というわけで、Q,C,Dがそれぞれズラせない独立したものとして決定され

調整できなければ、最後は破綻する。

 

 

破綻パターンも挙げてみる

 

・納期破綻 ・・・ リスケ

・コスト破綻 ・・・ 人員を限界まで投入、代休の前借り、残業代など

・品質破綻 ・・・ 動かない謎のオブジェの完成

 

上記はまだ軽傷

 

・納期+コスト破綻 ・・・ リスケできずデスマーチするが間に合わないパターン。人も会社も疲弊するヤバイやつ

・納期+品質破綻 ・・・ ゴリ推してゴミを作り結果動かない、作り直しパターン。クライアントが激おこするやつ

・コスト+品質破綻 ・・・ 何とか間に合わせたがただの黒歴史になるパターン。人が辞めるやつ

・全破綻 ・・・ 上記の複合

 

これらを回避するのが何故難しいかといえば

QCDの尺度をクライアントに納得させなければならないからだと思う

(それ以前に営業や開発者すら分かってない場合も多いが)