XP lives, XP dies, XP lives again !!

2.5K Views

September 12, 15

スライド概要

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
2.

XP lives (past) 1999/10 2004/11 2007/11 翻訳もあるよ 2

3.

当時のツールたち (おじさんたちに聞いてみよう) 1997- 2004- 2001- 2000- 2005?- 2004?- 3

4.

XP dies ... and Scrum lives 4

5.

Scrum lives ... By 2006, we had 30,000 CSMs. By early 2009, there were more than 60,000 CSMs. https://www.scrum.org/About/Origins 5

6.

... and gets dying (自分で作った組織に追い出される) (2009年8月に辞任勧告) in August 2009 when the Scrum Alliance board of directors unanimously asked for my resignation https://www.scrum.org/About/Origins 6

7.

ダメなスクラム(ヘロヘロScrum) http://martinfowler.com/bliki/FlaccidScrum.html 7

8.

Agile is Dead http://pragdave.me/blog/2014/03/04/time-to-kill-agile/ 8

9.

達人デイヴの激怒事件 2人の"アジャイルコンサル"の会話 ‣👤<10年プログラム書いてないよw ‣👤<俺なんか20年書いてないよwww ‣ <なめとんのか💢 「Agile is Dead」 基調講演の予定を変更 http://www.infoq.com/jp/news/2014/11/pragmatic-dave-agility 9

10.

アジャイルの意味が失われた http://blog.toolshed.com/2015/05/the-failure-of-agile.html 10

11.

https://vimeo.com/131410262 11

12.

http://growsmethod.com/ 12

13.

名前だけアジャイルが多すぎる http://sdtimes.com/james-grenning-on-agile-work-still-needs-to-be-done/2/ 13

14.

おかしなアジャイルが増えている http://www.akitaonrails.com/2010/06/16/railsconf-2010-video-interview-robert-martin-english 14

15.

デイヴ様からのご提案 http://www.thoughtworks.com/talks/the-death-of-agile 15

16.

1.「アジャイル」を広めよう まずは言葉に興味を持ってもらおう 16

17.

2. みんなに届けられる商品 書籍、研修、コンサル、認定資格、カンファレンス 17

18.

3. 難しく見えるような工夫 カタカナ用語、新しい役割、新しいメトリクス 18

19.

4. 開発者に売りつけよう👍 こんなに魅力的なアジャイルを使っていない開発者はバカだ! 19

20.

5. 企業に売りつけよう👍👍 これからは「エンタープライズアジャイル」の時代です! 20

21.

6. IT業界以外にも!👍👍👍 アジャイルで組織変革! ハードウェアもアジャイル! リーン! 21

22.

デイヴ様からのご提案 http://www.thoughtworks.com/talks/the-death-of-agile 22

23.

一方的に「与える」モデル💀 Mad Max: Fury Road 23

24.

Welcome to the Wasteland (again) Mad Max: Fury Road 24

25.

XP lives again !! Mad Max: Fury Road 25

26.

XPE2ndのいいところ やり方が書いてない! (自分たちで考えるしかない) 教え方がわからない! (自分たちで考えるしかない) 26

27.

私からのご提案 これから「"俺も"XPを導入したい」と思う皆様へ ‣0. プリクエル🎬 ‣1. 人間性を重視したときめき💖 2. 適応型計画づくりとその技術🌿 ‣ ‣3. もっとエクストリーム🚀 27

28.

お前は誰だ ‣角 征典(@kdmsnr) ‣ワイクル株式会社(取締役、プログラマ) •アジャイル開発/リーンスタートアップの導入研修&コンサル ‣東京工業大学大学院理工学研究科(特任講師) ‣書籍翻訳 28

29.

プログラミングチョットデキル(本当の意味で) ‣公開できるものは少ない……。 ‣Re:VIEW • https://github.com/kmuto/review • 組版ツール。XPE2ndもぜんぶコレ。 http://www.slideshare.net/kenshimuto/review-36769754 ‣卒業制作っぽいやつ • https://github.com/jointry/jointry • Scratchモドキのペアプロツール。 ‣プログラミングの本 29

30.

20分経過 30

31.

0. プリクエル🎬 31

32.

すでに通った道(あとで見てね) 今日はこれとは違ったことを話します http://www.slideshare.net/kdmsnr/xpjunkudo-20150626 https://www.youtube.com/watch?v=YRFWWS_2Epo 32

33.

アジャイルマニフェストの歴史 http://www.agilemanifesto.org/history.html

34.

Q. 「アジャイル」を 提案したのは誰? 34

35.

A. マーティン・ファウラー https://www.flickr.com/photos/pragdave/173640462 35

36.

なぜなら発音が違うから ‣ アジャイル http://www.macmillandictionary.com/dictionary/american/agile ‣ アジル http://www.macmillandictionary.com/dictionary/american/agile 36

37.

若い人は知らないかも……。 http://capsctrl.que.jp/kdmsnr/wiki/bliki/ 37

38.

最近、移動しました。 http://bliki-ja.github.io/ 見てね! 38

39.

💬Conversational(対話) https://www.youtube.com/watch?v=Z8aECe4lp44 39

40.

フラストレーション https://www.youtube.com/watch?v=Z8aECe4lp44 40

41.

http://www.eng.titech.ac.jp/~cbe/ 41

43.

何度も協力して知識を増やす 43

44.

http://www007.upp.so-net.ne.jp/kengai/fowler/newMethodology_j.html 44

45.

まとめ職人すごい https://www.youtube.com/watch?v=TgdFA72crHM 45

46.

トヨタウェイと(だいたい)同じ http://www.toyota.co.jp/jpn/sustainability/report/archive/html2012/employees/ 46

47.

30分経過 47

48.

1. 人間性を重視したときめき💖 48

49.

https://en.wikipedia.org/wiki/Frederick_Winslow_Taylor

51.

科学的管理法 https://en.wikipedia.org/wiki/The_Thinker https://en.wikipedia.org/wiki/Modern_Times_(film) http://www.sherlockology.com/props/sherlocks-magnifier 51

52.

我々はモノではない Mad Max: Fury Road 52

53.

モノの証明(認定) 53 http://www.sheknows.com/entertainment/articles/1079908/things-that-make-no-sense-in-the-new-mad-max-trailer

54.

モノの証明(認定) 第21章 54

55.

モノではない何か 55

56.

バートランド・ラッセル 進歩のために必要な個人の独創性と 存続のために必要な社会的結合を どのように組み合わせることができるか https://www.youtube.com/watch?v=9EF4I7HM0zI 56

58.

とはいえ、誰とでも仲良く なれるはずがない👾 58

59.

新しいソーシャルチェンジ 59

60.

三本柱(HRT) ‣謙虚(Humility) •自分が間違ってるかもしれないと考えよう ‣尊敬(Respect) •一緒に働く人のことを大切に扱おう ‣信頼(Trust) •自分以外に仕事を任せよう 60

61.

http://blog.qiita.com/post/74997115585/increments-dev-team-culture 61

62.

https://speakerdeck.com/mdoi/kai-fa-suruyouniyun-yong-suruinhura-jaws-days-2015

63.

まず「HRTの文化」を作る ここは好き嫌い関わらず、最低限守ってもらう 63

64.

三本柱(HRT) ‣謙虚(Humility) •自分が間違ってるかもしれないと考えよう ‣尊敬(Respect) XPの価値の1つ •一緒に働く人のことを大切に扱おう ‣信頼(Trust) •自分以外に仕事を任せよう 64

65.

ペアプログラミング http://en.wikipedia.org/wiki/Pair_programming 65

66.

ペアプログラミング(の演習) ‣チームの最小単位は「ペア」 ‣「楽しい」を最初に経験する •普段から実際にやれというわけではない ‣フィードバック、コミュニケーション XPの価値の2つ 実施例: ‣ •クックパッド社新卒研修(2015)他数社 •公開研修もやってます: http://waicrew.doorkeeper.jp 66

67.

40分経過 67

68.

シンプリシティ XPの価値の1つ 68

69.

http://time.com/3822899/marie-kondo-2015-time-100/ 69

70.

こんまり流片付け術 ‣1. モノを捨てること ‣2. 収納場所を決めること 70

71.

こんまり流片付け術 ‣1. モノを捨てること •「捨てるモノ」ではなく「残すモノ」を選ぶ ‣2. 収納場所を決めること 71

72.

こんまり先生いわく “ Does it spark joy? (それはときめく💖か?) ” 72

73.

なんか聞いたことがある! 73

74.

⇒ ときめき💖の道 74

75.

プラクティス == パターン 75

76.

プラクティス == パターン 76

77.

プラクティス == パターン 77

78.

ときめく💖プラクティスを選ぶ 78

79.

もはやどうでもいい!

80.

ここまでのまとめ ‣人間性が大切 ‣人をモノ扱いする認定とかいらない ‣まずはHRT(with『Team Geek』) ‣ペアプログラミングをやってみよう ‣ときめく💖プラクティスを選択しよう 80

81.

2. 適応型計画づくりとその技術🌿 81

82.

XPが目指している(いた?)もの Kent Beck, "Extreme Programming Explained" 82

83.

できることを増やすプラクティス (enabling practices) http://www.objectclub.jp/community/XP-jp/xp_relate/isdesigndead 83

84.

できることを増やすプラクティス ‣ソフトウェアの設計: •1. テスト(自動テスト) •2. 継続的インテグレーション •3. リファクタリング ‣他の分野にもあるはず! •けど、何かはわからない……。 http://bliki-ja.github.io/SpreadingIncrementalism/ 84

85.

バリー・ベームからの反論 いや、それでもダメ 85

86.

引用元:『Making Software』(オライリージャパン) 10章「アーキテクティング:いつ、どれだけ?」 by バリー・ベーム 86

87.

設計=スタミナ仮説 http://bliki-ja.github.io/DesignStaminaHypothesis/ https://www.youtube.com/watch?v=DngAZyWMGR0 87

88.

設計=スタミナ仮説 http://bliki-ja.github.io/DesignStaminaHypothesis/ https://www.youtube.com/watch?v=DngAZyWMGR0 88

89.

設計=スタミナ仮説 http://bliki-ja.github.io/DesignStaminaHypothesis/ 数週間じゃないかな?(MF) https://www.youtube.com/watch?v=DngAZyWMGR0 89

90.

技術的負債の四象限 意図的 無鉄砲 島本和彦『燃えよペン』 井上雄彦『SLAM DUNK』 不注意 高橋陽一『キャプテン翼』 http://bliki-ja.github.io/TechnicalDebtQuadrant/ 慎重 横山光輝『三国志』 90

91.

KB:「いつやるか?」「あとで」 (ん?どういうこと?) 91

92.

「経験」してから設計する ‣最終責任時点 •意思決定は遅いほうがチャンスは大きい(by ポッペンディーク) •とはいえ、いつが「最終」なのか不明 😓 ‣セットベース開発 •複数の案を実装してみる •→ そこから選ぶ😄 •「熟考」だけよりいいものができる(可能性が高い) ‣可逆性を確保する •できるだけあとでやり直せるようにする(→次ページ) 92

93.

可逆性を確保せよ https://www.facebook.com/notes/kent-beck/taming-complexity-with-reversibility/1000330413333156 93

94.

できることを増やすプラクティス (あとで読んでね) ‣Development servers ‣Shadow production ‣Code review ‣Internal usage ‣Staged rollout ‣Dynamic Configuration ‣Correlation ‣IRC ‣Right hand side units ‣Frequent pushes ‣Data-informed decision ‣Advance countries ‣Soft launches ‣Double write/bulk migrate/double read https://www.facebook.com/notes/kent-beck/taming-complexity-with-reversibility/1000330413333156 94

95.

https://twitter.com/martincronje/status/636170140166561793 95

96.

Facebookの事例 たぶんKB D. G. Feitelson, E. Frachtenberg, and K. L. Beck, “Development and deployment at facebook,” IEEE Internet Comput., vol. 17, no. 4, pp. 8–17, 2013. 96

97.

Facebookの事例 ‣永久に開発(継続的デプロイ) •実際のデプロイは週1回。内部リリースは1日2回。 ‣「A/Bテスト」で実験 •「経験」してから選択する •「まだ要求開発や仕様書で消耗してるの?」 ‣6週間の新人研修 •書いたコードをすぐにリリースする訓練 ‣エンジニアには責任と覚悟が欠かせない D. G. Feitelson, E. Frachtenberg, and K. L. Beck, “Development and deployment at facebook,” IEEE Internet Comput., vol. 17, no. 4, pp. 8–17, 2013. 97

98.

Facebookの事例 ますます活性化 D. G. Feitelson, E. Frachtenberg, and K. L. Beck, “Development and deployment at facebook,” IEEE Internet Comput., vol. 17, no. 4, pp. 8–17, 2013. 98

99.

その他の事例(2つ) 99

100.

100

101.

Railsの事例 草稿 Paolo Perrotta『メタプログラミングRuby 第2版』(オライリー・ジャパン) 101

102.

Railsの事例 草稿 Paolo Perrotta『メタプログラミングRuby 第2版』(オライリー・ジャパン) 102

103.

http://reviewml.org/ 103

104.

まあまあ長い開発期間 http://www.slideshare.net/kenshimuto/review-36769754 104

105.

Re:VIEWの事例 ‣普通のFLOSS開発(自動テスト + TravisCI) ‣課題駆動開発(リアルに困ったものを実装する)※熟考 + 経験 •自分の仕事(組版や出版事業)に使っているので切実 •「あったら誰かが使いそう」みたいな機能はあんまり入らない ‣書籍データが別にあるので後方互換性が超大切 •安易に新機能入れたら対応が大変😢 (増刷のつらみ……) ‣コミケ駆動開発(2、6、10月リリース)が特徴的 ‣開発者会議を不定期に実施 •チケットの落ち穂拾いと利用者( 開発者)のヒアリング ‣ムトゥ神(@kmuto)のスライドおすすめ http://www.slideshare.net/kenshimuto/ 105

106.

http://www.slideshare.net/kenshimuto/write-once-publish-anywhere 106

107.

できるだけ理解しやすいコードを書く 祝:5万部突破😊 107

108.

ここまでのまとめ ‣適応型プランニング(変化を受け入れるには?) ‣できることを増やすプラクティス •テスト、CI、リファクタリング ‣とはいえ、設計重要( 技術的負債) •「設計」の発想を転換 →「経験」してから設計する •自分たちの選択したプログラミング言語が設計を教えてくれる ‣熱心に使う/作る人がいれば続けられる •リーダブルコードも読んでね 108

109.

55分経過 たぶん超える……(予言) 109

110.

3. もっとエクストリーム🚀 110

112.

自分たちで プラクティス(パターン) を作るしかない!! 112

113.

プロジェクト 113

114.

⇒プロダクト ‣もはや(実質的に)終わりはない •プロジェクト:有期性の業務(PMBOK) •短期決戦の戦略思考(戸部、野中他『失敗の本質』) ‣すくなくとも両者を区別しよう •Project Manager / Product Manager ‣チームにプロダクトをつけよう •プラクティス「チームの継続」「責任の引き受け」 •Uncle Bob Martin『Clean Coder』も参照(宣伝……) 114

115.

ペアプログラミング 115

116.

⇒ モブプログラミング https://www.youtube.com/watch?v=p_pvslS4gEI 116

117.

Hohman, Moses M., and Andrew C. Slocum. "Mob Programming and the Transition to XP." proc. First XP Universe Conference. 2001. 117

118.

こんなときに使おう ‣プロジェクトの初期 ‣難しい or 新しい技術を学ぶとき ‣新しいメンバーが入ったとき ‣トラブル発生時 ‣などなど 118

119.

懸念点 For many organizations, mob programming is too extreme; a WIP limit of one is probably not suitable for everyone. 翻訳はしばし待て!! 119

120.

ストーリー 120

121.

⇒ 仮説(指標も一緒に) 121

122.

作ったら終わりではない ‣仮説は検証されるまで続く •「何を検証するか」を明確に ‣コードを書かなくても検証可能な こともある(アイデア次第!) •『Lean Analytics』にいろいろ載ってる (宣伝ばかりでスミマセン……) 122

123.

その他いろいろ 123

124.

インクリメンタルな設計 ⇒ ‣ リバーシブルな設計 •Facebookの話みたいな感じ ‣ ランタイムな設計 •動かしながら設計を変えていく •(それSmalltalkでできるよ) 124

125.

テストファースト ⇒ ‣ 仮説テストファースト •仮説を検証するために何ができるか •結果が出るまでに時間がかかるのが難点 ‣ 探索的テストファースト •テスターと協業 •フィードバックループの深化 125

126.

本物の顧客参加 ⇒ ‣ 本物の顧客開発 •建物の外に出て、顧客を見つけ出す ‣ 本物のユーザー参加 •早い段階から実際に使ってもらおう 126

127.

チームの縮小 ⇒ ‣ マイクロチーム(cf. マイクロサービス) •Bounded Contextごとにチーム文化を生成 •それぞれが自律している(ex. Spotifyのチーム) ‣ ひとりのチーム •フルスタックエンジニア(死語? •スタンドプレーから生じる〜みたいな ‣ マシンのチーム •チャットで話しかけたらボットだった!! •データ駆動で意思決定を支援(cf.「アイアンマン」のジャービス) 127

128.

[NEW] プロボノ(ボランティア + 公共性) ‣弁護士や医師などの活動 ‣社会に役立つソフトウェア開発 •ex. Code for Japan ‣社会的な意味での 「ソーシャルチェンジ」 128

129.

他にも考えてみてください! 129

130.

全体のまとめ ‣おじさんたちの青春(XP lives) ‣もはやアジャイルは死んだ(Agile/XP dies) ‣XPなら自分たちでやれる(XP lives again) ‣人間性の回復 •HRT、ペアプロ、ときめき、ゆとり ‣適応性の維持 •できることを増やす、経験重要、続けることが正義 ‣もっとエクストリームにするたゆまぬK.U.F.U. 130

131.

おわりに 131

132.

ラズベリージャムの法則 広げれば広げるほど薄くなるさ。 G.M.ワインバーグ『コンサルタントの秘密』 132

133.

イチゴジャムの法則 粒があれば、どこまでも薄くはならない。 G.M.ワインバーグ『コンサルタントの道具箱』 133

134.

自分の道を歩き出す「勇気」を XPの価値の最後の1つ 荒木飛呂彦『ジョジョの奇妙な冒険』 134

135.

135

136.

おしまい & 質疑応答 @kdmsnr kado.masanori@waicrew.com XPに限らず、 お話しましょう :-) 136