【システム開発】QCDのうち、どれを1番重要視するのが良いか
こんにちは!CODE CLUB965のKです!
今回はシステム開発におけるQCDについて私個人の意見を書こうと思います。
一番何を重視する?
もし、あなたが開発チームのリーダーだったとして、QCDのうちのどれを1番重要視していきますか?
Quality:アプリやコードの品質を大事にする
Cost:開発費用を予算内に治めることを大事にする
Delivery:予定通りに納品・リリースできることを大事にする
3つのうち、どれに一番注力して、開発を進めますか?
せっかくなので、読み進める前に少し考えてみて下さい。
なお、この質問はディスカッションをするためのテーマみたいなものなので、以下のような意見は受け付けません。笑
「開発スピードと品質はトレードオフの関係にないよ!」
「プロジェクトによるでしょ!」
「全部大事だよ!」
私の意見は…
私の意見としては、チームリーダーであればQuality(品質)に1番注力するのが良いと考えます。
なぜなら、Qualityだけはみんなが気付かないうちに劣化していく可能性があるためです。
Costが知らないうちに膨れ上がっている、ということは基本的にはないはずです。
システム開発の仕事の大半は人件費です。
従って、コストが増えるとすると、開発要員が増えるか、もしくは1人あたりの稼働が増えるかです。
そのどちらかが知らないうちに増えてしまっているというのはあり得ないので、特に意識していなくてもコストの増加は検知することができます。(知らないうちに開発要員が増えていたら怖い。笑)
従って、わざわざ意識する必要はありませんし、チームメンバーに意識させる必要もありません。
Deliveryは納期です。
つまり、計画に対して予定通りに開発が進捗しているかどうかですが、これもリーダーが意識的に管理していなくても、遅れが発生すれば全員が気付けるはずです。
対応ができるかどうかは置いておいて、遅れの検知自体はできるはずです。
従って、こちらについてもリーダーが注意している必要はありません。
CostとDeliveryと違って、Qualityだけは気付かずに悪くなっていたということが十分にあり得ます。
コードの品質、機能品質、両方の面で起こり得ます。
「順調に開発が進んでいると思っていたが、実はコードの品質が非常に悪く、これ以降は1つの機能を追加するのがかなり大変である。」
といったことや、
「計画通りに機能開発が進んでいると思ったが、実は細かいところでバグだらけだった。バグを修正する時間がない。」
といったことは十分に起こり得るのです。
皆さんにも経験が無いでしょうか?
Qualityだけは意識していないと、劣化に気付くことができません。
そして、気付いた時にはどうしようもなくなっているという状態にも成り得てしまうのです。
従って私は、チームリーダーとしてQCDのうちのどれか1つを特に注意するのであれば、Qを選びます。
最後に
いかがでしょうか?
皆さんは、何を1番重視するのが良いと考えますか?
「これが絶対の正解だ!」というのはないと思うのでいろんな意見があると思います。
ちなみに私はQualityを1番可視化するのが難しいと思っているので、Qualityが悪ければそれをDeliveryの悪さに変換してあげることをやります。
そうすることで、チームが状況のヤバさを認識しやすくなるのです。
何を言っているか分からない方や、詳細が気になる方は次回の記事で詳しく書きますのでぜひ読んでみてください!
それでは、また!
“【システム開発】QCDのうち、どれを1番重要視するのが良いか” に対して1件のコメントがあります。
コメントは受け付けていません。