Honmushi blog
【おすすめ読書】エクストリームプログラミング2019/03/05

【おすすめ読書】エクストリームプログラミング

より良いソフトウェア開発のために考えられた「エクストリームプログラミング」という考え方です。

ペアプログラミングやTDDなどがメジャーな例でしょうか。それ以外にもいくつかの手法があり、適した場面で導入していくことで、寄り効率よく快適なソフトウェア開発活動を行うことができます。

少し前の本ですので、すでに導入が進んでおり「エクストリーム」と言うほど突出したものではなくなっています。それでも、まだまだ取り入れられていない現場もあれば、忘れられているような原則もあると思います。 すべてそのまま取り入れればいいわけではないですが、こんなのもあったなあと思い出して、一度検討してみるのはいかがでしょうか。

エクスストリームプログラミング

ざっくりの概念的にはコミュニケーションやフィードバック・柔軟性を重視するような考えです。 そのためにいくつかの仕組みやルールを儲けることで、意識的にそれらを手助けするような形になります。

古い習慣を捨て新しい習慣を取り入れていくことはエネルギーを使いますが、その分の見返りは十分に見込めると思います。基本的には個人で取り組むものではなく、チームやプロジェクト単位で取り組むものなので、より上位の立場からの働きかけが重要になると思います。

この本では価値や原則についての紹介から、実際に現場で行うべきプラクティスにまで触れています。 あまり本が大きくないことと網羅的に紹介しているため、一つ一つの内容は少ないです。 詳細な実行方法や手順・ノウハウは他の書籍を参考にしましょう。 価値原則の部分は変わらないものであり、一番大切な箇所だと思いますのでしっかり読んでおきたいです。現場でプログラムを書いているエンジニアはもちろん、管理しているマネージャや人事の方にも参考になると思います。

これからエンジニアチームを作ろうとか、プロジェクトを立ち上げようという方にもおすすめです。

この本は完全にエンジニアの環境の本です。デザイナーを始めとする他の職種にもこのような原則とかってあるのでしょうか、知りたいです。

チームでの活動

私もペアプログラミングを体験したことがあります。最初はなれるまでに少し緊張感がありますが、慣れてしまえば快適です。発展形としてモブプラグラミングというものもあります。 快適に行うためにはお互いの信頼・尊重であったり、快適なコミュニケーションが大切です。

ペアの2人のレベルが違っていても、互いに得られることがあるのでおもしろい発見もあります。 学校でプログラミングの授業をするのであれば、ペアプログラミングの形式がいいんじゃないかなあと思います。二人ペアで何かやるってちょっと珍しい経験でもありますし、協調性とかも学べると思います。

一見遠回りに見えるもの

エクストリームプラグラミングに出てくる施策は、パット見では遠回りに見えたりリソースを余計に使うのではないか?という感覚もあります。しかし、実際にやってみると、手戻りが減るとか不具合が減るとか仕様の共有が快適とか、さまざま利点に気づくことができメリットが大きいです。やってみないと信じられないような大きな効果があります。結果だけに目が向いてしまいがちですが、その過程にも目を向けるとメリットがわかりやすいと思います。実際に取り組むエンジニアにとっても、これは良い印象だと思います。

概念をしっかり理解した上でエクストリーム・プログラミングに取り組むことで、プログラミングがチームで取り組むことであること、何度も書き直していく必要があること、納品して終わりではなくその後も動き続け運用・改修されていくものであること、などが改めて意識できます。

おわりに

このようなエンジニアの環境を良くしよう、という取り組みは常に現れ続けています。最善のやり方というのは時代や場所によって全然違うものなのでしょうが、それを探し続けようという意志はおもしろいです。

プロダクトを作る・納品することのみに注力するのではなく、より良い作り方を探そうという性格もプログラマ特有の考えなのかなと思います。

成長と変化を続けるプログラマの世界はどこまで広がっていくのか楽しみです。

  • このエントリーをはてなブックマークに追加