見出し画像

【感想】いちばんやさしいアジャイル開発の教本


所感

非常にわかりやすく、丁寧かつ具体的な説明が秀逸。著者の現場での実例も掲載。導入にあたって留意事項やよくある誤解に対する回答も書いてある。これからアジャイルを始める際には避けては通れない点が配慮されているのは、現場での経験豊富な著者だからこそだろう。

アジャイル導入を語る本にはここまで現場に寄せた本は、この本以外に私は知らない。

導入の際にステークホルダーへの説明や実際どうするんだろうと途方に暮れることが書かれているから、イメージもしやすくハードルを可能な限り下げているように見える。

特に「アジャイル開発は早く安くできる?(Lesson53)」は私も経営層から質問をもらった経験がある。

誰に読んでもらいたいか

すでに組織でアジャイルに取り組んでいるが、なぜアジャイル開発なのか説明できない方。「今ドキでイケてる」からで止まっている方。

開発エンジニアでなぜアジャイルか説明できるが、ビジネス目線が欠けている方。

ウォーターフォール型の開発をしているが、なぜウォーターフォール型の開発なのか説明できない方。

チームのパフォーマンスが出ないと悩んでいる方。(エンジニア、リーダを問わず)

私の現場では、開発エンジニア以外のプロダクト開発に携わる方々にお勧めしたい。

「なぜアジャイル開発なのか」説明できるか?

今でこそ説明は可能になっているが、私が現職に転職しようとしたきっかけの一つが、「アジャイル開発」への憧れだった。

当時は「なぜ」の説明ができる状態ではなかった。「最先端の開発手法」をやってみたいくらいの浅はかな考えだった。

そして、学び、気が付く。

前職の現場もアジャイル開発していた。そして、その前も。

プラクティスのいくつかは取り組まれていた。Kanbanなどが自然と導入され運用されていた。アジャイル開発していると公言していなかったので、当時の私は気づかなかった。

むしろ私は、15年以上の経験のなかで完全なウォーターフォール型の開発を一度も経験していない。何らかの形でアジャイル開発のプラクティスを取り入れて開発していた。

これらの経験からなぜアジャイル開発か(WHY)を説明するには今我々の開発手法や置かれている環境はどのようなものかを理解するところから始まる。その上でアジャイル開発とは何か(WHAT)を理解する必要がありそうだ。WHYから考察を始めるためには事前に様々な知見が必要である。

アジャイル開発が何者か分かっていない状況での憧れだけで、アジャイル開発は始められない。この書籍は助けとなるその1冊目となるだろう。

転職前の私がこの本に出会っていたらどのように思ったのだろうか、とても興味深いが知る由はない

変更容易性

1つの機能が可能な限り独立して存在できるような設計が求められる

設計・実装についていくつか記載されていたが、特に上記の内容は重要だと思った。

オブジェクト指向設計に限らずだがアプリケーションレベルでのコードは下手にDRYし過ぎた実装すると「変更容易性」は失われる。過度な共通化はプロダクト開発を停滞させる要因になりうる。テスト自動化によってある程度は担保できるが、それでも心理的なハードルは高くなる。

文脈によって適度なDRYを保つことで「変化に強い設計」となることを示唆しているように思う。「変化に強い」とは「手を入れるエンジニアに大きな勇気がなくても手を入れられる」であることかもしれない。

特に処理の流れを機械的にDRYにすることは危険だなと改めて思う。設計者が意図しない変更が入る可能性が高い。


この記事が気に入ったらサポートをしてみませんか?