185
角谷信太郎 (株)永和システムマネジメント / 日本Rubyの会 15-D-1 実践『From Java to Ruby』 ~血があつい鉄道ならば/走りぬけてゆく 汽車はいつかは心臓を通るだろう~

From Java To Ruby In Action

Embed Size (px)

Citation preview

Page 1: From Java To Ruby In Action

角谷信太郎(株)永和システムマネジメント /日本Rubyの会

15-D-1

実践『From Java to Ruby』~血があつい鉄道ならば/走りぬけてゆく 汽車はいつかは心臓を通るだろう~

Page 2: From Java To Ruby In Action

謝辞岩切さん、雨宮さん、高さん、諸橋さん、伊藤コウイチさん、河村さん、橋本さん、高井さん、木下さん、家永さん、山口さん、中西さん、西村さん、齋藤さん、梶田さん、近藤さん

そして: Ruby開発チームのみなさん、 まつもとゆきひろさん

Page 3: From Java To Ruby In Action

自己紹介•角谷 信太郎 (かくたに しんたろう)• (株)永和システムマネジメント•オブジェクト倶楽部•日本Rubyの会 理事•テスト駆動開発者•ときどきプレゼン•たまに執筆•http://kakutani.com/

Page 4: From Java To Ruby In Action

約1年間の執筆先

Page 5: From Java To Ruby In Action

ポジションペーパー•“立場表明書”•「今日の自分の立場」を A4一枚の紙に•『LifeHacks PRESS』で紹介 :-)

Page 6: From Java To Ruby In Action

今日の講演は全編ポジション

トーク

Page 7: From Java To Ruby In Action

Disclaimer

Page 8: From Java To Ruby In Action

セッション概要を読まれた上での御参加かとは存じますが

Page 9: From Java To Ruby In Action

確認

Page 10: From Java To Ruby In Action

微妙な規模のSIベンダである弊社では、現在進行形でRubyの導入に取り組んでいます。SIベンダにとって、昨今ますます注目を集めるRuby、そして Ruby on Railsの意味とは何でしょうか。業界恒例のうたかたなるバズワード? 破壊的イノベーション? それともアジャイル開発者の聖杯? SIベンダはRubyを導入して成功できるのか? 本セッションではRubyという「新興」テクノロジをSI組織に導入するための作戦と注意点について、話者の実践経験を元にお話しします。キーファクタは、愛です。本セッションが皆さんの参考になるかどうか、話者にはわかりません。

Page 11: From Java To Ruby In Action

微妙な規模のSIベンダである弊社では、現在進行形でRubyの導入に取り組んでいます。SIベンダにとって、昨今ますます注目を集めるRuby、そして Ruby on Railsの意味とは何でしょうか。業界恒例のうたかたなるバズワード? 破壊的イノベーション? それともアジャイル開発者の聖杯? SIベンダはRubyを導入して成功できるのか? 本セッションではRubyという「新興」テクノロジをSI組織に導入するための作戦と注意点について、話者の実践経験を元にお話しします。キーファクタは、愛です。本セッションが皆さんの参考になるかどうか、話者にはわかりません。

Page 12: From Java To Ruby In Action

本日お話しすること•翻訳書籍と弊社の宣伝•RubyのSI組織への導入:•作戦と注意点:•現在進行形の実践経験ベース

•Rubyがもたらす(かもしれない)変化•質疑応答やってみたい!

Page 13: From Java To Ruby In Action

本日お話ししないこと•Web2.0•Enterprise

デベロッパーがビジネスを刺激するー時代はWeb2.0 + Enterprise にー

Page 14: From Java To Ruby In Action

もくじ1.なぜ、私にはRubyなのか?• strange_love.rb2.『JavaからRubyへ』3.ビジネスの未来とRuby• Open Classes, Open Companies

Page 15: From Java To Ruby In Action

補助線

Page 16: From Java To Ruby In Action

•5つの世界•主な登場人物

補助線

Page 17: From Java To Ruby In Action

5つの世界

Page 18: From Java To Ruby In Action

Joel on Software

Page 19: From Java To Ruby In Action

オーム社

Page 20: From Java To Ruby In Action

“5つの世界”•パッケージ•インターナル•組み込み•ゲーム•使い捨て

Page 21: From Java To Ruby In Action

“5つの世界”•パッケージ•インターナル•組み込み•ゲーム•使い捨て

Page 22: From Java To Ruby In Action

主な登場人物

Page 23: From Java To Ruby In Action

組織

Ruby私

Java

Page 24: From Java To Ruby In Action

主な登場人物•私: あとで話す•Java : あとで話す•Ruby: あとで話す•組織

Page 25: From Java To Ruby In Action
Page 26: From Java To Ruby In Action

(株)永和システムマネジメント• 福井本社 (1980年~:27期)

• 金融,、医療、パッケージ、”オープン系”

• 東京支社 (2002年~)

• オブジェクト指向、UML、Java、アジャイル開発

• 資本金: 6,168万円 (2006年7月)

• 従業員: 210名 (2006年7月)

• 年商: 24億円 (2006年7月)

• 関連会社:

• (株)チェンジビジョン

• (株)アフレル

Page 27: From Java To Ruby In Action
Page 28: From Java To Ruby In Action

コミュニティセッション•本日16:40~17:10•於:コミュニティライブ会場•「オブジェクト倶楽部流 オブジェクト指向入門」

Page 29: From Java To Ruby In Action

まとめ

Page 30: From Java To Ruby In Action

まとめ•自分の仕事に自信と誇り、そして希望を

•ソフトウェアは人がつくる

•Rubyは:•プログラマを信頼する言語

•プログラミングを楽しくする言語

•Rubyの組織への導入は協調ゲーム

•Rubyとビジネスは相性抜群•5つの根拠と私(たち)の未来

Page 31: From Java To Ruby In Action

第1部

Page 32: From Java To Ruby In Action

strange_love.rb or: How I Learned to Stop

Worrying and Love the Ruby

プログラマの異常な愛情 または私は如何にして心配するのを 止めてRubyを愛するようになったか

Page 33: From Java To Ruby In Action

自分の仕事を憎むには人生はあまりにも短い

ジョエル・スポルスキ

Page 34: From Java To Ruby In Action

Joel on Software

Page 35: From Java To Ruby In Action

オーム社

Page 36: From Java To Ruby In Action

月を指さす話It is like a finger pointing a way to the moon.

Page 37: From Java To Ruby In Action
Page 38: From Java To Ruby In Action

Don't concentrate on the finger or you will miss all that heavenly glory

指先に集中するな

Page 39: From Java To Ruby In Action

Heavenly Gloryすばらしき栄光

Page 40: From Java To Ruby In Action

私には夢があるI have a dream.

Page 41: From Java To Ruby In Action

✓ 動作する✓ ソフトウェアを✓ 提供✓ し続けること

Page 42: From Java To Ruby In Action

私には夢があるI have a dream.

Page 43: From Java To Ruby In Action

✓ 自分だけではできないことを チームでなしとげたい✓ チームの成果が 誰かの役に立って欲しい✓ 自分のなしとげたことに対して 適切な報酬を受けたい

Page 44: From Java To Ruby In Action

私には夢があるI have a dream.

Page 45: From Java To Ruby In Action

✓ 顧客、✓ 上司、✓ チーム、✓ そして、家族✓ これらの間で ANDを取りたい

Page 46: From Java To Ruby In Action

フォースに調和を

“Bringing balance to the force”

Page 47: From Java To Ruby In Action

I have a dream...•自分の仕事を憎むには人生はあまりにも短い•自分の仕事に自信と誇り、 そして希望を•フォースに調和を!

Page 48: From Java To Ruby In Action

Page 49: From Java To Ruby In Action

二本指

Page 50: From Java To Ruby In Action

✓ eXtreme Programming✓ Ruby

二本指

Page 51: From Java To Ruby In Action

eXtremeProgramming

Page 52: From Java To Ruby In Action

P is for Programming

•ビジネスの制約を踏まえて、•製品をリリースするための、•プログラミングの作戦

Page 53: From Java To Ruby In Action

I am Programmer and proud

Page 54: From Java To Ruby In Action

•フツウのプログラマが、•チームで勝つ。•全体でひとつのチーム•顧客 AND プログラマ

P is for Programmer

Page 55: From Java To Ruby In Action

X is for eXtreme•これに従えばうまくいくプロセス、•……なんて無いよ、•というプロセス。•誰でも/今日から/一人でも•持続可能性

Page 56: From Java To Ruby In Action

“指”としてのXP•全体でひとつのチーム•フィードバックによる学習•継続的な改善•チームを信頼する•チームに信頼される

Page 57: From Java To Ruby In Action

Ruby

Page 58: From Java To Ruby In Action

前提

Page 59: From Java To Ruby In Action

プログラマはプログラミング

が好き

Page 60: From Java To Ruby In Action

I am Programmer and proud

Page 61: From Java To Ruby In Action

Ruby✓ プログラマを信頼✓ プログラミングの楽しさ✓ 学習

Page 62: From Java To Ruby In Action

プログラマを信頼•良いコードを書きたいはず•グローバル変数は $gloval•ゆるい構造•オープンクラス•学習

•ソースがドキュ(ry

Page 63: From Java To Ruby In Action

プログラミングの楽しさ• (1 + 1).should eql(2)•簡単なことは簡単に、 難しいことはそれなりに•「期待」通りに動く•“Babel-17”言語

Page 64: From Java To Ruby In Action

えもいわれぬ楽しさ

Page 65: From Java To Ruby In Action

No one can be told...

Page 66: From Java To Ruby In Action

And there's business value in fun - after all motivation is a major factor in programmer productivity.

- Martin Fowlerそして、楽しさにはビジネス価値があります

-- 結局、モチベーションこそがプログラマの生

産性を左右するのです。

-- マーチン・ファウラー

Page 67: From Java To Ruby In Action

学習•良いコードを書きたいはず•初心者には優しく、 熟練者には頼もしい

Page 68: From Java To Ruby In Action

コーディング時間

難易度

メタプログラミング

手続型OOP/(関数型)

ドメイン特化言語

Page 69: From Java To Ruby In Action

月を! 二本指で!•チームを信頼する•チームに信頼される•フィードバックによる学習•継続的な改善•持続可能性•楽しさ

Page 70: From Java To Ruby In Action

今こそ時だNow is the time.

Page 71: From Java To Ruby In Action

RailsRuby on

Page 72: From Java To Ruby In Action

大流行

Page 73: From Java To Ruby In Action

今こそ時だNow is the time.

Page 74: From Java To Ruby In Action

If I were a Hacker...

Page 75: From Java To Ruby In Action

ハッカーと画家

Page 76: From Java To Ruby In Action

オーム社

Page 77: From Java To Ruby In Action

I am Programmer and proud

Page 78: From Java To Ruby In Action
Page 79: From Java To Ruby In Action

第1部まとめ•自分の仕事に自信と誇り、そして希望を

•ソフトウェアは人がつくる

•Rubyは:•プログラマを信頼する言語

•プログラミングを楽しくする言語

•私はハッカーではなく、フツウのプログラマ。チームで勝ちたい

Page 80: From Java To Ruby In Action

第2部

Page 81: From Java To Ruby In Action

JavaからRubyへFrom Java to Ruby

Page 82: From Java To Ruby In Action

“From Java to Ruby”Things Every Manager

Should Know

Bruce A. Tate 著

Page 83: From Java To Ruby In Action

『JavaからRubyへ』マネージャのための

実践移行ガイド

Bruce A. Tate 著角谷信太郎 訳オライリー・ジャパン 発行2007年春 発売予定

Page 84: From Java To Ruby In Action

組織にRubyを導入する

作戦

Page 85: From Java To Ruby In Action

Ruby導入決断

チャート

Page 86: From Java To Ruby In Action

主に3つの段階から構成

Page 87: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

Page 88: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

各段階に2つのサブステップ

Page 89: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

“苦痛”の確認Validate Pain

評価の確立Establish Rewards

Page 90: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

“苦痛”の確認Validate Pain

評価の確立Establish Rewardsサブステップ

単位で続行を判断

Page 91: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

Stop!

Stop!

Stop!

Stop!

“苦痛”の確認Validate Pain

評価の確立Establish Rewards

Stop!Stop!

Page 92: From Java To Ruby In Action

『JavaからRubyへ』マネージャのための

実践移行ガイド

Bruce A. Tate 著角谷信太郎 訳オライリー・ジャパン 発行2007年春 発売予定

Page 93: From Java To Ruby In Action

弊社の現状

(2006年8月頃~)

Page 94: From Java To Ruby In Action

情報収集Gather Information

広範な展開Broad Deploy

“苦痛”の確認Validate Pain

Stop!

評価の確立Establish Rewards

限定的な展開Limited Deploy

限定的な稼動Limited Deploy

統合Integrate

普及Ramp Up

Stop! Stop!

いまここ

Stop!

パイロット実施Build Pilot

Stop! Stop!

限定的な展開Limited Deploy

Page 95: From Java To Ruby In Action

Ruby導入の心構え✓ 協調ゲーム✓ “忠誠心”に頼るな✓ 人は自分の速度でしか 変われない

Page 96: From Java To Ruby In Action

協調ゲーム•ゼロサムゲームではない•上司との「交渉」ではない•問題 VS. 私たち•私たちにとってのメリット

Page 97: From Java To Ruby In Action

忠誠心に頼るな•上から押しつけない•人は新しいことを学べる•人は新しいことを学びたい•もう良い大人なんだし……

Page 98: From Java To Ruby In Action

人は自分の速度でしか変われない (by Kent Beck)•Don’t Panic!•相手が変わったときに、 力になれるように•同志を増やす•ボトムアップ

Page 99: From Java To Ruby In Action

Ruby導入の心構え✓ 協調ゲーム✓ “忠誠心”に頼るな✓ 人は自分の速度でしか 変われない

Page 100: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

Stop!

Stop!

Stop!

Stop!

“苦痛”の確認Validate Pain

評価の確立Establish Rewards

Stop!Stop!

Page 101: From Java To Ruby In Action

情報収集✓ 「苦痛」の確認• 問題のほんとうの原因は何?

✓ 評価の確立• Rubyで大丈夫かな?

Page 102: From Java To Ruby In Action

“苦痛”の確認Validate Pain

Page 103: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

Stop!

Stop!

Stop!

Stop!

“苦痛”の確認Validate Pain

評価の確立Establish Rewards

Stop!Stop!

Page 104: From Java To Ruby In Action

ソフトウェアは人がつくる

Page 105: From Java To Ruby In Action

ソフトウェアは人がつくる

•人と機械の協調作業•人•個人、組織、文化、開発プロセス

•機械•コンピュータ、言語、ツール

Page 106: From Java To Ruby In Action

Page 107: From Java To Ruby In Action
Page 108: From Java To Ruby In Action

✓ 理解ある上司 / 顧客✓ ほどよい大きさのチーム ✓ 士気の高い同僚✓ (待遇は特に良くない)

Page 109: From Java To Ruby In Action

ほどよい大きさのチーム

Page 110: From Java To Ruby In Action

Java

Page 111: From Java To Ruby In Action

Java feeds him.

So long, and thank you for all the fish!

Page 112: From Java To Ruby In Action

Javaの強み✓ 巨大なマーケット✓ 活発なOSSコミュニティ✓ 成熟と安定✓ スケーラビリティ✓ 豊富な選択肢

Page 113: From Java To Ruby In Action

Javaの弱み✓ 非本質的(偶発的)複雑性•EJB,XML,Webサービス•一定レベルを越えると超ムズイ•中小規模開発のリスク

✓ 多すぎる選択肢✓ オフショアリング

Page 114: From Java To Ruby In Action

MY JOB WENT TO INDIA

Page 115: From Java To Ruby In Action

オーム社

Page 116: From Java To Ruby In Action

オーム社同時代ソフトウェア開発者叢書 (by arton)

Page 117: From Java To Ruby In Action

✓ 複雑•J2EEサーバ•EJB✓ 手間と時間•デプロイ地獄•テスト基盤、テスト記述

私がJavaで困ったこと

Page 118: From Java To Ruby In Action

評価の確立Establish Rewards

Page 119: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

Stop!

Stop!

Stop!

Stop!

“苦痛”の確認Validate Pain

評価の確立Establish Rewards

Stop!Stop!

Page 120: From Java To Ruby In Action

Ruby

Page 121: From Java To Ruby In Action

諸君、私はRubyが好きだ

Page 122: From Java To Ruby In Action

RailsRuby on

Page 123: From Java To Ruby In Action

大流行

Page 124: From Java To Ruby In Action

1点だけ

Page 125: From Java To Ruby In Action

フルスタック

Page 126: From Java To Ruby In Action

Model

デプロイメントDBマイグレーション

Controller

View テスト

自動化

Page 127: From Java To Ruby In Action

Model

デプロイメントDBマイグレーション

Controller

View テスト

自動化

Page 128: From Java To Ruby In Action

情報収集のまとめ•人や組織には対処可能•Javaは時にリスクがある•複雑さ、中小規模開発、短納期

•諸君、私はRubyが好きだ•Railsの流行キタ!!

Page 129: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

Stop!

Stop!

Stop!

Stop!

“苦痛”の確認Validate Pain

評価の確立Establish Rewards

Stop!Stop!

Page 130: From Java To Ruby In Action

限定的な展開✓ パイロット実施• 実際に手を動かしてリスク低減

✓ 限定的な展開•Ruby Worldで完結するアプリ•納品 / リリース / 本番稼動

Page 131: From Java To Ruby In Action

パイロット実施Build Pilot

Page 132: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

Stop!

Stop!

Stop!

Stop!

“苦痛”の確認Validate Pain

評価の確立Establish Rewards

Stop!Stop!

Page 133: From Java To Ruby In Action

パイロットのリスク

政治 x 技術

Page 134: From Java To Ruby In Action

政治リスク低 高

困難 決死楽勝 好機

技術リスク

Page 135: From Java To Ruby In Action

政治リスク低 高

困難 決死楽勝 好機

救出

トロイの木馬

競走

古典的パイロット社運を賭ける

技術リスク

Page 136: From Java To Ruby In Action

『JavaからRubyへ』マネージャのための

実践移行ガイド

Bruce A. Tate 著角谷信太郎 訳オライリー・ジャパン 発行2007年春 発売予定

Page 137: From Java To Ruby In Action

政治リスク低 高

困難 決死楽勝 好機

救出

トロイの木馬

競走

古典的パイロット社運を賭ける

技術リスク

Page 138: From Java To Ruby In Action

政治リスク低 高

困難 決死楽勝 好機

救出

トロイの木馬

競走

古典的パイロット社運を賭ける

技術リスク

武者修行

Page 139: From Java To Ruby In Action

パイロットで政治リスクを取ってない

Page 140: From Java To Ruby In Action

•Rubyの「売り込み」•Rubyの学習

パイロットのゴール

Page 141: From Java To Ruby In Action

•Rubyの「売り込み」•Rubyの学習

パイロットのゴール

Page 142: From Java To Ruby In Action

売り込みは別チャネル

•執筆•コミュニティ活動•社内向け説明会 / デモ

Page 143: From Java To Ruby In Action

執筆• 「Rubyで進むオブジェクトの道」

• 2005/01~: オブジェクト倶楽部メルマガ, 家永

• 「Rubyでアジャイルプロトタイピング」

• 2005/11~2006/05: @IT, 西川 ほか

• 「Ruby on Rails 1.0の世界」の一部

• 2006/02: オープンソースマガジン, 角谷

• 「Rubyで仕事がラクになる!」の一部

• 2006/08, 日経ソフトウェア2006/10号, 西村

• ほかにも出版予定とか、執筆予定とか

Page 144: From Java To Ruby In Action

コミュニティ活動• オブジェクト倶楽部

• 2005/12 Matz:「Agileと言語~Is Ruby Agile?」

• 2006/06 かずひこ: 「Ruby道チュートリアル」

• RubyKaigi2006

• 協賛企業

• しまねOSS協議会

• なぜか法人正会員

• RubyKaigi2007

• 協賛企業

Page 145: From Java To Ruby In Action

社内向け説明会 / デモ•協調ゲーム•意識を合わせる•「銀の弾丸じゃないよ」

•「生産性」•工数? 機能? 品質?

•動くデモ

Page 146: From Java To Ruby In Action

売り込みは別チャネル

•執筆•コミュニティ活動•社内向け説明会 / デモ

Page 147: From Java To Ruby In Action

政治リスク低 高

困難 決死楽勝 好機

救出

トロイの木馬

競走

古典的パイロット社運を賭ける

技術リスク

武者修行

Page 148: From Java To Ruby In Action

政治リスク低 高

困難 決死楽勝 好機

救出

トロイの木馬

競走

古典的パイロット社運を賭ける

技術リスク

武者修行

Page 149: From Java To Ruby In Action

古典的パイロット•いわゆるパイロット•学習を目的•技術の不安を部分的に検証•スパイク

Page 150: From Java To Ruby In Action

古典的パイロット•Windows上でのスパイク•開発プロセスの検証•テスト基盤の整備•BDD、JavaScript、Selenium

Page 151: From Java To Ruby In Action

政治リスク低 高

困難 決死楽勝 好機

救出

トロイの木馬

競走

古典的パイロット社運を賭ける

技術リスク

武者修行

Page 152: From Java To Ruby In Action

トロイの木馬•いつのまにかRuby•技術的には、 難易度低めを狙う•許可を得るよりも、 赦しを乞う

Page 153: From Java To Ruby In Action

トロイの木馬•ある日突然、社内アプリが出現•社員旅行Webアンケート•個人情報管理Webアプリ

•客先で最初のデモがRails•受入テストデータ作成ツール

•ビルドプロセスの一部•TRICHORDのビルド

Page 154: From Java To Ruby In Action

政治リスク低 高

困難 決死楽勝 好機

救出

トロイの木馬

競走

古典的パイロット社運を賭ける

技術リスク

武者修行

Page 155: From Java To Ruby In Action

武者修行•オリジナルの作戦•Rubyの仕事がある企業にプログラマを送り込む•成果を社内で軽くデモ•リスクは相手持ち(!)•でもノーリスクではない

Page 156: From Java To Ruby In Action

(株)ネットワーク応用通信研究所http://www.netlab.jp/

Page 157: From Java To Ruby In Action
Page 158: From Java To Ruby In Action
Page 159: From Java To Ruby In Action

•政治リスクは取ってない•主に技術リスクを検証•売り込みは別チャネル•武者修行

パイロットのまとめ

Page 160: From Java To Ruby In Action

限定的な展開Limited Deploy

Page 161: From Java To Ruby In Action

限定的な展開Limited Deploy

情報収集Gather Information

広範な展開Broad Deploy

パイロット実施Build Pilot

限定的な展開Limited Deploy

統合Integrate

普及Ramp Up

Stop!

Stop!

Stop!

Stop!

“苦痛”の確認Validate Pain

評価の確立Establish Rewards

Stop!Stop!

Page 162: From Java To Ruby In Action

•NaCl武者修行プロジェクツ•SNSみたいなやつ•CMSみたいなやつ•ドキュメント管理Webアプリ•コンセプト実証Webアプリ試作•他、提案など今後の展開を考え中

限定的な展開

Page 163: From Java To Ruby In Action

志半ばにして逝く……•ブログみたいなやつ• 顧客都合で唐突にキャンセル•サプライチェーンみたいなやつ•内部統制法関連で棚上げ•某社向け社内ツール•宙ぶらりん

Page 164: From Java To Ruby In Action

第2部まとめ•Rubyの組織への導入は協調ゲーム

•情報収集•「苦痛」の確認と、評価の確立

•限定的な展開

•パイロットの実施•(パイロット以外で認知度を上げる)

•限定的な展開

•『JavaからRubyへ』をよろしく

Page 165: From Java To Ruby In Action

『JavaからRubyへ』マネージャのための

実践移行ガイド

Bruce A. Tate 著角谷信太郎 訳オライリー・ジャパン 発行2007年春 発売予定

Page 166: From Java To Ruby In Action

第3部

Page 167: From Java To Ruby In Action

ビジネスの未来とRuby

Page 168: From Java To Ruby In Action
Page 169: From Java To Ruby In Action

Open Classes,Open Companies

by Nathaniel Talbott

Page 171: From Java To Ruby In Action

Open Classes,Open Companies

✓ 動的 (Dynamic)✓ インタプリタ (Interpreted)✓ 簡潔さ (Succinct)✓ リフレクション (Reflection)✓ オープンクラス (Open Class)

Page 172: From Java To Ruby In Action

動的

「汚れているのは世界そのものであって、 汚れた世界では動的な言語が必要なのだ」 essa (2003-11-20)

http://amrita.s14.xrea.com/d/?date=20031120#p01

Page 173: From Java To Ruby In Action

動的✓ 世界は動的だ✓ 肩書に拘泥するな✓ Duck Typing!✓ “クライアント”からの “メッセージ”に応答せよ

Page 174: From Java To Ruby In Action

インタプリタ✓ 柔軟性✓ ”ランタイム”に決定する✓ ギリギリまで決定しない✓ Last Responsible Moment

Page 175: From Java To Ruby In Action

簡潔さ✓「簡潔さは力」✓ Paul Grahamも言ってたよ

✓ 処理の本質だけを捉える✓ puts “Hello World”

✓ 書きやすさ <<<< 読みやすさ

Page 176: From Java To Ruby In Action

リフレクション✓ 言語にビルトイン✓ 自分の行動が自分を変える✓ “ふりかえり”

Page 177: From Java To Ruby In Action

オープンクラス✓ あらゆるクラスが改変可能✓ オープンで密な コミュニケーション✓ チームのメンバを信頼する✓ Rubyが信頼してくれている

Page 178: From Java To Ruby In Action

Open Classes,Open Companies

✓ 動的 (Dynamic)✓ インタプリタ (Interpreted)✓ 簡潔さ (Succinct)✓ リフレクション (Reflection)✓ オープンクラス (Open Class)

Page 179: From Java To Ruby In Action

第3部まとめ•Rubyは、言語自身が、21世紀のビジネスパーソンの備えるべき特徴を提供している。•Rubyとビジネスは相性抜群•Open Class!•コミュニケーションと信頼

Page 180: From Java To Ruby In Action

まとめ

Page 181: From Java To Ruby In Action

まとめ•自分の仕事に自信と誇り、そして希望を

•ソフトウェアは人がつくる

•Rubyは:•プログラマを信頼する言語

•プログラミングを楽しくする言語

•Rubyの組織への導入は協調ゲーム

•Rubyとビジネスは相性抜群•5つの根拠と私(たち)の未来

Page 182: From Java To Ruby In Action

『JavaからRubyへ』マネージャのための

実践移行ガイド

Bruce A. Tate 著角谷信太郎 訳オライリー・ジャパン 発行2007年春 発売予定

Page 183: From Java To Ruby In Action

Choose the red pill

Page 184: From Java To Ruby In Action

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

Page 185: From Java To Ruby In Action

何かご質問は?Do you have any questions?