「アジャイルサムライ」の著者が語る、技術志向の企業が世界をどう見ているのか? そしてソフトウェアテスト自動化を進化させる方法について(中編)。JaSST'22 Tokyo基調講演
Jonathan Rasmusson(ジョナサン・ラスムッソン)氏はアジャイル開発における著名人の一人であり、さまざまな先進的ソフトウェア企業において開発やテストに携わってきました。
日本ではアジャイル開発の入門書として話題となった書籍「アジャイルサムライ」(オーム社,2011)や「初めての自動テスト」(オライリー,2021)、「ユニコーン企業のひみつ」(オライリー,2017)の著者としても有名です。
そのラスムッソン氏が2022年3月10日と11日の2日間、ソフトウェアのテストに関わる国内最大のイベント「ソフトウェアテストシンポジウム 2022 東京」(JaSST'22 Tokyo)の基調講演に登壇しました。
その基調講演の内容を紹介していきましょう。この記事は、前編、中編、後編の3つに分かれています。いまお読みの記事は中編です。
社内の組織としてスクワッドを作る
Spotifyやその他の企業はどうやってミッションを実行しているのでしょうか。
Spotifyでは「SQUADS」(スクワッド:部隊)と呼ばれるチームを作りました。
スクワッドにはミッションを達成するために必要な人員はすべて揃っていて、同時にミッションを達成するための責任を持っています。
スクワッドは自分で自分の仕事を作り出します。つまり製品をどうするか、バックログをどうするか、などを自分たちで考えて、ミッションを達成しようとします。
そして製品を作り、維持していくわけで、非常に自律的です。ミニスタートアップのような仕事の仕方をします。
さらに会社全体をその部隊を中心に作っていくわけです。
会社は労力を払い、きちんとしたスクワッドを作っていきます。誰を部隊のメンバーにするのかを選び、継続的にモニタリングをして、皆がきちんとできているのか、ハッピーかということを確認をしていきます。
さらに阻害要因がないか、減速要因がないかということも確認をして支援していきます。
Spotifyは特に、こうした仕組みによって大成功を収めたわけです。
ただ、このSQUAD部隊には一つの課題があります。
スクワッドの課題
スクワッドは比較的小さなミッションに対しては非常にうまくいきます。しかしながらスクワッドでやっていたことをスケールアップして会社全体に展開していく場合にはどうしたらいいでしょうか?
そこでSpotifyとしては、トライブ(Tribes)、チャプター(Chapters)、そしてギルド(Guilds)という考え方を導入しました。
トライブは基本的にはスクワッドの集合体です。同じトライブの人たちは似た業務をしています。
例えば、私はハードウェアのプラットフォームチームにいて、Spotifyがカーステレオやスマートスピーカーやゲームプラットフォームなどの物理的なデバイスで機能するようにしなければなりませんでした。
それをハードウェアプラットフォーム トライブでやりました。
トライブの中はある程度の管理が必要です。それを「チャプター」と呼んでいます。
Spotifyのチャプターは、例えばテスターの人たちが集まってそのトライブの中で情報を共有する、そして同じマネージャーにレポートをする。数週間ごとにテストについてトライブの中で何が起こっているのか議論するわけです。
Spotifyでは、トライブの中でしかコミュニケーションできないということはなく、組織全体の誰とでも話せるようにしたいと思いました。
そこで「ギルド」という考え方が出てきました。ギルドというのは部門横断的にやりとりをするわけです。
そして、会社の中の同じ業務をする人たちと話ができるようにしたわけです。例えばiPhone製品を担当していたiOSのギルドは1カ月に1回会って、iOSに関連するソフトウェアの話をしていました。テスターも、Android開発者も同じことをしていました。
部門横断な組織だったわけです。
Spotifyは、小さなスクワッドでうまくいったことを全社的にスケールアップするうえで、トライブやチャプター、ギルドという考え方でやっていったわけです。
企業における優先度を明確にする「カンパニーベット」
Spotifyで非常に感銘を受けたことがあります。「Company Bets」(カンパニーベット)という考え方です。多分Googleから学んだと思うのですが、非常に強力な考え方です。
カンパニーベットとは何なのかと言いますと、SpotifyのCEOであるDaniel Ek(ダニエル・エク)は、Spotifyではあまりにもたくさんのことに取り組み過ぎていて、本当に重要なことができていない、という大きな問題に気づいたのです。
そこで彼は、社内で取り組んでいることのリストを作りました。そしてその100個ぐらいの取り組みの中で、重要なものに優先順位を付けてトップテンに集約していったわけです。それを「カンパニーベット」と呼びました。
これはつまり、会社において重要な事柄のリストです。これによって従業員は誰を助けるべきなのか、誰と時間を過ごして会社の目標が達成できるようにすべきなのか、ということが分かります。
例えばソニーのプレイステーション。これは私も関わっていたプロジェクトです。これへの対応がカンパニーベットのナンバーワンだったときがあります。
会社にとってこれが一番重要なことだったわけです。ソニーは期限に非常に厳しかったので、特定の期日までにSpotifyがプレイステーションで動作するという目標を達成しなければならなかったわけです。
例えば、あなたがChromecastチームの一員だったとしても、プレイステーションチームが助けを求めてきたら手伝うべきということが明確に分かります。なぜならばカンパニーベットによって優先順位が分かっているからです。
カンパニーベットのリストを順番に上からきちんと達成できたとしたら、その年はSpotifyにとって非常に上手くいった年ということになります。
Spotifyはいろいろな問題をこれで解決できました。
技術志向の会社の特徴とは?
私はSpotifyでしばらく仕事をしていたのですが、SpotifyやGoogle、Netflixのような技術志向(Tech Lead)の会社は、それ以外の会社との違いに気がつきました。
技術志向の会社はテクノロジーを使って新しいビジネスモデルを作り、驚くような新しいことをするのです。
「Hard Stuff is Easy」(難しいことが簡単)と一番目に書きましたが、これは他の会社では難しいこと、例えば新しいデータベースのインスタンスが欲しいというときに、普通の会社ならすぐには実現しません。
上司から許可をもらい、いろんな書類にサインをしなければならなくて、1週間とか2週間とか1カ月ぐらい待たないと新しいデータベースのインスタンスを使うことができません。
ところが、こんなことはSpotifyやGoogleでは簡単なんです。データベース担当に連絡してインスタンスが欲しいと言えば、その瞬間にもらえるわけです。
これが技術志向の会社の特徴です。
また、技術志向の会社は、上から何かを指示されるということはありません。
スクワッドのメンバーが緒になってミッションを決めて、そこにどうやって到達するかを自分たちで考えるんです。
お金に関しても異なる考え方をしています。
プレイステーションのプロジェクトに参加していたとき、みんな遅くまで仕事をしていました。
そこで上司に聞いたんです。みんな夜遅くまで残っているから晩御飯を注文してもいいかと。すると、もちろんだよ、どうぞ御注文して。チームが生産性が上がるんだったら何でも買っていいよと言われました。私はワオと思いました。
本でもトレーニングでも、マウスでもキーボードでも、生産性が上がるんだったら、チームのために買っていいよと言われたのです。
それからまた、彼らは品質にものすごく力を入れます。なぜならば、それが製品の善し悪しを決めるからです。
そして会社の中にある情報はデフォルトでオープンなんだと考えています。
私がSpotifyに入社したとき、社内の財務について、お客様は何人いるのか、そういう情報はどこで見られる? と聞いたら、実は見たい人は誰でも見れるんだよと言われました。これはもう究極の透明性、他の会社ではないような感じでした。
技術志向の会社では、従業員に情報を提供した方が意思決定がうまくいくと彼らは考えているからです。
チームが他のチームを手伝うことも当然のことと考えています。社内でオープンソースがあるようなもので、誰のコードでも自由に使うことができるし見ることができます。
他のチームの生産性を上げる専門の部隊「生産性スクワッド」もあります。コンピュータを修理するとか、DBサーバを運用するとか、そういったものをどんどん手伝ってくれます。
全てのものをとにかく迅速にやろうとします。生産性にこれだけ投資をするから、技術志向の会社はいろんなことを短い時間で達成できるのです。
テック企業はカルチャーがとても重要
次は「カルチャー」の話をしようと思います。
なぜならばテック企業においてカルチャーはとても重要だからです。そしていろんな会社でちょっとずつそのカルチャーが違います。
例えばApple。Appleはデザインが最重要。Googleは技術が最重要。
Amazonは顧客からスタートしました。彼らにとって一番重要なのはお客様です。
Spotifyの方は例えばスポーツチームとかゲームチームとかいろんなチームでいろんなことをやっていました。
これらの企業にとって、文化の重要性は言い尽くせません。会社に新しい人が入ると、カルチャーについて教えられることになります。
例えばSpotifyに入ったときには、「自分が何をするか、よりも、何ができるのか、の方が重要だ」ということを教えられました。
これは、ちゃんと成長して将来的にいろんなことができるようになる、ということが重要でアリ、一番早く学ぶ人が一番の勝者になるんだ、ということです。
また、個人ではなくチームとしての成功をSpotifyにおいては重要視します。
それ以外にもいくつかあります。Technologyをやるときに優先順位をつけて全てのことをやるんじゃなくて、一握りの重要なテクノロジーだけをやるということ。
意思決定をするときにはすべての情報がある方が正しく意思決定ができるのだから、情報を独り占めしない。みんなオープンにしていくというカルチャーも持っています。
人を雇用するときにはその価値に同意する人を雇うし、昇進するときにもそのカルチャーを心の中から信じてる人たち、体現できる人たちが昇進します。
ここまでがパート1です。
Spotifyを始めとして、テック企業、技術志向の会社が世界をどのように見ているのか、オペレーションが他とどう違うのかという話をしました。
次はソフトウェアテストの話を詳しくしていきましょう。
≫後編に続きます。後編ではソフトウェアテストの自動化をどうやって進めていくのか、Spotifyの例を詳しく紹介しています。
関連記事
あわせて読みたい
「アジャイルサムライ」の著者が語る、技術志向の企業が世界をどう見ているのか? そしてソフトウェアテスト自動化を進化させる方法について(後編)。JaSST'22 Tokyo基調講演
≪前の記事
「アジャイルサムライ」の著者が語る、技術志向の企業が世界をどう見ているのか? そしてソフトウェアテスト自動化を進化させる方法について(前編)。JaSST'22 Tokyo基調講演