For Nature Of Software Develoment

103
角谷 信太郎 KAKUTANI Shintaro; Nihon Ruby-no-kai; Eiwa System Management,Inc. 日本Rubyの会 (株)永和システムマネジメント [email protected] DevLOVE2009 Fusion;Oracle青山センター; 2009-12-12(Sat) Nature of Software Developmentの ために For Nature of Software Development 20091212日土曜日

description

 

Transcript of For Nature Of Software Develoment

Page 1: For Nature Of Software Develoment

角谷 信太郎KAKUTANI Shintaro; Nihon Ruby-no-kai; Eiwa System Management,Inc.

日本Rubyの会(株)永和システムマネジメント [email protected]

DevLOVE2009 Fusion;Oracle青山センター; 2009-12-12(Sat)

Nature ofSoftware DevelopmentのためにFor Nature of Software Development

2009年12月12日土曜日

Page 2: For Nature Of Software Develoment

角谷信太郎kakutani.comKAKUTANI Shintaro

2009年12月12日土曜日

Page 3: For Nature Of Software Develoment

角谷 信太郎✓ 日本Rubyの会理事✓ RubyKaigi✓ Regional RubyKaigi✓ アジャイル関連技術書翻訳

2009年12月12日土曜日

Page 4: For Nature Of Software Develoment

2009年12月12日土曜日

Page 5: For Nature Of Software Develoment

提 供

情報化技術を通じて社会と共生する

2009年12月12日土曜日

Page 6: For Nature Of Software Develoment

今日、伝えたいこと

2009年12月12日土曜日

Page 7: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222009年12月12日土曜日

Page 8: For Nature Of Software Develoment

竹内郁雄「推薦のことば」(『ビューティフル・コード』)

“プログラムを書いたことのないシステムエンジニアが威張っているような会社は早晩亡びる。

2009年12月12日土曜日

Page 9: For Nature Of Software Develoment

“With great power comes great responsibility.

2009年12月12日土曜日

Page 10: For Nature Of Software Develoment

GOT TO GET A GRIP!2009年12月12日土曜日

Page 11: For Nature Of Software Develoment

今日、お話しすること

2009年12月12日土曜日

Page 12: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/487311392X/kakutani-222009年12月12日土曜日

Page 13: For Nature Of Software Develoment

ソフトウェアづくり✓実行主体✓ ひと

✓プロセス✓ 「実行すること」の連続

✓アクティビティ✓ 話す、聞く、立つ、座る、歩く、考える、書く、

描く、キーボードを打つ...2009年12月12日土曜日

Page 14: For Nature Of Software Develoment

プロセス、すなわち実行することと、その実行主体 (つまり人 )は既に遍在し実践され続けている。

2009年12月12日土曜日

Page 15: For Nature Of Software Develoment

つまり“プロセス”とはソフトウェアをつくっている活動そのもの、すなわちソフトウェアづくりである。

2009年12月12日土曜日

Page 16: For Nature Of Software Develoment

Being Agilehttp://pm.versionone.com/AgilePoster.html

2009年12月12日土曜日

Page 17: For Nature Of Software Develoment

Ruby

2009年12月12日土曜日

Page 18: For Nature Of Software Develoment

よろしくお願いします

2009年12月12日土曜日

Page 19: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4774138975/kakutani-222009年12月12日土曜日

Page 20: For Nature Of Software Develoment

http://www.slideshare.net/kakutani/way-to-timeless-way-of-programming2009年12月12日土曜日

Page 21: For Nature Of Software Develoment

Christopher Alexander2009年12月12日土曜日

Page 22: For Nature Of Software Develoment

http://kakutani.com/20090218.html

The Nature of Order2009年12月12日土曜日

Page 23: For Nature Of Software Develoment

価値宇宙の森羅万象即ち生命にあらわれるいきいきとした秩序の幾何学的特性とそれを生み出すプロセスについて

2009年12月12日土曜日

Page 24: For Nature Of Software Develoment

宣伝2009年12月12日土曜日

Page 25: For Nature Of Software Develoment

http://d.hatena.ne.jp/objectclub/20091204/1259918634

オブジェクト倶楽部アレグザンダー祭り✓ 2010.01.15(Fri)

✓ 国立オリンピックセンター✓ Jim Coplien, 中埜博ほか✓ 参加費: 8,000円(税込)

2009年12月12日土曜日

Page 26: For Nature Of Software Develoment

The Nature of Order✓ Life is degree✓構造:15の幾何学的特性✓プロセス:構造保存変換✓ Structure Preserving Transformation✓ Wholeness Extending Transformation

2009年12月12日土曜日

Page 27: For Nature Of Software Develoment

M83: The Thousand Ruby Galaxyhttp://apod.nasa.gov/apod/ap080927.html2009年12月12日土曜日

Page 28: For Nature Of Software Develoment

構造保存変換

✓ Step-by-Step Adaptation

✓ Feedback & Correction

✓ Unpredictability

✓ Awareness of the Whole

2009年12月12日土曜日

Page 29: For Nature Of Software Develoment

Being Agilehttp://pm.versionone.com/AgilePoster.html

2009年12月12日土曜日

Page 30: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4774138975/kakutani-222009年12月12日土曜日

Page 31: For Nature Of Software Develoment

The Nature ofSoftware

2009年12月12日土曜日

Page 32: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222009年12月12日土曜日

Page 33: For Nature Of Software Develoment

Nature of Software1.人とソフトウェアのあいだに価値がある

2.“システム”全体を構成する3.変更に対応できることが求められている

2009年12月12日土曜日

Page 34: For Nature Of Software Develoment

Nature of Software1.人がソフトウェアを使ってみないとわからない

2.ハード,ソフト,文書,運用3.育てることと技術的負債

2009年12月12日土曜日

Page 35: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4048676881/kakutani-222009年12月12日土曜日

Page 36: For Nature Of Software Develoment

プログラミング✓スキルを備えた人の営み✓世界観を構築し、世界をつくりだす

✓文字列を並べるだけの簡単なお仕事ではない

2009年12月12日土曜日

Page 37: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4048676881/kakutani-222009年12月12日土曜日

Page 38: For Nature Of Software Develoment

付録B:Naur,Ehn,武蔵

2009年12月12日土曜日

Page 39: For Nature Of Software Develoment

“Programming as Theory Building” -- Peter Naur

2009年12月12日土曜日

Page 40: For Nature Of Software Develoment

プログラミングとは、プログラマが直面している問題に対するある種の見方、つまり理論を形成または構築するようなアクティビティであると適切に見なされるべきである、と提案する。この提案は、プログラミングとはプログラムなどのテキストを産み出すことである、という一般的な考え方とは対照的である。

2009年12月12日土曜日

Page 41: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222009年12月12日土曜日

Page 42: For Nature Of Software Develoment

コードにしたものとコードにしなかったことがプログラミング

2009年12月12日土曜日

Page 43: For Nature Of Software Develoment

私は受託開発、即ち経済的環境圧による人工的なソフトウェアづくりを生業にしているのだけれど、ソフトウェアを含む価値宇宙において“自然”にソフトウェアは存在するのだろうか?

2009年12月12日土曜日

Page 44: For Nature Of Software Develoment

“自然な”ソフトウェア開発✓ Free/Open Source

Software

✓ Bazaar Style Dev.

✓ Hackers

✓ Culture & Ihneritance2009年12月12日土曜日

Page 45: For Nature Of Software Develoment

Ruby

2009年12月12日土曜日

Page 46: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4798023809/kakutani-222009年12月12日土曜日

Page 47: For Nature Of Software Develoment

The Nature ofSoftware Development

2009年12月12日土曜日

Page 48: For Nature Of Software Develoment

The Nature of Order✓ Life is degree✓構造:15の幾何学的特性✓プロセス:構造保存変換✓ Structure Preserving Transformation✓ Wholeness Extending Transformation

2009年12月12日土曜日

Page 49: For Nature Of Software Develoment

構造保存変換

✓ Step-by-Step Adaptation

✓ Feedback & Correction

✓ Unpredictability

✓ Awareness of the Whole

2009年12月12日土曜日

Page 50: For Nature Of Software Develoment

Being Agilehttp://pm.versionone.com/AgilePoster.html

2009年12月12日土曜日

Page 51: For Nature Of Software Develoment

開発がアジャイルであるということは自然なソフトウェアづくりにどれだけ近付いているかの度合い

2009年12月12日土曜日

Page 52: For Nature Of Software Develoment

2009年12月12日土曜日

Page 53: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4274066940/kakutani-222009年12月12日土曜日

Page 54: For Nature Of Software Develoment

オーム社2009年12月12日土曜日

Page 55: For Nature Of Software Develoment

2009年12月12日土曜日

Page 56: For Nature Of Software Develoment

http://gihyo.jp/dev/serial/01/agile

2009年12月12日土曜日

Page 57: For Nature Of Software Develoment

2009年12月12日土曜日

Page 58: For Nature Of Software Develoment

“アジャイル”とはプロセスがどれだけいきいきしているかを示す度合いである。

“Agile” is degree.ー Kakutani Shintaro

2009年12月12日土曜日

Page 59: For Nature Of Software Develoment

このスライドの英語がおかしいのはネタ(さもAgileというものが“存在”しているかのように扱われていることへの揶揄)だったのだけれど、誤解を招いてしまった事実があるので、ここにつつしんで訂正いたします ><

2009年12月12日土曜日

Page 60: For Nature Of Software Develoment

“アジャイルさ”とはプロセスがどれだけいきいきしているかを示す度合いである。

“Agility” is degree.ー Kakutani Shintaro

2009年12月12日土曜日

Page 61: For Nature Of Software Develoment

アジャイルなプロセス✓ プロセス、つまり私たちの“ソフトウェアづくり”の過程がアジャイルであることの度合いを言っている(形容詞)

✓ “アジャイルプロセス”というモノは無い (名詞)

2009年12月12日土曜日

Page 62: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222009年12月12日土曜日

Page 63: For Nature Of Software Develoment

XPのプラクティスの数

2009年12月12日土曜日

Page 64: For Nature Of Software Develoment

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.探索的テスト

2009年12月12日土曜日

Page 65: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/487311392X/kakutani-222009年12月12日土曜日

Page 66: For Nature Of Software Develoment

『Head First ソフトウェア開発』

“プロセスとは、どのような図、文書、テストを実行すべきかに関する形式的な一連の規則というよりも…実は実行すべきことや実行すべきときを表すものにすぎないのです。また、頭文字も必要ありません…適切に機能すればよいのです。

2009年12月12日土曜日

Page 67: For Nature Of Software Develoment

『Head First ソフトウェア開発』

“自分のチームと自分のプロジェクトに役立つプロセスを選び…そのプロセスが生み出した成果物を自分の顧客の要望に合うように調整します。

2009年12月12日土曜日

Page 68: For Nature Of Software Develoment

コードがソフトウェアの中心なのであれば、プログラマがコードを書くのに選ぶ言語も重要なはず

2009年12月12日土曜日

Page 69: For Nature Of Software Develoment

Ruby

2009年12月12日土曜日

Page 70: For Nature Of Software Develoment

Martin Fowlersays:

2009年12月12日土曜日

Page 71: For Nature Of Software Develoment

Ward(Cunningham)、Kent(Beck)、それから、キレイなコード、うまく整理されたオブジェクト指向設計、そして、テストしやすさについて提唱してきたすべての人たちの価値が…Ruby界では…『正統』(orthodoxy)になっている。http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RailsConf2007

2009年12月12日土曜日

Page 72: For Nature Of Software Develoment

正統2009年12月12日土曜日

Page 73: For Nature Of Software Develoment

Ward Cunningham2009年12月12日土曜日

Page 74: For Nature Of Software Develoment

Photo by Improve It:http://www.flickr.com/photos/improveit/1574023621/

Kent Beck

2009年12月12日土曜日

Page 75: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4797347783/kakutani-222009年12月12日土曜日

Page 76: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4048676881/kakutani-222009年12月12日土曜日

Page 77: For Nature Of Software Develoment

2009年12月12日土曜日

Page 78: For Nature Of Software Develoment

Ward(Cunningham)、Kent(Beck)、それから、キレイなコード、うまく整理されたオブジェクト指向設計、そして、テストしやすさについて提唱してきたすべての人たちの価値が…Ruby界では…『正統』(orthodoxy)になっている。http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RailsConf2007

2009年12月12日土曜日

Page 79: For Nature Of Software Develoment

http://www.ruby-lang.org/ja/2009年12月12日土曜日

Page 80: For Nature Of Software Develoment

“Rubyをキメると気持ちイイまつもとゆきひろ - RubyKaigi2008

2009年12月12日土曜日

Page 81: For Nature Of Software Develoment

2009年12月12日土曜日

Page 82: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4798023809/kakutani-222009年12月12日土曜日

Page 83: For Nature Of Software Develoment

ーー a_matsuda (Asakus.rb)

“『入門Git』の書名は『The Git Way』であるべき

2009年12月12日土曜日

Page 84: For Nature Of Software Develoment

“The Git Way”の白眉✓ワークフローのためにツールがある

✓ “Linus君の究極のコンテンツトラッキング”✓ パッチベースのワークフロー

✓目にみえる手段の背後にある考えかたの重要性

2009年12月12日土曜日

Page 85: For Nature Of Software Develoment

http://www.imgspark.com/image/view/all/230089/2009年12月12日土曜日

Page 86: For Nature Of Software Develoment

“ホモ・サピエンスはパターン認識生物だ、とパーカーボーイはいう。それは才能でもあり、罠でもある。ーーウィリアム・ギブスン『パターン・リコグニション』

2009年12月12日土曜日

Page 87: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/427406767X/kakutani-222009年12月12日土曜日

Page 88: For Nature Of Software Develoment

オーム社2009年12月12日土曜日

Page 89: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4839924023/kakutani-222009年12月12日土曜日

Page 90: For Nature Of Software Develoment

http://steps.dodgson.org/?date=200910182009年12月12日土曜日

Page 91: For Nature Of Software Develoment

“With great power comes great responsibility.

2009年12月12日土曜日

Page 92: For Nature Of Software Develoment

ハッカーならぬプログラマが身につけるべきスキル

2009年12月12日土曜日

Page 93: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/0321509366/kakutani-222009年12月12日土曜日

Page 94: For Nature Of Software Develoment

Taken from t-wadahttp://www.slideshare.net/t_wada/emergent-design-oblove-2009-summer2009年12月12日土曜日

Page 95: For Nature Of Software Develoment

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222009年12月12日土曜日

Page 96: For Nature Of Software Develoment

竹内郁雄「推薦のことば」(『ビューティフル・コード』)

“プログラムを書いたことのないシステムエンジニアが威張っているような会社は早晩亡びる。

2009年12月12日土曜日

Page 97: For Nature Of Software Develoment

http://www.imgspark.com/image/view/all/230089/2009年12月12日土曜日

Page 98: For Nature Of Software Develoment

“ホモ・サピエンスはパターン認識生物だ、とパーカーボーイはいう。それは才能でもあり、罠でもある。ーーウィリアム・ギブスン『パターン・リコグニション』

2009年12月12日土曜日

Page 99: For Nature Of Software Develoment

“With great power comes great responsibility.

2009年12月12日土曜日

Page 100: For Nature Of Software Develoment

GOT TO GET A GRIP!2009年12月12日土曜日

Page 101: For Nature Of Software Develoment

宣伝2009年12月12日土曜日

Page 102: For Nature Of Software Develoment

http://d.hatena.ne.jp/objectclub/20091204/1259918634

オブジェクト倶楽部アレグザンダー祭り✓ 2010.01.15(Fri)

✓ 国立オリンピックセンター✓ Jim Coplien, 中埜博ほか✓ 参加費: 8,000円(税込)

2009年12月12日土曜日

Page 103: For Nature Of Software Develoment

M83: The Thousand Ruby Galaxyhttp://apod.nasa.gov/apod/ap080927.html

ご清聴ありがとうございました

2009年12月12日土曜日