プロダクト開発において重要視すべきなのは品質か?速度か?
ジンジャー勤怠のプロダクトマネージャーの池田です。
2018年4月にjinjer株式会社の前身企業である株式会社ネオキャリアに新卒として入社し、
紆余曲折を経て、2018年10月頃にジンジャー勤怠のプロダクトマネージャーに就任しました。
今日までの約6年半でジンジャー勤怠やその他複数の新規プロダクトの立ち上げに携わった経験から
プロダクト開発においてトレードオフとされる「品質」と「速度」のどちらが重要なのか?を問われる場面が多々あり、
この機会に「品質」と「速度」のどちらが重要なのかを考察したいと思い、本テーマで記事を書くことにしました。
品質とは何か?
ひとえに品質と言っても、様々な種類があり、大きく「外部品質」と「内部品質」に分類されます。
「外部品質」とは
ユーザーにとっての使用感や機能性、パフォーマンス、信頼性などを含み、製品が市場に出たときにユーザーが直接影響を受ける部分です。
「内部品質」とは
コードの保守性やテストのしやすさ、設計の良さなどが関係しますが、ユーザーに直接影響するものではありません。
品質の重要性
ソフトウェアのコードの保守性や設計(内部品質)が良いと、ユーザーが体験する品質(外部品質)に良い影響を与えます。
具体的には、次のような影響があります。
-
バグの減少と安定性
内部品質が高い(例えば、良いコード設計やリファクタリングがされている)場合、
バグが発生しにくく、問題のトラブルシューティングが容易になります。
これにより、アプリケーションの信頼性や安定性が向上し、外部品質(ユーザーの使用感やシステムの安定性)も向上します。 -
パフォーマンスの最適化
内部品質が高いと、リソースの効率的な使用や最適なアルゴリズムの選定がされやすくなります。
これにより、アプリケーションの速度や応答性が改善され、最終的に外部品質(ユーザーが感じるパフォーマンス)が向上します。 -
拡張性と変更への対応
内部品質が高いと、ソフトウェアが拡張可能で、将来の機能追加や改善がしやすくなります。
これにより、製品の進化が容易になり、ユーザーにとっての機能性や適合性が向上します。
上記より、高い内部品質により高い外部品質が実現できる、つまり、「外部品質」が結果であり、「内部品質」が原因であるため、本記事では品質とは「内部品質」のことを指して考察します。
速度とは何か?
製品や機能が市場にどれだけ早く届けられるか、または開発プロセスの中でどれだけ迅速に作業が進むかという指標を指します。
速度の重要性
-
競争優位性の確保
市場にいち早く新しい機能を投入できると、競合他社より先にユーザーを獲得できます。
また、ユーザーからのフィードバックを素早く得て、次の改善に活かすことができます。 -
市場の変化への対応
市場のニーズや競争環境が変わる中で、速やかに機能をリリースすることは柔軟性を持つ上で重要です。
「品質」を疎かにし、「速度」を重要視した場合どうなるのか?
「品質」を疎かにし、「速度」を重要視した場合どうなるのかについて考察します。
「品質」と「速度」がトレードオフとされるのであれば、「品質」を疎かにすると、「速度」は上がるはずですが、
製品の初期段階においては速度は上昇するが、長期的に「速度」が低下すると考えます。
製品の初期段階においてガツガツ機能をリリースすることで、
中期的には拡張性の欠乏や不具合の増加により「速度」が低下し、
長期的には拡張性の欠乏や不具合の増加などの技術的負債が蓄積され、
結果的に「速度」が停止し、「品質」の改善を強いられる状況になるためです。
僕自身も約6年半のプロダクトマネージャー生活の中において、
製品の初期段階では、短期間で多くの機能がリリースされましたが、
1年経過したあたりから不具合が多くなり、更に数年経過したあたりから機能リリースの「速度」が低下し、結果的に「品質」の改善に尽力するという状況に陥った経験があります。
「速度」を疎かにし、「品質」を重要視した場合どうなるのか?
「速度」を疎かにし、「品質」を重要視した場合どうなるのかについて考察します。
「品質」と「速度」がトレードオフとされるのであれば、「速度」を疎かにすると、「品質」は上がるはずですが、「品質」は微増しかしないと考えます。
1人のエンジニアの技量には限界があり、速度を疎かにしたところで、品質が高くなるわけでないため、
市場に早く投入し、フィードバックを得て、仮説検証プロセスが回すことで「品質」を上げることができます。
結果
「品質」と「速度」はどちらも重要であり、トレードオフの関係ではなく、下記のようにコンパティビリティの関係であると考えます。
- 内部品質の向上が速度の向上なり、速度の向上が品質の向上になる。
- 内部品質と速度の向上が外部品質の向上になる。
- 外部品質の向上が市場競争力の向上になる。
- 市場競争力の向上が顧客創出の向上になる。
- 顧客創出の向上が内部品質と速度の向上になる。
最後までお読みいただきありがとうございました。
本考察は、製品のフェーズによって異なる見解もあるかと思いますが、
あくまで私自身の一意見として受け取っていただければ幸いです。
あわせて、このテーマについて皆さまの考えるきっかけになれば嬉しく思います。
Discussion
質とスピードに通じるところがありますね!
https://speakerdeck.com/twada/quality-and-speed-aws-dev-day-2023-tokyo-edition
https://www.veriserve.co.jp/asset/approach/column/software-quality/software-quality07.html
内部品質にフォーカスしたり、内部品質の中でも保守性を協調しているところなど、主張だけでなく話の進め方自体も「質とスピード」と同じだなあと思いました。
全然知らなくて同じ結論になったのならば素晴らしいことですが、もし参考にされたならその旨は記載された方がいいかなと思いました。
記事自体は池田さんの言葉や実体験を元に主張されていて、素敵だと思いました。