2012-12-08 『継続的インテグレーション入門』を読んだ
『継続的インテグレーション入門 開発プロセスを自動化する47の作法』を読んだ。以前にも何度か書いているけれど、読み終えたので改めてご報告。
「 CI (継続的インテグレーション) 向けのツールを使いながら自動化を行おう」という本だと感じた。ぼくは自動化できるものはできるかぎり自動化したいと考えているので、楽しめた。
特にぼくが気になったのは継続的データベースインテグレーションのくだり。詳しくは書けないけれど、業務で自動化したいと感じることがあったからだ。
やり方は考えないといけない。コミットフックでビューやプロシージャを自動適用くらいなら対応できるが、テーブルなどはデータの置き換えで影響が出る可能性もある。共用データベースを避けた方が良いのかもしれない。DDLとDMLとで難易度が違うし、やり方を考えたい。
自動化は良い。
たまに「やり方が分からなくなるから手動でやれ」と言う人が居るが、手動でやれば手順が漏れたり伝わらなかったりして困る。自動であれば Windows バッチファイルか Ant スクリプトかやり方は分からないけれど、その領域の知識を入れれば追うことができる。それに対して手動では、その人が居なくなってしまえば分からない。手順書の類があっても、実は手順書以外の手順を踏まないといけなかったりする。スクリプトでも環境依存の部分はあるけれど、それは手順書でも同じだ。通常、自動でしかできなかったものができなくなっても対応できるが、手動でしかできなかったものができなくなると対応できない。手動よりも自動の方が良い。
ほかにも「機械は間違えるから人間で」言う人も居るが、それは違う。機械は間違えない。人間の指示通りに動くだけだ。指示が間違っている。手動は最小限にすべきだ。すべてを自動化したために「人間が確認すればすぐに分かる点が……」という例が本書には挙げられており、確かにそういう部分もあるが、だからといって手動を基本にすべきではない。ぜひ TOYOTA あたりの工場に行って、同じことを言ってみてほしい。機械は間違えるから今日からすべて手動でなんて聞いたことがない。手動でできるけれど、自動でできるなら、自動の方が良い。
早いし、正しいし、文句も言わない。
本の感想からは離れてしまったけれど、すこしでも本を読んでいるのは良い傾向だ。どんどん読みたい。
30 min.