Magnolia Tech

いつもコードのことばかり考えている人のために。

『エクストリームプログラミング』...僕らはいったいどういう「価値観の変えかた」をすればいいのかと考えるきっかけになる一冊

そういえば読んでいなかった。

XPは、私自身のソフトウェア開発の実践のなかで人間性と生産性を調和させ、その調和を共有しようとする試みである。自分や他人に思いやりのある接し方をすれば、生産性が高まることがわかってきた。成功の鍵は、個人の努力ではなく、「人と人」のビジネスに自分が携わっていることを受け入れることである。

本書で、冒頭のこの言葉が一番が刺さり、かつ「どうすればこれを理解、啓蒙することができるのだろうか」とずっと考えている。

ソフトウェア開発/運用、という物理的な制約が(比較的)少ない領域において、従来の物理的な制約の強い製造業の考え方を起点においたマネジメントスタイルから何らかの変化点が有るのは当然のことと言えるが、じゃあ果たして上記のことを、例えば石油プラントを開発する人たちが言わない、実践していないか、といえば、それはきっと違っててきっと同じことを言っているのではないか。

ソフトウェアに限らず、プロジェクトに参加している多種多様な人たちの価値観を擦り合わせ、ゴールに到達するための道筋を、取り巻く環境の変化に合わせてやっていくのはどんな業界・業種でも変わらないのではないか。

続くページに書かれている、以下のメッセージについて、

  • XPとは、効果のない技術的/社会的な古い慣習を捨て、効果のある新しい習慣を選ぶことである。
  • XPとは、自分が今日やるべきことを十分に理解することである。
  • XPとは、明日をよりよくしようとすることである。
  • XPとは、チームのゴールに貢献した自分を評価することである。
  • XPとは、ソフトウェア開発で人間としての要求を満たすことである。

最後以外は、ソフトウェア開発以外の世界でも当てはまるのではないか。「古い慣習を捨てる必要はありません」と言うリーダーはいない(実践できているかは別として)し、「今日やるべきことを理解しなくていい」と言う人もいない。

当然ソフトウェア開発の特性、”ユニットテストにより、より小さい単位で確からしさを確認できる”、”継続的なリリースにより、より小さい単位で方向転換ができる”などがもたらす価値観は従来の仕事の進め方とは違うかもしれないし、それらがより上記のことを「やりやすく」する側面があるのも間違いない。

ゴールは変わらないけど、そのプロジェクトの主要な特性から、そのゴールを実現するための方法論が違うだけ、と捉えるとスッキリすると思っている。


ウォーターフォール的なプロジェクトの進め方は、”フィードバックに基づく計画の見直しの累積は、回復不可能なロスを生み、計画の進捗に大きなマイナスの影響を与える”という前提に立っている。そのため、各階層にバッファを積むし、計画に対する遅れに敏感になる。

つまり、これ

そして、こうなる。

アジャイルの方法論は、突き詰めていけば、この事象を解決するために有ると自分は理解している。フィードバックが正しく行われ、正しい方向にプロジェクトが向かうように、すべての階層の人の価値観を尊重したプロセスや評価方法が必要になってくる。


本書の内容に戻ると、まずは「6章プラクティス」や「7章主要プラクティス」あたりから読み始めると良い。ただ、そこでいきなりそれを適用するというより、他の章に立ち返って、「そのプラクティスをもたらす背景・価値観」を理解した上で導入しないと、よくある「外形だけをなぞったアジャイル」となってしまう。達成したい価値観は何だろう?と考えながら読まないとミスリードが起きてしまう。

というわけで、この本は「ソフトウェア開発における価値観を変えたい人」におすすめです。読みやすく、170ページくらいしかないので、半日もあれば読めると思います。