前回、「ソフトウェア開発だけでなく、コードに対する理解やテストといった、開発工程の前後までカバー対象を広げてきている様子が見て取れる」と書いた。
MSDNオンラインのトップページがリニューアルし、「コードの作成」「テスト」「コードの理解」という新たな三本柱ができたが、これらのうち「コードの作成」で、アプリケーションライフサイクル管理(ALM : Application Lifecycle Management)を取り上げている。正に開発工程の前後までカバーする重要な話なので、今回はこの話について。
Visual Studio UltimateとTFSによるALM
本連載第35回で、テストの話を取り上げた。その際、MSDNライブラリにあるソフトウェアライフサイクル管理のコンテンツを紹介したが、今回のリニューアルに際してフィーチャーされている「コードの作成」以下の「アプリケーションライフサイクル管理(ALM)」では、それとは別のWebページにリンクしている。加えて、Visual Studio Ultimateの評価版ダウンロードも可能になっているから試すこともできる。
アプリケーションライフサイクル管理
http://msdn.microsoft.com/ja-jp/vstudio/ff625779Visual Studio Ultimate評価版をダウンロードする
http://www.microsoft.com/japan/visualstudio/downloadVisual Studio Application Lifecycle Management
http://msdn.microsoft.com/ja-jp/library/fda2bad5.aspx
「アプリケーションライフサイクル管理」の「How Do I」以下で取り上げている開発関連作業としては、以下のものがある。
- アプリケーションのビルド
- Visual Studio ALMのレポートの作成・カスタマイズ・管理
- Visual Studioでのデバッグ
- 分岐とマージを行う(英語)
- ソフトウェア設計のためのモデルの開発
- アプリケーションのテスト
つまり、コードを書いてビルドするだけでなく、「できたソフトウェアをテスト担当者に配布してテストを行い、バグがあれば報告を受けてデバッグを実施したうえで改修済みのコードを入れて再ビルド」というサイクルを完成まで延々と繰り返すわけだ。その過程で、ALMのレポートだとかモデルの開発だとかいう話も関わってくることになる。
そして、そういった作業を円滑に進めるためのノウハウやツール、すなわちTFS(Team Foundation Server)についての情報を提供しているわけだ。
プロジェクトの計画および追跡
http://msdn.microsoft.com/ja-jp/library/dd286619.aspxTeam Foundation Server 2010
http://msdn.microsoft.com/ja-jp/vstudio/ff637362Team Foundation Server 2010 評価版をダウンロードする
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=3660CACF-F077-44D3-A9D9-97E801DA2035
TFSによる開発プロセス管理の実際
個人でソフトウェアを開発している場合、コードを書くのもテストするのも自分一人だから、作業はすべて自分の中で完結する。しかし、規模の大きいソフトウェアを複数の開発者・テスト担当者などが協力して手掛ける場合には、それぞれが作業を分担して進めることになるので、必然的にタスクの割り振りや進捗管理といった問題が生じる。
たとえば、コードの記述やテストについて、どの部分を誰に担当させるかという課題があるし、バグに関する情報の管理、そのバグの発見を受けて実施した修正の反映、それによって発生するコードの分岐とバージョン管理など、ソフトウェアの開発・リリースに際してはさまざまな共同作業と管理業務が必要になる。それを支援するためのツールがTFSというわけだ。
Team Foundationを使用した開発プロセスの管理
http://msdn.microsoft.com/ja-jp/library/ee854733.aspxTeam Foundation Server上のチームプロジェクトへの接続およびアクセス
http://msdn.microsoft.com/ja-jp/library/ms181475.aspxバージョン管理の使用
http://msdn.microsoft.com/ja-jp/library/ms181368.aspxチームプロジェクトのソースの取得
http://msdn.microsoft.com/ja-jp/library/ms181385.aspx分岐とマージ
http://msdn.microsoft.com/ja-jp/library/ms181423.aspxアプリケーションのビルド
http://msdn.microsoft.com/ja-jp/library/ms181709.aspx
TFSの関連ツールいろいろ
そのTFSについては、さまざまな関連ツールが提供されている。実際にTFSを利用してみて「ここがこうなっていたら、もっと便利なのに」といった場面に遭遇したら、関連ツールを探してみるとよいかもしれない。
TFS Power Tools(2010 年 4 月) (英語)
http://visualstudiogallery.msdn.microsoft.com/ja-JP/3e8c9b68-6e39-4577-b9b7-78489b5cb1daTFS MSSCCI Provider (2010 年 4 月) (英語)
http://visualstudiogallery.msdn.microsoft.com/ja-JP/bce06506-be38-47a1-9f29-d3937d3d88d6TFS Build Extensions Power Tool (2010 年 4 月) (英語)
http://visualstudiogallery.msdn.microsoft.com/ja-JP/2d7c8577-54b8-47ce-82a5-8649f579dcb6Visual Studio Team Explorer Everywhere 2010 (英語)
http://www.microsoft.com/downloads/details.aspx?FamilyID=AF1F5168-C0F7-47C6-BE7A-2A83A6C02E57&displaylang=en
必ず理想通りのツールが見つかるという保証はできないけれども、開発者が実際にTFS使ってみて必要性を感じて開発したツールであれば、他の開発者にとっても有用である可能性は低くないと思う。本稿の執筆時点で公開されているのが、英語版ばかりなのが気になるところではあるけれども。