【書評】アジャイル開発マネジメント クイックガイド

アジャイル開発マネジメント クイックガイド [高畠 勇人 著] の書評です。

結論からいうと、これからアジャイル開発に関わるプロジェクト・マネージャーや開発者が短期にアジャイル開発の概要を知ることができる一冊です。

■ 良い点
・ アジャイル開発の要点が簡単にまとまっている
・ アジャイル開発に用いられる各種ツールの概要がわかる
・ プロジェクトのアジャイル的な進め方がわかる
・ 語り口調で読みやすい
・ コンパクトで半日から1日ほどで読める

■ 悪い点
・ 多少、理想論過ぎる
・ マイナーなカタカナ単語の多用
・ 文章に「いく」と「ゆく」が混在

■ 総評
アジャイル開発という抽象的な概念をマネジメントの観点から要点をまとめてコンパクトに解説してくれます。文字や図表、挿絵などが大きめで余白も多いので、読書の負担が少なくスラスラと読むことができます。プログラムコードは一切なく、文系チックな読み物です。

内容的には、技術概要と経営概要がミックスしたものとなっています。アジャイル開発に用いられる各種ツールの紹介がある一方、PDCAサイクルやリーダーシップ論まで述べられています。既にある程度の知識がある人には物足りないかもしれませんが、これからアジャイル開発に関わる人には、短期で概要を知ることができる書籍です。

開発者がプログラミングに疲れたら、本書で、マネジメントという観点で開発を見つめなおしてみるのもいいかもしれません。

アジャイル開発マネジメント クイックガイド

カテゴリー: BOOK, アジャイル開発 | コメントする

【書評】テスト駆動開発 (アジャイルソフトウェア開発技術シリーズ・応用編)

テスト駆動開発 (アジャイルソフトウェア開発技術シリーズ・応用編) [設楽秀輔 著]の書評です。

結論から言うと、テスト駆動開発の初心者でもよく理解できる、コンパクトにまとまったテスト駆動開発に関する書籍です。

■ 良い点
・ コンパクトにまとまっている(約200ページ)
・ TDDの思考の順序がわかりやすい
・ 具体例とコードが上手く示されている
・ コードの省略が少ない
・ 内容の構成がしっかりしている
・ 節が細かく読みやすい

■ 悪い点
・ 特に無し(あえて言えば索引が簡素)

■ 総評
はじめてテスト駆動開発(TDD)に関する書籍を読んでみましたが、本書は、TDDの初学者にもわかりやすいおすすめの一冊です。

最初はTDDの概要が示され、red->green->refactoringと繰り返す手順や、HowではなくWhatの思考が必要なことなどが述べられています。その後の章においては、具体的なコードとストーリーを通してTDDを学べるので理解が深まります。

第2章では、シンプルなTDDが示され、第3章では、複数チームによるTDDが示されています。ページが進むにつれ応用的な内容になりますが、わかりやすく丁寧な説明が続くので、消化不良をおこさずに最後まで読むことが可能です。

前後でコードの変更がある場合でも、削除部分をコメントアウトで残してくれているので、読む負担が少ないのもポイントが高いです。

なお、本書を読む前提としてJavaの基礎知識は必須であり、デザインパターンやリファクタリングの知識があれば、より深く理解できると思います。

テスト駆動開発 (アジャイルソフトウェア開発技術シリーズ・応用編)

カテゴリー: BOOK, Java, テスト駆動開発 | コメントする

【書評】リファクタリング (アジャイルソフトウェア開発技術シリーズ・応用編)

リファクタリング (アジャイルソフトウェア開発技術シリーズ・応用編) [設楽秀輔 著]の書評です。

結論からいうと、マーチン・ファウラーの『リファクタリング』の後に読む副読本としてお勧めの一冊です。

■ 良い点
・ コンパクトに要点がまとまっている
・ 実務的で実際に具体例に沿って解説が進む
・ 文章が読みやすく、図も理解を助ける
・ 具体例のコードが簡易で理解しやすい
・ 内容の構成がよい

■ 悪い点
・ 誤字・脱字が多少ある
・ 説明が不明な点が少しあった

■ 総評

先日、マーチン・ファウラーのリファクタリングを読み終えたので、復習のために、副読本として本書を読んでみました。

本書は、シリーズ本の中の一冊という位置づけですが、本書単独でも十分に活用できます。出版が東京電気大学出版局であり、大学の情報系の学部での使用を念頭においた書籍のようでもあります。

内容的には、「デザインパターン」と「テスト駆動開発」の基礎知識を前提とし、「リファクタリング」をいくつかのデザインパターンに沿って実演するものとなっています。

本書では、template method、facade、adapter の3パターンが主に扱われています。この基礎的な3パターンをテスト及びリファクタリングしながらサンプルコードを改善していきます。

よりよい設計(パターン)を目標として、テスト、リファクタリングと順々に進める、一種のリズムを感じ取れる内容となっています。

本書自体は、190ページほどとコンパクトであり、マーチン・ファウラーのリファクタリングを読んだ後に、簡単におさらいすることができ、理解を深められるお勧めの一冊です。

リファクタリング (アジャイルソフトウェア開発技術シリーズ・応用編)

カテゴリー: BOOK, Java, リファクタリング | コメントする

【書評】新装版 リファクタリング―既存のコードを安全に改善する―

新装版 リファクタリング―既存のコードを安全に改善する― [Martin Fowler著/児玉 公信 他訳]の書評です。

結論から言うと、プログラマーなら読んでおきたい、リファクタリングに関するバイブル的な書籍の一冊です。

■ 良い点
・ 最初の1章でリファクタリングの具体例を簡単かつ詳細に挙げている
・ 悪いコードの特徴が整理されている(コードの不吉な臭い)
・ リファクタリングのカタログが充実している
・ 説明の構成が一貫している
・ 手順がとても詳細である

■ 悪い点
・ 後の解説部分が前に来ることがある
・ コードの例において、フィールドが最初にあったり最後にあったりする
・ if文に{}がない場合が多い
・ 翻訳本のため例や訳に分かりづらいところがある

■ 総評

リファクタリングにおけるバイブル的な書籍であり、プログラミングにおける本においても名著とされている一冊です。約15年ぶりに新装版として出版されたので、早速、読んでみました。

初版本を数年前に読んだときは、オブジェクト指向やデザインパターンについての理解が不十分だったので途中で挫折したのですが、今回は読了することができました。内容も9割以上は理解できたと思います。

つまり、この「リファクタリング」を読むにあたり、オブジェクト指向とデザインパターンの知識は前提として必須となります。また、リファクタリングの手法上、いわゆるテストが重要であるので、ユニットテスト等の知識もあることが望ましいです。

内容的には、最初に第1章で、リファクタリングの例が簡単かつ比較的詳細に述べられます。全体を通してJavaが使われるのですが、この最初の1章が理解できれば、本書の核であるリファクタリングのカタログを読む実力があるはずです。

第3章では、コードの不吉な臭いとして、悪いコードの特徴が22パターン挙げられます。本書の全部が理解できなくてもこの部分だけでも読む価値があります。読めば、どういったコードが悪いものなのかが理解できます。

第5章から第12章までが本書の核であり、各リファクタリングの手法の解説となります。リファクタリングの「名前、要約、手順、例」と構成の一貫した解説が順々に続きます。ここでは、各リファクタリングがどの「コードの不吉な臭い」に効果的なのかを確認しながら読むのがいいと思います。なお、全部で72のリファクタリングの手法があり、各手法はコンパクトながらも、全体的にはボリューム満載です。

本書を読了すれば、早速、コードの改善に取り掛かりたくなること間違いなしです。

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

カテゴリー: BOOK, Java, リファクタリング | コメントする

【書評】PHPによるデザインパターン入門

PHPによるデザインパターン入門 [下岡 秀幸 著]の書評です。

結論から言うと、PHPを用いて、デザインパターンを詳しく丁寧に解説した貴重な一冊。

■ 良い点
・ GoFの23パターンをすべて詳細に解説
・ PHP用にサンプルがカスタマイズされている
・ UMLに対応
・ PHP5.2に対応している
・ 構成が一貫している
・ オブジェクト指向プログラミング力が向上する

■ 悪い点
・ 誤字が多い

■ 総評

PHP言語でデザインパターンを解説している貴重な一冊です。Javaによるデザインパターン本は比較的多いのですが、PHPではこの本くらいしか見当たりません。

出版年は2006年と古いものの、PHP5.2には対応しており、内容的にそれほど古さを感じさせないものとなっています。そのため、現在でも、十分通用すると思います。

内容的には、GoFの23パターンすべてを詳細に解説しており、本書を一通り読めば、デザインパターンの理解が深まります。また、サンプルコードを通して学習することで、オブジェクト指向プログラミングそのものの理解も深まります。OOPに興味が有るPHPerなら是非とも読んでおきたい書籍です。UMLの簡易説明もあるので、無理なく学習できると思います。

個人的には、結城本では理解できなかったインタープリター・パターンを理解できたのが良かったです。

もっとも、完全なオブジェクト指向言語であるJavaによるデザインパターンとは異なり、若干、PHPならではの修正がある部分もあります。PHPでは、型がゆるいので仕方ないのですが。

本書の難点を一つだけ言うならば、誤字が多いことです。ところどころで間違いがあります。文脈から誤りは分かるので、自分で修正しながら読めばいいのですが、この点はやはりマイナスポイントです。

PHPによるデザインパターン入門

カテゴリー: BOOK, PHP, デザインパターン | コメントする