ブログ

ryuzeeによるブログ記事。不定期更新
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料)

新刊『Tidy First?: 個人で実践する経験主義的ソフトウェア設計』発売のお知らせ

みなさんこんにちは。@ryuzeeです。

言いたいことはタイトルに書いたとおりなのですが、2024年12月25日に、新刊『Tidy First?: 個人で実践する経験主義的ソフトウェア設計』が発売になります。

原著は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章 結論
  • 付録
    • 付録A 読書リスト・参考文献
    • 訳者あとがき

是非お買い求めください。よろしくお願いします!