アジャイルサムライ−達人開発者への道−

オーム社 様に献本いただきました。ありがとうございます。

私は、実際にアジャイルな開発プロジェクトに参加したことがなく、一種の憧れのようなものを抱いていました。本書は、私のようなアジャイル開発って何か凄そうだけど、具体的にはよく分からないという人にとって、とても分かりやすく「アジャイルって何なのさ?」という質問に対する答えになる本だと私は思います。

私が本書を読んで得た答えは、アジャイルって文化なんだと強く感じました。それは他の人にとっては違う答えになるかもしれませんが、そんなことにあまり大きな意味はないということが本書を読むことでよく分かると思います。気になる方は、どうぞ本書を読んでみてください (^ ^;;

期待マネジメント

漫画とかに「戦場は生き物だ」のような台詞がよく出てくる気がします。それは開発プロジェクトも同じようなものだと私は考えています。ただ指示された通りに作業を行い、求められた品質基準を満たし、予定された期日に納めれば良いのですが、実際にはきれいに描かれたプロジェクト管理表のように成功する開発プロジェクトはほとんどないでしょう。

人間が関わる以上、そこに感情的な動きがあって、信頼関係や誤解があり、人間的な成長もあり、利害関係の対立も起こる。

本書では「期待をマネジメントする」という表現がよく出てきますが、私はその言葉をとても気に入っています。機能は満たしたけど使い勝手が悪い、最低限の機能しかなくて何かしょぼいなぁ、開発プロジェクトの中でそう思うことがよくあります。

要件は満たしていると主張する人もいるでしょうし、使いやすいものに改善しようと提案する人もいるでしょう。それは個人の気付き力や想像力に依るものではありますが、もう少し分かりやすい形で「期待」という言葉で明確にしてお互いの認識をあわせていこうとする心の動きを表すうまい表現だなと私は思いました。

インセプションデッキ

インセプションデッキ *1 という、プロジェクトを始める前にプロジェクトの関係者全員に向けて行う10個の手ごわい質問が紹介されています。インセプションデッキというツール (質問) により、顧客も含めた関係者全員の認識を一致させることで、プロジェクトの方針やゴールを明確にしようという意図があります。

質問の内容そのものは、難しいことでも何でもありません。むしろ、当たり前のことではありますが、プロジェクトを始める前に確認しておくべき内容を10個の質問に絞り込めているということそのものが、著者の数多くの開発経験によるノウハウの集大成だと思います。

インセプションデッキという言葉そのものが、アジャイル界隈でも新しめの用語のようです。

リファクタリングの考え方

本書の内容として特筆することではないと思いますが、私が誤解していた内容だったので紹介します。本書では、リファクタリングはどんどんやって、継続することが重要だと書かれています。これまで私は、何か要件や仕様の変更があり、現状の設計がそれにあわない場合にリファクタリングしたり、即席で書いた練られていないコードを余裕のあるときにリファクタリングしていました。

本書は、プロジェクトの最初から「継続して」「少しずつ」リファクタリングに取り組むべきだと言っています。リファクタリングの工数を日々の開発の中に取り組むことで、リファクタリングによる進捗の遅れという考え方そのものをなくすという狙いもあります。つまりプロジェクトの終盤にリファクタリングする余裕がないという状況そのものをなくしてしまうということです。

また、私のように、何かあったらとか、後でまとめてリファクタリングしようという考え方だと、開発期間中に何も機能追加されない時期が発生してしまい、リファクタリングに汚名が着せられるケースがあるとコラムでも紹介されています。

本書を読んで、私は日々リファクタリングするようになりました。小さなコードに対して考えるきっかけが増えたことにより、頭の中に残っているせいか、数日経ってからもっと良いコードを思いついたりするようになりました。

プロジェクトの最初から「継続して」「少しずつ」リファクタリングする。これは良さそうです。

アジャイルサムライ読書会

本書の読書会も活発に行われているようです。たくさんの人たちと議論する中でアジャイル開発の理解度が格段に高くなると思います。ぜひ参加されてみてはいかがでしょうか。

アジャイルサムライの読書会(渋谷道場)をします #agilesamurai | Act as Professional - hiroki.jp

翻訳レビューへの参加

【急募】"The Agile Samurai"の翻訳レビュワーを募集します - 角谷HTML化計画(2011-04-26) の呼びかけに応募して、私もレビューアの1人に加えてもらいました。以前にアジャイルプラクティス *2 を読んでいたので、翻訳が素晴らしいのは分かっていたけれど、レビュー向けの原稿も私が想像した以上に日本語として分かりやすいように工夫され、練られた翻訳だと私は思いました。私のレビューの貢献は微々たるものなので、レビューアの1人と名乗るのもおこがましいですが、そのときの体験談を少し紹介したいと思います。

約20名のレビューア陣による容赦ないレビューがメールで送られます。原文と読み比べてより正確な文意を指摘するレビューアもいれば、日本語の係り受けを詳細に指摘するレビューアもいます。毎日何通ものメールが送られて、毎日原稿を更新してビルドされ、毎日必ずレビューアが指摘した内容に対して返信する角谷さん (@) 。

私は、今回のレビューに参加している期間中、ずっとこう感じていました。オンラインのやり取りのみだけど、何だか信頼感があるな。参加している他のレビューアも楽しんでやってそうだな。そして、きっと本書は良い本になるだろうな。

!?

そっか。アジャイルってきっとこういう文化なんだな。やってて嫌にならない、プロジェクトの方向性に意志があり、きっとこんなものが出来るんだろうと想像できる。その期待感が楽しみになり、自分も何かしら貢献しようと思えてくる。そういう雰囲気作り、チーム作りがアジャイルの最初の取っ掛かりではないかと私は思いました。

また、日常の生活の中で、他人の翻訳を原文とあわせて読む機会は少ないです。翻訳のレビューをやってみると、自分だったらこう訳すけど、この翻訳もすてきだな、この文章はこんな風に訳せるのかと、私自身にとって参考になりました。実際、私はレビューアなのに原文の翻訳内容に感心することの方が多かったです。

楽しい翻訳レビューに参加させてもらってありがとうございました。

*1:[Agile]インセプションデッキ日本語版 | Ryuzee.com

*2:

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣