20100226 jim coplien said you should foster generative scheme in your system

105
しまだ こうじ SHIMADA Koji 日本Rubyの会 Ruby札幌 Jim Coplien said you should foster generative scheme in your system. 2010-02-26 Ruby Sapporo Night vol.13 アップルストア札幌 パターン から 東方の リーン そして 西方の 真のオブジェクト から学んだことを 北で 201031日月曜日

Upload: koji-shimada

Post on 15-Jan-2015

2.325 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

しまだ こうじSHIMADA Koji

日本Rubyの会Ruby札幌

Jim Coplien said you should foster generative scheme in your system.2010-02-26 Ruby Sapporo Night vol.13アップルストア札幌

パターンから東方のリーンそして西方の真のオブジェクトへから学んだことを北で

2010年3月1日月曜日

Page 2: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

意味があると感じる方向に進むと良いと思う

- Shintaro KAKUTANI

2010年3月1日月曜日

Page 3: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

提供

Ruby札幌From Sapporo, with Love for Ruby.

2010年3月1日月曜日

Page 4: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

しまだ こうじ島田 浩二

Photo by tmaeda

2010年3月1日月曜日

Page 5: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Sapporo is a beautiful provincial city of Japan.

Photo by enggul

2010年3月1日月曜日

Page 6: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 7: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 8: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Our Base

2010年3月1日月曜日

Page 9: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Our Dream2010年3月1日月曜日

Page 10: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

from Sapporo,with Love for Ruby

Photo by darashi

2010年3月1日月曜日

Page 11: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

日本Rubyの会2010年3月1日月曜日

Page 12: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

一般社団法人 LOCAL

2010年3月1日月曜日

Page 13: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 14: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 15: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

e "rst editionstill in store.

2010年3月1日月曜日

Page 16: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

よろしくお願いします

2010年3月1日月曜日

Page 17: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

http://www.amazon.co.jp/exec/obidos/ASIN/4873114381/butitsuptoust-22

広告

2010年3月1日月曜日

Page 18: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

今日のお話

2010年3月1日月曜日

Page 19: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

道2010年3月1日月曜日

Page 20: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

人の活動を支え動作しつづけるきれいなコードのために私たちが出来ることを探す

島田 浩二[email protected]

— Where e Street Has No Name.

2010年2月13日(土) LOCAL DEVELOPER Day’10 Winter

2010年3月1日月曜日

Page 21: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 22: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 23: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

A Handbook of Agile Software Craftsmanship

2010年3月1日月曜日

Page 24: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

第1部2010年3月1日月曜日

Page 25: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Welcome to The Desert

of The Real

現実世界の砂漠で

2010年3月1日月曜日

Page 26: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

前回のRSN

2010年3月1日月曜日

Page 27: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 28: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 29: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 30: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

現実の世界

2010年3月1日月曜日

Page 31: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

✓ 開発の現場✓ 運用の現場✓ コードベース✓ 顧客

痛みに充ち満ちている

2010年3月1日月曜日

Page 32: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

✓ ほとんどの障害が開発者の関与を必要とする✓ 開発チームと保守チームの関係が冷ややか✓ 保守チームが新しいアプリケーションを嫌がる✓ アーキテクトと開発チームが本番システムで多くの時間を費やしている

✓ 問題解決の手段としてアプリケーションが頻繁にリスタートされる

✓ システム管理者がトラブルに追われ、システムのチューニングに時間を使えない

危険な匂い

『97 Things Every Software Architect Should Know』2010年3月1日月曜日

Page 33: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Welcome to The Desert

of The Realhttp://www.slideshare.net/kakutani/welcome-to-the-desert-of-the-real

2010年3月1日月曜日

Page 34: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Welcome to The Desert

of The Real

ビジネスとしてソフトウェアづくりに関わるにあたって本当にそれだけで十分なのか?本当に?

2010年3月1日月曜日

Page 35: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

現実の世界

2010年3月1日月曜日

Page 36: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

✓ 予算✓ 時間✓ メンタル✓ 情熱、余裕、心

全てのリソースは限られている

2010年3月1日月曜日

Page 37: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

いち開発者である自分には企業資産(つまりコードベース全体)の価値を低下させるような権限はない

- Shintaro KAKUTANI

2010年3月1日月曜日

Page 38: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Yes, the world is crazy.

http://www.slideshare.net/kakutani/welcome-to-the-desert-of-the-real

2010年3月1日月曜日

Page 39: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Welcome to The Desert

of The Real

どうしたらよいか全く分からない

2010年3月1日月曜日

Page 40: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

第2部2010年3月1日月曜日

Page 41: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

しまだ こうじSHIMADA Koji

日本Rubyの会Ruby札幌

Jim Coplien said you should foster generative scheme in your system.2010-02-26 Ruby Sapporo Night vol.13アップルストア札幌

パターンから東方のリーンそして西方の真のオブジェクトへから学んだことを北で

2010年3月1日月曜日

Page 42: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

http://www.objectclub.jp/event/2010alexander/

1月15日東京オリンピックセンター

2010年3月1日月曜日

Page 43: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

オブジェクト倶楽部 アレグザンダー祭 2010-01-15

James O. CoplienScrum Training Institute

Gertrud & Cope

[email protected]

From Patterns:Eastward to Lean,

Westward to true objects

http://www.objectclub.jp/event/2010alexander/James.O.Coplien

2010年3月1日月曜日

Page 44: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

http://www.objectclub.jp/event/2010alexander/

James O. CoplienScrum Training Institute

Gertrud & [email protected]

From Patterns:Eastward to Lean,

Westward to true objects

2010年3月1日月曜日

Page 45: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

まとめ

• パターンとTPS• アジャイルとリーン• 失われた価値• リーンアーキテクチャとDCI

2010年3月1日月曜日

Page 46: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

詳細はスライドと動画を見ていただくとして…

2010年3月1日月曜日

Page 47: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

僕がCopeのスライドで特に印象に残った所

2010年3月1日月曜日

Page 48: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

http://www.objectclub.jp/event/2010alexander/

Missing from Scrum...

80% of software is maintenance

Toyota knows that: 総生産性メンテナンス

Hope in software:

2010年3月1日月曜日

Page 49: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

✓ 無くしたものがよくわからなかった✓ ソフトウェアの80%が保守だとして、どうすれば✓ この文脈で Clean Code が希望??

2010年3月1日月曜日

Page 50: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

第3部2010年3月1日月曜日

Page 51: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

人の活動を支え動作しつづけるきれいなコードのために私たちが出来ることを探す

島田 浩二[email protected]

— Where e Street Has No Name.

2010年2月13日(土) LOCAL DEVELOPER Day’10 Winter

2010年3月1日月曜日

Page 52: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

意味があると感じる方向に進むと良いと思う

- Shintaro KAKUTANI

2010年3月1日月曜日

Page 53: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

もう一度基本へ戻る

2010年3月1日月曜日

Page 54: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

心があるとき僕が確かに意味があると感じている方向

2010年3月1日月曜日

Page 55: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

もう一度基本へ戻る

2010年3月1日月曜日

Page 56: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

ソフトウェア設計とは何か- Jack W.Reeves

2010年3月1日月曜日

Page 57: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

ソフトウェア設計とは何か?

✓ 設計: ソースコード✓ 製造: ビルド

2010年3月1日月曜日

Page 58: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

コーディングは設計であり、テスティングとデバッギングも設計の一部であり、私たちが一般的にソフトウェア設計と呼んでいるものもやはり設計の一部なのです

2010年3月1日月曜日

Page 59: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

付録B:Naur,Ehn,武蔵

http://www.amazon.co.jp/exec/obidos/ASIN/4894715791/butitsuptoust-222010年3月1日月曜日

Page 60: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

• プログラマによる現実世界の問題をプログラムで解決・サポートする方法についての理論構築• プログラムのテキストを生み出すことではない

理論構築としてのプログラミング

2010年3月1日月曜日

Page 61: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

• 知識はプログラマが所有するものであり全てのドキュメントは補助的で二次的な産物でしかない• ドキュメントだけから理論を再構築することは不可能

理論構築としてのプログラミング

2010年3月1日月曜日

Page 62: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 63: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

コーディングテスト

ヒアリング

ソフトウェア開発のアクティビティ

設計2010年3月1日月曜日

Page 64: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

ソフトウェア開発のアクティビティ

コーディングテスト

ヒアリング設計

メタファー

計画ゲーム

短期リリース

40時間労働

単純な設計

オンサイト顧客

テスティングペアプログラミング

コーディング規約集団所有 継続した統合

リファクタリング

2010年3月1日月曜日

Page 65: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

変化ヲ抱擁セヨ

2010年3月1日月曜日

Page 66: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

変化2010年3月1日月曜日

Page 68: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

変更はソフトウェアを特徴付けるものである。変更すなわち適応は、リリースで始まる。リリースがソフトウェアの生涯の真の始まりであり、それ以前はすべて妊娠期間だ。システムは時と共に成長し、変化する環境に適応していくか、あるいはコストが利益を上回るまで堕落して、死に至る。

 - マイケル・ナイガード『Release It!』

2010年3月1日月曜日

Page 69: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

変化2010年3月1日月曜日

Page 70: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

運用が痛みを伴うものであってはならない

2010年3月1日月曜日

Page 71: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

問い続けた末にたどり着いた答え(と思われるもの)

2010年3月1日月曜日

Page 72: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 73: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

道2010年3月1日月曜日

Page 74: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

何百年にもわたって生まれてきた、いきいきとした建物や町を現代の建築家が生成出来るようにするための“道”

2010年3月1日月曜日

Page 75: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

18. ランゲージの発生力19. 空間の分化20. 一度に一つのパタン21. 建物の形成22. 建物群の形成23. 施工のプロセス24. 修復のプロセス25. 町のゆるやかな出現26. 不滅の特性

2010年3月1日月曜日

Page 76: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

道18. ランゲージの発生力19. 空間の分化20. 一度に一つのパタン21. 建物の形成22. 建物群の形成23. 施工のプロセス24. 修復のプロセス25. 町のゆるやかな出現26. 不滅の特性

2010年3月1日月曜日

Page 77: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

形成

施工

修復

全体を生成するプロセス

2010年3月1日月曜日

Page 78: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

...庭を改良する機会があれば、一度の建設行為によって二つの不完全なパタンを改修できるのである。ここでやろうとしていた修復は、単なる「修復」ではなく、最初の設計の欠陥を複合的に解消する新たな設計なのである。...

2010年3月1日月曜日

Page 79: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

...新しい意味での修復では、何かを変質しようと考え、新たな全体を生み出そうと考え、実際、修復された全体そのものが、修復の結果としてまったく異なる全体に変わると考える。...このような意味で、修復の概念は創造的で、動的で、開放的である。...

2010年3月1日月曜日

Page 80: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

...そこでは、既存の全体がかかえる欠点に注目しつつ修復を試みれば、絶えず新しい全体の創出に導かれると考える。あらゆる行為が、より大きな、より古い全体の修復を助けるという点では、これまで通り正しい。だが、ここでいう修復は一時的な継ぎはぎだけでなく ーーー 既存の全体を修正し、変質させ、何か全く別のものに向けての路線を引くことなのである。...

2010年3月1日月曜日

Page 81: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

...このように、最も単純かつ実用的な方法で、小さな増築部分の豊かさと独自性が生まれるのである。既存の建物の欠陥に注目し、それを修復しようという熱意さえあれば、それはほぼ自動的に生まれてくるのである。...このようにして建てた建物の部分部分は、思いもかけぬほど豊かで変化に富むものになる...

2010年3月1日月曜日

Page 82: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

http://www.objectclub.jp/event/2010alexander/

Missing from Scrum...

80% of software is maintenance

Toyota knows that: 総生産性メンテナンス

Hope in software:

2010年3月1日月曜日

Page 83: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

A Handbook of Agile Software Craftsmanship

2010年3月1日月曜日

Page 84: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

洗練されたコードは、どうして、こうも早く粗悪なコードへと変質してしまうのでしょう? ... 間違っているのは我々自身なのです。これでは、我々はプロとは呼べないのです。...つまり、あなたがそれに負けない熱意をもって、コードを守ればよいのです

ーー クリーンコード、ロバート・C・マーチン

2010年3月1日月曜日

Page 85: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

http://www.objectclub.jp/event/2010alexander/

Missing from Scrum...

80% of software is maintenance

Toyota knows that: 総生産性メンテナンス

Hope in software:

2010年3月1日月曜日

Page 86: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

Cope自身による前書き

2010年3月1日月曜日

Page 87: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

...もしもこの本を読み進め、そして実践するという挑戦を続けるのであれば、やがて、最終到達点を理解し、そして評価することになるでしょう。ついに私たちは、製品のライフサイクルに関係した職業における、責任の重いプロ意識の根幹へとたどり着きました。

2010年3月1日月曜日

Page 88: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

故障の修理(バグが露呈するまで待つこと)というのは例外なのです。そうではなく、水準を一つ上げるのです。...こうした手入れや修理というものに終わりはありません。...クリストファー・アレグザンダーは、1つ1つの設計作業は局所的な小さな修復作業であると見なしています。...設計に終わりはありません。...

2010年3月1日月曜日

Page 89: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

形成

施工

修復

全体を生成するプロセス

2010年3月1日月曜日

Page 91: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

変更はソフトウェアを特徴付けるものである。変更すなわち適応は、リリースで始まる。リリースがソフトウェアの生涯の真の始まりであり、それ以前はすべて妊娠期間だ。システムは時と共に成長し、変化する環境に適応していくか、あるいはコストが利益を上回るまで堕落して、死に至る。

 - マイケル・ナイガード『Release It!』

2010年3月1日月曜日

Page 92: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

形成

施工

修復

全体を生成するプロセス

2010年3月1日月曜日

Page 93: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

開発

稼働

適応

全体を生成するプロセス

2010年3月1日月曜日

Page 94: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

適応2010年3月1日月曜日

Page 95: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

適応しつづける

2010年3月1日月曜日

Page 97: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

!"#$%&'()*+,-./01-2345

6789:0;<=13-A-5

>?@AB*)8CDCEF

http://tinyurl.com/yejdboj

2010年3月1日月曜日

Page 98: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

2010年3月1日月曜日

Page 99: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

http://www.objectclub.jp/event/2010alexander/

Missing from Scrum...

80% of software is maintenance

Toyota knows that: 総生産性メンテナンス

Hope in software:

2010年3月1日月曜日

Page 100: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

変化ヲ抱擁セヨ

2010年3月1日月曜日

Page 101: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

まとめ

2010年3月1日月曜日

Page 102: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

✓ ソフトウェア開発に(足りていない|必要な)のは、アレグザンダーの言う「修復のプロセス」-Clean Code is hope in software.

✓ ここから先はきっと Cope から僕らへの宿題✓ “As ten years ago: chances for success in Japan is higher than in West.”

まとめ

2010年3月1日月曜日

Page 103: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

意味があると感じる方向に進むと良いと思う

- Shintaro KAKUTANI

2010年3月1日月曜日

Page 104: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

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

2010年3月1日月曜日

Page 105: 20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System

しまだ こうじSHIMADA Koji

日本Rubyの会Ruby札幌

Jim Coplien said you should foster generative scheme in your system.2010-02-26 Ruby Sapporo Night vol.13アップルストア札幌

パターンから東方のリーンそして西方の真のオブジェクトへから学んだことを北で

2010年3月1日月曜日