SSブログ

夜間ビルドとテスト駆動開発 [プログラマー現役続行]

ソフトウェア開発の効率を向上するためには、人材教育から始まって、開発環境の改善、テスト手法の改善(手動テストから自動テストへ)、防御的プログラミング、より良いAPI設計など様々な面があり、どれか一つがすべてを解決してくれるのではありません。つまり、それらすべての総合力なのです。

大規模なソフトウェア開発では、すべてのソースコードが夜間にコンピュータにより毎日自動ビルドされて、テストが実行されるのが必須です。いわゆるビッグバーン・インテグレーションを行っているような開発では、開発効率は向上されません。

私自身、多くのソフトウェアプロジェクトに従事してきましたが、ビルドを自動化していない組織は、自動化しないことに対する言い訳を挙げるのは上手いです。工数がないとか人がいないとか、その理由は様々です。そもそも、その重要性を理解しないため、プロジェクト規模が小さい時から自動化すれば何も問題ないのですが、最初は小さいから手作業で行ってしまい、プロジェクトの規模が大きくなっていっても、手作業を継続してしまったりします。

私自身が夜間の自動ビルドを行うようになったのは、1993年から従事したプロジェクトでした(書籍『闘うプログラマー』)。2003年から従事した大規模なプロジェクトでは、夜間自動ビルドは当然のことならが、完全なテスト駆動開発であり、ビルドとは「コンパイルとテストコードの実行」を意味していました。

昔と比べる少なくなったとは言え、ビルドは一週間か二週間に一回のリリース日に手作業で開始して、テストも手作業というソフトウェア開発が、日本の多くのソフトウェア開発組織では行われているのではないかと思います。そのような開発が、ソフトウェア業界で完全に歴史(過去の遺物)になる日はいつ来るのでしょうか。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0