『More Effective Agile』:私のお気に入りなエンジニア向け書籍
2021年05月31日 月曜日
35年かそれ以上にわたってソフトウェア業界に携わってきた中で、一番の難題は、「コード&フィックス開発」を避けることだった。コード&フィックス開発とは、事前の見通しや計画を立てずにコードを書き、そのコードが動くまでデバッグする手法のことである。
(中略)
アジャイル開発には、見るからに短期集中型でコード中心であるために、チームがアジャイル開発のプラクティスを実践しているのか、それともコード&フィックスを行っているのかますます見分けがつかなくなる、という課題がある。壁に付箋紙がベタベタ貼ってあるからといって、チームがその作業に組織的かつ効果的に取り組んでいるとは限らない。――『More Effective Agile ―― “ソフトウェアリーダー”になるための28の道標』
「第4章 より効果的なアジャイルの始まり: スクラム」より
IIJイノベーションインスティテュートの四谷です。普段はサービス開発の自動化に関する研究・開発をしています。私のお気に入りの一冊は、『More Effective Agile ―― “ソフトウェアリーダー”になるための28の道標』です。
More Effective Agile ~ “ソフトウェアリーダー” になるための28の道標
- 著者:Steve McConnell (著)、長沢 智治 (監訳)、クイープ 訳
- 出版社:日経BP
著者は、『Code Complete』などの著作で知られ、かつて『IEEE Software』誌の編集長も務めた、スティーブ・マコネル氏。2020年 (原著は2019年) に出版された本書は、アジャイル開発をより効果的に実践するための極意を、28の基本原則としてまとめたものです。例えば、「テスト技術者を開発チームに統合する」「人ではなく仕組みを修正する」「技術的負債を管理する」等々。本書の冒頭で、「筆者は『うまくいくもの』の提唱者であり、『何の根拠もなく大袈裟な約束をするもの』への反対者である」(「第1章 はじめに」より) と宣言されているように、これらの原則はすべて、著者の豊富な経験に基づくものです。さらに、その裏付けとして、多数の参考文献が根拠として提示されているため、強い説得力があります。
各章末には、その章で解説された原則を実践するための「推奨リーダーシップアクション」が明示されています。アクションはアジャイル開発の成熟度を測る「検査」アクションと、改善のための「適応」アクションに分かれています。チーム作りの方法論を解説している「第17章 より組織的なアジャイル: 組織文化」を例に見てみましょう (一部抜粋)。
- 検査
- 過去数週間または数か月のチームのミスに対するあなたの反応を振り返る。チームはあなたの反応を、間違いを許し、間違いから学ぶ機会を重視するものと受け止めただろうか。あなたの振る舞いは間違いからの学習を体現するものだっただろうか。
- チームメンバーにヒアリングを行い、心理的安全性の度合いを評価してもらう。メンバーは、不安を感じたり、決まりの悪い思いをしたりすることなく、リスクを冒すことができるだろうか。
- ウェストラムのモデルの創造的な組織文化とあなたの組織との間でギャップ分析を行う。
- 適応
- チームとの対話を通じて間違いを許すことを自分自身に約束する。
- 学習と成長を可能にするために持続可能なペースで作業してもらいたいことをチームに伝える。スケジュールの期待値がその妨げになっていないか教えてもらう。
- ウェストラムの「3つの文化のモデル」とのギャップ分析で明らかとなったギャップを埋める計画を立てる。
このような具体的なアクションのリストは、組織の改善を目指すリーダーにとって、極めて有用なのではないでしょうか。
さて、本書の大きな特徴に、アジャイル開発に関する様々なトピックを広範囲にわたってカバーしている点があります。例えば、リーン、カンバン、SAFe、継続的デリバリー、モブプログラミング、オープンフロアオフィス、コンウェイの法則、等々といった、よく目にするキーワードも多数登場します (ただし、すべてが肯定的に紹介されているわけではありません)。特定のプラクティスの教則本ではないので、個々の詳細な解説やチュートリアル等はありませんが、現代的なアジャイル開発の全体像を把握するには十分でしょう。
ちなみに、本書は数あるアジャイルのプラクティスの中でも、スクラムを特に高く評価しています。基本原則の1つにも、「スクラムから始める」とあります。本書全般を通して著者は、スクラムの忠実な実践こそがアジャイル開発の基本と繰り返し主張しており、個人的には強く共感を覚えました。スクラムバット (Scrum-but、スクラムの必要不可欠な要素を省略) やスクラマーフォール (Scrummerfall、スクラムの用語を用いているだけで、実際にはウォーターフォール) といったアンチパターンの紹介もあり、少々耳が痛い思いが……。
本書は主な読者として、アジャイル開発を実践している組織のリーダーを想定しています。もちろん、リーダー以外のメンバーや、アジャイル開発を理解したい技術職以外のビジネスパーソンが読んでも得られるものは大きいでしょう。本書は見た目はコンパクトですが、その中身はエッセンスが凝縮されています。アジャイル開発をするなら、是非手元に置いておきたい実用的な一冊です。