リーンソフトウェア開発と組織改革
https://images-fe.ssl-images-amazon.com/images/I/51lWlF7PJ7L._SY291_BO1,204,203,200_QL40_ML2_.jpg
内容メモ
序章 : フレーミング
成長ではなく利益こそが最重要 → 対所得コスト費 (収益性の逆) や従業員 1 人当たりの所得 (生産性) などの少数の重要な評価指標
効果的で対応の早い組織 : 小さなグループのリーダーがそれぞれ意思決定を下す組織
現場の従業員が大切にされ、その場で意思決定を下すことができ、顧客にいいサービスを届けられる環境
従業員が自らの知性と創造性を会社の成功のために役立てようとする
会社の臨機応変性が高まり、市場環境の変化や新しい好機の出現を素早く察知して対応できる
本書の目的 : 傑出した企業によるリーダーシップの役割の組み立て方法を知り、ソフトウェア集約的なシステムを開発する組織に応用できるようにする
人間は、周囲のものをフレーム (自分なりのパースペクティブを形作る精神上の概念) を通じて解釈する フレームがあることで考慮すべき事柄を少なくできるが、逆に見えていないもののせいで予期せぬ結果になったりする
うまくいかないときは別のフレームから物事を見ることを意識すべき → フレーミング 1. システム思考
まとめ : 組織をシステムとして捉え、顧客中心に考え、顧客の要望を理解して、それを満たすようにシステムを設計する
システムの能力を把握することや、システム全体の中での仕事の開始から終了のフローを把握すること、そしてそれらを改善していくことが大事
一般的に、飛行機の搭乗率が高いと好業績になるということで評価されやすいが、サウスウエスト航空は搭乗率が他社と比べて低いのに好業績を維持している
フレーム 1 : 顧客中心
「顧客中心」 という明確な目標は、自組織全体の意思決定を主導するものであり、システム思考の第一歩
顧客 : システムに対し、「金を払う」、「使用する」、「サポートする」、「何らかの価値を引き出す」 といった人が顧客
大規模システムのサブシステムを開発している場合、システム全体の顧客とサブシステムの顧客がいる
→ 他のサブシステムはパートナーとしてとらえ、システム全体の顧客を考えるべし
2 つの顧客要求
フレーム 2 : システムの能力
自分たちの現在の能力を知り、長期的な成功のために必要な能力についても理解し、長期的な行動計画を策定して組織に周知する
目標値を定めることの効果は限定的だったり副作用があったりするので、慎重にする
フレーム 3 : 開始から終了までのフロー
フレーム 4 : ポリシーが生み出すムダ
ムダ : 顧客価値を追加せずに、時間、労力、空間、資金というリソースを消費すること
多くの人はムダという視点でシステムを捉えない
人物像 : 製品チャンピオン、テイク 1
電球を発明したエジソンが、電球を使うための環境を整えて実際に普及させるということをやったように
ソフトウェア開発においては、技術的な確固たるビジョン (アーキテクチャ) も重要 → アーキテクチャについてもアイディエーションのステップを適用できる 2. 技術的卓越性
特定の状況でうまくいった厚板道路が大々的に喧伝されて投資ブームになったが、数年後に耐久性の問題がわかって破綻
ソフトウェア開発でも似たような技術などがあるのではないか?
歴史を見ると、一貫して 「欠陥の修正コストを下げるため、なるべく初期の段階で発見する」 という目標
目標は一貫しているが、方法が議論百出
技術中心のプラクティスは常に重要であり続けている
一方でプロジェクト管理のプラクティスは、時とともに脆弱になっている
アジャイルなソフトウェア開発をプロジェクト管理のフレームで見ると、やはり選択肢のひとつでしかないが、システム開発のフレームで見たアジャイルソフトウェア開発は様々なプラクティスを拡張してきた安定した基盤
フレーム 5 : 本質的複雑性
低依存アーキテクチャ
フレーム 6 : 構成的な実装による品質
プログラムを証明可能性の観点から構築
受け入れテスト
テスト自動化
コードの明快さ
本質は、発見の短いサイクルを繰り返すこと
発見のサイクル : エスノグラフィー (実地での調査) → 協同でのモデリング → すばやい実験 → ... リスクを避けるのではなく、それに向き合う
フレーム 8 : 深い専門性
コードを書くときには、日常的に設計上の決定を迫られる
技術的卓越性はスキルの問題であり、スキルを育成するには時間がかかる
スキルのある開発者集団を大きくすることに重点的に取り組む必要
その道のプロになるには、入念に計画された訓練を 10 年は続けなければならない
オーケストラでいうと、指揮者が複数の楽器を束ねて指揮するが、それとは別に楽器ごとの指導者も必要
チャンピオンがマエストロで、技術リーダーが指導者
コンピテンシー・リーダーの最も重要な役割は、どのようなプラクティスが専門性の育成に役立つかを教えられる指導者になること
ゴールと、能力を伸ばす課題と、すばやいフィードバックを与える
3. 確実なデリバリ
フレーム 9 : 裏付けのある実績
設計の細部ではなく、細部を具体化できる能力をもとにコミットメント
設計の詳細に基づいてスケジュールを立てるのではなく、スケジュールの制約に基づいてビルを設計する
設計をもとに制約を計算するのではなく、制約に合わせて活動を設計する
フレーム 10 : ワークフローの平準化
バッチを小さくすることで
統合と欠陥発見が早まりコストが小さくなる
リリースのオーバーヘッドコストの総量が増える
→ 経済的なバッチサイズが中間にある
オーバーヘッドコストを小さくすることで、経済的なバッチサイズがかなり小さくなる
キャパシティにあわせて作業量を制限することが極めて重要
フレーム 12 : 適応制御
最も堅牢なシステムは、自身のパフォーマンスを監視し、フィードバックをもとにパラメータ調整する
顧客がシステムから価値を得やすいかどうかをフィードバックとして得ることは重要
新しいリリースが全員のためになるとは限らないので、同時に全ての顧客にリリースをプッシュするのは得策ではない
が、長期的なサポートコストを低減させるために、新しいリリースを顧客が必要に感じてすぐに手に入れられるようにサポートする必要もある
欠陥のフィードバック
4. たゆまぬ改善
病院の事例
別の場所のベストプラクティスを導入するということはソリューションを導入するということ → うまくいかないことがある
それよりも、ベストプラクティスを生み出したプロセスを学ぶ方が効果的
フレーム 13 : 完璧を視覚化する
ベロシティの高い組織は、複雑性を予測するのではなく、学習しようとする
例えばスケジュールについて、スケジュールを計画とみなしてそこからの逸脱を知りたがるのではなく、スケジュールを仮説とみなし、ずれがあった場合は仮説に誤りがあったと考える
仕事を終わらせる方法ではなく、仕事を終わらせる方法を学ぶことに重点を置く
顧客中心
顧客はテクノロジの境界を超える存在なので、顧客中心で考えることで職務の境界を越えた学習を促す
多くの企業では、顧客とは単にプロセスの終端で最終製品を購入する人、という認識
トヨタの工場では、全てのチームメンバーと部署が、前工程の顧客であると同時にサプライヤでもある
フレーム 14 : ベースラインを決める
標準は最善ではなく改善のためのベースライン
物事が複雑になっているので、スペシャリストが求められるようになり、スペシャリスト同士の引き継ぎがあいまいなことで問題が起こるようになっている
問題はすべて境界をまたぐことにかかわりがある
境界を仕事がどう通過するかを気にするべし
仕事の設計
本書では方法レベルに多くの時間を割いてきた (= 機能横断チームがどのように作業していくか) が、根本的に改善するための機会は境界にある
テスト駆動の考え方を境界をまたぐ引継ぎにも適用する
下流にいる顧客の期待をテストによって定義する
ソフトウェアの開発の本質 : ソフトウェア開発を入れ子構造になった作業プロセスとしてとらえ、個々のプロセスがテストやテストスイートで検証可能な結果を生成するようにプロセス全体を開発して洗練していくこと 本質は、コードを書くことでも作図することでもない
プロセス標準の本当の意義は、継続的な改善のベースラインとして活用すること 工程の専門家と監督者が、作業者それぞれの作業を計画し管理することが効率的
半世紀後、日本のトップ企業が詳細なプロセス標準を守って高い成果を上げていることが知られる → CMM/CMMI や ISO 9000 などでそれが後押しされる → プロセス標準の意義が見失われた 新しく策定した標準および規定が 6 ヵ月間変更されなかったら、それは誰も真剣に使っていないということ
フレーム 15 : 問題を顕在化させる
問題が発生したときに、その時刻、場所、人のなるべく近くに人が集まって解決すること → 問題を抜本的に修正し、得られた知識を組織全体で共有する
悪い知らせを先に
小さな問題は、本来の仕事を妨げるものではなく、本来の仕事のプロセスを学ぶためのもの
作業プロセスを改善するというのは、コンサルタントを雇ってその知識を開発チームに伝授してもらうことではなく、組織にいる全員が詳細を把握し、どうすれば改善できるかを真摯に考えること
フレーム 16 : 改善の仕方を学ぶ
開発の時間が十分にある日など永遠に来ない → 何かが間違った方向に進んでいるなら立ち止まることが必要
問題の解決策として間違っている方法 : いろいろな方法を試し、問題がなくなったら解決できたと考える
患者を治療するのに診断するのが当たり前
問題が解決するまで様々なプラクティスを注ぎ込む開発現場が多い
問題解決のゴールは単に問題を取り除くことではない
第一のゴールは健全な進め方を学ぶこと
提案制度の難しさ : 提案がなかなか実現せず、やがて誰も提案しなくなってすたれてしまう
誰かが提案したものに対して、それを実現できる人に渡すよう言っていたのがまずい
本来やるべきこと : 提案した人にメンターをつけ、提案した人がそれを実現に導けるようにすること
チームが機能横断的だったとしても、常に両側に境界は存在する
問題解決のリーダーを派遣する方法は魅力的かもしれないが、チームとしてはリーダーの助言を受けつつ自分たちで問題解決をできるようになるのが望ましい
根本原因がいくつか仮説だてできたら、手早く実験して診断について素早く学習する
意思決定を下す権限を誰が持つのか、という従来の権威のとらえ方とは逆
A3 レポートのオーナーが、対話を通して意思決定に達するまでの責任を引き受ける
知識の共有
ベロシティの高い組織は、新しい知識を、それを発見した当人だけでなく広く組織にいきわたらせて知識の力を拡大する
個人への報酬がチームワークを阻害することもある
人物像 : メンターとしてのマネジャー
ベロシティの高い組織のマネジャーは、継続的な改善を業務に組み込む方法を部下に指導し、実行のための時間を確保する
組織の自己診断と自己改革の力を高め、問題発見のスキルを強化し、問題を解決し、解決策を組織全般にいきわたらせて効果を倍増させる
5. 人こそすべて
マネジメント理論の多くはアメリカの文化をもとに作られているので、必ずしもアメリカ以外の文化に適合するとは限らない 不確実性回避の高い文化では、ルールの希求が感情に根差している 結果が肝心ではない
短期的な結果を出すことを最優先にするのではなく、人と (人が働く) システムを育成し、成功を達成できるようにすることが肝心
フレーム 18 : 「助け合い」 という規範
会社は 2 種類 : 報酬の会社か助け合いの会社か
後者の方が熱心に仕事に取り組む
フレーム 19 : 相互尊重
助け合いを実践するうえで最も大切で最も簡単な方法 : 相手を尊重する
成功のポイントは、自己組織化型かどうかにあるのではなく、人の尊重と実行能力のバランスにある
フレーム 20 : 熟練の誇り
人物像 : 前線のリーダー
軍隊組織の効果的な小隊を支える原則は、会社組織の機動力のあるチームにも活かせる
6. 連携型リーダー
信頼だけでは不十分で、技術的な規律とツールが不可欠
ステークホルダーからのフィードバックを早い時期から得て、それに即して行動する
フレーム 21 : 理論から実践へ
実践するために
危機感を高める
推進チームを作る
変化のビジョンを掲げて戦略を立てる
コミュニケーションを通じて理解を深め、自らのやる気を引き出す
現場に任せる
早く成果を出す
手を緩めない
変化を根付かせる
大きな障害は、事前に細かな承認を求めるガバナンスシステム
重要なのは変化に適応できるようにすることであり、そのためには年 1 回の予算・計画策定などは邪魔
だが、多くの組織でガバナンスシステムとして採用しているので、撤廃は難しい
→ 詳細な記述が求められていたところを高レベルな記述で良いようにするなど、変更できるところを変更する
ソフトウェア開発の生産性の指標として、ソフトウェア単体の指標ではなく、顧客の成功を指標にすべき
広告キャンペーンを例に考えると、広告代理店のパフォーマンスを 「いかに少ないリソースで提案をまとめたか」 ではかるのではなく、その広告でどれだけ製品が売れたかではかるだろう
フレーム 23 : 団結
組織変革の成功と失敗
ほとんどの企業は、破壊的テクノロジの重要性を見抜けず、変化して新しい現実に立ち向かう力を持っていない
断続的な変化の中を生き残る唯一の道 : 破壊的変化の初期の兆候に気づく能力を養い、直ちに対応すること
変革に踏み出す第一歩 : 組織が 2 つの次元についてどのぐらい合意できているか
何を望むか : 企業の活動に参加して求める結果、その価値と優先順位、結果を達成するためなら受け入れる妥協
原因と結果 : のぞみの成果を得られるのはどのようなアクションについてかの合意
システム開発を変革しようとしている推進チームにとって特に重要
リーンは、長期的思考や多くの人にとって理解しづらいシステム視点なので、直感に反することが多い → 望む成果は合意できていても、原因と結果について合意が難しい
変革に組織的に取り組む場合、一定の成果を上げた後には頭打ちになりやすい (揺り戻しもある)
財務的なことより顧客満足を優先。 助け合いの文化。 従業員を大事にし、従業員も会社を大事にする 企業を持続させるというフレーム。 効率よりも適応力が第一
現在の推進チームのメンバーがその価値観に揃える
将来にわたって (10 年単位) その価値観が維持される
持続可能性はリーダーの育成に深く関わる
人物像 : あらゆるレベルのリーダー
偉大な企業では、組織のあらゆるレベルに偉大なリーダーがいる
リーダーは目的を示す
組織の目的を定めて、みんなに伝達。 それを達成する方法を指導。 問題を解決し、フィードバックを与え、学習の機会を整える
成功のために必要なリソースと能力をみんなが持てるように気を配り、指導を通じて成功を支援
リーダーはトーンとテンポを決める
規模などによってリーダーの決まり方や振る舞い方は違う (少人数バンドのリーダーみたいなのもあれば、オーケストラの指揮者のような場合もある)
リーダーはいい雰囲気を作り、歩調を決め、労力を調整し、助言し、みんなの問題解決を支援する
リーダーは人を成長させる
リーダーは他者が成功するための場所をつくる
事業成長にともない、権限委譲しないとやっていけなくなる 委譲する側には相当の忍耐が必要
間違いを犯すこともあるが、その間違いは細かく指示を出した場合の間違いの深刻さに比べると大したことはない
破滅的に危険なマネジメントは、間違いがあったときに自発性を消し去ろうとする
長期的な成長には、自発性を持った人材を多く抱えること
タイミングを見て、リーダーは道を空けて、メンバーが創造性を発揮して自身の成功をつかめるように支援する必要