Shoeisha Technology Media

IT人材ラボ

記事種別から探す

シリコンバレーのスタートアップが実践するアジャイル開発を実プロジェクトを通じて学べるPivotal Labs《前編》

 PaaSソフトウェアやアプリケーションフレームワーク、開発支援ツールを提供しているPivotal。同社はそれだけでなく、アジャイル開発の支援と伝授を同時に行うサービス「Pivotal Labs」も提供している。これだけ聞くと「開発コンサルティングか」と思うかもしれないが、全く違う。真にアジャイル開発を実践できる力をチームで身に付け、持ち帰ることのできるサービスなのである。本稿は前後編で、Pivotal Labsで伝授しているノウハウの一端や現場の様子などをお伝えする。前半である今回は、Pivotal Labs Tokyoディレクターのザック・ブラウン氏へのインタビューをお届けする。

Pivotal Labsとは

 Pivotal Labsはたとえていうと、ソフトウェアの工房と教室が一体化した場といえるだろう。Pivotal Labsを利用する企業や開発チーム(以下、ゲストチーム)は、実際に自社で利用したり顧客へ納品したりするソフトウェアを、Pivotal Labsのオフィスに通って開発する。開発はアジャイル手法で進められ、ゲストチームはPivotal Labsでのソフトウェア開発を通じてアジャイル開発を体得できる。

 Pivotal Labsの特徴の1つは、Pivotal Labsのメンバー(以下、Labsメンバー)がゲストチームのソフトウェア開発に参加する点である。メンターなどとしてゲストチームを指導するのではなく、一緒に開発を行う。Labsメンバーとゲストチームの間には上下関係もなく、ゲストチームが完成を目指すソフトウェアを1つのチームとしてともに開発していく。

 そのためのチーム編成も、Pivotal Labsの特徴である。同社が「Balanced Team」と呼ぶ編成で、チームメンバーは「プロダクトマネージャー(以下、PM)」「デザイナー」「エンジニア」という3つの役割のいずれかに就く。各役割にはディシプリン(規律)が定めてあり、チームメンバーはそれに則って担当する仕事を進めていく。それぞれ次のとおりだ。

 PMのディシプリンは「リーン」。プロダクトに対する仮説(こういう機能をこう実装したらユーザー価値が高まるだろう)を立て、実装してみて検証する(ユーザーに試してもらうなど)サイクルを回すのがPMの主な役目である。この仮説検証は小さな機能単位で繰り返し行うことが欠かせない。

 デザイナーのディシプリンは「UCD(ユーザー中心設計)」。デザイナーというと画面のレイアウトなどビジュアル面を担当する人というイメージが強いが、Pivotal Labsのデザイナーの中心的な仕事は「リサーチ」だ。ビジネス課題を洗い出し、プロダクトをユーザーにとって価値があり、使い勝手も良いものにする。そのために、ユーザーインタビューを行ったりペルソナを作ったりすることもデザイナーの役割となっている。

 エンジニアのディシプリンは「XP(エクストリームプログラミング)」。ブラウン氏によれば、とりわけ「TDD(テスト駆動開発)」と「ペアプログラミング」がカギだという。TDDは実装コードを書く前にテストコードを書く開発手法。とても厳密に実施しており、テストコードなしにコーディングをしてはいけないルールになっている。ペアプログラミングでは、1つのプログラムコードを2人で書いていく手法。もう1人の目が入ることにより、ソースコードの品質が高まるほか、集中力のアップも望める。

3つの役割とそれぞれのディシプリン
3つの役割とそれぞれのディシプリン
[画像クリックで拡大表示]

 実は、“ペア”で作業するのはエンジニアだけではない。PMもデザイナーもペアを組む。これには成果物の品質が高まるなど、エンジニアと同じメリットももちろんある。しかし、Pivotal Labsのペアリングにはもっと重要な意味がある。

 ペアは原則として、ゲストチームのメンバーとLabsメンバーとで作る。つまり、ゲストチームのメンバーは、Labsメンバーと一緒に仕事をしながら、その仕事の仕方(つまりアジャイル開発の仕方)を見て学べるのだ。その中で、ゲストメンバーは自分たちでアジャイル開発を実践するための経験を積み、力を付けていける。この実践力を身に付けることを、Pivotalでは「イネーブルメント(Enablement)」という。ブラウン氏は、ゲストチームをイネーブルすることがPivotal Labsが提供する価値だとする。

 「一般的にSI企業は、ユーザー企業からソフトウェアに対する要求を受け取り、それを実装して納品することにフォーカスしています。しかし、Pivotal Labsは違います。我々のミッションステートメントは“To transform How the world build software(世界中のソフトウェア開発を変革する)”であり、ゲストチームをイネーブルすることにフォーカスしているのです」(ブラウン氏)

Zach Brown氏
Zach Brown(ザック・ブラウン)氏
Pivotal Labs Tokyoディレクター。
米国カリフォルニア大学バークレー校で東アジア学の学士号を取得後、さまざまな業界のソフトウェア開発者、ITマネージャとしてキャリアを過ごす。2011年の東日本大震災後、岩手県大船渡市でボランティアに参加し、日本人の回復力やおもてなしに深く感動。この体験がきっかけとなり、日本で仕事と生活をしたいと考えるようになった。米国サンフランシスコのPivotalでの5年の勤務を経て、この4月より日本での勤務を開始。ロボット、音楽、そして日本食が大好き。

 もちろん、Pivotal Labsは実際に利用したり納品したりするソフトウェアを作り上げることも目的とする。そうした真剣に取り組むべき仕事を前提とする中で、アジャイル開発をリードしてくれるLabsメンバーと共同作業を進めるからこそ、ゲストメンバーのイネーブルメントが果たされるといえるだろう。

 そのほか、ペアでの作業には成果物(ソースコードなど)の内容をゲストチームが理解し、Pivotal Labsでの開発が終わり自社に帰った後もプロダクトをメンテナンスできるようにする「ナレッジの共有」という側面もあるとブラウン氏は述べている。

 なお、本取材中にLabsメンバーの方からは教えるのではなく、一緒にやるのだという指摘を何度もいただいた。この「メンバー間はフラット」という考え方は、ペアの間だけでなく、3つの役割の間においても同様である。


著者プロフィール

  • 市古 明典(IT人材ラボ ラボ長)(イチゴ アキノリ)

    1972年愛知県生まれ。宝飾店の売り子、辞書専門編集プロダクションの編集者(兼MS Access担当)を経て、2000年に株式会社翔泳社に入社。月刊DBマガジン(休刊)、IT系技術書・資格学習書の編集を担当後、2014年4月より開発者向けWebメディア「CodeZine」の編集に参加。その後、資格学習書と開発者向けWebメディア両方の経験を活かして「資格Zine」を立ち上げ。「IT人材ラボ」はその拡張版となる。

All contents copyright © 2017-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.0