8.3K Views
June 26, 15
スライド概要
ジュンク堂書店 池袋本店
開催日時:2015年06月26日(金)19:30 ~
角征典(『エクストリームプログラミング』翻訳者)
角谷信太郎(『アジャイルサムライ』監訳者)
1996年に誕生した「エクストリームプログラミング」は、1999年に出版された『Extreme Programming Explained』にその内容がまとめられました。その後、全面的に改定が加えられ、2004年に第2版が出版されました。『エクストリームプログラミング』(オーム社)は、この第2版の新訳となります。誕生から約20年が過ぎたいま、新訳を詳細に紐解きながら、ケント・ベックがXPで何を伝えたかったのかを改めて考えます。ベテランの方は昔を懐かしみながら、若い方は新鮮な気持ちでご参加ください。
何を伝えたかったんだと思う? SHIROBAKO #09 何を伝えたかったんだと思う? 2
何を伝えたかったんだと思う? 3
文系は作者の気持ちでも考えてろよ! ‣アッハイ •とはいえ、結構むずかしい •「表層批評」と「作家主義」 ‣作品から作家のことがわかるのか? •野坂昭如「(火垂るの墓について)締め切りに追 われ、ヒィヒィ言いながら書いた」 •それでも「調べる」ことならできる 4
調べる方法 ‣1. 著者のことを調べる ‣2. 参考文献のことを調べる ‣3. 書いてあることを調べる 5
今日の予定 ‣19:30〜20:40:講演+対談 •3つのテーマ ‣20:40〜21:00:サイン会 6
自己紹介 ‣角 征典(@kdmsnr) ‣ワイクル株式会社(取締役、プログラマ、コンサルタント) •アジャイル開発/リーンスタートアップのコンサルティング ‣東京工業大学大学院理工学研究科(特任講師) ‣技術書翻訳 7
2015年の今後の予定 翻訳のお仕事、お待ちしております! 8
19:35 10
1. 著者のことを調べる 11
Kent Beck ・1961/3/31 サンノゼ生まれ(54歳) ・12歳からプログラミングを開始 ・ギターとバンジョーが好き http://c2.com/cgi/wiki?CowboyMusic > ギターだけで孤独・死・美を表現 ・オレゴン大学(1979〜1987) 12
オレゴン大学の実験('70s) 13
アレグザンダーとの出会い ‣学生寮には多くの建築科の学生 ‣彼らから「C・アレグザンダー」 の名前を教えてもらう ‣『時を超えた建設の道』を 大学の生協で立ち読みで完読 ← 14
15
Kent Beck ・Tektronix社(1984〜1987) w/ Ward Cunningham http://c2.com/cgi/wiki?TekLabs 16
http://www.wirfs-brock.com/allen/files/tek/Tek-Smalltalk-history-slides.pdf
http://www.wirfs-brock.com/allen/files/tek/Tek-Smalltalk-history-slides.pdf 18
http://www.wirfs-brock.com/allen/files/tek/Tek-Smalltalk-history-slides.pdf 19
WardAndKent http://c2.com/cgi/wiki?WardAndKent 20
"just trying to explain to other people what he does naturally." " 『Extreme Programming Explained 1st』 21
パターンランゲージとOOP ‣居住者が建物をデザインすべき ‣ユーザーがユーザーインターフェイ スをデザインすべき •パターンランゲージで支援 •めっちゃうまくいった! •論文にまとめて発表しよう! 22
OOPのためのパターンランゲージの使用('87) http://kdmsnr.com/translations/using-pattern-languages-for-oop/ 23
Kent Beck ・Apple社(1987〜1989) w/ Alan Kay w/ Bill Atkinson (HyperCard) 24
パターンムーブメント '93 OOPSLA '90 '94 published '94 '95 25
Kent Beckのパターン('95) http://c2.com/ppr/early.html 26
Smalltalkのパターン('96) 27
はじまりの物語('96) 28
C3プロジェクト ‣Smalltalkの仕事だと思ってた ‣それ以前の話だった ‣プロジェクトの立て直しに着手 •小さなチームで再始動 29
C3プロジェクト ‣ちょうどRon Jeffriesからメール ‣Martin Fowlerを引きずり込む •1993年から分析コンサルタントとして、 パートタイムでプロジェクトに参画 30
たどたどしいKB ‣どうするんですか? 31
C3では意思決定をしない ‣オブジェクトの達人であることを 捨て去り、環境や前提を作り出す • 『Agile Software Development Ecosystems』より • この頃から「コーチ」の働き方を意識し始めている • 直前に「The New New Product Development Game」を読んだから?(XPEの参考文献にもある) 32
33
C3:失敗していないが中止 34
Kent Beck ・JUnit(1997) ・XPE 1st(1999) ・アジャイルソフトウェア開発宣言(2001) 35
アジャイルではなく「Conversational」 https://www.youtube.com/watch?v=Z8aECe4lp44 36
"I'm no longer interested in the technical practices of XP" 『Agile Software Development Ecosystems』 37
Kent Beck ・TDD by Example(2002) ・XPE 2nd(2005) ・Implementation Patterns(2008) 38
さらに詳しいことは 39
近年のKent Beck ・リーンスタートアップへの関心 「新アジャイルソフトウェア開発宣言」 ・Facebook社(2011〜) ・「TDD is Dead」の鼎談(2014) ・RailsConf 2015 Closing Keynote 40
19:55 41
20:05 42
2. 参考文献のことを調べる 43
詳しすぎる参考文献 : : 44
http://www.slideshare.net/kkd/xp-38768205 45
なぜプログラムを書くのか? 46
47
スコット・マクラウド『マンガ学―マンガによるマンガのためのマンガ理論』(美術出版社) 48
我々にとって「なんでアニメを作るのか」 みたいなことじゃないの? SHIROBAKO #20 がんばりマスタング! 49
スコット・マクラウド『マンガ学―マンガによるマンガのためのマンガ理論』(美術出版社)
2つのタイプ ‣「1. 発想と動機」を選択 •大事なのは自分の内側にある主張 •プログラミングはあくまでも表現ツール ‣「2. 表現形式」を選択 •プログラミングの可能性そのものを探求 •発想や動機はあとからついてくる 51
KBはどっちのタイプ? ケント・ベック『実装パターン』(ピアソン・エデュケーション) 52
2を選ぶ人を「ボンクラ」と呼ぶ 根本敬『因果鉄道の旅』(ベストセラーズ) 53
みなさんはどっち? 54
充足の精神 55
コリン・ターンブルの著書 56
マズローの欲求段階説 自己実現の欲求 承認の欲求 所属と愛の欲求 安全の欲求 生理的欲求 57
マズローの欲求段階説 自己実現の欲求 承認の欲求 所属と愛の欲求 安全の欲求 生理的欲求 58 http://thefinancialbrand.com/47308/the-not-so-new-hierarchy-of-needs-in-banking/
充足の精神 59
仕事の誇りを忘れてはいけない 60 https://www.youtube.com/watch?v=aApmOZwdPqA
エクストリーム(極端)に考える ‣時間がたくさんあったら? ‣お金がたくさんあったら? ‣フィードバックを最大にしたら? ‣コミュニケーションを最大にしたら? ‣デプロイの頻度を最大にしたら? ‣テストをコードの前に書いてみたら? 61
ツマミをMAXにする 62
リーンの思想 63
製造業の巨人たち ※否定的 65
製造業の巨人たち ‣テイラー •計画と実行の分離への批判 ‣デミング •品質、改善、人間の感情 ‣大野耐一 •みんなで改善しながら高品質 ‣ゴールドラット •全体を「システム」と見なす 66
パーマカルチャー 67
68
69
理論の構成 倫理 tenets values 原則 principles 実践 practices practices principles 上:パーマカルチャー、下:エクストリームプログラミング 70
とはいえ、わかりにくい! ‣XPの説明で「価値、原則、プラク ティス」から始めるのは筋悪 •本書も頭から読むのはやめたほうがよさげ •なので、そういう説明の仕方もしません! ‣じゃあ、どうするの? •→「3. 書いてあることを調べる」 71
20:15 72
20:25 73
3. 書いてあることを調べる 74
本を読むのは難しい ‣解釈学的循環 •全体を理解しないと部分を理解できないが、 部分を理解しないと全体を理解できない。 ‣何度も読むしかない? •読者に何度も読めというのは さすがに難しい……。 75
共起ネットワーク分析してみた 76
必ずしも「頻出 == 重要」ではない 77
その他の特徴的な言葉 ‣"成功には、優れた技術力と良好 な人間関係が必要だ。" •決して「技術のXP」ではない。 •"I was furious that someone would strip out all of the social change and still call it XP. " 『Agile Software Development Ecosystems』 78
その他の特徴的な言葉 "完璧(perfect)は動詞" ‣ •『JUnit Pocket Guide』にも登場 • 完璧な設計は存在しない。 • 設計を「完璧にやる」ことはできる。 79
その他の特徴的な言葉 ‣"全力を尽くさなかった事実が気 持ちを楽にしてくれることはない" •全力で完璧にやるんだよ!! 80
その他の特徴的な言葉 ‣"コーチがいなくても、XPはうま く適用できる" •(Ron Jeffriesの存在ェ……) •とはいえ、誰かのリーダーシップは必要。 81
その他の特徴的な言葉 ‣資格や認証(Certification)は、 "証明書の発行と金儲けをしているだけ" •認定○○とか……ね。 82
その他の特徴的な言葉 ‣「最初から正しくやるほうが簡単ですよね?」 •そうだけど……「正しい」なんて決まらない。 ‣「私のチームはエクストリームですか?」 •「私は肯定もしないし、否定もしない。 私の判断は重要ではない」 ‣XPに「正しい」は存在しない •常に「注意して、適応して、変更する」ことがXP。 83
その他の特徴的な言葉 ‣"分割統治ではなく統治分割" •エンタープライズアジャイルとか言う人も いるけれど……。 •小さなチームではじめてから、うまく切れ 目を見つける 84
その他の特徴的な言葉 ‣"(ポイント法より)実時間で見 積もるほうが私の好みだ。" •時間は誰にでも共通の尺度だから •とはいえ、最初はポイントで慣れるのもい いと思う。成熟したチームは時間を使う。 85
その他の特徴的な言葉 "誠実性(integrity)" ‣ •他にいい訳語がなかった……。 •「インテグレーション」に似た単語 •整合性? 完全性? •外と内の気持ちが一致していること。 •「正しさ」よりも大切なこと 86
最後の行 XPとは、 あなたの理想について考え、 その理想にもとづいて行動 するための方法だ。 87
あなたの理想は何ですか? 88
89
残りは書籍で! 91
20:30 92