Enviar pesquisa
Carregar
Ruby による Agile 開発
•
9 gostaram
•
2,886 visualizações
Kenji Hiranabe
Seguir
島根大学での講義 2008年 1/11
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 39
Baixar agora
Baixar para ler offline
Recomendados
Persona design method / ペルソナ概論
Persona design method / ペルソナ概論
Katsumi TAZUKE
S8
S8
TH Schee
S2
S2
TH Schee
Lp3
Lp3
TH Schee
【12-C-6】 飛行船萌え障害キタ━━━━ (;´Д`) ━━━━ !!!! ~テスト嫌いエンジニアに贈るテストのすすめ~
【12-C-6】 飛行船萌え障害キタ━━━━ (;´Д`) ━━━━ !!!! ~テスト嫌いエンジニアに贈るテストのすすめ~
devsumi2009
Trac入門執筆うらばなし
Trac入門執筆うらばなし
Masahiro Kondoh
Towards Effective Browsing of Large Scale Social Annotations
Towards Effective Browsing of Large Scale Social Annotations
momota
20世紀Ruby
20世紀Ruby
Kentaro Goto
Recomendados
Persona design method / ペルソナ概論
Persona design method / ペルソナ概論
Katsumi TAZUKE
S8
S8
TH Schee
S2
S2
TH Schee
Lp3
Lp3
TH Schee
【12-C-6】 飛行船萌え障害キタ━━━━ (;´Д`) ━━━━ !!!! ~テスト嫌いエンジニアに贈るテストのすすめ~
【12-C-6】 飛行船萌え障害キタ━━━━ (;´Д`) ━━━━ !!!! ~テスト嫌いエンジニアに贈るテストのすすめ~
devsumi2009
Trac入門執筆うらばなし
Trac入門執筆うらばなし
Masahiro Kondoh
Towards Effective Browsing of Large Scale Social Annotations
Towards Effective Browsing of Large Scale Social Annotations
momota
20世紀Ruby
20世紀Ruby
Kentaro Goto
Project Facilitation From Hiranabe
Project Facilitation From Hiranabe
Yasui Tsutomu
PFI会社案内
PFI会社案内
Preferred Networks
実世界のゲームにおける推移性と非推移性
実世界のゲームにおける推移性と非推移性
Toru Fujino
仕事で使うRuby
仕事で使うRuby
Kentaro Goto
第3回「国連機関への就職ガイダンス」資料
第3回「国連機関への就職ガイダンス」資料
IDDP UK
S19
S19
TH Schee
Regex Introduction
Regex Introduction
Hideaki Miyake
GIGAPOD OFFICEHARD
GIGAPOD OFFICEHARD
tripodworks
Web技術勉強会11回目
Web技術勉強会11回目
龍一 田中
Kumamoto Seminar
Kumamoto Seminar
公益法人福岡貿易会
E-Learning Hosting Proposal
E-Learning Hosting Proposal
Tim Lu
EclipSky200712
EclipSky200712
Hiroki Kondo
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
IDDP UK
もっと仕事で使うRuby
もっと仕事で使うRuby
Kentaro Goto
An untold story of the Mangamura controversy 2018
An untold story of the Mangamura controversy 2018
Tomohiko (TOMO) Hayashi
开题报告
开题报告
chenkkkabc
A lecture on e-book at Tokyo University of Science 20141008
A lecture on e-book at Tokyo University of Science 20141008
Tomohiko (TOMO) Hayashi
Kymco Marketing Plan
Kymco Marketing Plan
Tim Lu
洋書(英語情報源)に見るDXの定義
洋書(英語情報源)に見るDXの定義
Tomohiko (TOMO) Hayashi
enNetforum Toyama Presentation
enNetforum Toyama Presentation
Forum
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
Ouka Yuka
NoSQL3
NoSQL3
Shinya Kawanaka
Mais conteúdo relacionado
Mais procurados
Project Facilitation From Hiranabe
Project Facilitation From Hiranabe
Yasui Tsutomu
PFI会社案内
PFI会社案内
Preferred Networks
実世界のゲームにおける推移性と非推移性
実世界のゲームにおける推移性と非推移性
Toru Fujino
仕事で使うRuby
仕事で使うRuby
Kentaro Goto
第3回「国連機関への就職ガイダンス」資料
第3回「国連機関への就職ガイダンス」資料
IDDP UK
S19
S19
TH Schee
Regex Introduction
Regex Introduction
Hideaki Miyake
GIGAPOD OFFICEHARD
GIGAPOD OFFICEHARD
tripodworks
Web技術勉強会11回目
Web技術勉強会11回目
龍一 田中
Kumamoto Seminar
Kumamoto Seminar
公益法人福岡貿易会
E-Learning Hosting Proposal
E-Learning Hosting Proposal
Tim Lu
EclipSky200712
EclipSky200712
Hiroki Kondo
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
IDDP UK
もっと仕事で使うRuby
もっと仕事で使うRuby
Kentaro Goto
An untold story of the Mangamura controversy 2018
An untold story of the Mangamura controversy 2018
Tomohiko (TOMO) Hayashi
开题报告
开题报告
chenkkkabc
A lecture on e-book at Tokyo University of Science 20141008
A lecture on e-book at Tokyo University of Science 20141008
Tomohiko (TOMO) Hayashi
Kymco Marketing Plan
Kymco Marketing Plan
Tim Lu
洋書(英語情報源)に見るDXの定義
洋書(英語情報源)に見るDXの定義
Tomohiko (TOMO) Hayashi
enNetforum Toyama Presentation
enNetforum Toyama Presentation
Forum
Mais procurados
(20)
Project Facilitation From Hiranabe
Project Facilitation From Hiranabe
PFI会社案内
PFI会社案内
実世界のゲームにおける推移性と非推移性
実世界のゲームにおける推移性と非推移性
仕事で使うRuby
仕事で使うRuby
第3回「国連機関への就職ガイダンス」資料
第3回「国連機関への就職ガイダンス」資料
S19
S19
Regex Introduction
Regex Introduction
GIGAPOD OFFICEHARD
GIGAPOD OFFICEHARD
Web技術勉強会11回目
Web技術勉強会11回目
Kumamoto Seminar
Kumamoto Seminar
E-Learning Hosting Proposal
E-Learning Hosting Proposal
EclipSky200712
EclipSky200712
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
第4回「気候変動対策の次期枠組みに向けて」資料 2/3(小林氏)
もっと仕事で使うRuby
もっと仕事で使うRuby
An untold story of the Mangamura controversy 2018
An untold story of the Mangamura controversy 2018
开题报告
开题报告
A lecture on e-book at Tokyo University of Science 20141008
A lecture on e-book at Tokyo University of Science 20141008
Kymco Marketing Plan
Kymco Marketing Plan
洋書(英語情報源)に見るDXの定義
洋書(英語情報源)に見るDXの定義
enNetforum Toyama Presentation
enNetforum Toyama Presentation
Destaque
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
Ouka Yuka
NoSQL3
NoSQL3
Shinya Kawanaka
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
Toshihiko Yamakami
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501
稔 小林
jpeg-guetzli-precautions
jpeg-guetzli-precautions
Yo Ya
Mac Rubyではじめる!Macアプリ開発入門
Mac Rubyではじめる!Macアプリ開発入門
宏治 高尾
rake:money拡大版@Ruby会議2010 ~Rubyエンジニアと企業の幸せな関係~
rake:money拡大版@Ruby会議2010 ~Rubyエンジニアと企業の幸せな関係~
Ouka Yuka
JavascriptでRubyの作り方
JavascriptでRubyの作り方
Shuyo Nakatani
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Tadashi Saito
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
Narihiro Nakamura
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
Takuro Sasaki
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
Uchio Kondo
Apache ArrowのRubyバインディングをGObject Introspectionで
Apache ArrowのRubyバインディングをGObject Introspectionで
Kouhei Sutou
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Koichi ITO
Sir John Ellis Prize 2015 - KCL MBBS 2020 Curriculum Review
Sir John Ellis Prize 2015 - KCL MBBS 2020 Curriculum Review
therajivsethi
Aprendizaje por proyectos.
Aprendizaje por proyectos.
Graciela Bertancud
What is so special about Ratnagiri Alfonso?
What is so special about Ratnagiri Alfonso?
Gouri Jadhav
Destaque
(20)
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
NoSQL3
NoSQL3
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501
jpeg-guetzli-precautions
jpeg-guetzli-precautions
Mac Rubyではじめる!Macアプリ開発入門
Mac Rubyではじめる!Macアプリ開発入門
rake:money拡大版@Ruby会議2010 ~Rubyエンジニアと企業の幸せな関係~
rake:money拡大版@Ruby会議2010 ~Rubyエンジニアと企業の幸せな関係~
JavascriptでRubyの作り方
JavascriptでRubyの作り方
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
Apache ArrowのRubyバインディングをGObject Introspectionで
Apache ArrowのRubyバインディングをGObject Introspectionで
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
Rubyによるデータ解析
Rubyによるデータ解析
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Sir John Ellis Prize 2015 - KCL MBBS 2020 Curriculum Review
Sir John Ellis Prize 2015 - KCL MBBS 2020 Curriculum Review
Aprendizaje por proyectos.
Aprendizaje por proyectos.
What is so special about Ratnagiri Alfonso?
What is so special about Ratnagiri Alfonso?
Mais de Kenji Hiranabe
effective ba for online communication
effective ba for online communication
Kenji Hiranabe
線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会
Kenji Hiranabe
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
Kenji Hiranabe
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Kenji Hiranabe
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
Kenji Hiranabe
Appreciating Your Way to XP
Appreciating Your Way to XP
Kenji Hiranabe
Digital Business and Agile
Digital Business and Agile
Kenji Hiranabe
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear Algebra
Kenji Hiranabe
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
Kenji Hiranabe
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーション
Kenji Hiranabe
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020
Kenji Hiranabe
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVID
Kenji Hiranabe
Agile Ba with Covid
Agile Ba with Covid
Kenji Hiranabe
Essence position talk by hiranabe
Essence position talk by hiranabe
Kenji Hiranabe
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020
Kenji Hiranabe
Ba and digital here now ness
Ba and digital here now ness
Kenji Hiranabe
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah models
Kenji Hiranabe
Modeling in the Agile Age
Modeling in the Agile Age
Kenji Hiranabe
Agile in automotive industry
Agile in automotive industry
Kenji Hiranabe
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
Kenji Hiranabe
Mais de Kenji Hiranabe
(20)
effective ba for online communication
effective ba for online communication
線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
Appreciating Your Way to XP
Appreciating Your Way to XP
Digital Business and Agile
Digital Business and Agile
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear Algebra
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーション
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVID
Agile Ba with Covid
Agile Ba with Covid
Essence position talk by hiranabe
Essence position talk by hiranabe
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020
Ba and digital here now ness
Ba and digital here now ness
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age
Modeling in the Agile Age
Agile in automotive industry
Agile in automotive industry
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
Ruby による Agile 開発
1.
Ruby による Agile開発 株式会社永和システムマネジメント 株式会社チェンジビジョン 平鍋健児
2.
概要 「Ruby on Rails」で
Web 開発に衝撃を与え たRuby。そして、すばやい繰り返し開発をテス トで駆動するAgile。JavaとRubyの違いは何 か。双方の優位性は?そして、Agile開発との 関係は?これまで10年のソフトウェア開発の歴 史を踏まえ、2007年から2010年のソフトウェ ア開発の現場で起こるパラダイムシフトについ ての予測します。
3.
自己紹介 株式会社永和システムマネジメント 金融・医療・オブジェクト指向技術を使ったシステム開発、教育、コンサルティング
オブジェクト倶楽部 アジャイル開発の知識と実践 Ruby 開発者の数(30人)と実績(13プロジェクト) 株式会社チェンジビジョン 本社は東京都新宿、JUDE開発部は福井 JUDE と TRICHORD で見える化 平鍋健児 リアルタイム,CAD、オブジェクト指向の実践 UMLエディタJUDEの開発 オブジェクト倶楽部主宰 アジャイルプロセス協議会、副会長 翻訳、XP関連書籍、『リーンソフトウェア開発』、『アジャイルプロジェクトマネジメント』
4.
アジェンダ ビジネス背景(繰り返せ!漸進的に!) Agile開発の本質
Java と Ruby まとめ
5.
ビジネス背景(繰り返せ!漸進的に!) 繰り返す = Iterative 漸進的に
= Incremental
6.
ミッション・リスク分割型ビジネスと 1
ウォーターフォール型開発 発注 市場分析 市場 ビジネス IT 市場 ビジネス IT 納品 リリース 半年から3年
7.
要求の劣化
システムの機能の利用度 いつも使う 7% よく使う 13% たまに使う 16% 全く使われない ほとんど使われな 45% い 19% Standish group study report in 2000 chaos report
8.
プロジェクトの成功は、 Moving Target 不明確か 不明確か つ不安定 つ不安定
要求 R(t) な要求。 な要求。 システム S(t) Δ 基盤技術 T(t) t Δ T(t) チーム(t) R(t) S(t) チーム(t)
9.
ミッション・リスク共有型ビジネスと 2
Agile型開発 ビジネスとITが一体になった 「OneTeam」を作り、ミッション 市場 とリスクを共有する。 やってみて、結果から戦略を 作りながら進む。 ビジネス 市場 市場 半年 ら 間か Web2.0型 2週 IT IT
10.
WebビジネスとAgile型開発 (1/2)
時間軸: 2週間~半年単位のリリースを繰り返す 機 反復(Iterative) 能 軸 重 漸 R1 R2 R3 要 進 機 (Incremental) 開発 サービス 能 機能A か ら サービス 開発 積 機能B み サービス 上 開発 機能C げ る
11.
WebビジネスとAgile型開発(2/2) 機能軸:
積み上げる(漸進) ビジネス重要度の高いものから開発する。 時間軸: 繰り返す(反復) 2週間~3ヶ月~半年のリリースを繰り返す。 ITの利点 ビジネスの利点 早期にサービス 不慣れなテクノロ を開始し、ビジネ ジに徐々に慣れ ス効果を見なが ていく。開発に不 ら、投資を決めて 慣れな人材を教 いく。 育する。 ビジネスとITがともに「学習」しながら、育っていく。
12.
高速な繰り返しを可能にする技術 Agile 開発プロセス
XP、Scrum、プロジェクトファシリテーションをベー スとしたAgile型の開発プロセス。 Rails フレームワーク Webアプリケーションを素早く、見栄えよく作れる アプリケーションフレームワーク。 Ruby 言語 読みやすく、変化を受け入れる言語。
13.
Agile 開発の本質 人間とチームがもつ、学ぶ力
14.
Agile関連の重要書籍 『 XP(エクストリーム・プログラミング)』(Kent
Beck) 「コミュニケーション」、「シンプルさ」、「フィードバック」、「勇気」、「敬意」 テスト駆動開発 『リーンソフトウェア開発』(Mary Poppendieck) トヨタ生産方式をソフトウェア開発へ もの作りはチーム作り バーンダウン、かんばん、7つのムダ 『Crystal Clear 』 (Alistair Cockburn) プロジェクトを「安全地帯」へ導くチームづくり プロセスからピープルへ 『アジャイルプロジェクトマネジメント(APM) 』(Jim Highsmith) 変化に対応するチームづくり 「コマンド-コントロール」⇒「リーダシップ-コラボレーション」 「Plan-Do」⇒「Envision-Explore] 『達人プログラマー』(David Thomas, Andrew Hunt, Mike Clark)
15.
プロセスとしてのAgile 短いサイクルで、分析、設計、実装、テストを並列に行う
進化型開発 Agile Waterfall 要求(スコープ) 要求(スコープ) 分析 設計 実装 テスト 時間 時間 Royce 1970 Beck 2000
16.
Agileの価値、原則、実践
価値 まずはこれを共有すること values 原則 考え方としての方針 principles 実践 具体的に現場ごとに作る practices
17.
Agileの価値 私たちは, プロセスとツールよりも
……… 個人と対話に. 包括的なドキュメントよりも ……… 動くソフトウェアに. 契約交渉よりも ……… 顧客との協調に. 計画に沿うことよりも ……… 変化に対応することに. 価値をおく. 出展:アジャイル宣言(agilemanifesto.org)
18.
Agileの原則(1/3) 顧客価値の優先 価値のあるソフトウェアをできるだけ早い段階から継続的
に納品することによって顧客満足度を最優先します。 変化に対応 要件の変更はたとえ開発の後期であっても受け入れます。 変化を味方につけることによってお客様の競争力を引き上 げます。 短期のリリース 動くソフトウェアを2~3週間から2~3ヶ月というできるだけ 短い時間間隔でリリースします。 全員同席 ビジネスをする人と開発者はプロジェクトを通して日々一緒 に働かなければなりません。
19.
Agileの原則(2/3) モチベーションと信頼 意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与
え仕事が無事終わるまで彼らを信頼してください。 会話 情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイス で話をすることです。 動くソフトウェア 動いているソフトウェアこそが進捗の最も重要な尺度です。 持続可能なペース アジャイル・プロセスは持続可能な開発を促進します。一定のペースで 永続的に保守できるようにしなければなりません。
20.
Agileの原則(3/3) 技術 卓越した技術と優れた設計に対する不断の注意こそが機敏さを高めま
す。 シンプル シンプルさ – ムダなく作れる量を最大限にすること - が本質です。 自己組織的チーム 最良のアーキテクチャ、要件、設計は自己組織的なチームから生み出 されます。 ふりかえりと改善 チームがもっと効率を高めることができるかを定期的に振り返り、それ に基づいて自分たちのやり方を最適に調整します。
21.
Agileの実践(例 XP)(1/2) 計画ゲーム
ビジネス優先度と技術的見積により次回リリースの範囲を早急に決める。現実が計画と 変わったら、計画を更新する。 小規模リリース シンプルなシステムを早急に生産に投入する、それから新バージョンを非常に短いサイク ルでリリースしていく。 メタファー どの様に全体のシステムが機能するかを示すシンプルな メタファーを共有することで全て の開発を導く(ガイドする)。 シンプルデザイン いつでもシステムは出来る限りシンプルに設計されるべきだ。余分な複雑さは見つけ次第 取り除かれる。 テスティング プログラマは継続的にユニットテストを書く。顧客は、機能の開発が終わったことを示す受 け入れテストを書く。 リファクタリング 2重コードを取り去り、単純化し、柔軟性を加えるために、プログラマは、システムの動作 を換えることなくシステムを再構成する。
22.
Agileの実践(例 XP)(2/2) ペアプログラミング
全てのコードは2人のプログラマにより一台のマシンで書かれる。 共同所有権 誰でも、どのコードでも、どこででも、いつでも、プログラマはコードを修正できる。 継続的インテグレーション システムを一日に何回もインテグレードしビルドし、テストを 100% パスさせる. 週40時間 週40時間以上仕事をしてはいけないのがルール。一日8時間を燃焼する。 オンサイト顧客 現実のユーザをチームに加えて、フルタイムで質問に答えられるようにする。 コーディング標準 プログラマは、コーディング標準に従って全てのコードを書く
23.
Agile開発の本質 単に繰り返すだけでなく、 「人」に焦点を当てている。
コミュニケーションを大事にする モチベーションを大事にする 成長を促す 「人が学ぶ」、ことを最大限に活かす
24.
Java と Ruby
25.
Java, Ruby, Agileの歴史 ■
Javaの年表 * 1996年: JDK 1.0リリース * 1999年: J2EE 1.0リリース * 2004年: Martin FowlerがDependency Injectionパターンを提唱 * 2006年: EJB 3.0リリース ■ Rubyの年表 * 1993年: Ruby誕生 * 1995年: Ruby 0.95 リリース * 1999年: 「オブジェクト指向スクリプト言語 Ruby」出版 * 2000年: Perl/Ruby Conference開催(京都)、「プログラミング言語Ruby 第2版 言語編」出版 * 2001年: RubyConf 2001開催 * 2005年: 「RailsによるアジャイルWebアプリケーション開発」出版 * 2006年: 日本Rubyカンファレンス2006開催、第2次Rubyブームの予感 ■ Agile開発の年表 * 1999年: 「エクストリーム・プログラミング入門」出版 * 2000年: 「プログラミングRuby 達人プログラマーガイド 」出版 * 2001年: アジャイルマニフェスト制定 * 2004年: 「エクストリーム・プログラミング入門 第2版」出版 * 2005年: 「RailsによるアジャイルWebアプリケーション開発」出版 * 2007年: 「Agile Software Development 2nd Edition」がJolt Awards受賞 タイムライン:http://timeline.nifty.com/portal/show/2242
26.
平鍋とJavaの関わり(1) 生涯はじめての記事(DDJ日本版 1998年5月号)
『Javaオブジェクトを操作するスクリプト言語』 www.objectclub.jp/technicaldoc/java/scripting-java
27.
平鍋とJavaの関わり(2) Jude梅開発開始 1997年12月
2007年 10 月 200,000ユーザ達成 jude.change-vision.com UML エディタ Mind Map ERD フローチャート DFD CRUD
28.
29.
RubyとJUDE JudeからActiveScaffold生成する(牛尾さん)
http://codezine.jp/a/article/aid/1929.aspx http://luruju.com/(野村さん)
30.
平鍋とJavaの関わり(3) TRICHORD: Agile
なチーム開発サポート trichord.change-vision.com
31.
32.
今後5年で起こること Java は1995年当初、遅くて使えない言語
だった。 10年かかってWebアプリケーションの標準言 語になったのは、CPUとネット速度の向上によ る。 今後5年で、Rubyで同じことが起こる。 CPUとネットが安くなるため、さらに「人にやさ しい言語」、「変更に対応できるプロセス」、「人 からチベーションを引き出す言語とプロセス」 が、ビジネスでも実際に使われるようになる。
33.
Rubyの優位性 ソースコードの読みやすさ プログラミングの楽しさ
習熟度にあった学習曲線 オープンクラス
34.
Java から Ruby
へ(1/3) Java for (int i = 0; i < 10; i++) for (int i = 0; i < 10; i++) System.out.println(i); System.out.println(i); Ruby 10.times {|i| puts i } 10.times {|i| puts i }
35.
Java から Ruby
へ(2/3) Java new Date(new Date().getTime()- 20 * 60 * 1000); new Date(new Date().getTime()- 20 * 60 * 1000); Ruby 20.minutes.ago 20.minutes.ago 出展:http://haacked.com/
36.
Java から Ruby
へ(3/3) Java public ActionForward edit(ActionMapping mapping, ActionForm form, public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HttpServletRequest request, HttpServletResponse response) throws Exception {{ Exception PersonForm personForm = (PersonForm) form; PersonForm personForm = (PersonForm) form; if (personForm.getId() != null) { if (personForm.getId() != null) { PersonManager mgr = (PersonManager)getBean(quot;personManagerquot;); PersonManager mgr = (PersonManager)getBean(quot;personManagerquot;); Person person == mgr.getPerson(personForm.getId()); Person person mgr.getPerson(personForm.getId()); personForm = (PersonForm) convert(person); personForm = (PersonForm) convert(person); updateFormBean(mapping, request, personForm); updateFormBean(mapping, request, personForm); }} return mapping.findForward(quot;editquot;); return mapping.findForward(quot;editquot;); }} Ruby def edit @person = Person.find(params[:id]) end def edit @person = Person.find(params[:id]) end 出展: http://www.relevancellc.com/ A better idea is to create a flexible language and let human creativity flow.
37.
Fluent Interface (流れるようなインターフェース) 両方Javaですが…
private void makeNormal(Customer customer) { Order o1 = new Order(); customer.addOrder(o1); OrderLine line1 = new OrderLine(6, Product.find(quot;TALquot;)); o1.addLine(line1); OrderLine line2 = new OrderLine(5, Product.find(quot;HPKquot;)); o1.addLine(line2); OrderLine line3 = new OrderLine(3, Product.find(quot;LGVquot;)); o1.addLine(line3); line2.setSkippable(true); o1.setRush(true); } private void makeFluent(Customer customer) { customer.newOrder() .with(6, quot;TALquot;) .with(5, quot;HPKquot;).skippable() .with(3, quot;LGVquot;) .priorityRush(); } http://www.martinfowler.com/bliki/FluentInterface.html
38.
まとめ 変化が早いビジネス領域では、「すべての要求を固 めてドキュメント化し、それを一年かけて開発する」や
り方では要求が変化・劣化する。 Agile開発はすばやくリリースを反復し、漸進的に機 能を提供し、変化に対応する。 Agile開発は、人とソフトウェアを成長させることで、 変化に対応する。 Ruby, Rails は、マシンではなく、人の思考を自然に 表現することに長けた言語とフレームワークである。 Ruby + Agile は、ビジネスの変化に対応し、かつ、 「ソフトウェア」と「人」を育てる、現在最も有望な組み 合わせである。
39.
1つのインスタンス化 Business
Web2.0 Process Agile Framework Rails Language Ruby
Baixar agora