Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
ALM Essentials(3): ALMを支援するMicrosoftのツール群(SaaS型)

ALM Essentials(3): ALMを支援するMicrosoftのツール群(SaaS型)

Visual Studio Team Servicesの機能概要と環境構築パターン

2016年6月23日 改訂 (初版: 2014/08/11)

効率的にアプリを開発・運用するには、開発ライフサイクルの流れをスムーズにするツールの活用が欠かせない。その環境の一例として、マイクロソフトが提供するSaaS型のALMツール群の全体像を解説する。

竹林 崇(Change the World!
  • このエントリーをはてなブックマークに追加

はじめに

 前回は、ALM(アプリケーションライフサイクル管理)を支援するツールの必要性を示し、そういったツールを提供しているベンダーを比較しているGartnerによる調査(英語)について紹介した。

 今回(第3回)~最終回(第5回)までの3回は、そんなALMを支援する各ベンダーのツールにフォーカスを当て、その仕組みについて簡単に紹介しよう。具体的には下記の3種類を紹介する。

マイクロソフトが提供するSaaS型ALM(Visual Studio Team Services)

  • *1 以前、Visual Studio Team Systemという製品が存在していたことがあり、同名の「VSTS」と略されていたので、それと混同しないように注意してほしい
図1 Visual Studio Team Services

以下は、本文中で解説しない、図内にある各省略語の補足説明。

  • 「Dev」=開発者。「End User/Biz」=エンドユーザーやビジネスの意思決定者。「Ops」=運営担当者。「AnyOne」=それ以外の人。
  • 「Eclipse/CLI」=Eclipseやコマンドライン。「Team Explorer Everywhere」=Windows 以外のプラットフォームからVSTSに接続するための機能。
  • 「Excel/Feedback Client」=ExcelやFeedback Client。「Team Explorer」=Visual StudioからVSTSに接続するための機能。
  • 「System Center」=システム管理プラットフォームのSystem Center
  • 「Web I/F」=VSTS上のページなどのWebインターフェース。

 VSTSで採用されている技術やソフトウェアの概要を以下にまとめる。

【Visual Studio Team Services】

  • バックログ管理: 顧客からの要求(ユーザーストーリー)などを管理する。
  • タスク管理: 作業項目などのタスクを管理する。
  • バグ管理: VSTSは、RedmineTracなどのITS(Issue Tracking System: 課題管理システム)/BTS(Bug Tracking System: バグ管理システム)と同様に、アプリケーションを計画し、開発して、リリースするチームのためのプロジェクトマネジメントの機能を保有している。
  • バージョン管理
    Team Foundation Version Control(TFVC): VSTSは「シェルブセット」というファイルの中間バージョンをソース管理リポジトリに保存できる。ソース管理リポジトリにあるので、他のユーザーがアクセスできる。また、ゲートチェックイン(=変更が正常にマージ&ビルドできる場合のみチェックインを受け付ける機能)に対応。
    Git: VSTSは分散型バージョン管理システム(DVCS)に対応している。
  • 自動ビルド
  • 自動テスト
  • 自動デプロイ
  • リリースマネジメント: VSTSはJenkinsなどのCI(継続的インテグレーション)、CD(継続的デプロイメント)、任意の承認タイミングで本番環境にデプロイできる継続的デリバリーの機能を保有している。
  • チャット: VSTSは「Team Room」というチャットの機能を保有している。エディションによって利用可能。
  • テスト管理: VSTSは要件やストーリー、バックログ項目に基づいたテスト計画に対応する機能を保有している。エディションによって利用可能。

 VSTSの特徴を以下の表にまとめる。

項目 Visual Studio Team Services
導入までの時間 SaaSのため、短時間(10分程度)で導入できる
導入までの費用 MSDNサブスクリプション非保有者でも5ユーザーまで無料で利用できる*2
メンテナンス SaaSのため随時、自動的に行われる
カスタマイズ 制限されている
ビルド 標準ではWindowsプラットフォームに限定され、時間に制約がある*3ものの、別途ビルドマシンを準備し、ビルドの際に利用するように設定することで、あらゆる言語に対応できる
機能追加 3週間に1度、機能追加が自動的に行われる
連携 ExcelなどのBizが利用しているツールと連携できる
日本語対応 2016年6月現在UI(ユーザーインターフェース)は英語のみ(各項目に対して日本語で入力は可能)
Visual Studio Team Servicesの特徴
  • *2 MSDNサブスクリプションの該当ライセンス保有者は無料で利用可能。
  • *3 別途、課金をすることで時間を購入可能。

 上記の表の通り、VSTSの強みはその導入コスト(導入までの時間、導入までに必要な費用)の安さだ。加えて、ベンダーであるマイクロソフトのExcelといった既存アプリケーションと連携できるため、「新しいアプリケーションを習熟しなければならない」という導入のハードルが非常に低くなっており、自動的にメンテナンスや機能追加が行われるのも利点だろう。

 一方で、SaaSで提供されているため、カスタマイズや日本語対応などに制限があるという面もある。

 また、近年の機能強化によって、VSTSが標準で備えるWindowsビルドマシン以外もビルドマシンに指定できるようになったことで、より利用可能範囲が拡大している点にも注目したい。例えば、Unityのビルド環境を構築することでUnityのビルドを実行することも可能になり、iOSアプリのビルド環境を構築したMacを準備することでiOSアプリのビルドも可能になる。

 これらを鑑みるとVSTSは、ALMを支援するツールをあまり触ってこなかったチームや、マイクロソフトが準備しているアジャイル/スクラム/CMMIのプロセステンプレートをあまりカスタマイズしない、Excelでの作業に慣れているメンバーがチームにいる環境の場合、非常に適しているといえる。

 次回はTeam Foundation Serverをご紹介する。TFSはVSTSよりもカスタマイズ性に優れたツールである。

ALM Essentials(3): ALMを支援するMicrosoftのツール群(SaaS型)
1. ALMとDevOpsとリーンスタートアップは何が違うのか?

そもそもALMって何? ALMが現れた背景や、「DevOps」や「リーンスタートアップ」との違いを説明する。

ALM Essentials(3): ALMを支援するMicrosoftのツール群(SaaS型)
2. いまさら聞けない「ALM」。3つの構成要素とは?

ALMを実践するための基礎知識として、ALMの3つの構成要素「Business(ビジネス)」「Development(開発)」「Operations(運用)」について説明する。

ALM Essentials(3): ALMを支援するMicrosoftのツール群(SaaS型)
3. 【現在、表示中】≫ Visual Studio Team Servicesの機能概要と環境構築パターン

効率的にアプリを開発・運用するには、開発ライフサイクルの流れをスムーズにするツールの活用が欠かせない。その環境の一例として、マイクロソフトが提供するSaaS型のALMツール群の全体像を解説する。

ALM Essentials(3): ALMを支援するMicrosoftのツール群(SaaS型)
4. Team Foundation Serverの機能概要と環境構築パターン

自社イントラネット内などのオンプレミス環境で、アプリ開発のライフサイクルを全体的に管理できるALMツールとして、マイクロソフトのTFS環境を導入した場合の、ALM環境の全体像について解説する。

ALM Essentials(3): ALMを支援するMicrosoftのツール群(SaaS型)
5. JIRA Software/Bitbucket/Bamboo/HipChat/Confluenceの機能概要と環境構築パターン

オープンソース・ソフトウェアも便利だけど、アプリ開発のライフサイクルを一貫して効率よく管理するには、アトラシアンが提供するツール群がもっと便利。SaaS型/オンプレミス型の両環境の全体像を解説する。

サイトからのお知らせ

Twitterでつぶやこう!