手順書ドリブンなスクリプト開発

2023-06-15

最近、仕事ではエンジニアが定常的に実行するスクリプトの改善に取り組んでいて、そこで気づいたことをブログにまとめることにした。

ここで言うスクリプトというのは、エンジニアが行う作業を効率化するために書かれたプログラムのことで、例えば、データのマイグレーションのためのスクリプトや、カスタマーサポートからの問い合わせを受けてたまに行う作業のためのスクリプトなんかがある。

手順書

本番環境に向けておこなう操作はすべて手順書を用意した方がいいと思っている。理由としては、

といったものが考えられる。さらに、定常的に発生する作業については、手順書をテンプレート化し、毎回同じフォーマットの手順書を使うことで効果が高まると思う。

手順書の内容

手順書の内容としては以下のような項目を含めるようにしている。

手順書ドリブン

手順書ドリブンというのは、まず手順書を先に書き、そこからスクリプトに求められる要件を見定め、開発を始めることを言っている。ライブラリを書く際にREADMEドリブンで開発することがあるのだけど、それのスクリプト版とも言える。

上述したような内容を含む手順書を書くと、スクリプトを書く際に自ずとこういったことを意識するようになる。

逆に、手順書を書く前にスクリプトを書きはじめると、こういったポイントがどこかで抜けてしまいがちになる。

まとめ

本番環境で作業をおこなう前に手順書を用意するというのは、割とよく見られるエンジニアしぐさだと思うのだけど、そこからさらに「スクリプトより先に手順書を書く」というテクニックを加えるとコスパよく実用性の高いスクリプトを書けるようになるため、ぜひオススメしたい。