テストの繰り返しは価値が増えない

立て直しで介入したプロジェクトで、テスト工程に突入する前にこのままテストに入ってはダメだな、と思った。そのプロジェクトの特性として基本線表と並行して小規模な追加開発が予め予定されていることがあったからだ。

システム的にもパッケージの構成が(今思えば)やっつけ感と寄せ集め感があったのは、買収したパッケージを中途半場に統合していたからだろう。パッケージがどんなであれ、テストはしなければならない。要件をみたいしているかエンジニアの実装の確証として確認は必要であるからだ。

朝会か何かしらのミーティングで、突入する前にプロジェクトチームに対して、こんなことを話した。

『テストは繰り返し行うことになるだろうから自動化を考えて欲しい』

最初に返ってきたのはプロジェクトマネージャからのそんなの無駄だ、的な物言いだった。全くもって想像力がないのと、自分たちのチームの品質についてどれだけ正確に把握しているか疑わしい発言である。このような発言をするリーダは根が良い人柄であっても、自分の我を通そうとするのでそれに巻き込まれると周りが振り回される。

プロジェクト内での作業プロセスが十分揉まれていて、品質管理プロセス自体が作業プロセスに組み込まれているなら、その発言も一理あるかもしれない。ただ、そのプロジェクトの特性から言えば、自損バグと回帰テストを想像すれば3回以上はテストするはずである。ここを想像できれば、毎回手サブでテストをすることはそのテスト自体の品質と労力と時間の制約を考えれば、それがたとえ部分的であったとしてもリーズナブルであることは容易に想像をして欲しいものだ。つまり、そこまで考える余裕がなかったのだろう。

自分としては、楽をするために仕込みをしてく方がトータルで安く、早く、確実であると考えるから、そういった発想をするのである。ただそれだけだ。

であるから、

『3回は同じテストをすることになるだろうから、部分的にでもテストの自動化をするように』

とボールをチーム全員に投げた。

その後、若いエンジニアから聞いた話では、ベテランのエンジニアが率先して部分的な自動化をしたらしい。そのベテランエンジニアは確か諸事情があって復帰したばかりだったような気がするが、そうした状況下でベテランエンジニアの持っているスキルを使い、繰り返し使えるテストツールでチームに貢献することができたことは本人の自信にもなったことだろう。

本来の自損バグや回帰テストでの繰り返しも人海戦術ではなく、少しだけインテリジェンスに対応する経験をした若手エンジニアには良い影響を与えられたし、ベテランエンジニアの技術力を垣間見ていい目標になったのではないか、と思ったりもする。

自分が作業プロセスを重視するのは、こうした再現性を求められる繰り返し作業を人が毎回手サブをやるのは無駄としか思っていないからである。

やってみたら違ったから結果的に戻してピボットするのとはワケが違う。初めから繰り返すことがわかっていることは、その対策をしておくべき対象である。

世の中的にもテスト自動化が割と普通になってきたところがあり、その辺のことをいっても受け入れられやすくなったが、繰り返し作業は価値が増えないから機械に任せるべきだという考え方の根本を理解できるエンジニアが増えると嬉しいのである。

 

 

オムロン 温熱低周波治療器 HV-F312

オムロン 温熱低周波治療器 HV-F312