2022-09-26
9月22日と23日の2日間、一般財団法人日本科学技術連盟主催のイベント「ソフトウェア品質シンポジウム2022」がオンラインで開催され、その企画セッションとして行われた和田卓人氏による講演「組織に自動テストを書く文化を根付かせる戦略(2022秋版)が行われました。
講演で、企業の業績はソフトウェアの開発能力に左右されるようになってきていること、その開発能力を高める上で重要なのがコードの「テスト容易性」や「デプロイ独立性」であると和田氏は指摘。その上で、それを実現させるような「自動テストを書く文化」をどうすれば組織に根付かせることができるのか、講演の後半ではこの本質的な議論へと踏み込みます。
本記事は、2時間におよぶこの講演をダイジェストとしてまとめたものです。
以下、印象に残った部分の引用を残しておきます。
そして、スピードの速い企業は品質が高く、スピードの遅い企業は品質が低い。ここでも、ものすごく残酷な結果が出てきてるわけです。
なんですけど、この3万以上の企業の調査から分かってきたのは、システムのタイプ、つまり組み込みなのか基幹系なのかパッケージなのか、といったものと、先ほどの4つのキーメトリクスには相関関係がない、ということです。組み込みソフトウェアだから有意にリードタイムが長いとか、そういうことはなかった。
アーキテクチャの2つの特性にパフォーマンスとの相関関係があったという、その2つの特性とは何なのか。それは「テスト容易性」と「デプロイ容易性(デプロイ独立性)」です。
例えばヘッドライトやテールライト、充電口などは2日で変更する。2日で変更するというのは、設計、製造、テスト、リリースまでを2日で行うということです。
つまりテスラのリードタイムはハードウェアにも関わらず2日です。このような手法を電気自動車の「モデル3」などだけでなく、宇宙機器のスペースXでもやっているそうです。
オブジェクト指向設計実践ガイドの著者のサンディ・メッツさんは「テストにコストがかかることの解決方法は、テストをやめることではありません。上手くなることです」と言っています。