スポンサーリンク
概要
オライリーから発売されている、「ユニコーン企業のひみつ Spotifyで学んだソフトウェアづくりと働き方」を読んだので感想を書こうと思います。
[
技術書のセールとおすすめ書籍を紹介しています。合わせてご覧ください。
スポンサーリンク
書籍概要
どんな本?
大規模な成功を収めているテック企業(ユニコーン企業)は、スタートアップで機能していたテクニックをエンタープライズ企業レベルにまでスケールさせる方法を見いだし、日々実践しています。Amazon、Facebook、Googleなどは、何万人もの従業員を抱えているにもかかわらず、スタートアップのように働いています。本書はSpotifyでアジャイルコーチやエンジニアの経験を持つ著者がユニコーン企業のソフトウェアづくりと働き方を解説します。
ミッションによってチームに目的を持たせ、スクワッドに権限を与え、信頼する。カンパニーベットを通じて大規模な取り組みを調整する。このような働き方とそれを実現するための文化のあり方を解説し、複数チームが連携しながら質の高いプロダクトを早くリリースし、迅速に技術革新を行うための方法を学びます。
プロダクトのデリバリーにフォーカスする世界有数のテック企業の事例を紹介する本書は、デリバリープロセスやプロダクト組織自体を改善したいエンジニアやマネージャー、経営リーダー必携の一冊です。
- Jonathan Rasmusson 著、島田 浩二、角谷 信太郎 訳
- 2021年04月 発行
- 212ページ
- 定価2,420円(税込)
スポンサーリンク
スポンサーリンク
内容のまとめと感想
ユニコーン企業(未上場で、評価額が10億ドル以上である、創業10年以内の企業)ではどのような仕組みを使って、大規模にもかかわらず高い生産性を実現しているのかを解説した本です。
著者は実際にSpotifyでアジャイルコーチやエンジニアとして働き、その時に学んだ手法や経験をまとめた本になります。
従来の社内システムを開発する企業組織と、こういったテック企業の違いを比較しながら説明がされていて、非常にわかりやすいです。
テック企業ではスクラムは既に使われていない、もっとよくやるための仕組みが導入されているというのが印象的ですね。
ただし、比較しているのは一般的なエンタープライズ系企業のスクラムに対してであって、ウォータフォールではありません。
(こういうのを見ると、ウォーターフォールが一般的な日本はだいぶ取り残されている感がありますね。)
技術的な話はあまりなく、組織や企業の文化作りを中心とした本になるので、エンジニアというよりはマネージャや経営層のメンバーが読むと参考になる本です。
ですが、エンジニア的な観点でも、自律的なチームの作り方や仕組みを考える際には参考になりそうです。
全編を通して描かれているのは、チームを信頼し権限を与えて自律性を高める事が重要で、無駄な手続き等を省くことで高い生産性を実現しているという点ですね。
何をやるにしても、やらされるのではなくて、当事者意識を持って取り組むことが大切という事が何度も説明されていました。
スポンサーリンク
良かった点
実例ベースで読みやすい
特定の企業の経験をベースにした、実例ベースの話になるので、抽象度が低く読みやすいです。
翻訳も違和感がなく、ページ数も212ページと少なくてサクッと読めます。
単純に読み物としても楽しめる一冊だと思います。
[
その他オライリー本感想
その他のオライリー本の紹介をしていますので、合わせてご覧ください。
【オライリー本感想】Seleniumデザインパターン&ベストプラクティス はUIの自動テストのガイドとして良くまとまっている良書
スポンサーリンク
読書ノート(個人的なまとめ)
第1章 スタートアップはどこが違うのか
従来企業とスタートアップ企業との違いを説明している章です。
なぜスタートアップがハイスピードでプロダクトをリリースできるのかを、従来企業との違いの観点から説明しています。
作るものがほぼ決まっている、社内システムを作る場合と、不明確で仮説検証をくり返す必要があるプロダクトではスタンスを変えなければいけない理由がわかりますね。
- 従来企業とスタートアップの重視するポイントの違い
- 従来企業:スケジュール、納期、予算
- スタートアップ:顧客、インパクト、学習
- スタートアップ
- プロダクトが全て。実験を繰り返し学習を続けていく必要がある
- チームを信頼し、権限を与える。結果として仕事とプロダクトの質へとつながる
- 従来企業
- 社内システムがメインなので、生産性の向上と業務の効率化が目的
- 未知な要素が少ないのでマネジメントが重視される
- プロダクトを開発するチームを作るには
- 成功の再定義:計画に従うのではなく、発見と学習(何度もリリースすることを繰り返す)
- 未知の状況でもうまくやっていける人材を探す
- 失敗してはいけないという思い込みを払拭する
- 権限を与え、信頼することで仕事をやり遂げる
第2章 ミッションで目的を与える
スタートアップやテック企業がプロジェクト(計画)ではなく、ミッション(目的)によって仕事を進める理由が書かれている章です。
ミッションによって自発的なチームを作る事が大切といった点が詳細に説明されています。
予算や期間がありきではなく、答えがない中で最適化していく新規プロダクトではこういった考えは確かに重要だ納得させられますね。
- プロジェクトの問題点
- 新しいものを作るのに向いていない
- 期間があまりにも短い、フィードバックの機会がない、融通が効かない、力を奪う(考える力を奪う
- ミッション
- チームに与えられる抽象度の高い目標(Spotifyの例;新しい音楽を簡単にみつけられるようにする
- ミッションのメリット
- 自発性を高める:当事者意識を高めて、チームが自発的に仕事に取り組むようになる
- 目的を意識させる:仕事を有意義に感じられる、全力を尽くしたくなる
- 仕事そのものにフォーカスさせる:自分たちで開発したものをメンテナンスしていてレーションを回していく
第3章 スクワッドに権限を与える
テック企業では、少人数で自立したチームで開発を行っています。
そのようなチームをSpotifyではスクワッドと呼んでおり、そのスクワッドの特徴を従来企業のアジャイルチームとの比較を説明しています。
従来のアジャイルチームに、より権限を持たせような形になっていて、チームを信頼することで高い結果を出させるといった事にフォーカスしているように見えますね。
- スクワッドとは?
- 少人数で職能横断的な自己組織化されたチーム
- プロダクトの隅々にまで責任を持つ
- 権限を持った小さい小久能横断的なチームこそが、高速なプロダクト開発とイノベーションの基盤
- スクワッドとエンプラ企業のアジャイルチームの違い
- 自分たちで仕事を生み出す:問題点を自分たちで考えて、仕事を生み出す
- 自分たちで作ったものをメンテナンスする:イテレーションを重ねて顧客を望むものを提供する
- 自分たちで優先順位をつける:細かく指示せず、裁量の余地を多く与える。チームではなく会社全体にとって最適な仕事を選ぶ
- 計画よりもインパクトを重視する:新規登録数、アクティブユーザ数など
- 準備が出来次第リリースする;リリースの判断もスクワッドが行う
- 自律している;与えられたバックログをこなすのではなく、質問し、考えて間違っていれば声をあげる
- 手を動かす人だけで構成される:プロジェクトマネージャとスクラムマスターはいない
- プロダクトマネージャとデータサイエンティスト
- プロダクトマネージャ:スクワッドと協力し、戦略やロードマップを定義し方向性を決める
- データサイエンティスト:データを収集分析し、レポートなどで可視化する。スクワッドを支援する
第4章 ドライブでスケールさせる
小さなチームであるスクワッドを、全社的にスケールさせるにはどういった組織構造が必要となるか説明している章です。
メンバーが自身で選んで組織に所属することで、納得と自律性を持たせるといった仕組みはなるほどと思いました。
- トライブ
- 担当ミッションが類似、関連するスクワッドをまとめたもの
- 例:決済というトライブ => 決済の登録、認証、支払いごとのすワッドをまとめたもの
- 大体150人程度に収まる。特定のビジネス領域の全てに責任を持つ
- 他のトライブへの依存を極力減らしてスピードアップできるようにする必要がある
- チャプター
- スクワッドをまたいだ、トライブ内の特定の専門性を持つグループ(例;Webエンジニア、品質保証など)
- チャプターリード:チャプター内のマネージャ。採用、キャリア開発などのマネージャ業務を行う。
- コミュニティによるメリット:新しい技術やプラクティスに関して話す機会
- 業務と専門性のいいとこ取りができる
- ギルド
- トライブを横断した専門的な分野のグループ
- チャプターのようなマネジメントやサポートは提供されない
- 代わりに、気軽に自由に作って参加できる
- メンバーへ学習と成長の過程を提供する
- 組織の流動性
- テック企業では頻繁に組織の再編成が行われれている
- メンバーにどの組織が良いのか選ばせる
- よく内容を理解して自分で選び、気に入った人たちと一緒に働いていると転職せずに優れた仕事をしてくれる
- マトリックス型組織との違い
- マトリックス型組織は「人材プール」として専門性まとめ、プロジェクトに貸し出す
- 対して、スクワッドというデリバリーを行う機能横断チームが主軸にあり、チャプターは横軸で専門性をサポートする組織
第5章 ベットで方向を揃える
大きい物事を達成するために、複数チームで全社横断的に取り組むための方法が解説されている章です。
カンパニーベットという仕組みを活用してどのように実現するかが説明されています。
- カンパニーベット
- 全社員で取り組むべき重要事項に優先順位をつけたリスト
- 全社リソースの30%は常にカンパニーベットに取り組んでいる状態にする
- 4半期ごとに戦略チームが集まって議論する
- メリット
- 重要な点からまず終わるようになる
- フォーカスを強制する:チームの向かうべき方向性が絞られる
- 全社横断の連携を可能にする:やるべきことがわかっているので協力して取り組める
- やりぬくためのコツ
- 専任のロードマネージャをアサインする:ベットをやり遂げることを責任を持つ
- 定期的な状況共有の場やメーリングリスト、デモの機会など自分ごとと考えられる状況にする
- 大掛かりな取り組み(ベット)はずらす:同時に2つの大きなベットを実行するのは難しい
- ベットとスクワッドの関わり
- まずはミッションがベットに沿えるかを調整する。沿えないならばミッションを続行する
- スクワッドの自律性が第一で、ベットはスクワッドのミッションが部分最適になっていないかの点検
第6章 テック企業で働くということ
テック企業独自の人の動かし方、マネージメント手法に関してまとめられた章です。
この章でも、自律性と信頼というワードが重要だと感じました。
権利を濫用しないと信頼する事で、自由を与えてスピード感を高めるということが第一という文化がわかりますね。
- フラット化する世界
- フラットな組織構造、カジュアルで能力主義、肩書きよりも「何をしたか」が重視
- 新しいアイディアの共有の重視、CEOへの反対意見もOK
- 自律的で自由があるが、一方で責任も重い
- 具体的に何をすべきかは指示されない
- 意思決定を一人にした方が単純だし早いが、相手のものにならない
- 段取りや原則のみを示して自分たちで決めさせることでもの事を進めさせる
- お金の使い方が違う
- 無料のランチ。無限スナック、高性能コンピュータなど、なんどもありの背景
- 競争力を上げてスピードを出すための無駄なやりとりや許可を排除するため
- スピードと学習が第一で、そのために信頼している
- 信頼していないの?
- 好きなPC環境やソフトウェア、出張や備品など自由で自律性にまかせる
- スピードを阻害するもの排除し、特権を濫用しないと信頼している
- すべての情報は基本的にオープン
- 財務情報を含めてあらゆる情報をオープンにしている
- あらゆるデータにアクセスできるとき、人は優れた意思決定を下すという判断があるから
- 手伝おうか?
- 企業と社内のチームはお互いにサポートをしあう
- 従来企業であれば、部門をまたぐサポートには予算が必要になる
- ベットやミッションといった共通の目標があるので、そのために個々の時間や費用を気にする必要がない
第7章 生産性向上に投資する
スピード感が高いテック企業がどのような投資を行うことで、生産性向上を行っているのかを解説する章です。
テック企業というとスピード感重視で品質は二の次といたイメージがあります。
しかしながら、継続的なデリバリーや無駄な仕組みを無くすことでスピードを高めているだけで、実際のところはコード自体はエンプラ企業のような予算や期間の妥協がなくて、品質は非常に高いという事が説明されていて腑に落ちました。
- プロダクティビティスクワッド
- 他のエンジニアチームの生産性を上げる事を目的としたチーム
- ビルドの自動化、CD/CI、監視ツール、テストツールなど環境の整備
- これらを使用した「門番」ではなく、各スクワッドが自由に使えるようにするに支援することが目的
- セルフサービスモデル
- コンピューティング環境を含め、使うための環境が用意されていてスクワッドは必要な時に使用する
- 無駄遣いをしないことが暗黙のルール(信頼)
- その結果、無駄な手続きを省いて早く動けるようになる
- ハックウィークを開催する
- 好きな事なんでもやれるイベントを年に2回開催し、イノベーションを促進する
- 最終日に成果を示す必要がある:リリースす責任と行動に責任を取る感覚を養う
- 技術に明るいプロダクトオーナーを活用する
- 元エンジニアのプロダクトオーナーが多く、テクノロジーとビジネスが分断されずに取り組める
- 品質に高い期待を持つ
- エンプラ企業では予算や納期の関係で許されている貧弱な設計やコードは許可されない、レビューで弾かれる
- 予算や期日の言い訳が取り除かれるので、きちんと開発することへのインセンティブが高まる
- 高いクオリティの仕事の結果、好循環と他者への信頼が生まれて頼られるようになり、全体のスピード感が高まる
- 決められた間隔で定期リリースする
- 期日を間に合わせるために期限ギリギリまで機能を詰め込むストレスからの開放
- フィーチャフラグ(機能が揃ったらONにして使えるようにする)を設定することで中途半端な状態でもコード開発が継続できるようにする
第8章 データから学ぶ
テック企業がデータをどのように活用しているかを説明している章です。
実際のところはわかりませんが、一般向けのユーザ向けのサービスをやっているところではやっていそうなプラクティスが多く並んでいました。
- データはどこにでもある
- 主要メトリクス:月間アクティブユーザ、日々の登録数、プレミアユーザ数など
- データを見て、議論を交わし、大きなカンパニーベットが生まれる
- ドリルダウンしたメトリクス:朝の通勤で人気な曲は? など スクワッドがミッションを追うために使用
- 顧客が社内ではないシステムではデータ収集して、把握するしかない
- 大量のデータから意味を出すにはデータサイエンティストの助けを借りる
- A/Bテスト
- 2つのアイディアを実際にプロダクトに入れて、データを収集してどちらが良いかを判断する(ユーザに応じてどちらかが表示される)
- 有意なデータを得るには大量のデータが必要
- 難しいならが、10人程度の顧客と直接話をする方が効果がある(どこが好きで、どこが嫌いか)
第9章 文化によって強くなる
ある程度の規模と歴史がある企業だと、独自の文化があると思いますが、テック企業ではその文化を意図的に作り出しているという章です。
文化という事自体が抽象度が高く、一概に決められるものではないので、Spotifyにおける実例を使って説明されていて面白かったです。
こういう文化の背景には、こういった考えや実際に会社内での仕組みがあるといった話がメインの章でした。
第10章 レベルを上げる
これまでの章で説明のあったしくみなどをどのように現在の自分の会社に適応していけば良いのかといった、実現のための方法が説明されている章です。
- 目的で動機づける
- 従来企業においても自社の存在意義を再発見して、なぜ重要なのかを再確認する
- 思考は戦略的に、行動は局所的に
- 経営リーダーに抽象度が高めの目標を設定してもらい、自分たちのベットリストにする
- それを小規模な権限のあるチームに渡す。どう解決するかはチームが決める
- プロジェクトではなくチームに投資する
- 期限の決まったプロジェクトではなく、恒久的に存在するチームに対して予算を割り当てるようにする
- 技術を一級市民として扱う
- 自律した小さなチームとともに
- 権限と信頼を与えて当事者として取り組んでもらう
- リーダーシップ
- 発言と行動を一致させて、皆が行動を参考にする存在になる
- 理想を体現できそうな人材を昇進させて、リーダーとする
- 言い訳を取り除く
- 権限と信頼もあり、責任があれば失敗時の言い訳はできない。
- 当事者意識になり、責任感のレベルが変わる