【資料公開】レガシーコードからの脱却
みなさんこんにちは。@ryuzeeです。
2019年10月4日に行われたAWS DevDayの「レガシーコードからの脱却」のセッション資料を公開します。
内容は、9月に発売になった同名書籍『レガシーコードからの脱却』の全体像と一部のプラクティスの紹介という形になっています。 時間の関係で紹介できたのはごく一部の内容になっていますので、スライドを見て内容に興味をお持ち頂いた方はぜひ書籍をお読み頂ければと思います。 なお、現在Amazonの在庫が高額な値付けの転売商品?だけになってしまっているので、オライリーの直販か電子書籍(PDF、epub)をご利用ください。
45分という短い時間の中で何をお話するかは結構迷いました。
本書はレガシーコードを「どうやって直すか」ではなく「どうやって作らないようにするか」に軸足を置いていて、そのためのプラクティスとして以下の9つを提唱しています。
- やり方より先に目的、理由、誰のためかを伝える
- 小さなバッチで作る
- 継続的に統合する
- 協力しあう
- CLEANコードを作る
- まずテストを書く
- テストでふるまいを例示する
- 設計は最後に行う
- レガシーコードをリファクタリングする
どれも重要であることは間違いないのですが、今回は「やり方より先に目的、理由、誰のためかを伝える」、「小さなバッチで作る」、「CLEANコードを作る」を選択しました(「設計は最後に行う」は資料には追加しています)。 コードやテストといった技術的な領域だけにフォーカスしなかったのは、そもそも全体としての開発の枠組みを見直すことなく、単にコードの書き方だけを変えても、本当の意味で価値あるコード(使われるコード)にはならないだろうと考えたためです。
これは、すなわち**「レガシーコードを作らない」ようにするには開発チームの自律的な取り組みだけでは実現が難しく、プロダクトオーナーやビジネス側の理解が必要なことを意味します**。 ぜひ開発チームの中だけでなく、プロダクトオーナーやビジネス側の人たちと「レガシーコードを作らない」ことについての議論をしてみることをお勧めします。
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス
- 著者/訳者:David Scott Bernstein、吉羽 龍太郎、永瀬 美穂、原田 騎郎、有野 雅士
- 出版社:オライリージャパン
- 発売日:2019-09-18
- 単行本(ソフトカバー):300ページ
- ISBN-13:9784873118864
- ASIN:4873118867
それでは。