Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
XP をバイブルにする事業部で10年働いた新卒が語りたい『Tidy First?』/ Put ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Junichi Kobayashi
September 04, 2026
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
XP をバイブルにする事業部で10年働いた新卒が語りたい『Tidy First?』/ Put your understanding into the code
Junichi Kobayashi
September 04, 2026
More Decks by Junichi Kobayashi
See All by Junichi Kobayashi
rage against annotate_predecessor
junk0612
0
280
The Implementations of Advanced LR Parser Algorithm
junk0612
3
2.8k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
6
2.9k
LR で JSON パーサーを作る / Coding LR JSON Parser
junk0612
2
2k
「ナントカLR」を整理する / Clarifying LR Algorithms
junk0612
1
740
From LALR to IELR: A Lrama's Next Step
junk0612
2
5.3k
RubyConf Taiwan / Understanding Parser Generators surrounding Ruby with Contributing Lrama
junk0612
2
7.2k
LL法とLR法の違いは?調べてみた!-完全版-/Comparing LL and LR parse algorithm -EX Edition-
junk0612
0
2.7k
ESM Super LT/Comparing LL and LR parse algorithm
junk0612
1
250
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
Thoughts on Productivity
jonyablonski
76
5.4k
Rails Girls Zürich Keynote
gr2m
96
14k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Transcript
XP祭り 2026 オンライン & 三菱電機株式会社 Serendie Street Yokohama 2026/09/05(土) XP
をバイブルにする事業部で 10年働いた新卒が語りたい『Tidy First?』 株式会社永和システムマネジメント アジャイル事業部 小林 純一
小林 純一 • • • • • X: @junk0612 GitHub:
@junk0612 永和システムマネジメント ◦ Rails エンジニア ◦ 構文解析器研究部員 LR パーサージェネレーター Lrama の コミッター 趣味 ◦ パーサー ◦ 音楽ゲーム ◦ ボードゲーム ◦ 俳句
小林 純一 • XP祭り登壇 4回目 (+ 野良LT 1回) ◦ ◦
◦ ◦ ◦ 2016(『俺たちの新人教育!』 + LT) 2020(野良LT) 2021(『ソフトウェア開発におけるコミュニケーション』) 2022(『オンライン時代のペアプログラミング』) 2026(『XPをバイブルにする事業部で10年働いた新卒が 語りたい『Tidy First?』』) • 鷲崎研究室OB • 午前中に子供の保育園の運動会に 行ってきました
None
None
None
None
None
「アジャイル事業部の 『アジャイル』って XP のことなんだよ」
『Tidy First?』
『Tidy First?』
『Tidy First?』 • Kent Beck の16年ぶりの新刊 • Web で連載していた記事をまとめた内容 •
ソフトウェア設計について「コードの整頓」を中心に書かれている • すぐ試せる実践から、それらをまとめる管理術、理論的な背景へ進む • 「ソフトウェア設計は人間関係のエクササイズだ」
社内読書会 • • • • • 角谷さんがゲスト 原著を読む 月2回 約1年8か月
表紙から裏表紙まで
「自分の理解を コードに落とそう」
「自分の理解をコードに落とそう」 • 8章: 説明変数 ◦ この整頓ではあなたが苦労して勝ち取った理解をコードに落とそう。 (p.24) • 9章: 説明定数
◦ コードを読んでいく。理解する。その理解をコードに落とせば、頭の隅に置いて おく必要がなくなる。 (p.26) • 14章: 説明コメント ◦ コードを読んでいて「なるほど、それでこうなっているのか」と声が出ることが ある。これは貴重な瞬間だ。記録しよう。 (p.37) 斜体部分はすべてKent Beck 著、吉羽 龍太郎、永瀬 美穂、細澤 あゆみ 訳『Tidy First? ―個人で実践する経験主義的ソフトウェア設計』より引用
「自分の理解をコードに落とそう」 1. 最も小さいフィードバックサイクル 2. コードがドキュメントだ
最も小さいフィードバックサイクル • 「自分の理解をコードに落とす」とは、 コードとプログラマーの間のフィードバックサイクル • コードとプログラマー個人の関係の話 ◦ チームメンバーとの調整が必要ない ◦ 同じ場所にいる必要もない
最もステークホルダーが少なく、それゆえに 素早く多数のフィードバックが可能
「それって XP じゃん!」 XP チームはできるだけ早く、できるだけ多くのフィードバックを生み出そ うとする。フィードバックのサイクルを数週間や数か月ではなく、数分や数時 間に短縮しようとする。フィードバックが早く手に入れば、その分だけ早く適 応できる。 斜体部分はKent Beck、Cynthia
Andres 著、 角 征典 訳『エクストリームプログラミング』 p.18より引用
最も小さいフィードバックサイクル • コードを使わずに、日々の仕事に役立てることはできないか? ◦ たとえばモデルとか ◦ コードは AI が書く時代になったので、コードに頼らずに 認知負債を軽減したい
• 「一人でできるフィードバックサイクル」に(無駄に)気づくようになった ◦ まさにこのスライドづくりが良い例 ◦ 発表準備をする過程で、自分の理解がさらに深まっていく
コードがドキュメントだ • なぜコードが重要なドキュメントなのかというと、 詳細かつ正確なドキュメントはコードしかないからだ。 ◦ 動くソフトウェアを最も正確に表しているのはソースコード ◦ 仮にバグがあっても、それすら正確に記述されている 斜体部分はMartin Fowler's
Bliki(ja)『コードがドキュメントだ』 (https://bliki-ja.github.io/CodeAsDocumentation) より引用
コードがドキュメントだ • 整頓とは、コードの表現や構造を直すこと ◦ 読んでみて、違和感のある個所を直す ◦ 順序を入れ替えたり、表現を変えたり、段落を分けたり ◦ 「普通はこう書く」に従ったり、あえて変に書いて違和感を持たせたり 文章の推敲とやっていることが完全に一緒
文章力がコーディング力に直結する? • (大学で一応学んだが)テクニカルライティングをおさらいしたくなった ◦ 技術文書では豊かな表現力よりも正確性や簡潔さのほうが大事 ◦ 文学的に書くのがいつも正しいとは限らない • 文芸的プログラミングのこころが少しわかったかも
まとめ • 『Tidy First?』の社内読書会を通じて、大きな感銘を受けた • いちばんよかったのは「自分の理解をコードに落とそう」という 思想だった • 感銘を受けた原因を突き詰めていくと、XP のエッセンスに
行き当たった • 『Tidy First?』最高! XP 最高!