Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Happy! Lucky! XP!

yattom
November 06, 2020

Happy! Lucky! XP!

スクラムフェス札幌2020の発表資料です。

yattom

November 06, 2020
Tweet

More Decks by yattom

Other Decks in Programming

Transcript

  1. Happy! Lucky! XP!
    やっとむ

    View Slide

  2. まとめ

    View Slide

  3. 語呂がいい!
    Happy! Lucky! XP!

    View Slide

  4. 以上です
    ご清聴ありがとうございました

    View Slide

  5. eXtreme Programming ―
    究極のプログラミング

    View Slide

  6. XPとの出会い
    • 2000年『エクストリームプログラミング入門』(第1版)
    • 『日経コンピュータ』の記事(2001年)
    • 常駐で参加したプロジェクトでやってた
    • 顧客との計画ゲーム
    • 漸進的な設計
    • テスト駆動開発
    • メーリングリスト、社外勉強会、イベントなどの盛り上がり
    • 2001年4月 ケント・ベック来日

    View Slide

  7. XPのプラクティス(一部)
    • タスクへの自主サインアップ
    • ユーザーストーリー
    • ペアプログラミング
    • テストファースト
    • リファクタリング
    • 漸進的な設計
    • コードの共同所有
    • 継続的結合(CI)
    • 顧客同席

    View Slide

  8. eXtreme Programming ―
    究極のプログラミング

    View Slide

  9. eXtreme Programming ―
    やりすぎなプログラミング

    View Slide

  10. エクストリーム=極端
    • スライダーをぜんぶ最大にする
    エクストリームプログラミングを取り上げた日経コンピュータ2001年6月4日号特集(イラスト:北村公司)
    https://xtech.nikkei.com/it/article/Watcher/20140418/551563/

    View Slide

  11. エクストリーム=極端
    やったらいいことは
    目一杯やればいいじゃない
    やりすぎればいいじゃない

    View Slide

  12. 書籍の歴史
    第1版
    原書1999年
    邦訳2000年
    第2版
    原書2004年
    邦訳2005年 邦訳2015年

    View Slide

  13. View Slide

  14. View Slide

  15. XPのプラクティス(一部)
    • タスクへの自主サインアップ
    • ユーザーストーリー
    • ペアプログラミング
    • テストファースト
    • リファクタリング
    • 漸進的な設計
    • コードの共同所有
    • 継続的結合(CI)
    • 顧客同席

    View Slide

  16. https://speakerdeck.com/kakutani/xpmatsuri2019-keynote

    View Slide

  17. 将来あたりまえとなる
    ソフトウェア開発のプラクティスを
    やりすぎるまでやれた
    Happy! Lucky!
    XP!

    View Slide

  18. XPのプラクティス(一部)
    • タスクへの自主サインアップ
    • ユーザーストーリー
    • ペアプログラミング
    • テストファースト
    • リファクタリング
    • 漸進的な設計
    • コードの共同所有
    • 継続的結合(CI)
    • 顧客同席
    フィードバック

    View Slide

  19. わたし

    View Slide

  20. わたし
    コード

    View Slide

  21. わたし
    コード
    テスト

    View Slide

  22. わたし
    コード
    テスト
    テスト
    駆動
    開発

    View Slide

  23. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー

    View Slide

  24. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ

    View Slide

  25. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト

    View Slide

  26. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合

    View Slide

  27. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合

    View Slide

  28. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー

    View Slide

  29. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー
    共同所有
    リファクタリング

    View Slide

  30. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー
    共同所有
    リファクタリング
    実環境

    View Slide

  31. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー
    共同所有
    リファクタリング
    実環境
    ユーザ

    View Slide

  32. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー
    共同所有
    リファクタリング
    実環境
    ユーザ
    早期リリース

    View Slide

  33. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー
    共同所有
    リファクタリング
    実環境
    ユーザ
    早期リリース
    顧客
    ビジネス

    View Slide

  34. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー
    共同所有
    リファクタリング
    実環境
    ユーザ
    早期リリース
    顧客
    ビジネス
    計画ゲーム

    View Slide

  35. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー
    共同所有
    リファクタリング
    実環境
    ユーザ
    早期リリース
    顧客
    ビジネス
    計画ゲーム
    XPコミュニティ
    参加
    発表

    View Slide

  36. ところで

    View Slide

  37. View Slide

  38. オブジェクト指向の
    基本原理

    View Slide

  39. アイデンティティ
    関係
    メッセージパッシング
    (…他にもあります)

    View Slide

  40. アイデンティティがある
    https://ja.wikipedia.org/wiki/%E7%94%9F%E5%91%BD%E3%80%81%E5%AE%87%E5%AE%99%E3%80%81%E3%81%9D%E3%81%97%E3%81%
    A6%E4%B8%87%E7%89%A9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AE%E7%A9%B6%E6%A5%B5%E3%81%AE%E7%96%9
    1%E5%95%8F%E3%81%AE%E7%AD%94%E3%81%88

    View Slide

  41. 関係がある
    https://www.dourish.com/goodies/jargon.html
    69 adj. Large quantity. Usage: Exclusive to MIT-AI. "Go away, I have 69 things to do to DDT before worrying about fixing the bug in the phase of
    the moon output routine..." [Note: Actually, any number less than 100 but large enough to have no obvious magic properties will be
    recognized as a "large number". There is no denying that "69" is the local favorite. I don't know whether its origins are related to the obscene
    interpretation, but I do know that 69 decimal = 105 octal, and 69 hexadecimal = 105 decimal, which is a nice property. - GLS]

    View Slide

  42. 関係があるから
    メッセージが渡せる

    View Slide

  43. わたし
    アイデンティティがある
    なまえ、年齢、
    スキル、経歴、
    趣味、嫌いな
    食べ物、…

    View Slide

  44. わたし
    なんか
    関係がある

    View Slide

  45. わたし
    なんか
    フィードバック
    関係があるから
    メッセージが渡せる

    View Slide

  46. わたし
    フィードバック
    だれか
    関係があるから
    メッセージが渡せる

    View Slide

  47. わたし
    コード
    テスト
    テスト
    駆動
    開発
    メンバー
    ペアプロ
    メンバー
    コード テスト
    常時結合
    常時結合
    メンバー
    メンバー
    共同所有
    リファクタリング
    実環境
    ユーザ
    早期リリース
    顧客
    ビジネス
    計画ゲーム
    XPコミュニティ
    参加
    発表

    View Slide

  48. XPコミュニティ
    わたし
    コード
    テスト
    メンバー
    メンバー
    コード テスト
    メンバー
    メンバー
    実環境
    ユーザ
    顧客
    ビジネス
    壮大な関係性

    View Slide

  49. XPコミュニティ
    わたし
    コード
    テスト
    メンバー
    メンバー
    コード テスト
    メンバー
    メンバー
    実環境
    ユーザ
    顧客
    ビジネス
    壮大な関係性の中に
    いるわたし
    にはアイデンティティが
    ある

    View Slide

  50. 全体が重要であり
    わたし個人も重要である
    という関係性への
    気づき
    Happy!
    Lucky!
    X P!

    View Slide

  51. わたし

    View Slide

  52. わたし

    View Slide

  53. ※オブジェクト=アイデンティティがあり、操作や属性を持つ実体

    View Slide

  54. ※コンポーネント=複数のオブジェクトで構成され、関連する機能を提供する単位

    View Slide

  55. わたし
    右手

    View Slide

  56. わたし
    右手
    キーボード

    View Slide

  57. わたし
    自転車

    View Slide

  58. わたし
    自転車
    ギター
    ペン

    View Slide

  59. 親族
    わたし
    同僚 家族
    同僚の
    家族
    友人

    View Slide

  60. わたし

    View Slide

  61. 広がり続ける
    関係性

    View Slide

  62. responsibility

    View Slide

  63. respond (v)
    = 反応する
    responsible (adj)
    = 反応できる
    responsibility (n)
    = 反応できる能力
    ※正しい英語とは違います

    View Slide

  64. わたし

    書いた
    コード
    どっかの
    誰か

    View Slide

  65. わたし

    書いた
    コード
    どっかの
    誰か

    View Slide

  66. わたし

    書いた
    コード
    どっかの
    誰か

    View Slide


  67. 書いた
    コード
    わたし
    どっかの
    誰か

    View Slide


  68. 書いた
    コード
    わたし
    どっかの
    誰か
    わたしが
    反応できる
    誰か

    View Slide


  69. 書いた
    コード
    わたし
    どっかの
    誰か
    わたしが
    反応できる
    誰か
    どっかの誰かが
    反応できる
    わたし

    View Slide


  70. 書いた
    コード
    わたし
    どっかの
    誰か
    わたしが
    反応できる
    誰か
    どっかの誰かが
    反応できる
    わたし
    「何かあっても
    一切反応しないよ」と
    いうのも反応

    View Slide

  71. 広がり続ける
    関係性

    View Slide

  72. 揺らぐ
    わたしの境界

    View Slide

  73. カルカソンヌ

    View Slide

  74. View Slide

  75. View Slide

  76. View Slide

  77. View Slide

  78. View Slide

  79. View Slide

  80. View Slide

  81. 広がり続ける
    世界

    View Slide

  82. 広がり続ける
    世界
    の中にあるわたし

    View Slide

  83. XPから学んだ
    広がり続ける世界
    を看取する考え方

    View Slide

  84. わたしの思う
    XP

    View Slide

  85. ※ポエムです

    View Slide

  86. 裂け目を癒やす
    試み

    View Slide

  87. https://flic.kr/p/23HpHKK

    View Slide

  88. こちら側と
    あちら側

    View Slide

  89. 此岸と
    彼岸

    View Slide

  90. 開発者と
    顧客

    View Slide

  91. 技術と
    ビジネス

    View Slide

  92. 現場と
    経営

    View Slide

  93. 作り手と
    使い手

    View Slide

  94. 映画『ダーククリスタル』1982,1983

    View Slide

  95. 映画『ダーククリスタル』1982,1983

    View Slide

  96. 裂け目を癒やす
    試み

    View Slide

  97. わたしが
    元の姿に戻る
    試み

    View Slide

  98. View Slide

  99. View Slide

  100. Happy! Lucky! XP!

    View Slide

  101. 仕事を憎んでいるほど
    人生は長くない
    ― 詠み人知らず
    『Joel on Software』 2005
    Joel Spolsky(著),青木 靖(訳)
    オーム社

    View Slide