The way to the timeless way of programming

6,542 views
6,482 views

Published on

Published in: Technology
2 Comments
16 Likes
Statistics
Notes
  • here's the latest link: https://speakerdeck.com/kakutani/the-way-to-the-timeless-way-of-programming
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I also uploaded to http://speakerdeck.com/u/kakutani/p/the-way-to-the-timeless-way-of-programming (recommended).
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
6,542
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
305
Comments
2
Likes
16
Embeds 0
No embeds

No notes for slide

The way to the timeless way of programming

  1. 1. 角谷 信太郎 KAKUTANI Shintaro; Nihon Ruby-no-kai; Eiwa System Management,Inc. 日本Rubyの会 (株)永和システムマネジメント s-kakutani@esm.co.jp Developers Summit 2009 【12-A-3】; 2009-02-12(Thu) 時を超えた プログラミング の道への道 The way to the timeless way of programming
  2. 2. みなさん こんにちは!
  3. 3. 角谷信太郎 kakutani.com KAKUTANI Shintaro
  4. 4. 警告
  5. 5. Picture by Łukasz Strachanowski: http://flickr.com/photos/myvector/2220511300/ 電波
  6. 6. 開発者 向け
  7. 7. 角谷信太郎 ✓ (株)永和システムマネジメント ✓ サービスプロバイディング事業部 チーフプログラマ ✓ デブサミ2009コンテンツ委員 ✓ 日本Rubyの会理事 ✓ 技術書籍の翻訳・監訳
  8. 8. pragprog.com
  9. 9. オライリー・ ジャパン オーム社
  10. 10. 新刊
  11. 11. 毎 日 コ ミ ュ ニ ケーションズ
  12. 12. 訳者サイン会やります! ✓ 本日(2/12) ✓ 16:15∼16:35(休憩時間) ✓ 明日(2/13) ✓ 12:20∼12:50(昼休み) ✓ 場所: オブジェクト倶楽部 広告
  13. 13. 当初
  14. 14. こ の セ ッ シ ョ ン で は 『アジャイルな見積り と計画づくり』に書か れていることと、書か れていないことを紹介 してアジャイルへの誤 解を解くつもりでした
  15. 15. ✓ 計画しない ✓ 設計しない ✓ いきなりプログラミング ✓ ドキュメント書かない ✓ などなど よくあるアジャイルへの誤解
  16. 16. You know? I just do things.
  17. 17. ところが同書の訳者あ とがきを書きあげてみ たら、むしろあとがき に書かなかったことを 話したほうが良さそう
  18. 18. Photo by Improve It: http://www.flickr.com/photos/improveit/1574023621/ Kent Beck
  19. 19. 本文1行目
  20. 20. Extreme Programming(XP) is about social change. XPとは「社会」の変化のことである。
  21. 21. 「社会」とカッコ付きな理由 ✓ 個人の世界認識 ✓ 人と人との関係のあり方 ✓ チームや組織のあり方 ✓ 経済、政治、文化
  22. 22. Extreme Programming(XP) is about social change. XPとは「社会」の変化のことである。
  23. 23. 角谷 信太郎 KAKUTANI Shintaro; Nihon Ruby-no-kai; Eiwa System Management,Inc. 日本Rubyの会 (株)永和システムマネジメント s-kakutani@esm.co.jp Developers Summit 2009 【12-A-3】; 2009-02-12(Thu) 時を超えた プログラミング の道への道 The way to the timeless way of programming
  24. 24. 提 供 翔泳社 質の高いコンテンツを集積させ、新しい出版ビジネスへ つなぐ、つながる、そして未来へ
  25. 25. 提 供 情報化技術を通じて社会と共生する
  26. 26. 角谷信太郎 kakutani.com KAKUTANI Shintaro
  27. 27. よろしく お願いします
  28. 28. XP(アジャイル)とは ✓ 投資効果のある、 ✓ ちゃんと動くソフトウェアを、 ✓ 期待される期間内に提供し、 ✓ それを維持・変更し続けられる ✓ ソフトウェアは、人が人のためにつ くっていることを知っている
  29. 29. XP(アジャイル)は ✓ 一部の優秀な開発者のた めのものではない ✓ ハッカーにXPは不要かも? ✓ 誠実なプロフェッショナ ルであるふつうの人達用
  30. 30. よげんの書
  31. 31. 私が『ビューティフル・コード』 を重要だと思う3つの理由 ✓ 美しい コード ✓ Matz, そしてRuby ✓ 竹内預言
  32. 32. 竹内預言
  33. 33. プログラムを書いたことのない システムエンジニアが威張って いるような会社は早晩亡びる。 竹内郁雄「推薦のことば」(『ビューティフル・コード』)
  34. 34. プログラムを 書いたことの ないシステム エンジニアが
  35. 35. 威張っている ような会社は
  36. 36. 早晩 亡びる
  37. 37. 亡びる
  38. 38. どう亡びると か、亡びた後 にどうなると かいった話は
  39. 39. アルファブロ ガーの皆さん にお任せして
  40. 40. 亡びを免れるために は 時を超えたプログ ラミングの道 を見出 さねばならない
  41. 41. 時を超えた プログラミ ングの道
  42. 42. 第23章
  43. 43. Chapter23: The Timeless way of Programming 第23章:時を超えたプログラミングの道
  44. 44. チームが技術とビジネスの関 心事項の調和を日常的に取れ るようにすることだ。 調和とバランスがXPの目的 である。 ケント・ベック『XPエクストリーム・プログラミング入門』第2版
  45. 45. ソフトウェアでは、新たな社 会構造を作る機会がある。 ケント・ベック『XPエクストリーム・プログラミング入門』第2版
  46. 46. チーム間の権力と責任の適切 な共有は、非現実的に思える かもしれない。 ケント・ベック『XPエクストリーム・プログラミング入門』第2版
  47. 47. バランスには、相互尊重が不 可欠である。絶対的な権力は 存在しない。 ケント・ベック『XPエクストリーム・プログラミング入門』第2版
  48. 48. 時を超えた プログラミ ングの道
  49. 49.
  50. 50. 道 ✓ road - 通り道 ✓ way - やり方 ✓ tao -「道」
  51. 51. 道 - 陰陽 - ダイナミズム ✓ 陰中陽あり、陽中陰あり ✓ 単なる二元論ではない ✓ ふたつの要素の活動 ✓ 竹内預言とTAO
  52. 52. The Art Of Agile Development (TAO-AD)
  53. 53. テクノロジ ビジネス
  54. 54. オ ー ム 社
  55. 55. ライフ ワーク
  56. 56. 技芸 工学
  57. 57. コンピュータ 人間
  58. 58. ドキュメント コード
  59. 59. 設計 テスト
  60. 60. The Matrix is everywhere.
  61. 61. 時を超えた プログラミ ングの道
  62. 62. 元ネタ
  63. 63. Christopher Alexander
  64. 64. アレグザンダーの建築理論 ✓ パターン・ランゲージに よる住まいづくり ✓ 設計と施工の一体化 ✓ 利用者が建築プロセスに 参加する(施工も!)
  65. 65. 人の顔に浮かぶ『笑み』のよ うな建物が建てたいのです。 『クリストファー・アレグザンダー 建築の新しいパラダイムを求めて』
  66. 66. Photo by MorBCN: http://flickr.com/photos/bcnbits/143033314/in/set-72057594109276886/ Venice
  67. 67. Photo by Claudio.Ar - Hermes BACK!!!!: http://flickr.com/photos/claudio_ar/2644023246/ Amsterdam
  68. 68. 何 百 年 に も わ た っ て 育 ま れ て き た 、 い き い き と し た 建 物 や 町 を 現 代 の 建 築 家 が 生 成 で き る よ う に す る に は ?
  69. 69. 時を超えた 建設の道と XPの関係
  70. 70. http://kakutani.com/20071222.html
  71. 71. http://www.objectclub.jp/community/XP-jp/xp_relate/xp_patterns-j
  72. 72. K e n t は , X P を マ ー ケ テ ィ ン グ す る 際 , . . . X P に つ い て . . . 書 い た も の に は,Chistopher Alexander が出て来な い...Alexanderの考えは彼ら(ソフトウェア開 発者)に理解しにくく,Alexanderをこの議論 に持ち込むと...ソフトウェア開発の話題から逸 れて行ってしまうからです.Kentは,みんなに 「ソフトウェア」を考えて欲しかったのでしょ う.Alexanderについて知りたい人は...どち らにしてもそこに行きつくだろうと彼は考えま した....XPは...Alexanderのアイディアを基 礎にしていることは間違いありません.
  73. 73. 公然の秘密
  74. 74. XPは...Alexander のアイディアを基礎 にしている。
  75. 75. 実際に何冊 か通読して みたら、
  76. 76. XPは...Alexander のアイディアを基礎 にしている。
  77. 77. その程度の 言い回しでは 生ぬるい!!!!!
  78. 78. 目次『オレゴン大学の実験』 I. 有機的秩序 II. 参加 III.漸進的成長 IV.パターン V.診断 VI.調整
  79. 79. どうみても XPです
  80. 80. XPはアレグザンダー がやろうとしたこと を そ の ま ま ソ フ ト ウェアでやろうとし ているのだ!!!!!!!!!!!!
  81. 81. eXtreme Programming EXPLAINED!
  82. 82. アレグザンダーの建築理論 ✓ パターン・ランゲージに よる住まいづくり ✓ 設計と施工の一体化 ✓ 利用者が建築プロセスに 参加する(施工も!)
  83. 83. ✓ パターン ✓ 事物ではなく、繰り返し起 こる出来事や関係に名前を つけたもの ✓ 砂漠の風紋、湖沼のひび割れ ✓ 人工世界の原子である パターンランゲージ
  84. 84. ✓ ランゲージ ✓ パターンが「単語」なら、 ランゲージは「文法」 ✓ 文法にしたがって単語を組 み合わせると無限の意味が! ✓ 有機的 パターンランゲージ
  85. 85. 生きている花をつくろうとす れば、ピンセットで細胞を一つ 一つ物理的に組み立てるのでは なく種から育てるであろう。 クリストファー・アレグザンダー『時を超えた建設の道』
  86. 86. プロセス
  87. 87. ✓分割 - 合成 ✓部分 - 組立 ✓全体 - 分化 ✓ 細胞分裂のように! プロセス(つくること)
  88. 88. Photo by Automania: http://flickr.com/photos/automania/97936640/
  89. 89. すべ て の 蜘 蛛 の 巣 は ユ ニ ー ク だ が ひ と つ の プ ロ セ ス に 従 って る
  90. 90. X P は パ タ ー ンランゲージ
  91. 91. X P の プ ラ ク ティスの数
  92. 92. 37
  93. 93. 1.ペアプログラミング 2.活き活きとした仕事 3.情報満載の仕事場 4.根本原因分析 5.ふりかえり 6.信頼 7.全員同席 8.真の顧客の参加 9.ユビキタス言語 10. スタンドアップ ミーティング 11.コーディング標準 12.イテレーションデモ 13.報告 14.「完全Done」 15. バグなし 16. バージョン管理 17. 10分ビルド 18. 継続的インテグ レーション 19. コードの共同所有 20. ドキュメント 21. ビジョン 22. リリース計画 23. 計画ゲーム 24. リスク管理 25. イテレーション管理 26.ゆとり 27.ストーリー 28.見積り 29. インクリメンタルな 要件 30.顧客テスト 31.テスト駆動開発 32.リファクタリング 33.シンプルな設計 34.インクリメンタルな 設計とアーキテクチャ 35.スパイク ソリューション 36.パフォーマンスの 最適化 37.探索的テスト
  94. 94. ビジョン
  95. 95. ビジョン 真の顧客の参加 ストーリー
  96. 96. ビジョン 真の顧客の参加 ストーリー リリース計画
  97. 97. ビジョン 真の顧客の参加 ストーリー 見積り 全員同席 リリース計画
  98. 98. ビジョン 真の顧客の参加 ストーリー 見積り 信頼 全員同席 リリース計画
  99. 99. ビジョン 真の顧客の参加 ストーリー 見積り 信頼 全員同席 リリース計画
  100. 100.
  101. 101. …への道
  102. 102. ...その道は絵画そのものの本 質と不可分なので、つねに発 見と再発見がくり返され、絵 画に真剣に取り組む者なら必 ずたどり着く道なのである。 クリストファー・アレグザンダー『時を超えた建設の道』
  103. 103. ✓ 平鍋健児 ✓ 羽生田栄一 ✓ 山田正樹 ✓ ... 真剣に取り組む者なら必ず たどり着く道である。 ✓ 小井土亨 ✓ 福井厚 ✓ 石井勝 ✓ ...
  104. 104. masarl予想
  105. 105. http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/org-process-pattern.html
  106. 106. これからは,ある程度確立され たオブジェクト指向の開発プロ セスをパターン・ランゲージの 形 式 で 表 わ し , プ ロ セ ス ・ パ ターンとして書き直すという論 文がどんどん出てくるかもしれ ません. 石井勝「組織パターンとプロセスパターン」
  107. 107. ご く 一 部 を 除 い て 最 近 あ ん ま り 話 を 聞 か なくなった
  108. 108. この道への道はどうなの? 1.麻疹とか中二病 2.道が間違ってる 3.道に迷ってる
  109. 109. アレグザンダーは失敗した ✓ 社会的に ✓ 経済的に ✓ 政治的に ✓ 技術的に
  110. 110. プログラムは建物ではなく、 ソフトウェア開発は建築施工 ではない。 ケント・ベック『XPエクストリーム・プログラミング入門』第2版
  111. 111. その後の ア レ グ ザ ン ダー の仕事
  112. 112. Nature of Order ✓ 「秩序の本質」 ✓ 生命 は度合いである ✓ 全体性 の構造 ✓ 全体 - 分化のプロセス
  113. 113. http://users.rcn.com/jcoplien/Nippon/NatureOfOrder/NoNoO_jpn.html
  114. 114. ソフトウェアパターンのムーヴメントは, いまだ幼年期にあると言ってよいだろう. (我々はいまだパターンやパターンランゲー ジを書くのに問題を抱えている.) そして,産業レベルでの準備が整うまで, 今後 20年,30年は汗水をたらして,ソフ トウェアパターンとパターンランゲージの 開拓に努めることになるかもしれない.
  115. 115. ちょっとだけ 現実に戻ろうか…
  116. 116. 1章 ビジネスソフトウェ アの「ラストマイル」 を解決する Roy Singham
  117. 117. 対象システム 本番環境 開発 既存 システム ビジネス要求 ビジネス価値 外部制約 (法,規制...) エンド ツー エンド
  118. 118. 対象システム 本番環境 開発 既存 システム ビジネス要求 ビジネス価値 外部制約 (法,規制...) エンド ツー エンド アジャイル
  119. 119. 対象システム 本番環境 開発 既存 システム ビジネス要求 ビジネス価値 外部制約 (法,規制...) 全体 エンド ツー エンド
  120. 120. オ ー ム 社
  121. 121. つまり
  122. 122. 宇宙、人生、 すべての答え
  123. 123. 答 え は 4 2 だ が、質問は失 われている
  124. 124. X P は 質 問 で ある
  125. 125. 問い続けよう。 開発者として。 亡びを免れて生 き続けるために
  126. 126. Chapter23: The Timeless way of Programming 第23章:時を超えたプログラミングの道
  127. 127. ツールと技術は頻繁に変わる が、大幅に変わることはな い。しかし、人はゆっくりだ が深く変わっていく。 ケント・ベック『XPエクストリーム・プログラミング入門』第2版
  128. 128. XPの課題は、ソフトウェア が今後50年間重要な産業で あり続けられるように、深い 変化を奨励し、個人の価値と 相互の信頼関係を新たにする ことだ。 ケント・ベック『XPエクストリーム・プログラミング入門』第2版
  129. 129. 人間の精神の可能性を解放す ることが、まだ想像できない コンピュータの将来へとつな がるのだ。 ケント・ベック『XPエクストリーム・プログラミング入門』第2版
  130. 130. 本文1行目
  131. 131. Extreme Programming(XP) is about social change. XPとは「社会」の変化のことである。
  132. 132. 皆 さ ん に 、 私 が も ら っ た 大 切 な 言 葉 を あ げ ま す。
  133. 133. Social Change starts with you. 「社会」の変化の始まりはあなたからだ。
  134. 134. ご清聴ありがとうございました

×