nobu blog

プログラミングやゲームの話など。

*



【感想】Clean Agile 基本に立ち戻れ はアジャイルのエッセンスを凝縮した本

   

概要

アジャイル開発における本質を説明した、Clean Agileを読みましたので感想を書こうと思います。

スポンサーリンク

書籍概要

どんな本?

アジャイルとは、小さなことをしている小さなプログラミングチームの小さな問題を扱う小さなアイデアである。アジャイルとは、大きなことをしている大きなプログラミングチームの大きな問題を扱う大きなアイデアではない。
大きなことは大きなチームなんかじゃできない。小さなことをする小さなチームがいくつも集まり、コラボレーションしながら大きなことを成し遂げるのだ。
このことを、我々はあらためて認識する必要がある。

  • Robert C. Martin(著), 角征典, 角谷信太郎(訳)
  • 2020年10月05日 発行
  • 192ページ
  • 定価2,640円(税込)

スポンサーリンク

内容のまとめ

本書はタイトルにもなっている通り、アジャイル開発の基本的な概念に戻って何をすべきなのか?を考える本になっています。
本書の著者は、アジャイル開発の発祥になったとされる、「アジャイルソフトウェア開発宣言」をリリースしたメンバーの1人のRobert C. Martinさん。
昨今のアジャイル開発の流行により、当初考えていたアジャイル開発の本来の考えとの乖離や問題点を挙げた上で、本来のあるべき考えを説明した本となっています。
スクラムなどの具体的な手法に関する説明はありませんが、開発者やプロダクトオーナーなど様々なロールがどうあるべきなのかといった点が書かれています。

スポンサーリンク

各章ごとまとめ

第1章 アジャイル入門

アジャイルとは何なのか?を簡単に説明した章になっています。
ウォーターフォール開発の問題点やアジャイル開発との違いや、著者が「アジャイルソフトウェア開発宣言」を行った背景などが説明されています。
ウォーターフォールの例として挙げられている、分析〜設計フェーズは予定通り終わるのに、実装フェーズで問題や手戻りが多く発生してデスマーチに突入するといった点は万国共通のあるあるネタのようですね。

第2章 アジャイルにする理由

アジャイル開発を採用する理由と、何をもってアジャイル開発が構成されているのかを説明している章です。
顧客やマネージャが期待するアウトプットを得るために、エンジニアが守るべき規律をまとめたフレームワークがアジャイル開発であると説明されています。
そのためにエンジニア、顧客が守るべき権利が「権利章典」としてまとめられています。
その権利を遵守して恩恵を得る事が、アジャイル開発であるということのようです。

第3章 ビジネスプラクティス

アジャイル開発をビジネス的な観点として、成功させるための4つのプラクティスが説明されています。
「計画ゲーム」では、不確定な開発における見積もりの精度を上げるための手法が説明されています。ポイントの見積もりなどはスクラムでもお馴染みの手法ですね。
「小さなリリース」では継続的にソフトを小さくリリースすべきといった継続的デリバリーに関する説明がされています。
構成管理などのツールや自動テストによる継続的な管理が必要なのはアジャイル開発ではお馴染みですね。
「受け入れテスト」では、QA(品質保証)を含めて受け入れテストをどうするべきかといった点が書かれています。
QAが受け入れテストとして後からバグチェックやテストをするのではなく、仕様として予め提示してそれを開発者がパスするようにするのが最適と書かれています。現実問題として難しい取り組みになりそうですが、なるほどと思いました。
「チーム全体」では、プロダクトオーナー含め同じスペースで開発を行うことでコミュニケーションを含め効率化をするといった事が説明されています。昨今のリモートワークの流行もありますが、やっぱりFaceToFaceなのが一番良いよねといった事が書かれていますね。

第4章 チームプラクティス

チームでの開発におけるプラクティスが説明されています。
DDDにおけるユビキタス言語といったような共通的な理解やメタファーを利用するメリットや、スタンドアップミーティングなどアジャイル開発ではよく耳にするプラクティスが簡単に説明されています。

第5章 テクニカルプラクティス

より技術的な観点からのプラクティスが説明されています。
TDD(テスト駆動開発)、リファクタリング、ペアプログラミングといったアジャイル開発でよく耳にする手法に関するメリットや方法などが完結にまとめられています。

第6章 アジャイルになる

アジャイルな開発を実現するための価値基準や重要点を説明しています。
スクラムマスターがマネージャーではなく、コーチングのための存在である点、ツールばかりが優先されるべきではないなど、バッドノウハウ(べからず)を中心に語られています。

第7章 ソフトウェアクラフトマンシップ

アジャイル開発といった言葉が流行し、企業やマネージャーに都合が良いように曲解されてしまった点を嘆き、本来のアジャイル開発の思想を取り戻すために2008年に宣言された、ソフトウェアクラフトマンシップに関する説明がされています。

動くソフトウェアだけでなく、精巧に作られたソフトウェアも
変化への対応だけでなく、着実な価値の付加も
個人との対話だけでなく、専門家のコミュニティも
顧客との協調だけでなく、生産的なパートナーシップも

ビジネス側に都合の良いように改変されてしまった考えを、開発者が主導権を持って本来あるべき姿にするための宣言の説明やそのメリットが説明されています。

スポンサーリンク

感想

ポイント

アジャイルの発祥の歴史が書かれている

前述の通り、著者は「アジャイルソフトウェア開発宣言」を行ったメンバーの1人。
その宣言に至った当時の背景やメンバーとのやり取りが説明されていて興味深く読む事ができます。

読みやすい

本書は192ページと技術書としては薄くて、簡潔にまとまてあり読みやすいので1日で簡単に読み切れます。
ここの説明も完結で理解しやすくまとまっていると思います。

細かい手法等の説明は無い

本書はあくまで、アジャイル開発における本質や目的等にフォーカスしているので具体的な手法を説明した本ではありません。
ある程度アジャイル開発を経験した人が、改めてアジャイル開発の本質を理解するための本になると思います。
アジャイル開発の入門書では無いので注意してください。

スポンサーリンク

まとめ

「アジャイルソフトウェア開発宣言」をリリースしたメンバーによる、本来のあるべきアジャイル開発の考えが説明された本です。
非常にシンプルにわかりやすくまとめられていて、読みやすいです。
アジャイル開発を行っている人が原点を思い出すために、定期的に読み返すと良いのかなと思いました。

 - 技術書, 読書感想