世界最大級のテクニカルイベント Tech・Ed North America に来ています。【アジャイルは必然、Visual Studio vNext のあたりをレポート】
こんにちは。私は、今、米国ジョージア州アトランタで開催されている Tech・Ed North America 2011 に参加しています。米国時間の5/16に開幕し、すでに3日間日程を消化し、明日が最終日という状況です。
今回、基調講演でもソフトウェア開発に大きな影響を与えるであろう Visual Studio の次期バージョンの発表がありました。また、私がセレクトしているブレークアウトセッションは、アジャイル、ALM が中心ですので、おいおい、これらのセッションに参加して得た知見を共有してまいりたいと思います。
☆ ☆ ☆ ☆ ☆
ここでは、基調講演で発表された Visual Studio の次期バージョン Visual Studio vNext とそのコンセプトについてお伝えします。なお、内容については、ALM やプロセス改善のエリアで10年以上仕事をしている個人的見解が含まれます。所属企業の公式見解などではなく、この投稿全体が、Tech・Ed North America 2011 に参加した、一エンジニアの見解であるという前提とさせていただきます。予めご了承ください。
☆ ☆ ☆ ☆
基調講演の後半に、Visual Studio CVP の Jason Zander により Visual Studio vNext の発表がありました。そのあたりにフォーカスして、お知らせします。
Visual Studio vNext の発表は、Jason Zander により行われました。
Visual Studio 2010 (現行バージョン)でアジャイル開発やビジネスのアイディアをソフトウェアに転換する際に、正しいことを正しく、正しい作り方で作るためのチームの開発生産性と透明性を支援する機能を提供していますが、それをより加速し、あらゆる規模の開発で生産性と予測可能性を高める強化がなされた Visual Studio vNext を準備しているという旨の発表がありました。
Visual Studio vNext では、Visual Studio 2005 から提供しているチーム開発支援の ALM 領域の支援をより強化し、開発者同士、開発チーム同士、そして開発とあらゆる利害関係者間のフィードバックサイクルを円滑に、持続可能にする機能が盛り込まれる予定です。
全体としては、まず vNext に先立ち、3月には Microsoft Project Server と チーム開発の基盤となるオープン プラットフォームである Team Foundation Server (以下、TFS)との連携機能を提供開始し、そして Tech・Ed North America 2011 の基調講演当日に、TFS と運用監視機能を提供する System Center Operation Manager との連携機能の CTP (Community Technology Preview)を公開というアナウンスがありました。Visual Studio vNext の大きなテーマである Continous Feedback をいち早く実現する、しかもビジネス、ITの計画から開発、そして運用まで一貫性のある方式で運営と支援をすることができる Connector を提供ということで、会場も大いに沸いていました。
昨今では、ソフトウェアの開発と運用を別に考える、コストセンターとしてのみ考えるのでなく、一緒に考えビジネス価値を最大化する取り組みが多くチャレンジされています。これを DevOps と呼ぶことにします。Visual Studio vNext では、この DevOps のパラダイムを支援することを計画しています。
さて、Visual Studio vNext で強化、新規提供される機能を紹介していきましょう。ただし大前提をお伝えしておきます。Visual Studio 2010 ですでに、アジャイルな開発の強力な支援、チーム開発のコラボレーションと生産性を向上する支援機能は盛り込まれています。日本でも昨年の4月に提供開始した Visual Studio 2010 を導入し、開発ビジネスの課題を克服した開発チームが増えてきています。その Visual Studio 2010 の進化の延長線上で、以下に挙げる機能を提供するとデモンストレーション付きで基調講演で発表がありました。
軽量な要求の共有が可能なストーリーボード機能
PowerPoint のプラグインを組み込み、PowerPoint 上でユーザーのほしいシステムをストーリーとしてボードに書き込む機能を支援します。PowerPoint の表現力で、ユーザーのほしいものを正確にまとめ、共有、潜在的なニーズも顕在化してよりビジネスにアラインした開発を促進することができます。
ただ、絵コンテのように記載をするだけでなく、フィードバックを TFS に記録し、チームメンバーで共同所有、抜けもれなく、また適切な意思決定のものフィードバックに対応することが容易に行われるよう設計されています。
アジャイル開発を促進する Team Foundation Server Web App
もともと、開発時に必要な、作業項目(ストーリー、タスク、テスト ケース、バグ、懸案事項)、ソース管理、ビルド管理、レポート、ダッシュボード、ドキュメント管理をオールインワンで提供し、各リソースを有機的に関連付けることができるソフトウェア開発の情報 Hub となる Team Foundation Server(TFS)を Web ベースの新たなインターフェイスで、見通しよく一望できるツールが紹介されました。このツールにより、プロダクト バックログとベロシティ、スプリント バックログとバーンダウンチャートが一画面で把握できるほか、各バックログ項目、関連するタスクやテストケースをマウスオーバーやドラッグ&ドロップでスプリント間を移動させたり、優先度を上げたり直観的に操作できるようになります。上図は、プロダクトバックログとベロシティを見ている画面で、下図は、スプリント バックログと各ストーリーのボリュームと進捗を示しています。ドラッグ&ドロップにより、手でストーリーをべつのスプリントに移動しているデモもありました。
情報がリアルタイムに見えるため、チームメンバーが同じ場所にいても、地理的に分散していても、除法共有を円滑に行え、チームの結束に影響を与えない配慮を行っているのが分かります。
さらに、タスクボードをサポートし、スプリント内のバックログアイテム、タスクの TO DO、IN PROGRESS、DONE を一望できるほか、各バックログアイテムの残作業時間、タスクの TO DO、IN PROGRESS、DONE の残作業時間もリアルタイムに把握できます。右上には常にバーンダウンチャートもあり、リアルタイムに状況がわかります。
デモでは、マルチタッチのディスプレイが登場し、タスクボード内のタスクを手でドラッグ&ドロップしてTO DO から IN PROGRESS 、 DONE に移動するデモが行われました。
コンテキスト スイッチ - Team Navigator
一転、Visual Studio からこれらの開発リソースを見るときに Team Explorer のほか、新たに、Team Navigator というのが発表されました。これは、(主に)開発者の関心ごとに応じて、複雑に関連づけられている情報を意味のある把握しやすい粒度、単位でナビゲートしてくれる機能です。たとえば、自分がやるべきタスクの進捗を把握するというたったそれだけを先に紹介したタスクボードで把握することはもちろんできますが、Visual Studio の中で、自分のタスクだけで TO DO そして チェックインする(要するに作業中)といった個人用タスクボードとして状況見ながら開発作業をすることができるようになります(画面右側に表示されているのが Team Navigatorです)。
こちらもドラッグ&ドロップで、タスクを移動できます。
コードの変更のチェックインも Check-in ボタンをクリックするだけで行えます。
さらにすごいのが、UNFINNIFED WORK をリジュームができます。
探索型テストを支援する強力な機能
そして、手動テストの支援ですが、Visual Studio 2010 よりテスターや、受け入れテストを支援する Microsoft Test Manager が登場しましたが、これの発展的な機能が紹介されました。探索型のテストを実行しやすくする機能です。
画面右側にどんな探索型のテストをしているか、また、メモなどを記述しながら、アプリの操作を行っていけます。これらの操作の手順やビデオ、画面キャプチャも記録ができます。
エラーを発見したら、クリック一発で、バグを起票できます。その際に、メモ書きしていた内容、画面キャプチャなどそのまま自動でバグに記載されます。
操作手順もすべて記録されていて、開発者は、あとからこのバグ発生時にどんな手順で再現させることができるのかを容易に知ることができます。上図では、操作のタイムラインに従い手順のどこあたりが実行されたのかなどを見ているところです。
さらに、バグからテスト ケースを作成することができます。探索型テストでバグを発見し、起票したのち、それをテスト ケースとして残し、継続的に検証できるようにできるということです。
作成されたテストケースにはテスト手順が自動で入力されるので、手間いらずでどんどん必要なテストケースを追加していけます。
さて、基調講演で紹介された機能を紹介していきましたが、一見、「いろいろなことができるけど、大変そうだな」と思われる方もいるのではないでしょうか?
そんな方は、Visaul Studio vNext のキーテーマである「継続的フィードバック」を思い出してください。この概念は、「ソフトウェア開発」⇒「ソフトウェア デリバリー」⇒「継続的デリバリー」の先の概念だと思っていただくと把握しやすいと思います。
ビジネス価値への対応が全体的な目的となる点もぜひ押さえておいてください。
今回、紹介した機能は、要求、計画と進捗、開発、テストにおけるフィードバックをより円滑に収集し、ライフサイクルの中で回せるようにするかを機能で支援していることが分かります。
もともと Vsiaul Studio 2010 でもこのあたりを強力に支援してきているさらにその進化形です。
そして、開発だけではなく、運用も含めた「継続的フィードバック」の紹介もありました。
この開発と運用のシームレスなフィードバックサイクルについては、Visual Studio vNext ではなく、Visual Studio 2010 と System Center Operation Manager 2007 R2 で行える Connector の提供となります(前述)
☆☆ ☆ ☆ ☆
さて、Visual Studio vNext については、「ALM for C++」というブレイクアウトセッションで、C++ Native アプリケーション開発でも .NET アプリで実現できることを行えるようにする発表とデモがありました。単体テストフレームワークのサポートやアーキテクチャの動的グラフ化、レイヤーダイヤグラムなど Visual Studio 2010 で評価の非常に高い機能がネイティブ開発でも実践できることになります。
☆ ☆ ☆ ☆ ☆
さてさて、Visual Studio vNext について触れてきましたが、みなさん、どう思われたでしょうか?今から Visual Studio vNext に夢を膨らませ、新たな開発のパラダイムを感じるのもいいですが、今から準備をしておかないと、ビジネスに IT、ソフトウェアがついていけない、ソフトウェア開発ばボトルネックになる時代もそう遠くはないのではないでしょうか?そこへの対応の回答が Visual Studio 2010 であり、Visual Studio vNext であると考えてください。
そうです。今から Visual Studio 2010 で実現できる ALM の世界、ソフトウェア開発のあるべき姿に取り組んでいかないと、vNext のときに世界についていけなくなります。
そのあたりもこの基調講演をチームメンバーでいっしょに見ながら語ってみるのもいいですね。ということで、ストリーミングをご紹介します:
(画面サイズが大きいので埋め込みがうまくいっていないかもしれません)
ストリーミングは、
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/KEY01
で見れますので、ぜひ全画面表示にしてご覧ください。英語分からなくてもデモがふんだんにおこなわれていますので、大丈夫です!
Visual Studio vNext のパートは、およそ1時間経過したあたりからとなります。
☆ ☆ ☆ ☆ ☆
さて、これから(今アトランタは、5/19 7:30 です)、最終日のセッションに参加してきます。アジャイル開発、Visual Studio vNext, Visual Studio 2010 の実践、Visual Studio LightSwitch のセッションを中心にすべてのコマ、休みなく参加していますので、そのあたりについてもブログで紹介していこうと思います。
あと、@tomohn でセッションの模様は、常につぶやいていますので、#techedjp で検索していただくと欧米のソフトウェア開発事情を把握していただく一つとしていただけるかと思います。
いくつかトギャザってくださっていますが、もしタイムラインを追っていただける方はトギャザっていただけると助かります。
- ALM for C++: http://togetter.com/li/136915 (@kaorun55 さん、感謝!)
長沢(@tomohn)