スピードと品質のトレードオフは幻想?

公開日:2021/10/20

著者:堀内 文雄

どーも、代表の堀内です。

今年入社したメンバーの中で、 「スピード感」を大事にしているというのを常に言ってくれるメンバーがいます。

私との面談のときも、もともと自社サービスの開発をやっていて、 組織が変わり、社内での動きがスピード感がなくなってしまった、 という話から新天地を求めてやってきてくれました。

受託開発がメインのクラベスでもスピード感は大事です。 すでに稼働中のお客様には短いサイクルでリリースを行うことも多いです。 2ヶ月に一回更新をかけていく中で、何をやっていくのか?みたいな案件もあるよ、 という話をしていました。

受託開発の場合は必ずウォーターフォール型、 というわけではないことに気がついてくれたのを覚えています。

基本的に大型の案件のリリースまではウォーターフォール型が多いのですが、 リリース後はアジャイル型に近い形になっていきます。

そのメンバーがシェアしてくれた話の中で、 「スピードと品質はトレードオフなのか?」 という話がとても面白かったので、今日はそこに触れたいと思います。

僕らのようなシステム開発のプロジェクトをやっていると、 「納期と品質がよくトレードオフになる」 と認識している人が多いです。
というのも、あれもこれもやりたいを詰め込んで、 でも納期はずらしたくない、みたいな時に、テスト期間を削る、という 悪しき対応をしてきたからなのです。

確認点検をしなければ、たしかに期間は短くできますが、 後で問題起きた時に、その対応に追われることになります。

その場では起死回生の案、と思えたかも知れませんが、 トータルで見たら後で問題が発覚した方が悪いに決まっています。

問題は早期発見の方が良いです。
要件定義の段階での不具合もあります。(話や運用の矛盾・ヒアリング不足など) 設計段階での矛盾や調整なども発生します。 開発段階での実現可否なども発生します。 テスト段階での不具合もありますし、ここで発覚する仕様の問題もあります。 リリース後に発覚する不具合もあります。

全てをゼロに近づける努力はしていますが、 早期の段階で対応できれば、コストも低く、スムーズに対応ができるのです。

トレードオフの話に戻しますが、 クラベスでも、構築時にテストコードを書くことを始めています。 テストコードを書くことで、将来の不具合発生を防ぐことになります。

この手順をなくすことは、将来的な負債を抱えることになるので、 トータル的な対応コストは悪くなってしまいます。 それでも早く進めたい!というケースはありますが、
実際にはテストフェーズや直近のリリース後に困ることが多いので、
テストコードはあるべきだと考えます。

テストを削ってリリースして、 その後、品質向上のための改修をやらせてくれるプロジェクトは少ないです。 ※やるケースもありますが、どちらかというと、保守費用の中で弊社が自ら行うような対応でした。

システム開発をやっていれば、
「品質もあげながらスピードもあげたい!」 と考えるのが理想ですよね?それが正解だと思います。 で、それを実現するにはレベルアップしかないのです。

社内の勉強会や、それぞれの学習時間をさいて、成長するしかありません。

弊社では、エンジニア共有会(勉強会)があり、 また週に2時間の学習時間をとっていい、ということにしています。 googleの20%ルールまではまだまだですが、チャレンジしています。

そして、能力が高くなれば、 品質の高いものが作れるようになり、スピードも上がる、と考えています。 経験が増すことにより、早期に問題に気がつけることも増えると思います。

もちろん他の要素もたくさんありますが、 知識や経験がある人が、スピードを優先するために品質を落とそう! なんてことはありえないと思います。

知識や経験がない人が、 「スピードを優先するために、調べるのをサボろう!」 ならありえますが。。。 品質への意識や経験は、会社として備えていかなくてはいけないと思っています。

結論として、納期とのトレードオフになるのは、 対応範囲(スコープ)になる、というお話です。 あれもこれもやりたいを詰め込んで、でも納期はずらしたくない、 というのは不可能、ということになります。

ご要望はお聞きしますが、 その中で最善のものを選択していただく方針で、私達もお話しています。 無理な納期をそのまま、というのはお受けできません。

スピードと品質を上げるためには、様々な能力や経験が必要です。 また、仲間とのチームワークや働き方、はたまたやる気なんかも影響してくるでしょう。

そんな部分を解決して、将来の爆速で高品質な開発のために、今も努力していきます。

2021.10.20 堀内文雄(サッカー観戦はやはり心が揺さぶられる)