この記事は 「ひとりでアジャイルo0h② Advent Calendar 2021」のday-21です。 adventar.org
day-21は「アート・オブ・アジャイル デベロップメント ―組織を成功に導くエクストリームプログラミング」です。
どんな本
「アート・オブ〜」シリーズは須らく名著が多いですが、これもその内野1冊・・・
タイトルには「アジャイルデベロップメント」とありますが、本書は数あるアジャイルの手法のうちエクストリーム・プログラミング(XP)に手法を当てており、XPのプラクティスについての包括的な解説書になっています。
『アート・オブ・アジャイル・デベロップメント P ix』
と、監訳者まえがきにて説明されています。
ただし、例えば「アジャイルには興味あるけど今のチームがスクラムだから、XPはちょっと」みたいな話があったとしても、両者には通ずるところも多いので「スクラムの人」にとっても読んで見る価値は非常にあると思います。
むしろ、「フレームワーク」性が高いスクラムよりも、「価値・原則に対してシンプルに解放を提供している」というXPのプラクティス群は、寧ろ本質を感じ取りやすいのかも知れません。
お気に入りポイントかいつまみ
体系的・網羅的なプラクティスの説明
(体系的とは?っていうのが少し本書の目指しているニュアンスともズレるかも知れませんが)
先に紹介している、「エクストリーム・プログラミング(XP、XP入門)」「エクストリーム・プログラミング 導入編」よりも、プラクティスを広く扱っています。
それと同時に、オリジナルのXPにないプラクティスを追加したり、あるいはあるものを削ってみたり。
そうやって「体系・網羅性」の面での完成度、説得力を高めています。
とりわけ「特徴的だな」と思ったのは「XP 第1版」「XP 第2版」「スクラム」と並べて「本書で扱っているプラクティス」の相互的な有無・対応をまとめている表でした。
それぞれのフレームの中に存在するプラクティスや、近接する・別の名前が付いているプラクティスの対応表が作成されています。
そして、このような表を見ながら改めて考えてみると、「XPもスクラムも、(時系列的にはそうじゃないが)根は一緒。『どうアジャイルさを獲得するか』という部分から、それぞれのアプローチを取っているだけで、本質的に望んでいるものや描いているものは変わらないんだな?」という気持ちになりました。
どういうのがアジャイルなんだっけ、というヒントになりそう
XPの本をいくつか読んでいると、それぞれのプラクティスが不思議と「当たり前にやれているべきこと」のように感じられてきました・・・。
タイムボックスを決めて、イテレーションを重視して、ペアプロを含めコミュニケーションを重視して、わかりやすい言葉でストーリーを書いて価値をみんなで考えられるようにする。
もちろん、「言うは易し行うは難し」です。
じゃあ実際にやってみようぜ!というと、価値→原則から踏み込んだプラクティスの話も当然ながら必要になってきます。
その点、この本は十分なボリュームでXPを語っていることもあり、プラクティス側面の話も「不足なし」といった感じです。
なので「じゃあ今の職場で○○プラクティスを導入するとしたら、どんな感じになっていくんだろう?」と、自身の身に置き換えて考えやすいような気がしました。
(もちろん、かといって原則以上のレイヤーの話が蔑ろにされているか?というと、そんなことはなく!)
XPを(フレームワークではなく)パターン・ランゲージとして見た時に、「少しずつ、成功の匂いがするところから始めて見る」というのはアリなんだと思います。
パート2「XPを実践する」の章立ては、「考えること」「リリースすること」「計画すること」「開発すること」と、アクティビティ別に分類されています。
これを見ながら、いま困っている所・弱い所を当てはめて考えながらその時々に読み返してみる〜なんて使い方も可能だろうな、と思いました。
まとめ
XPないしアジャイルソフトウェア開発の本ではありますが、「開発を良くしたいな」と考える開発者やチームリーダーにとっては目を通してみる価値のある1冊だと感じます。
もし「XPについて知りたい」ということであれば、まずはXP入門(白本)を読んで、そこから「導入編」に進むか本書に進むか?くらいの位置にあると思います。(「導入編」の方がプラクティスに寄っている印象)
XP全体的な話題を取り扱っており、それぞれについて言葉足らずにならないように説明をしている・・ということで、全体のボリュームはやや多めになるのかも知れません。
ただ、全体的に文章が平易であるのと展開も拙速すぎず、内容も理論的なものと具体性を適度に織り交ぜていることから、読後感としては「重かったなー疲れたなー!」といった感じはしませんでした。