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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. わたし
    コード

    View full-size slide

  17. わたし
    コード
    テスト

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  32. ところで

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  35. アイデンティティがある
    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 full-size slide

  36. 関係がある
    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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  48. わたし
    右手

    View full-size slide

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

    View full-size slide

  50. わたし
    自転車

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  53. 広がり続ける
    関係性

    View full-size slide

  54. responsibility

    View full-size slide

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

    View full-size slide

  56. わたし

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

    View full-size slide

  57. わたし

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

    View full-size slide

  58. わたし

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

    View full-size slide


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

    View full-size slide


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

    View full-size slide


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

    View full-size slide


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

    View full-size slide

  63. 広がり続ける
    関係性

    View full-size slide

  64. 揺らぐ
    わたしの境界

    View full-size slide

  65. カルカソンヌ

    View full-size slide

  66. 広がり続ける
    世界

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  69. わたしの思う
    XP

    View full-size slide

  70. ※ポエムです

    View full-size slide

  71. 裂け目を癒やす
    試み

    View full-size slide

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

    View full-size slide

  73. こちら側と
    あちら側

    View full-size slide

  74. 此岸と
    彼岸

    View full-size slide

  75. 開発者と
    顧客

    View full-size slide

  76. 技術と
    ビジネス

    View full-size slide

  77. 現場と
    経営

    View full-size slide

  78. 作り手と
    使い手

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  81. 裂け目を癒やす
    試み

    View full-size slide

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

    View full-size slide

  83. Happy! Lucky! XP!

    View full-size slide

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

    View full-size slide