Web API 設計実践入門 ――API 仕様ファーストによるテスト駆動開発

読了。

理論で終わらない、現場で使えるテスト駆動開発の正解例のひとつが提示されていると思う。

個人的に最も刺さったのは、E2E 自動テストをやる目的が、読みやすい仕様書を書いて保守し続けることであること。仕様書をちゃんと書いて最新の状態に保つための E2E 自動テストである、という部分。

めっちゃわかる。自分もこれまで、仕様がよくわからないソフトウェアの保守運用、仕様がよくわからない UI の開発を通して辛酸を舐めてきた。

仕様がある程度明確であれば、その他の条件が悪かったとしても、ソフトウェア開発は何とかなる。逆に、仕様が明確ではないという状況下では開発組織のリードタイムが思ったよりも上がらない、といったことがよくある。仕様が明確であるかどうか、という点が、ソフトウェア開発における大きなボトルネックの 1 つ。あらゆる自動化を考える前に、仕様を明確にすること、仕様の明確さを保つこと、にもっと注力したらみんな幸せになる、と自分は思う。 API の仕様を明確にし、その明確さを保守してゆくための手法として、本書で紹介されている API 仕様開発フローが活かせると思う。おまけにメルペイでの実績があるというお墨付き。

難点としては、組織によっては、E2E フレームワークの構築の難しさがありそうだということ。API に依存するサービスの数が多い、とか、あらゆる理由によりソースコードのリファクタリングが難しい、とかである場合がこれに該当するかもしれない。

とはいえ、開発チームの中でもし自分が何でも自由に決められるのであれば、API 仕様ファースト開発をぜひとも導入したい。