« チームは加速するのか~Velocityの使い方 #agilesamurai | トップページ | 【告知】第1回品川Redmine勉強会を開催します #47redmine »

2011/08/28

インフラやデータ移行の自動化~アジャイル開発の最後の問題

牛尾さんが書いた記事を@ryuzeeさんが絶賛されていたのでメモ。

【元ネタ】
アジャイルなインフラのつくり方とデータマネジメント - メソッド屋の日記

Twitter / @ryuzee: これは素晴らしい記事だ / アジャイルなインフラのつくり方とデータマネジメント - メソッド屋の日記 .

XPが提唱したテストの自動化、ビルド作業の自動化によって、開発工程は確実にスピードも品質も上がる。
しかし、受入テスト環境へのデプロイ作業(リリース作業)でいつも手間取る。
本番環境は開発環境とは違って、環境そのものも違うし、データも違うから、モジュールの配置以外の作業が大変なのだ。

「アジャイル開発は開発環境ではとても有効だが本番環境ではその恩恵があまりない」という指摘は「ThoughtWorksアンソロジー ―アジャイルとオブジェクト指向によるソフトウェアイノベーション」において「ラストマイル問題」として既にあげられている。
※拙著「Redmineによるタスクマネジメント実践技法」の290ページにも、「ラストマイル問題」について触れています。

プロジェクト管理やテスト工程をクラウド化する: プログラマの思索

Agile開発が指摘したソフトウェア開発の特徴: プログラマの思索

牛尾さんの記事によれば、AmazonEC2でクラウド化するだけでなく、Rubyライブラリveewee、Vagrantを使って仮想環境の立上げ・設定・テストを自動化ができるらしい。
つまり、本番環境と同等な環境を仮想マシンで複製しておき、それを立ち上げるようにすればいいのだろう。

また、本番環境で稼働させる時には必ずデータ移行が発生し、そのために移行ツールを別途作ったり、移行元データをクリーニングする面倒な作業が発生する。
データベース・リファクタリング」では、データ移行期間を用意して、データ移行するためのノウハウをリファクタリング作業のパターンとして提唱している。

リリース作業の問題のレベルをソフトウェアで解決できるレベルに変換すれば、それはAgile開発が得意とする所だ。
テストやビルドの自動化だけでなく、デプロイやデータ移行の自動化も今後のアジャイル開発の課題になるだろう。

|

« チームは加速するのか~Velocityの使い方 #agilesamurai | トップページ | 【告知】第1回品川Redmine勉強会を開催します #47redmine »

ソフトウェア工学」カテゴリの記事

Agile」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« チームは加速するのか~Velocityの使い方 #agilesamurai | トップページ | 【告知】第1回品川Redmine勉強会を開催します #47redmine »