継続的フィードバックの実現にはツールが欠かせない
「10年後も通用する開発環境を考える前に、まずはビジネスに対するITの立場や開発現場がどう変わってきたか振り返ってみたい」こう切り出し、セッションを開始した長沢氏。
90年代、ITは便利なものだが、ビジネスとは非同期であってもなくてもよいものだった。2000年代に入り、ITはビジネス課題を克服する有効なものとして位置づけられるようになった。そして今、ITはビジネスにとって不可欠なものとなった。ITがビジネスをけん引することもあるほどだ。「ビジネスのニーズに合わせて、ITも機能を提供し続けないといけない」と長沢氏は熱く語る。機能の追加や削除は俊敏に行われるTwitterやFacebookを例にして考えれば分かるはずだ。
もちろん、開発現場も変化している。90年代は、開発現場の主役は開発者でコラボレーションする相手も開発者、提供するものはアプリケーションである。2000年代に入ると、主役は開発チームにまで拡張され、開発ツールやテストツールなどが登場し、コラボレーションも開発者とテスターやプロジェクトマネジャーなどの役割を持つ人たちの間で行われるようになった。そして提供するものはアプリケーションではなくシステムやサービスとなった。そして現在。主役は開発チームに加え、運用チーム、ユーザーを含めたビジネスそのものである。ツールもこれまでの個別の作業を支援するツールではなく、Application Lifecycle Management(ALM)をサポートするツールへと変わった。コラボレーションの相手も開発者、運用者とユーザーの間で行われるようになった。そして提供するものはもはやサービスでもなく、ビジネスそのものである。
現在のような開発環境では、開発者ひとりひとりの意識も変わらないといけない。これまでのように自分の仕事が終わったら終わり「I am done」ではなく、チームが一丸となってお客さまに機能を提供していくこと「We are done」が大切になるというわけだ。
このようにITおよび開発環境の変化について説明した長沢氏は参加者にこう問いかけた。「皆さんの開発現場は今どの段階にいるか、わかったはずだ。ビジネス価値を高めるために今の現場をどう変えていかなければいけないのか、ぜひ持ち帰ってメンバーと議論して欲しい」
ソフトウェア開発において、「開発者とお客さまの間にはもやもやとしたものが一杯ある」と長沢氏は言う。お客さまに最終的に提供する間で、さまざまなフィードバックのサイクルが無数にあるからだ。だからこそ、「このような継続的フィードバックのサイクルを早くするためにツールがある」と長沢氏。しかしながら多くの現場では開発者であれば開発者の視点から必要なツール、テスターの視点から必要なツール、マネジメントの視点から必要なツールを、ポイントごとの導入になっているというのだ。確かに必要なポイントにツールを導入するとある程度の効果は期待できるだろう。しかしポイントツールの場合、このままでは、「先述したように継続的にフィードバックのサイクルを回すようになるのは難しい」と長沢氏は指摘する。
この課題を解決するのが「Visual Studio」である。2010年4月に出たVisual Studio 2010では、「Team Foundation Server(TFS)」が情報ハブとして機能。開発者やテスター、マネジメントなどそれぞれの役割の人が最も使い勝手のよいツールから必要な情報をすべて取り出すことができるようになっている。しかもマイクロソフトの製品だけではなく、オープンソースやサードパーティのツールの情報も取り入れられるようになっている。「開発者、テスター、マネジャーのユーザーエクスペリエンスを高めてコラボレーションできるツールだ」(長沢氏)
ではどんなことができるか。単体テストを自動化したり、バグ起票をほぼ自動化する仕組みなども有している、と長沢氏。また単体テストをテストケースとして登録すれば、誰もが容易にテストを自動実行できるようになる。これは自動UIテストでも同様である。開発者が作成したUIテストを元に、テスターは手動ではなく自動でテストを行い、確認できるようになるというのだ。さらに手動テストは一度実行すれば2回目以降は自動化が可能。自動化した手動テストは、Visual Studioから自動UIテストとして単体フレームワークから実行できるようになるなど、「テストと開発の中の品質を確認するプロセスを早めてくれる機能も提供している」と長沢氏は語る。
Visual Studio “11” で運用も含めた「継続的フィードバック」を実現
Visual Studio 2010でもここまでできるようになっているが、次期バージョンVisual Studio “11” ではさらにそれを進化させ、開発だけではなく運用も含めた「継続的フィードバック」を実現するための仕組みを提供している。
例えば運用においては、何らかの障害が起こるものである。運用のインシデントを発行し、アサインされた運用者がそれを解決する。これからは、インシデントをRunbook Automation(ランブック自動化ツール)にアサインでき、あらゆる運用のアクティビティをオーケストレーションして、人を介さずに的確でスピーディな対応ができるようになってきている。System Center Orchestrator 2012がその役割を担う。一方、開発もこの流れの中に組みこまれることになる。運用しているアプリケーションに問題が発生したとき、オーケストレーションにより、バグの一つ一つ、ソースコードの変更セット、ビルド一つ一つを呼び出すことができるようになる。したがって、自動デプロイや自動ロールバックが行える下地はすでにできている。開発が透明でないと開発がボトルネックとなり、ビジネスを遅らせる要因となってしまうわけだ。
「Visual Studio “11” にはさまざまな使える機能が提供されている。代表的なものについてデモを交えて紹介したい」と長沢氏。
まずはストーリーボード機能。これは顧客のニーズを集めるのに便利な機能だ。
「PowerPoint上にお客さまのニーズを正確にまとめていくことができる。フィードバックはTFSに記録されるので、メンバー全員がそれを共有、抜けなくフィードバックに対応できるようになる」(長沢氏)
次はフィードバックマネジャー機能。ユーザーからのフィードバックを適切に管理、品質向上につなげる機能だ。「このツールの面白いところは、スクリーンショットやメモが簡単に取れること。そしてここで行った操作は記録されるのはもちろん、声も録音できる。お客さまのニーズをより取り込めるようになるはずだ」と長沢氏。
バックログの管理を直感的に操作できるようなツールも提供される。それが「Team Foundation Server Web App」である。これを使えばプロダクト・バックログとベロシティ、スプリント・バックログとバーンダウン・チャートが一つの画面で見られるようになる。「バックログ情報の優先順位を変えたり、タスクのスプリント間移動もドラッグアンドドロップでできるようになる」と長沢氏。
忙しい開発者を支援する機能も提供される。それが「チームエクスプローラー」に追加された「My Work」機能だ。これを使えば「自分が今やらなければならない仕事、レビューに回っている仕事がひと目でわかることに加え、仕事の切り替えが簡単にできるようになる」と長沢氏は実際にデモを見せながらその便利さを解説する。
単体テストを支援する機能も追加される。それが「Unit Test Explorer」である。これを使えばコードを書いているときでもビルドさえすれば、開発者にとって必要なユニットテストを勝手に実行し、問題があればその箇所をナビゲートしてくれるようになる。「マイクロソフトが提供する単体テストのフレームワークだけに対応していたが、NUnit、xUnit.NETなども複合的に取り込んでできるようになる」と長沢氏。
探索型テストを支援する機能も提供される。探索型テストはテスト担当者の匠としての知識を基に行われるテストである。テストを実施しバグを見つければ、クリックするだけでバグを起票できるようになる。またバグ項目からテストケースの発行も可能。最終的に開発者が実行までコードまで落とすことができるようになるという。操作手順もビデオで録画できるので、匠の技をナレッジとして蓄積できるようになるわけだ。
もちろんすべての開発現場にVisual Studioがフィットするわけではないだろう。しかし長沢氏は「開発者がよりクリエイティブな仕事をするためにツールを活用しない手はない。それぐらいツールは進化している。中でもVisual Studioはかなり成熟している。Developer Previewも公開しているので、ぜひ試してほしい」と熱く語り、セッションを終了した。
なお、2月17日時点では「Visual Studio 11 Developer Preview」が公開されていたが、2月29日より「Visual Studio 11 Beta」が公開され、日本語UIでより多くの機能を試すことが可能となっている。Betaの詳細情報および全機能のダウンロードは、Visual Studio 11 Beta公式サイトを参照のこと。
日本マイクロソフト株式会社
マイクロソフト カスタマー インフォメーション センター
TEL:0120-41-6755(9:30~12:00、13:00~19:00、
土日祝日、弊社指定休業日を除きます)