【アジャイルサムライ】オススメの読者|−達人開発者への道−
このブログのライバルでもあり、師でもある「アジャイルサムライ- 達人開発者への道」という書籍をご紹介します。
下記は、私がお世話になっていたアジャイルコーチからの言葉です。
「アジャイルサムライ」はスルメのようなものだ。
噛めば噛むほど味が出るから何度も読んだ方が良い。
私はその教えに従って読み進めており、今回は4度目の読破となります。
短期間に連続してではなく、下記のタイミングで読みました。
- アジャイルを初めて知って学び始めた時
- アジャイル研修を受けた後
- XP・リーンスタートアップを実践形式で学んだ後
- アジャイル開発を2年間ほど実践した後
初めて読んだとき、「アジャイル」の雰囲気は伝わって来ましたが、それをどうやって適用するの?という印象でした。知らない言葉、知らない手法ばかりでちんぷんかんぷんです。
2回目はようやく本に書いてあることを、頭と体で理解しました。アジャイルを体験したことと、本の言葉が結びつき、色々なものが繋がっていきました。
3回目では、XP・リーンスタートアップを習った後ということもあり、複数のアジャイルの思想の側面から、立体的に理解することができました。
そして、4回目となる今回は、生の実践経験、セミナー、各種の他の書籍、様々なアジャイル経験者との会話などから、アジャイルの本質が見えて来たところです。そのため、アジャイルサムライの著者が読者に伝えたいこと、そして、自分との考え方の違い(もっとよくできるのではないか?)などが見えてきました。
アジャイルサムライを知らない人、これから読もうとしている人、一度読んだ人、複数回読んだ人に対して、私が4回読んで分かったことをお伝えします。
「アジャイルサムライ−達人開発者への道−」を読む前に
まずは、対象とする読者像は、著者からの「日本の読者の皆さんへ」というページに記載されています。
1. 君は学ぶことが心から好きだ。
2. 君はソフトウェアのことを大切に思っている。
アジャイルサムライ – 日本の読者の皆さんへ
上記に当てはまる方に、より効果のある書籍となっています。もし違うという方は、少しでもそのような気持ちになって読み進めてみてください。
本書は「マスター・センセイ」と呼ばれるサムライが、読者を「熱心な弟子」に見立てて、アジャイル開発の極意を少しコミカルに指南してくださいます。
指南の方針は、アジャイル開発の原則(アジャイル宣言の背後にある原則)に沿ったものとなっており、具体的な実践例と紐づけられているため、より原則を理解しやすくなっています。
※ポイントポイントで原則が引用されています。
そして、著者の経験をもとにアジャイル開発を解説しているものであるため、「スクラム」や「XP」のような明確な方法論について書かれているものではありません。ただ、「スクラム」の一部、「XP」に由来するプラクティスが多く引用されています。強いて言えば、「アジャイルサムライ流」とお考えください。
ただ、アジャイルの本質を丁寧に具体的な事例を交えて語られているため、アジャイルの他の方法論の理解にも必ずや役立つ内容となっています。
さて、みなさん、「アジャイルサムライ」の「サムライ(侍)」って何なの?「ニンジャ(忍者)」じゃだめなの?と思いませんか。私は思いました。由来につきましては監訳者のあとがき書かれています。どうやら、著者は「Agile Warrior」にしようとしていたが、英語圏でも広く流通しているBushido精神の体現者である「Samurai」をアジャイル開発者の象徴として選んだそうです。
ちなみに、「アジャイルサムライ」の定義は下記となっています。
アジャイルサムライ − それはソフトウェアを顧客に届ける猛々しきプロフェッショナルだ。たとえプロジェクトがきわめて過酷な状況であろうと、かつてなく手ごわい期日であろうと、成果をあげる力量を備え、しかも品格と平静さを失うことがないのだ。
アジャイルサムライ – お目にかかれて光栄です
読者には、上記のような「アジャイルサムライ」になって欲しいのです。
みなさん、いかがでしょうか。そのような存在になれそうでしょうか(なりたいでしょうか)。アジャイルが「銀の弾丸」でもなく、ラクでもないことが伝わってきます。本書の良いところのひとつが、アジャイルのキラキラしたイメージの世界だけでなく、厳しい真実を明確に謳っていることです。
アジャイル開発の実践者はプロフェッショナルとして振る舞い、成果を上げるために自己研鑽にいそしみ、品格と平静さが求められるようです。
この流れから、下記の「警告」が謳われています。
− 警告 −
誰もがこの働き方を気に入るわけじゃない
アジャイルサムライ – ざっくりわかるアジャイル開発
経営層や上級幹部には、アジャイル開発は素晴らしいから全員にやらせよう、とする方がいます。
ところが、当然ですが、合わない人もいます。アジャイル開発は「価値を生み出すこと」にフォーカスするため、価値を生み出すことに自信がない人には合わなく、つらいだけです。自分のペースで安定的な仕事をしたい人もいるのです。
このような不都合な真実にも目を向けてアジャイルを推進する必要があります。
さらに秀逸なのが「3つの真実」です。これはアジャイル宣言の「4つの価値」「12個の原則」に加えたいほどです。
1. プロジェクトの開始時点にすべての要求を集めることはできない
2. 集めたところで、要求はどれも必ずといっていいほど変わる
3. やるべきことはいつだって、与えられた時間と資金よりも多い
アジャイルサムライ – 3つの真実
ソフトウェア(システム)開発を経験している方であれば、ほとんどの方が気づいていることです。それでもこの不都合な真実が無視されて計画されることが多いです。
どんなに厳しい条件であったとしても奇跡が起きればうまくいくかも知れません。そのような奇跡にすがってしまうことがよくあります。
無理だと分かっていながら、それに抗うことができない制約があり、仕方なく進めてみるものの、上記のリスクが課題・問題として顕在していき、プロジェクトの成功率がみるみる下がっていきます。
アジャイルは無理なことは無理、できないことはできない、という当たり前のことを受け入れ、前提として進めます。
アジャイルサムライが広めた インセプションデッキ
アジャイルサムライの特徴的なプラクティスの「インセプションデッキ」の構成をご紹介します。これはアジャイルサムライの書籍によって広まっています。
※スクラムやXPなどの方法論に含まれていないものです。
これは、下記の質問に答えることで開発チームの存在意義、進むべき方向を定義することができます。
- 我々はなぜここにいるのか
- エレベーターピッチ
- パッケージデザイン
- やらないことリスト
- プロジェクトコミュニティ
- 技術的な解決策の概要
- 夜も眠れなくなる問題
- 期間を見極める
- トレードオフスライダー
- なにがどれだけ必要か
アジャイルサムライとスクラム
本書で語られている「アジャイル」「アジャイルにやり方」については、著者の経験をもとに「良いと思ったもの」を紹介されています。「スクラムの要素も一部」入っていますが、スクラムではありません。
このあたりが「アジャイル」の難しいですが、アジャイルでは価値観や原則については統一されたものがありますが、それをどのように実践するかは様々な方法論、独自のやり方があります。どれが良いとか悪いとかではありません。
「スクラム」を詳しく知りたい方には下記の記事がおすすめです。
スクラムとは何か?現状を把握するフレームワーク|19個の要素に分解
Core Scrum (コアスクラム) の日本語訳|スクラムガイドとどちらが原典?アジャイル開発で最も普及している手法 l 2014年版
私も超初心者のころはアジャイルとスクラムの区別がうまくできておりませんでしたが、信頼できるスクラムマスターから学び、上記のような記事をアウトプットしながら理解することで、「アジャイルサムライ」で書かれているアジャイルと「スクラム」の違いがわかるようになりました。
「実践」と「学び」はにわとりとたまごですが、「にわとりとたまごを同時」に育てていくのがよいと思います。
アジャイルサムライの評判|守破離の「守」
私のまわりでは「アジャイルサムライ」を知らない人はほぼいません。会社指定のアジャイル研修の「必須書籍」にも指定されています。
「サムライ」ってなにもの?とか、「マスター・センセイ」の独特な日本語の言い回しから、「ちょっとおかしな本」という見方もされています。
これまで「ウォーターフォール開発」しかやったことがない人からすると、「アジャイル開発」の世界は遠く、とっつきにくいです。そのような方にはこれぐらい「少しおかしい」ぐらいが読みやすいかもしれません。
これから「アジャイル」を始めたい人にはとてもオススメです。
「守破離」の「守」だと思って、まずは信じて実践を試してみるとよいと思います。体と手と頭を実際に動かして、アウトプットを出していくことで、だんだんと分かってきます。
その上で、やっぱりここはおかしい、うまくいかない、もっとこうしたら良いのではないか?というものが「たくさんたくさん」出てきます。それは「学び」が進んでいる良い兆候です。
アジャイルサムライの目次
- ざっくりわかるアジャイル開発
- アジャイルチームのご紹介
- みんなをバスに乗せる
- 全体像を捉える
- 具現化させる
- ユーザーストーリーを集める
- 見積り:当てずっぽうの奥義
- アジャイルな計画づくり:現実と向き合う
- イテレーションの運営:実現させる
- アジャイルな意思疎通の作戦
- 現場の状況を目に見えるようにする
- ユニットテスト:動くことがわかる
- リファクタリング:技術的負債の返済
- テスト駆動開発
- 継続的インテグレーション:リリースに備える
心の準備ができましたら「アジャイルサムライ」を読んでみましょう。
※Amazonの評価などもご参考にしていただければと思います。