🧹

自動テストはいつ導入すべきか?お掃除ロボットに例えて

2024/03/06に公開

自動テスト導入の話をする際に、「ルンバ(お掃除ロボット)を導入するには部屋を片付けないとね」という例えをよく使います
ref: https://yoshikiito.net/blog/archives/roomba-effect-test-automation/

「自動テストはいつから導入すべき?」という話もよく聞くので、ルンバに例えて考えてみます

  • プロダクト = 家
  • 自動テスト(E2E, システムテスト寄り) = ルンバ

家を建てる前、設計段階ではルンバはなんもできません
しかし、「ルンバが通りやすいような動線を確保しておこう」と考えることが大事です
建て終わった後で「この段差がなければ…」「ここが繋がっていれば…」と後悔することになります

ある程度建築が進み、人が中に入り内装の造り込みをする段階になったら、一度ルンバを走らせてみてもいいかもしれません
早い段階で「造り付けのこの本棚、こっちの方がルンバが通りやすいか」という判断ができます

ただ、これらのために家を建てること(リリース)が遅くなっては本末転倒です
まずは家を建てそこに住むことが優先です

建て終わって住み始めてみると、わかってくることもあります
部屋の使い方が固まってきた時点で自分に合った自動掃除機を選択することもいいでしょう
最初からガチガチに考えて導入しても、もしかしたら「やっぱ住みにくいから売るか」(プロダクトなら思ったより売り上げが立たず早期に撤退など)となったらせっかく整えてもかなりもったいないですしね

家に長く住み、部屋に物が散らかった段階だと導入するのは結構大変です
まずは部屋を片付けなくてはいけない…
こうなったとき、一番導入しやすいのは リフォームや新しく部屋を増築するなど、0から始められて他に影響がない状況です
家の運用(?)も固まっており、新しい部屋でうまくルンバが活躍して成果が出れば、他の部屋への導入もやる気が出ます


考えながら思ったことのまとめとしては

  • 設計などの早い段階では、後々テストしやすいような作りを考えておくことが大事
  • 動くものがある程度固まってきたら小さなテストを実装しようとすると早期に課題に気づける
  • ただし、リリースすること・価値を生むこととのバランスは大事。質とスピード
  • リリースしてしばらく経った場合でも、独立した機能から導入するとやりやすい

Discussion