【マネジメントシリーズ】QCD(キューシーディー)
はじめに
マネジメントシリーズと題しましたが、マネージャーだけではなく、セルフマネジメントを行う多くの社会人エンジニアの方に読んで欲しいです!
今回のテーマはQCDで、プロジェクトマネジメント的な分野の話です。
ゴール決めてますか?決めてませんか?
皆さんお仕事されるうえで、ゴールを決めていますでしょうか。
ゴールとはあるべき状態のことです。会社やチーム、プロジェクトの性質によって細かく定めているところそうでないところがあると思います。
ゴールは決めずにやりながら考えるよ、という方もいらっしゃると思います。
いえいえ、必ずしもゴールとは最終的なものではありません。いくつかのステップに分けて行う場合、ステップごとにゴールがありますし、最初はゴールを定めないと言ってもゴールを明確化する為に何らかの確認や検証を行うと思います。これもまたゴールになります。
冒頭で「ゴールを決めてますか?」と書きましたが、明示的・暗黙的、または管理されている・管理されていない、関わらずに考えると、必ず何らかのゴールはあるはずです。
ゴールってそもそも何なの?
ゴールとはあるべき状態のことと、先ほど書きましたが、もうちょっと具体的に言いますと次のように分解できます。
- いつまでに
- どれだけのリソースを使って
- 何を実現するか
例えばこういうことですね。
- 2024年12月31日までに予算XX円で〇〇システムが完成している
- 6か月以内に採用担当者二人がフルタイムで稼働して△△チームのメンバーを5人採用する
- 来月中に単価YY円以内のフリーランス1名の方にお願いして4画面作ってもらう
納期や予算は未定ということあるかもしれませんが、無制限ということはないはずです。詳細レベルで明確でなくとも何かしら上限はあるはずです。
なお、リソースとは本来はお金の面でのリソースに限らず、ヒューマンリソースを始めとする様々なリソースが含まれるのですが、以降では簡略化のためにリソース=費用とします。
で、QCDとは?
前の章で書きました
- いつまでに
- どれだけのリソースを使って
- 何を実現するか
ですが、これこそがQCDです。
Quality : 何を実現するか
順番が前後しますが、まずは「何を実現するか」です。
「何を実現するか」とは単純にどの機能を持っているか(機能要件)だけではなくて、どの程度の性能、セキュリティ、運用の容易性、などなど(非機能要件)も含まれます。
非常に簡単に言うと品質(どこまで作りこむか)とも言えます。つまり、「Quality」です。
Cost : どれだけのリソースを使って
次に、どれだけのリソースを使って=(簡略化して)いくらのお金を使って、です。つまり、「Cost」です。
これは簡単ですね。
Delivery : いつまでに
最後に、いつまでにやるか、納期です。つまり、「Delivery」です。
これも簡単ですね。
まとめると
QCDとはつまり、Quality、Cost、Deliveryの頭文字で、ゴールを構成する3要素のことです。
ではどうしてQCDが大事なのか
前置きが長くなりましたが、ここからが本題です。
その前に一応おさらいです。
- すべての仕事(タスク)にはゴールがある
- ゴールとはQCD(Quality、Cost、Delivery)に分解される
ではどうしてQCDが大事なのか、それはQCDすべてを同時に最高の状態にすることが出来ない、トレードオフの関係にあるからです。
※トレードオフとは、一方を良くすると必ず他方が悪化する関係のこと。
従って、ゴール=QCDを決めるうえで、QCD間でどうバランスをとるかをマネジメントしなければなりません。
QCDが適切にマネジメントできてないとどうなるか。例えばこんなことが起こり得ます。
- 納期、予算が決まっているのにどんどん要望が増えていって全部に対応していたら予算オーバー、試験不足による品質劣化してしまった。
- 月に一回のデータ出力を依頼され、手作業は手間なので運用ツールを開発した。引数のバリデーション、ネットワークエラー、リトライ対応、GUI作成、実行時オプションの充実、、、。色々と凝った作りにしていたら、1週間もこの開発作業に費やしてしまった。手作業でもせいぜい10分で終わる作業なので開発工数(5日*8時間=2400分)を回収するのに240か月=20年もかかってしまう。
- 高品質を担保しなければなりません!なので急ぎのリリースが必要ですが、テストするのに2週間待ってください。
優秀なエンジニアの方だからこそ、あれもこれもと機能やバグ品質を充実させてしまい、結果あまり意味のないことに時間を費やしてしまったというのはよくある話ではないでしょうか。
QCDをどうマネジメントするか
QCDのマネジメントの仕方で明確な正解はありません。
大前提としてQCDについて意識を持つことが大事ですが、次に大事なことは
- 意思決定の際にQCDについて検討すること
- 定期的にQCDを見直すこと
です。
意思決定の際にQCDについて検討すること
全ての意思決定に必ずしもかかわってくるわけではないですが、多くの場合、何か仕事(タスク)をやろう・どうやろうと考えるときにQCDが関わってきます。
QCDはトレードオフです。何かを重視するなら何かを軽視しなければなりません。しかし0か100ではありません。どうバランスをとるかが大事です。
何事もそうですが、すべてを重視する=すべてを軽視すると同じです。それは意思決定ではありません。
そしてこの意思決定は必ずしもマネージャーだけがすることではありません。メンバーの方でも自分の仕事の進め方についてある程度裁量があると思います。その時に是非QCDを考えてみてください。
定期的にQCDを見直すこと
QCDは考えなければなりませんが、精緻に見積もることは諦めてください。たいていの場合、何月何日何時に終わる、1円単位で費用を算出するというのは出来ませんし、したところでどうせずれます。
そして仕事を進めるうえで予想外のことが起きるのが普通なのです。
だからと言って、QCDを気にしないとはなりませんが、精緻に決めてずっと見直さないというのは危険です。
定期的に、もしくは状況毎に都度見直しましょう。
Tips
実のところ、QCDの内、1つが固定化されていることはよくあります。
納期は契約により決まっている、予算は年次計画で決まっているのでそれを越せない、QAチームの検証が合格しなければリリースできない、などなど。もちろん前提を疑う(クリティカルシンキング)も大事なのですが、こういったケースはよくあることです。
なので、実際の場合はQCDの内の2つ、どちらをどれくらい優先させて、他方をどの程度までなら諦めることが出来るか、ということを考えるだけだったりもします。
3つ全部が変動するより大分楽ですよね。
最後にまとめ
改めてまとめになりますが、要点としては以下です。
- すべての仕事(タスク)にはゴールがある
- ゴールとはQCD(Quality、Cost、Delivery)に分解される
- QCDはトレードオフの関係にある
- (個人タスクにおいても)意思決定の際にQCDを意識し、時々見直す
皆さんもQCDをどのように設定すべきか、考えてみてくださいね。
是非他のシリーズも読んでくださいね。
Discussion