開発スピードと品質はトレードオフの関係なのか?
ふとした瞬間に感じた疑問
プロダクト開発を進める際によく出る、「トレードオフ」という言葉。
よく、QCD(Quality、Cost、Delivery)と言われるものの中で、それぞれは「トレードオフ」の関係と言われる。
20年ほど、システム開発に携わってきて、この会話をする人たちを前に、疑問に思った。
開発スピード(Delivery)と品質(Quality)は本当にトレードオフなか?
ググってみる
自分の中に言語化できない感覚があったので、まずはGoogle先生に聞いてみた。
すると、自分の思っていることに近そうな内容の記事を2つほど見つけた。
ふむふむ、なるほどね、外部品質と内部品質と言う考え方をするのか。
ここに自分の言いたいことがなるようだ。
頭の中を整理する
これらの記事にも書いてあったが、そもそも内部品質である部分のコード品質を意図的に粗悪にすることで開発スピードを確保することができるのか?
否
むしろ、そんなことをしてしまうと、かえって時間がかかってしまうというというのが、過去の自分の経験だ。
いま、自分がアウトプットできる精一杯のものを出すことが一番開発速度としては早くなる。
では、なぜ、内部品質が悪くなってしまうのか?
それは単純に個人の保有しているスキルに依存していると考える。
このことから内部品質に妥協があってはならない。
内部品質が悪いことを「トレードオフ」という言葉に閉じ込めているに過ぎない。
開発スピードとトレードオフになる品質はあるのか?
これの答えは「是」と考えている。
どの部分かというと外部品質の部分。
ここはユーザーにとって感じやすい部分になる。
そう、例えばUIの部分がそれに当たるだろう。
UIは作り込もうと思えばどれだけでも作り込めると思うし、ユーザーの体験を良くしてくれる可能性を秘めている。
反対に考えると、ユーザーの課題を解決するための最低限の体験があれば問題ないとも言える。
そういった部分ではトレードオフが成り立つのではないかと考える。
まとめ
- 開発スピードと内部品質はトレードオフの関係ではない
- 開発スピードと外部品質ではトレードオフの関係は成り立つ
開発を進める際は、個人的にはこういった部分を意識しながら進めていきたいなー。
もちろん、後進の人に対しても同じような考えを持ってもらえるようにしていきたい。


