この記事は
何であり
「アート・オブ・アジャイル デベロップメント ―組織を成功に導くエクストリームプログラミング」を読んだ私の感想を書き残すためのものです。
http://amazon.co.jp/dp/4873113954
何でないか
あくまで個人の見解、感想であり、批評、レビューの類ではないです。
個人が印象に残った箇所を備忘録的に書き残しておくものであり、本の内容を網羅するものでもありません。
また、アジャイル開発、エクストリーム・プログラミングそのものについての説明は部分的なものに留まることをご留意ください。
私は
- ソフトウェアエンジニア(かれこれ5年目)
- 現在はXPベースの開発手法でチーム開発を進める
- 体系的なアジャイル開発のインプットはずいぶん前に読んだ「アジャイルサムライ」以来
- アジャイル開発の中でもふりかえりにフォーカスした本(「アジャイル・レトロスペクティブズ」)や見積もりにフォーカスした本(「アジャイルな見積もりと計画づくり」、通称「アジャみつ」*2)は通して読んでいる
以下、印象に残った箇所とその理由、簡単な感想をいくつか書き残しておきます。
印象に残った箇所
アジャイル開発は、個人的な成功、技術的な成功、そして組織的な成功を同時に達成することを重視している(1.4)
なぜ?
- 個人的な成功が含まれると思っていなかった
もう少し考えてみる
- 従来のソフトウェア開発では3つのうちどれかしか重視/達成できていなかった背景がある?
- 自分がソフトウェア開発に関わり始めたタイミング以後(2016)でも全てを重視/達成しているプロジェクトばかりとは言いがたかった
- 全てを重視/達成するプロジェクトとそうでないものは何が違うのか?
- 一つの要因が持続可能性
オンサイト顧客の役割(3.2.2)
- オンサイト顧客には、チームが構築するソフトウェアを定義する責任がある。(中略)プロジェクトのビジョンをみんなに熱く語らなければならない。(中略)プログラマと調整して計画ゲームを進めることによって、達成可能な計画を作成する。(3.2.2)
なぜ?
- 言葉からは「システムのエンドユーザー」であったり「そのシステム導入の意思決定を行う決裁権者」のようなイメージをうける
- でもそれは部分的にしか合っていない(間違っているわけじゃない!)
- XPにおいては、顧客はプロジェクトのビジョンを語り、計画ゲームを進めて達成可能な計画を作る
もう少し考えてみる
- リモートワークする中でオンサイト顧客とどのような接点を持つべきか?
「最終責任時点(3.3.4)」
- 決定をギリギリの時点まで遅らせることにより、決定の精度を上げ、作業負荷を軽減し、変更の影響を減らすことができる -「決定を下し損ねると、重要な代替案がなくなる時点」で決断する
なぜ?
- 遅らせることができるタイミングまでコミットメントを持った決定を遅らせる。結果的にそれまでに情報を集めたり、仮説を検証したり、より精度の高い結論にたどり着けるはず