.NET開発者中心 厳選ブログ記事 スクリーン・キャプチャで分かる「次期Visual Studio」 2011/07/27 |
Page1
Page2
|
「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 |
こんにちは。わたしは、2011年5月16日からの4日間、米国ジョージア州アトランタで開催された「Tech・Ed North America 2011」に参加しました。その基調講演では、ソフトウェア開発に大きな影響を与えるであろうVisual Studioの次期バージョン(以下、「vNext」)の発表がありました。Visual Studio vNextは、ビジネスにアラインしたソフトウェアの開発/運用に対する実装に進化しており、「Agility」「Focus」「Economics」(=アジリティ、集中、経済性)を主題にしたALM(Application Lifecycle Management)機能には、アジャイル、DevOps(詳細後述)などのパラダイムが実現可能なプラクティスとして取り入れられています。
そこで本稿の前半では、基調講演で発表された「Visual Studio vNextと、そのコンセプト」についてお伝えします。また後半では、基調講演直後の『The Future of Microsoft Visual Studio Application Lifecycle Management』というセッションで示された「Visual Studio vNextのそのほかの新機能」についてご紹介します。また、Visual Studio vNextの日本語翻訳ホワイトペーパーも公開されていますので、併せてご参照いただくと、より理解が深まると思います。
●アジャイル開発を促進するチームHub ー Team Foundation Server Web App
●コンテキスト・スイッチ ― Team Navigator
●探索型テストを支援する強力な機能
●Visaul Studio vNext ALMのコンセプトのまとめ
●コピペ・コードの発見 − Find Matching Clone in Sources
●Unit Test Explorer
●コード・レビュー機能
なお、本稿の内容については、ALMやプロセス改善の分野で10年以上仕事をしている筆者の個人的見解が含まれています。所属企業の公式見解などではなく、この記事全体が、「Tech・Ed North America 2011に参加した、一エンジニアの見解である」ことを前提とさせていただきます。あらかじめご了承ください。
■Visual Studio次期バージョン(vNext)の新機能概要
基調講演の後半に、Visual Studio CVP(Corporate Vice President:副社長)のJason ZanderによりVisual Studio vNextの発表がありました。本稿前半では、そのあたりにフォーカスしてお伝えします。
Visual Studio vNextを発表しているJason Zander |
Visual Studio 2010(現行バージョン)では、アジャイル開発やビジネスのアイデアをソフトウェアに転換する際に、正しいことを正しく、正しい作り方で作るために、チームの開発生産性と透明性を支援する機能を提供していますが、それをより加速し、あらゆる規模の開発で生産性と予測可能性を高める強化がなされた「Visual Studio vNext ALM」を準備しているという旨の発表がありました。
Visual Studio vNext ALMのアナウンス |
Visual Studio vNextのテーマは、「継続的フィードバック(Continous Feedback)」です(詳細は後半で説明します)。つまり、Visual Studio 2005から提供しているチーム開発支援のALM領域の支援をより強化し、開発者同士、開発チーム同士、そして開発と運用、あらゆる利害関係者間など、それぞれのフィードバック・サイクルを円滑にし、それを持続可能にする機能が盛り込まれる予定です。
Visual Studio vNext ALMが目指す「継続的フィードバック」 |
製品提供計画全体としては、まずvNextに先立ち、2011年3月には「Microsoft Project Server」と(チーム開発の基盤となるオープン・プラットフォームである)「Team Foundation Server 2010」(以下、TFS 2010)の連携機能を提供開始しており、そしてTech・Ed North America 2011の基調講演当日に、「TFS 2010と(運用監視機能を提供する)『System Center Operation Manager』の連携機能のCTP(Community Technology Preview)を公開する」というアナウンスがありました。Visual Studio vNextの大きなテーマである継続的フィードバックをいち早く実現する、しかもビジネス、ITの計画から、開発、そして運用まで、一貫性のある方式で運営と支援が行える「Connector」を提供するということで、会場も大いに沸きました。
昨今では、ソフトウェアの開発と運用を別に考える、コストセンターとしてのみ考えるのでなく、一緒に考えビジネス価値を最大化する取り組みが多くチャレンジされています。これを「DevOps」と呼びます。Visual Studio vNextでは、このDevOpsのパラダイムを支援することを計画しています。
DevOpsパラダイムを支援するALMの指針(コラボレーション/実施可能なフィードバック/ワーク・スタイルの尊重/アジャイル・プロセスの透明性への支援) |
さて、Visual Studio vNextで強化、新たに提供される機能を紹介していきましょう。
ただし、大前提をお伝えしておきます。Visual Studio 2010ですでに、アジャイルな開発の強力な支援、チーム開発のコラボレーションと生産性を向上する支援機能は盛り込まれています。日本でも昨年の2010年4月に提供開始されたVisual Studio 2010を導入し、開発ビジネスの課題を克服した開発チームが増えてきています。基調講演では、「そのVisual Studio 2010の進化の延長線上で、以下に挙げる機能を提供する」と、デモ付きで発表がありました。
●軽量な要求の共有が可能なストーリーボード機能 ― Story Board PowerPoint Plug-in
PowerPoint用プラグイン ― Visual Studio vNext ALMが提供するストーリーボード機能 |
(Visual Studio vNext ALMの)PowerPoint用プラグインにより、PowerPoint上でエンド・ユーザーの欲しいシステムをストーリーとしてボードに書き込む機能を提供します。PowerPointの表現力で、エンド・ユーザーの欲しいものを正確にまとめ、共有、潜在的なニーズも顕在化することで、よりビジネスにアラインした開発を促進できるようになります。
ただ、絵コンテのように描けるだけでなく、フィードバックをTFSに記録し、チーム・メンバーで共同所有、抜け・漏れなく、また適切な意思決定の下、フィードバックに対応することが容易に行われるように設計されています。
●アジャイル開発を促進するチームHub ー Team Foundation Server Web App
もともとTFSは、開発時に必要な作業項目(ストーリー、タスク、テスト・ケース、バグ、懸案事項)、ソース管理、ビルド管理、レポート、ダッシュボード、ドキュメント管理をオールインワンで提供し、各リソースを有機的に関連付けられる「ソフトウェア開発の情報Hub」です。そのTFSの情報を、Webベースの新たなユーザー・インターフェイス(以下、UI)で、見通しよく一望できるツールが紹介されました。このツールにより、プロダクト・バックログとベロシティ、スプリント・バックログとバーンダウン・チャートが一画面で把握できるほか、各バックログ項目、関連するタスクやテスト・ケースをマウスオーバーやドラッグ&ドロップでスプリント間を移動させたり、優先度を上げたり、直観的に操作できるようになります。
プロダクト・バックログとベロシティの一覧画面(TFS) |
上の画面は、プロダクト・バックログとベロシティを見ている画面で、下図は、スプリント・バックログと各ストーリーのボリュームと進捗(しんちょく)を示しています。ドラッグ&ドロップにより、手でストーリーをべつのスプリントに移動しているデモもありました。
スプリント・バックログと各ストーリーのボリュームと進捗(しんちょく)の一覧画面(TFS) |
情報がリアルタイムに見えるため、チーム・メンバーが同じ場所にいても、地理的に分散していても、情報共有を円滑に行え、チームの結束に影響を与えない配慮が行われているのが分かります。
さらに次の画面のように、タスクボードをサポートし、スプリント内のバックログ・アイテム、タスクの「TO DO」「IN PROGRESS」「DONE」を一望できるほか、各バックログ・アイテムの残作業時間、タスクの「TO DO」「IN PROGRESS」「DONE」の残作業時間もリアルタイムに把握できます。右上には常にバーンダウン・チャートもあり、リアルタイムに状況が分かります。
右上のバーンダウン・チャートをクリックすると、大きく表示できます |
各種情報を一望にできるタスクボード(TFS) |
デモでは、マルチタッチのディスプレイが登場し、タスクボード内のタスクを手でドラッグ&ドロップして「TO DO」から「IN PROGRESS」、「DONE」に移動するデモが行われました。
タスクボード(TFS)のマルチタッチ操作 |
●コンテキスト・スイッチ ― Team Navigator
一転、Visual Studioから、これらの開発リソースを閲覧するときに、[Team Explorer]のほか、新たに、[Team Navigator]という機能が発表されました。これは、(主に)開発者の関心ごとに応じて、複雑に関連付けられている情報を意味のある把握しやすい粒度/単位でナビゲートしてくれる機能です。例えば、「自分がやるべきタスクの進捗(しんちょく)を把握する」という、たったそれだけを先に紹介したタスクボードで把握することはもちろんできますが、Visual Studioの中で、自分のタスクだけで「TO DO」そして「チェックインする(要するに『作業中』)」といった個人用タスクボードとして状況見ながら開発作業をできるようになります(次の画面の右側に表示されているのが[Team Navigator]です)。
TFS情報を把握しやすい粒度/単位でナビゲートしてくれる[Team Navigator] |
こちらもドラッグ&ドロップで、タスクを移動できます。
[Team Navigator]でのドラッグ&ドロップによる項目移動 |
コードの変更のチェックインも、[Team Navigator]内の[Check-in]ボタンをクリックするだけで行えます。
[Team Navigator]でのコードの変更のチェックイン |
さらにすごいのが、「Unfinished WORK」(未完了の作業)をレジューム(=「TO DO」に戻すこと)ができます。
[Team Navigator]での未完了作業のレジューム |
●探索型テストを支援する強力な機能
そして、手動テストの支援ですが、Visual Studio 2010よりテスターや、受け入れテストを支援する「Microsoft Test Manager」が登場しましたが、これの発展的な機能が紹介されました。探索型テスト(=テスト担当者の知識を基に行う自由で独創的なテスト)を実行しやすくする機能です。
Microsoft Test Managerによる探索型テスト |
上の画面の左側(=紺色のウィンドウ)にある入力欄に「どんな探索型テストをしているか」の手順やメモなどを記述しながら、アプリの操作(つまり、手動テスト)を行っていきます。これらの操作の手順やビデオ、画面キャプチャを記録できます。
Microsoft Test Managerにおけるバグ項目の起票 |
上の画面のように、エラーを発見したら、([Create bug]ボタンを)クリック一発で、バグを起票できます。その際に、メモ書きしていた内容、画面キャプチャなどは、そのまま自動でバグに記載されます。
タイムラインでの各時点における手順の確認 |
操作手順もすべて記録されているので、開発者は後から「このバグがどんな手順で再現させられるのか」を容易に知ることができます。上の画面では、操作のタイムラインに従い、手順のどこあたりが実行されたのかなどを見ているところです。
さらに、バグ項目からテスト・ケースを作成できます。探索型テストでバグを発見し、バグ項目を起票した後、それをテスト・ケースとして残し、継続的に検証できるようにできるということです。
バグ項目からのテスト・ケースの作成 |
作成されたテスト・ケースにはテスト手順が自動で入力されるので、手間いらずでどんどん必要なテスト・ケースを追加していけます。
テスト・ケースにはテスト手順が自動で入力される |
●Visaul Studio vNext ALMのコンセプトのまとめ
さて、基調講演で発表された機能を紹介してきましたが、一見、「いろいろなことができるけど、大変そうだな」と思われる方もいるのではないでしょうか?
そんな方は、Visaul Studio vNextのキー・テーマである「継続的フィードバック」を思い出してください。この概念は、「ソフトウェア開発」⇒「ソフトウェア・デリバリ」⇒「継続的デリバリ」の先の概念だと思っていただくと把握しやすいと思います。ビジネス価値への対応が全体的な目的となる点もぜひ押さえておいてください。
前半で紹介した機能は、要求、計画と進捗(しんちょく)、開発、テストにおけるフィードバックをより円滑に収集し、ライフサイクルの中で回せるようにするかを機能で支援していることが分かります。
もともとVisual Studio 2010でも、このあたりを強力に支援してきていましたが、Visaul Studio vNextはさらにその進化形です。次の図で示すように、開発だけではなく、運用も含めた「継続的フィードバック」を実現します。
開発と運用の“良循環” |
この開発と運用のシームレスなフィードバック・サイクルは、Visual Studio vNextではなく、Visual Studio 2010とSystem Center Operation Manager 2007 R2で行えるConnectorの提供(前述)で実現されます。
■
ちなみに、Visual Studio vNextについては、「ALM for C++」というブレイクアウト・セッションで、「C++ネイティブ・アプリケーション開発でも、.NETアプリケーションで実現できることを行えるようにする」という発表とデモがありました。具体的には、単体テスト・フレームワークのサポートやアーキテクチャの動的グラフ化、レイヤー図などVisual Studio 2010で評価の非常に高い機能がC++ネイティブ開発でも実践できることになります。
■
続いて次のページでは、「Visual Studio vNextのそのほかの新機能」をご紹介します。
INDEX | ||
.NET開発者中心 厳選ブログ記事 | ||
スクリーン・キャプチャで分かる「次期Visual Studio」 | ||
1.Visual Studio次期バージョン(vNext)のALM関連の機能概要 | ||
2.Visual Studio次期バージョン(vNext)のそのほかの新機能 | ||
「.NET開発者中心 厳選ブログ記事」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -