第2回の連載では、同一ベンダーによる包括的なツールを導入する場合に考慮すべきポイントを、マイクロソフトの「Team Foundation Server」と、そのSaaS版「Visual Studio Online」を例にしてご紹介しました。第3回は、チーム開発におけるプロジェクト管理を効率的におこなう方法をご紹介します。
従来の方法では遅れをとるイマドキのプロジェクト管理
レガシーホストと呼ばれるようなホストが主流だった時代は、対応するクライアントも限定されていました。しかし、対応デバイスの増加にともない、現在のソフトウェア実行環境は、非常に多岐にわたります。
短納期でのリリースを要求されることも多くなっており、週1回の進捗会議でリーダーの報告を受け、また1週間かけて方針を検討して……という従来どおりのリーダーから指示を待つプッシュ型の報告では、もはや市場の要求速度に追いつきません。また、プッシュ型の報告では、管理者が報告者からの報告内容をもの足りないと思っても、その場でそれ以上の内容が報告者から出てくるとは限りません。
このような状況を解決するために、プロジェクトのリアルタイムな可視化は不可欠となっています。最近ではプロジェクトの可視化をおこなうための方法に物理的なカンバンを使用しているという例も多いでしょう。物理的なカンバンはPCを使わなくてもいつでも見えるため、小規模チームでの作業を可視化するには大変優れています。しかし、ある程度の規模のチームになった場合、チーム全体の作業工数の集計、作業の優先順位の変更を逐次おこなうということは難しくなります。
必要なときに情報にアクセスできる「プル型管理」で課題を解決
このような状況を解決するために、状況が変わったときにリーダーからの自発的な報告を待つというようなプッシュ型の報告だけではなく、管理者が自ら必要なときに取得するプル型の管理も活用していく必要があります。
プッシュ型だけでは進捗会議などでリーダーの報告に数値的な状況を報告するだけで多くの時間が浪費され、本質の話題がほとんど出てこないまま、先送りにされがちになります。参加メンバーが必要なときに必要な情報にアクセスできるようになっていれば、会議の前に必要な情報がお互いに共有されている状態となるため、会議の本質により時間を割くことができます。
情報の事前共有という意味ではチケット管理システムが導入されることも多いかと思います。場合によってはチケット管理システムと連携してソースコードを管理されているかもしれませんが、全体が連携しているシステムは多くなく、認証設定も手間がかかります。
チケット管理とソースコードのコミットにともなうチケットの消化率、さらにはビルドの成功、ビルド後のテストの消化率、といった開発プロセスの一連の流れをすべて俯瞰して見ることができれば、より理解が深まります。 前述のプッシュ型の管理ではリーダーやメンバーがそのための資料作りに忙殺される場合があるため、時間が無駄になります。コンピュータのいいところは自分で必要な情報が欲しい場合、少ない手間で莫大な情報を処理、加工して表示できる点です。
「Power BI」を代表とするセルフサービスBIと呼ばれるツールでは、対応しているデータソースから必要なデータを抽出し、視覚化してくれます。レポートデータを作成しておき、任意のタイミングで参照するプル型の管理にすれば、ほぼリアルタイムの状況を自分の仕事の必要なタイミングで参照することができるようになるため、それぞれの時間が効率的に使用できるようになります。
Visual Studio+Power BIで実現する、プロジェクト管理の視覚化
Visual Studio OnlineとPower BIの組み合わせで実際に仮想プロジェクトを作り、どのようなプル型のプロジェクト管理ができるかご紹介します。TFSUG(Team Foundation Server Users Group)のメンバーで仮想的なプロジェクトを作ってみました。
Visual Studio OnlineをPower BIのデータソースにすることで、プロジェクトのコミット頻度や誰に負担がかかっているかということが視覚化されます。簡易的なレポートであればVisual Studio Onlineでも作成することができますが、閲覧はプロジェクトメンバーに限られます。Power BIと併用することで、Visual Studio Onlineで見せても問題ないレポート情報のみを公開することができる高度なレポートを作成し、他の人と共有することが可能になります。また、Power BIの自然言語を使用した問い合わせにより、レポートを作成しなくても、必要な情報を参照することができます。
問題発生時にも即時対応が可能なプル型プロジェクト管理
コンピュータが導入されて、今まで他人に依頼していたスケジュール管理や資料検索といった秘書的な業務を自分自身でできるようになりました。さらに、クラウド時代になり、専門部門を使用しなくても業務システムを運用することができるセルフサービス時代が到来しました。
次はプロジェクト管理のセルフサービス化ではないでしょうか。冒頭にも書いたとおり、プッシュ型のプロジェクト管理では時代の速度に追いつかないといった状況も発生します。ソースコード、ビルド、テスト消化率、メンバーの負荷状況といった情報をいつでも必要なときに入手することができるようになれば、即時必要な対策をとることができるようになるため、このようなプル型のプロジェクト管理に移行することを検討してみてはどうでしょうか。
次回は、Visual Studio OnlineとTeam Foundation Serverを利用したチーム開発におけるレポジトリ管理方法についてご紹介します。
編集協力:ユニゾン
執筆者紹介
Microsoft MVP 亀川和史
2005年にTeam Foundation Server(TFS)をリリースした頃からチーム開発の助けになるのではないかと興味が湧いたのでインストールしてから、TFSの活用に興味を持ち始め、チーム開発を楽にするためにどう使えるのか模索を始めた。情報が多くないTFSのために活動を始め2012年にMicrosoft MVPを受賞し、現在に至る。TFSUGスタッフ、Developers Summit 2015 Kansai、主にMicrosoft系のコミュニティイベントに登壇。個人ブログ「kkamegawa's weblog」にて、TFSやVisual Studio Online、Visual Studio関連を中心に情報発信中。