プログラマでありたい

おっさんになっても、プログラマでありつづけたい

アジャイル開発の第一歩 アジャイルプラクティス

 仕事柄、アジャイル開発については、割と良く本を読んでいますし、実プロジェクトについても導入可能な部分については積極的に導入しています。が、不思議と読んでいなかった「アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣」を、今日読みました。結果論から言うと、最初にこの本に出会っていれば随分と効率が良かったかなぁと思います。(現時点で読むと、何を今更当たり前じゃないかと思う内容が多いです。)
 この本の良い点は、チーム作り、設計、開発、テスト、デバッグと各フェーズごとにアジャイルな開発の導入方法を解説してくれることです。全てを一度に取り入れることは難しいですが、部分部分のプラクティスを導入していくだけでも随分と効果があがるでしょう。何故そうすべきなのかということを、丁寧に説明しているので採用すべきかどうかということに検討し易くなっています。また、アジャイル開発に一番大事なのは、個々のプラクティスではなく文化を作るということにあると思います。その為の方法を繰り返し説明しているところがグッドです。


ちなみに、私が実践しているプラクティスとしては、以下の通りです。
・ユニットテスト
・コードレビュー
・ビルド、デプロイの自動化
・ソリューションログをつける
・朝会

 本を読んでいるうちに改善すべきところが色々見えてきました。開発のリズムのくだりについては、何も考えていなかったのでなるほどと思いました。時をおいて、また読み返したい一冊ですね。


アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣
Venkat Subramaniam Andy Hunt
オーム社
売り上げランキング: 82197

主要目次
第1章 アジャイルソフトウェア開発
第2章 アジャイルの初心
第3章 アジャイルさを育む
第4章 ユーザが求めるものを提供する
第5章 アジャイルなフィードバック
第6章 アジャイルなコーディング
第7章 アジャイルなデバッグ
第8章 アジャイルなコラボレーション
第9章 終章:アジャイルへ踏み出す
付録A 参考資料
PAGE TOP

詳細目次
“Practices of an Agile Developer”読者の声

第1章 アジャイルソフトウェア開発

第2章 アジャイルの初心
> 1 成果をあげるのが仕事
> 2 応急処置は泥沼を招く
> 3 人ではなくアイデアを批判する
> 4 機雷がなんだ! 全速前進!

第3章 アジャイルさを育む
> 5 変化に付いていく
> 6 チームに投資する
> 7 時が来たら習慣を捨てる
> 8 わかるまで質問する
> 9 リズムに乗る

第4章 ユーザが求めるものを提供する
> 10 顧客に決断してもらう
> 11 設計は指針であって、指図ではない
> 12 テクノロジの採用根拠を明確にする
> 13 いつでもリリースできるようにしておく
> 14 はやめに統合、こまめに統合
> 15 早いうちにデプロイを自動化する
> 16 頻繁なデモでフィードバックを得る
> 17 短いイテレーションでインクリメンタルにリリースする
> 18 定額契約は守れない約束

第5章 アジャイルなフィードバック
> 19 天使を味方につける
> 20 作る前から使う
> 21 違いがあれば結果も変わる
> 22 受け入れテストを自動化する
> 23 ありのままの進捗を計測する
> 24 ユーザの声に耳を傾ける

第6章 アジャイルなコーディング
> 25 意図を明確に表現するコードを書く
> 26 コードで伝える
> 27 トレードオフを積極的に考慮する
> 28 インクリメンタルにコードを書く
> 29 シンプルにすること
> 30 凝集度の高いコードを書く
> 31 “Tell, Don’t Ask” ――― 求めるな、命じよ
> 32 取り決めを守ってコードを置き換える

第7章 アジャイルなデバッグ
> 33 ソリューションログをつける
> 34 警告をエラーとみなす
> 35 問題を切り分けて攻める
> 36 あらゆる例外を報告する
> 37 役に立つエラーメッセージを提供する

第8章 アジャイルなコラボレーション
> 38 定常的に顔をあわせる
> 39 アーキテクトもコードを書くべき
> 40 共同所有を実践する
> 41 メンターになる
> 42 答えを見つけられるように力を貸す
> 43 コードの共有には段取りがある
> 44 コードをレビューする
> 45 みんなに知らせる

第9章 終章:アジャイルへ踏み出す
9.1 たったひとつの新しいプラクティス
9.2 窮地のプロジェクトを救う
9.3 アジャイルの導入:マネージャ向けガイド
9.4 アジャイルの導入:プログラマ向けガイド
9.5 これで終わり?