「アジャイルプラクティス」

この記事は 「ひとりでアジャイルo0h② Advent Calendar 2021」のday-2です。 adventar.org

day-2は「アジャイルラクティス」です。

どんな本

個人的に「翻訳者の中に角谷さんの名前がある」という時点でもう信頼できる・・・という感じはあったりします。

「監訳者あとがき」によれば、 "アジャイルな開発者になるために身につけるべき習慣を、45のプラクティスとして取り上げ”たものです。
(”名詞的な「アジャイル開発者」ではなく、agileが形容詞であることに注目すべきだ”ということも、同じく監訳者あとがきで述べられています。いわく"「開発者がアジャイルである」という状態はあっても「アジャイル開発」というものはありません”。この本で扱っている「(アジャイルな開発者になるための)プラクティス」というのは、「書いてあるとおりに真似すればアジャイルをやれる!」というものではなく、「アジャイルな開発者が持つメンタリティ、マインド、それを行動に移すためのプラクティス」といった感じがあります。つまり、「ノウハウ集」よりも「精神性」を重視しているような、そんな印象を読んでいて持ちました)

ただし、たしかに「アジャイルなプラクティス」でありはするものの、「アジャイルを標榜してやっていく(やっていきたい)人たち)」よりももっと多くの人に共有されるべき価値観もふんだんに盛り込まれているように感じました。
平たく言えば、「うちはアジャイルな感じでやっていないし」って人たちにも読んでほしいし、実践してほしい・・と思うようなことが沢山。そもそも「アジャイルかどうか」って白黒つけて語るべきものでもないと思うけど。・・とりわけ、第2章は凄い色々な人に読んでほしいなー・・という感情を強く掻き立てられました。

お気に入りポイントかいつまみ

ユーモアがあり、かつ実際的な構成・「天使の声、悪魔の声、バランス」

パターン・ランゲージのような「problem/context/force」という形こそとらないものの、本書は「複数の事柄を、カタログ的に、同様のフォーマットで記述する」という本です。
で、その項目立てがとてもおもしろいなーと感じました。

各プラクティスの冒頭には「悪魔の声」が差し込まれています。
例えば、「34. 警告をエラーとみなす」で悪魔は「深刻なエラーならコンパイルが通らないんだし、そうじゃない警告なんて無視しちゃえよ!」のような事を述べています。
で、悪魔の声を見た後に、何が問題で・どうすべき(あるべき)か?を解説する本文。悪魔の声があることで、自分の中の(美徳でない)怠惰に思い当たったり、あるいは他人事のような気持ちで「まさかそんな!」とでも思いながら本文に入れるわけです。(で、やっぱり自分に重ね合わせて反省したりする)

その後には「天使の声」が差し込まれます。
悪魔の声と真逆の、「アジャイルな開発者が従うべき心の声」が天使の声です。本文の結論部分を簡潔にしたもの、とも取れるかも知れません。
実際に、巻末に「天使の助言の一覧」があったりします。これを印刷して壁に貼っておきたい・・・

で、ここまでで終われば、ある種の説教臭い「正論」で終わってしまうかも知れません。
そこから踏み込ませるために「こんな気分」と「バランスが肝心」の項目が続きます。

「こんな気分」とは、「プラクティスを実践した時に、そうなるであろう感情」を書いたものだと説明されています。理想的な状態が実現できた時に、何が得られるか?みたいなものですね。
例えば、「13. いつでもリリースできるようにしておく」の「こんな気分」では、「いつ誰が職場にやってきたとしても、プロジェクトの最新版のビルドを躊躇すること無く、胸を張って披露できる」と書かれています。もし、今の自分の業務が「急にQAや上司が来ても、ビルドしてどなっているかを見せるなんて出来ない・・怖いぞ・・・」と感じられるのであれば、それは「このプラクティスをちゃんと実践できている状態に至っていない」と判断できるわけです。

そして、「バランスが肝心」です!
本書のプラクティスの多くはXPに源流があるような感じがします。「エクストリーム」にやろう、という中で「ツールやプロセスより対話を」大事にするのであれば、まぁバランスだって大事だよね??ということを思い出させてくれます。
では、どんなバランスをとればいいのか・・?については、「何を果たしたいんだっけ」と目的に立ち返り、現実的な価値を上げることが最優先指令なのだと思います。そんな事を思い出させてくれる、もしくは読者を(教条的すぎずに)建設的な思考に戻らせてくれるのが「バランスが肝心」の項だなーと感じます。

って言うわけで、「良いプラクティス」を述べつつも、読者の中で何が起きるか?についてのケアもしてくれるような本なのです。

マインドから、個人のプラクティスから組織のプラクティスまで幅広く

アジャイル」はひとりひとりの心のあり方を無視できないとは思うのですが、実際に総実践していくにはチームやチーム外の関係者との協働だったり関わり方も無視できません。
その辺りも、しっかりと抑えにいっています。

マインドであれば「応急処置は泥沼を招く」や「わかるまで質問する」といった話が取り上げられていますし、個人的な技法については「コードで伝える」「Tell,Don't Ask」の話だったり、チームプラクティスは「技術の採用根拠を明確にする」「共同所有を実践する」、チームを超えたコラボレーションについて「顧客に決断してもらう」「みんなに知らせる」などがあります。

こうした幅広く話題を扱っている世界観は、過度な集中を回避して自身の視座を適度に保つのに良いなぁ〜と感じました。

まとめ

ボリュームも少なく、ユーモアもありつつテンポもよく、面白い本でした!
個人の心持ちがなくては始まらない話ですが、こういったものをチームで共有できる語彙として持っておけるととても強力なのでは?とも感じます。ので、個人だけでなくチーム内で共同読書するのもオススメと言えそうな本。

やはり、「アジャイルラクティス」とかって色眼鏡をかけずとも「共感できる、刺さる」「個別に取り込みやすい」ような話もとても多いと思うので、その点では「アジャイル系の人」だけが読むのは勿体ないんだろうなぁ・・とも。

「4. 機雷がなんだ!前進全速!」は「気付いたことや感じていることを、誠実さと勇気を持って表明しましょう」という話なのだけど、この章の「バランスが肝心」には「自分の意見が賛同を得られない時は、彼らの意見が正しいかも知れないと考えてみましょう」とか「勇気を持って表明した結果、バックグラウンドを共有しない人からの反発にあうかも知れない。その場愛には、意思決定者にも理解できる言葉で説明しよう」とか書いてあるわけです。「勇気・尊重」などは、確かに「XPの価値観」とも見なすことが出来るのですが、この辺りの話は「一緒に開発をしている人にはみんな心に刻んでおいてほしいな〜」などと感じたり。

そういった「もっと広くの人に知ってもらいたいな!!」と感じる部分が、多々ありました。(そもそも、アジャイル/XP自体が「部分的にでも知っておいてほしい」というものが多いせいではありますが。)

読後の感想として、副題にある「達人プログラマに学ぶ現場開発者の習慣」っていう方に注目して、どんな内容の本なのかを期待してくれ!!って感じです。
アジャイルな開発者」を標榜する以前に「達人プログラマ」に近づきたいな?って動機でも、十分に読むに能う1冊だな〜と思いました!