新刊『Tidy First?: 個人で実践する経験主義的ソフトウェア設計』発売のお知らせ
みなさんこんにちは。@ryuzeeです。
言いたいことはタイトルに書いたとおりなのですが、2024年12月25日に、新刊『Tidy First?: 個人で実践する経験主義的ソフトウェア設計』が発売になります。
Tidy First? ―個人で実践する経験主義的ソフトウェア設計
- 著者/訳者:Kent Beck、 吉羽 龍太郎、 永瀬 美穂、 細澤 あゆみ
- 出版社:オライリー・ジャパン
- 発売日:2024-12-25
- 単行本(ソフトカバー):164ページ
- ISBN-13:9784814400911
- ASIN:4814400918
原著はKent Beck氏の『Tidy First?: A Personal Exercise in Empirical Software Design』です。 翻訳はいつもの株式会社アトラクタのアジャイルコーチ3人で行いました(私自身は16冊目の翻訳です)。
みどころ
何を紹介しようか迷ったのですが、どんな本なのかは訳者あとがきに書きました。 オライリー・ジャパン様のご厚意で、全文引用の許諾をいただきましたので以下に掲載します(出典『Tidy First?: 個人で実践する経験主義的ソフトウェア設計』125〜127ページ、オライリージャパン、2024年)。
本書は、Kent Beck著『Tidy First? A Personal Exercise in Empirical Software Design』(978-1098151249、O’Reilly Media、2023年)の全訳です。原著の誤記や誤植などについては確認して一部修正しています。
ケント・ベックは、現代のソフトウェア開発に大きな影響を与えた1人です。功績は多数ありますが、代表的なものとして、エクストリームプログラミング(XP)の考案、JUnitの開発、アジャイルマニフェストへの署名などが挙げられます。また、1996年から2007年にかけて多数の著書を上梓しました。
そして2023年に16年ぶりに発表されたのが本書です。2021年の1月に、Webの執筆プラットフォームであるSubstackで「Software design is an exercise in human relationships(ソフトウェア設計は人間関係のエクササイズだ)」という記事(https://tidyfirst.substack.com/p/coming-soon)を投稿したところから始まっています。以降、小さな記事を多いときには毎日のように投稿し、購読者と議論したり、フィードバックを得たりしながら進め、それらの記事をまとめる形でできたのが本書です。アジャイルの原則は、動作するソフトウェアを早期から頻繁に提供してフィードバックを得ることで、顧客満足を向上し、リスクを低減することですが、本書はその原則を適用して作られたと言ってよいでしょう。
「まえがき」にあるとおり、本書はソフトウェアの設計をテーマとする全3冊のシリーズの最初の書籍です。「人間関係」のなかでも、まずは「自分自身」との関係に主眼を置いて、1人でできる範囲のソフトウェア設計について説明しています。つまり、読者は、本書を読みながら、すぐに自分が取り組むコードを改善したり、自分の仕事のやり方を改善したりできるようになります。もちろん個人ができる範囲には限りがありますが、小さな取り組みを積み重ねることなくして、大きな結果は得られません。個人が自分の仕事の質を改善することなしに、別の力によって質が改善することもありません。ぜひ、本書の内容にすぐに取り組んでみてください。
Substack上での執筆はまだ続いています。シリーズ2作めのタイトルは『Tidy Together?』で、人間関係の幅を広げ、今度は一緒にソフトウェアを設計するチームを扱います。暫定的な概要はSubstackの記事(https://tidyfirst.substack.com/p/tidy-together-outline)で公開されています。今後内容がどうなるかはわかりませんが、興味深いトピックが多数含まれています。最新の原稿やトピックが待ち切れない人は、このSubstackの有料会員になるのもよいでしょう。もしかしたらあなたのフィードバックが反映されるかもしれません!
謝辞
和田卓人さん、玉木大地さん、石河竜太さん、野﨑裕樹さんをはじめとした株式会社CARTA HOLDINGSの読書会のみなさんには、読書会のなかで翻訳をレビューいただき、多数のフィードバックを頂戴しました。
伊藤貴洋さん、大金慧さん、太田陽祐さん、大谷和紀さん、小笠原晋也さん、角谷信太郎さん、川崎禎紀さん、黒木翔さん、小寺暁久さん、鈴木克弥さん、滝口開資さん、徳冨優一さん、二宮啓聡さん、古川亮一さん、古橋明久さん、森谷優大さんには長期間にわたり翻訳レビューにご協力いただきました。
みなさんのおかげで読みやすい書籍になったと思います。
企画、編集は、オライリー・ジャパンの高恵子さんが担当されました。いつも手厚い支援をいただいていることに感謝いたします。
訳者を代表して 2024年12月 吉羽 龍太郎
全部で33章ありながら164ページということで、それぞれの章は非常にコンパクトにまとまっています。 前半の第1部ではコードを整頓する上でよく登場するパターンを紹介し、第2部ではコードの整頓プロセスを、第3部でそれらの背景にある理論を扱っています。 「私の目標は、読者が午前中に本書を読み始めたら、午後には設計が上達していることだ」とあるように、すぐに日々の開発に取り入れることができるはずです。 訳者あとがきでも触れましたが、原著を使って組織内で読書会をしているチームも複数あります。 同じように、チームや組織で勉強会をしてみると、より理解が深まるのではないかと思います。
なお、電子書籍版はKindleはありませんので、オライリー・ジャパンのWebサイトから直接PDFやepub形式の電子書籍をご購入ください。
以下で目次を紹介しておきます。
目次
- 推薦のことば
- まえがき
- はじめに
- 第Ⅰ部 整頓
- 1章 ガード節
- 2章 デッドコード
- 3章 シンメトリーを揃える
- 4章 新しいインターフェイス、古い実装
- 5章 読む順番
- 6章 凝集の順番
- 7章 変数宣言と初期化を一緒の場所に移動する
- 8章 説明変数
- 9章 説明定数
- 10章 明示的なパラメーター
- 11章 ステートメントを小分けにする
- 12章 ヘルパーを抽出する
- 13章 ひとかたまり
- 14章 説明コメント
- 15章 冗長なコメントを削除する
- 第Ⅱ部 管理術
- 16章 分けて整頓する
- 17章 連鎖
- 17.1 結論
- 18章 バッチサイズ
- 19章 リズム
- 20章 絡まりを解きほぐす
- 21章 先に整頓、あとに整頓、改めて整頓、整頓しない
- 21.1 整頓しない
- 21.2 改めて整頓
- 21.3 あとに整頓
- 21.4 先に整頓
- 21.5 まとめ
- 第Ⅲ部 理論
- 22章 要素を役立つように関係づける
- 22.1 要素
- 22.2 関係づける
- 22.3 役立つように
- 22.4 要素を役立つように関係づける
- 23章 構造と振る舞い
- 24章 経済性:時間価値とオプショナリティ
- 25章 明日の1ドルより今日の1ドル
- 26章 オプション
- 27章 オプション vs キャッシュフロー
- 28章 可逆的な構造変更
- 29章 結合
- 30章 コンスタンチンの等価性
- 31章 結合 vs 分離
- 32章 凝集
- 33章 結論
- 22章 要素を役立つように関係づける
- 付録
- 付録A 読書リスト・参考文献
- 訳者あとがき
是非お買い求めください。よろしくお願いします!
Tidy First? ―個人で実践する経験主義的ソフトウェア設計
- 著者/訳者:Kent Beck、 吉羽 龍太郎、 永瀬 美穂、 細澤 あゆみ
- 出版社:オライリー・ジャパン
- 発売日:2024-12-25
- 単行本(ソフトカバー):164ページ
- ISBN-13:9784814400911
- ASIN:4814400918