SQL Server 2008 での開発プロセスの変更
マイクロソフト 星川です。
過去の私のブログで何度か触れておりますが、今回は SQL Server 2008 での開発プロセスの変更に関してより詳しく記述したいと思います。
背景として、我々 SQL Server 開発チームは過去の3つの製品リリース (7.0, 2000, 2005) を経て、市場のニーズや最新のハードウェア、インフラの変化に対応可能な複雑な製品開発、技術を扱うようになりました。それと同時に BI 市場への投資を含め、世界中に数千人クラスの大規模なチームに成長し、プロセス・コミュニケーションが複雑になってきたことが上げられます。SQL Server 2005 に予想以上の歳月をかけてしまったことの反省が大きくあるのですが、我々はその経験から学習し、SQL Server 2005 リリースの後どうすれば次期製品のリリースを高い品質を保ちながら、時代にあった機能追加を行い、リリース スケジュールが大幅に遅れることなく、この規模の開発チームの生産性を最大限に上げることが可能かをSQL Server 2008の開発が本格的に開始される前に考えました。
それが、SQL Server 2008 での新しい Improvementという単位での開発手法になります。メインラインである製品コード、ビルドと完全に分離され、ほとんどすべての開発プロセスであるコーディング、テスト作業を完了後、再度メインラインに組み込んでいきます。Improvementは新機能や機能強化の単位であり、社内的にも Improvement チーム、Improvement がメインラインに check-in されたなど普通に使用しております。同時に数十の Improvement が走り、ビルドも Improvement 毎に作られ、コードのcheck-in、機能テスト、パフォーマンステストなどを終えてメインラインに統合されます。さらにメインラインである製品ビルドで End to End の大規模なテストを社内や全世界の早期導入ユーザー、MVP などの非常に強力なパートナー様の方々と広範囲に行い、最終的に皆様に評価可能な CTP ビルドが作られます。
- 基本原則
- メインラインは常に出荷可能に近い状態を保つ
- メインラインへの反映は Improvement の開発完了後に行う
- 主要なプロセス変更
- 開発は Improvement 単位でチームが構成され進められる
- Improvement はメインラインと分離して開発
- コードが完成し広範囲にわたるテスト後、初めてメインラインに組み込まれる
Improvement 単位による開発が今回の開発プロセス変更の中のメインではありますが、実はそれを支える大規模なインフラである Lab、ビルド システム、メインラインの check-in や CTP リリースをコントロールする Release Management のプロセス、チーム編成、ワークフロー、ドキュメントの整備なども非常に広範囲であり、組織の中で数ヶ月かけて整備、実行されました。最近読んだ本の Toyota Way にも書かれてましたが、一番時間がかかるのがカルチャーの改革だと考えております。SQL Server 2005 の開発スタイルから大幅に変更しているので現場は最初は戸惑いを感じながら、最終的に通常プロセスとして慣れるまでにはいろいろと苦労をしております。実際に Coding している Developer、そのコードをベースにTest Code、Tool を記述したり実際に Test を実行している Test Engineer、プロジェクト全体をドライブしている PM、それを後ろで支えている各マネージャたちが同じ方向を向いて、密に連携して取り組まないといいプロセスも機能しません。ソフトウェアは人間が作っているものであり、カルチャーの改革はとても重要であり時間がかかりますが、 約3年という長い時間を経てSQL Server 2008 ではそれが実現に向かっています。
ひとつの具体例として、実際に SQL Server 2008 CTP6 の時点で現リリース製品である SQL Server 2005 以上のパフォーマンス結果が出ております。この結果は、2月のUSでのWindows Server 2008 / Visual Studio 2008 / SQL Server 2008共同ラウンチ イベントの際に発表されました。これは SQL Server 2005 の開発中での同じ時期でのタイミングでは実現できなかったことです。我々は現状に満足せずにさらに改善を続けていく、それらのカルチャーを広く浸透させることが長期的に重要だと考えております。
日本でも4月の東京での同様なラウンチ イベントを皮切りに、全国で順次イベントが開催され SQL Server 2008 の全貌が明らかになってきていると思います。我々開発チームも東京会場には足を運び、お客様やパートナー様と実際にお話することができました。特に初日のキーノートは立ち見が出るほどの盛況ぶりでした。日頃から一緒にプロジェクトを進めているメンバーもセッション等で活躍し社内のフィールド、パートナー様側の準備も順調に進んでいることを改めて感じました。また、新しい試みである Virtual Launch Experienceも楽しめるのではと思います。
SQL Server 2008日本語ホーム
https://www.microsoft.com/japan/sql/2008/default.mspx
SQL Server 2008 評価版を今すぐ評価いただきたい5つの理由 (開発プロセス編)
https://www.microsoft.com/japan/sql/2008/ctp/features1.mspx
HEROES happen {here} ポータルサイト
https://www.microsoft.com/japan/heroeshappenhere/portal/
コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。