Rubyコミュニティの文化に学ぶ               エンタープライズシステム開発の処方箋              Prescriptions for Enterprise App Development learned from c...
アクセンチュア株式会社                                                  企業戦略、業務改革、システム開発・保守、BPO など                                   ...
自己紹介相澤 歩 (あいざわ あゆむ)シニア・システムアナリスト   • Cloud Initiative / ソリューション・アーキテクト   • Architecture Innovation/ Rails Team   北海道札幌市に「A...
Dreamforce ’11 as Diamond Sponsor     Salesforce.com is proud to welcome Accenture as our one and only diamond sponsor! Ac...
Ruby会議2009 ライトニングトークレガシーマイグレーションのためのRubyDSLによるJCLの実装    http://rubykaigi.org/2009/ja/talks/17H05                          ...
RubyWorld Conference2010Rubyによるシステム開発運用支援活用の事例    http://www.rubyworld-conf.org/ja/archives/2010/program/B-1/Copyright © 2...
日本Ruby会議2011Issue of Enterprise Rubyist    http://rubykaigi.org/2011/ja/schedule/details/16M06Copyright © 2011 Accenture A...
CMS for CloudLokka    http://lokka.orgCopyright © 2011 Accenture All Rights Reserved.   8
$ gem install heroku bundler     $ git clone git://github.com/komagata/lokka.git     $ cd lokka     $ heroku create     $ ...
Object Oriented Programming Language Ruby    http://www.ruby-lang.orgCopyright © 2011 Accenture All Rights Reserved.   10
おはなしすること健康なシステム開発を遂行するために、いわゆる“Rubyコミュニティー”で定番となっている手法とツールを紹介         • バージョン管理         • 課題/変更管理         • 自動化Copyright ©...
Rubyコミュニティの文化に学ぶエンタープライズシステム開発の処方箋            Prescriptions for Enterprise App Development learned from culture of the Rub...
ケース1バージョン管理の仕組みがうまく機能していない症状         •   _yyyymmdd.zip         •   保存=コミットの区別がない         •   コミットログに何も書いていない         •   ブ...
処方分散バージョン管理システム - Git                                                  http://git-scm.com軽量• 個々のユーザが自分専用のリポジトリをローカルにもつ• 開発...
GitHub                                   特徴                                         • ユーザ同士がコードでコミュニケーション                 ...
社内オープンソース活動有料アカウントで非公開リポジトリの作成も可能Copyright © 2011 Accenture All Rights Reserved.   16
Rubyコミュニティの文化に学ぶエンタープライズシステム開発の処方箋            Prescriptions for Enterprise App Development learned from culture of the Rub...
ケース2ソースコードの変更理由を追跡するのが難しいガントチャート上の進捗線に現実感がない症状  • 仕様変更と障害対応が一緒にコミットされる  • 『なにを変更』したかはわかるが『なぜ』変更したか    わからない  • チケットの粒度がばらば...
処方課題追跡システム - Redmine特徴• チケットの起票と管理• シンプルなワークフロー• バージョン管理システム  との連携                                                  http:/...
変更の追跡コミットログにチケット番号を記述変更理由(チケット)と変更内容(コミット)が関連付けられるCopyright © 2011 Accenture All Rights Reserved.   20
ワークフロー• チケットのステータスを管理• ロールごとに権限を設定                      Open                    Assigned     On-Going                     ...
チケット管理チケットの記述粒度は、チームの成熟にともなって自然と決まっていくガイドライン         •   チームにとってちょうどよいサイズを探す         •   開発初期はラフに         •   開発終盤はキッチリと  ...
Rubyコミュニティの文化に学ぶエンタープライズシステム開発の処方箋            Prescriptions for Enterprise App Development learned from culture of the Rub...
ケース3定型化された重要な作業に時間がかかっている単調だが複雑な作業にかかる工数が大きい症状         • 手戻りが発生した場合の時間的ロスが大きい         • その作業に熟練した担当者にしかわからないコツがある         ...
処方本質的な価値創造に寄与しない作業を自動化する自動化アプローチが効果的に機能するフェーズ         • 結合テスト         • ステージング         • パッケージング         • デプロイCopyright ©...
結合テストの自動化レグレッションテストの実行を自動化するテスト計画のポイント         •   テストケースの網羅性         •   テストデータのつくりかた・管理方法         •   テスト実行方法・ツール       ...
ステージング/パッケージング/デプロイの自動化レグレッションテストの実行を自動化するステージング/パッケージング/デプロイのポイント         • バージョン管理との連動         • データ構造の移行         • データの...
Rubyコミュニティの文化に学ぶエンタープライズシステム開発の処方箋            Prescriptions for Enterprise App Development learned from culture of the Rub...
健康なシステム開発チームさまざまな変化に対応していくためには、開発チームが『健康』であることが必要チームが健康であるために …         • すばやいフィードバック         • 自己組織化         • 継続的な取り組みCo...
Upcoming SlideShare
Loading in...5
×

Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋

4,125

Published on

Rubyの良さを発揮させるためはRubyのプログラム言語としての特性に由来するもの以上に、『Rubyらしさ』に由来する開発プロセスや作業スタイルをシステム開発のライフサイクルに取り入れていくことが重要である。本発表では、システムの生産性を向上し変更容易性を維持していく手法について、Rubyのコミュニティーでは定番となっているツールや手法に焦点をあてて紹介する。

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,125
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋

  1. 1. Rubyコミュニティの文化に学ぶ エンタープライズシステム開発の処方箋 Prescriptions for Enterprise App Development learned from culture of the Ruby community アクセンチュア・テクノロジー・ソリューションズ株式会社 相澤 歩Copyright © 2011 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. 1
  2. 2. アクセンチュア株式会社 企業戦略、業務改革、システム開発・保守、BPO など • コンサルティング • テクノロジー • アウトソーシングアクセンチュア・テクノロジー・ソリューションズ株式会社 • アクセンチュアの戦略的SIを担う、システム開発のスペシャリスト集団として設立 • アクセンチュアのシステム開発フェーズにおいて中心的な役割を担うCopyright © 2011 Accenture All Rights Reserved. 2
  3. 3. 自己紹介相澤 歩 (あいざわ あゆむ)シニア・システムアナリスト • Cloud Initiative / ソリューション・アーキテクト • Architecture Innovation/ Rails Team 北海道札幌市に「Accenture Cloud Application Factory」を開設 http://www.accenture.com/jp-ja/company/newsroom-japan/pages/news-releases-20100921-b.aspx Force.com、Amazon Web Services を中心としたクラウド基盤を活用 した業務システム開発プロジェクトを複数担当。オープンソース ソフトウェアを活用したプロジェクト改善活動を実践しています。 • 2009年 社長賞受賞 • 2010年 Core Value Award 受賞 • 2011年 セールスフォース・ドットコム社 より Partner Award “Custom Cloud of the Year” 受賞 http://www.salesforce.com/jp/partners/partner_awards.jspCopyright © 2011 Accenture All Rights Reserved. 3
  4. 4. Dreamforce ’11 as Diamond Sponsor Salesforce.com is proud to welcome Accenture as our one and only diamond sponsor! Accenture makes it easy for organizations to harness the cloud for sales, marketing, service, and operations. Check out their fabulous value-add offering right here online; then meet with them in person at Dreamforce.Copyright © 2011 Accenture All Rights Reserved. 4
  5. 5. Ruby会議2009 ライトニングトークレガシーマイグレーションのためのRubyDSLによるJCLの実装 http://rubykaigi.org/2009/ja/talks/17H05 http://www.nicovideo.jp/watch/sm8240786Copyright © 2011 Accenture All Rights Reserved. 5
  6. 6. RubyWorld Conference2010Rubyによるシステム開発運用支援活用の事例 http://www.rubyworld-conf.org/ja/archives/2010/program/B-1/Copyright © 2011 Accenture All Rights Reserved. 6
  7. 7. 日本Ruby会議2011Issue of Enterprise Rubyist http://rubykaigi.org/2011/ja/schedule/details/16M06Copyright © 2011 Accenture All Rights Reserved. 7
  8. 8. CMS for CloudLokka http://lokka.orgCopyright © 2011 Accenture All Rights Reserved. 8
  9. 9. $ gem install heroku bundler $ git clone git://github.com/komagata/lokka.git $ cd lokka $ heroku create $ git push heroku master $ heroku rake db:setup $ heroku apps:openCopyright © 2011 Accenture All Rights Reserved. 9
  10. 10. Object Oriented Programming Language Ruby http://www.ruby-lang.orgCopyright © 2011 Accenture All Rights Reserved. 10
  11. 11. おはなしすること健康なシステム開発を遂行するために、いわゆる“Rubyコミュニティー”で定番となっている手法とツールを紹介 • バージョン管理 • 課題/変更管理 • 自動化Copyright © 2011 Accenture All Rights Reserved. 11
  12. 12. Rubyコミュニティの文化に学ぶエンタープライズシステム開発の処方箋 Prescriptions for Enterprise App Development learned from culture of the Ruby communityバージョン管理Version ManagementCopyright © 2011 Accenture All Rights Reserved. 12
  13. 13. ケース1バージョン管理の仕組みがうまく機能していない症状 • _yyyymmdd.zip • 保存=コミットの区別がない • コミットログに何も書いていない • ブランチコントロールができていない • マージするたび大騒ぎCopyright © 2011 Accenture All Rights Reserved. 13
  14. 14. 処方分散バージョン管理システム - Git http://git-scm.com軽量• 個々のユーザが自分専用のリポジトリをローカルにもつ• 開発者個人がいつでもブランチがつくれるコミットの『推敲』• 強力なrebase機能Copyright © 2011 Accenture All Rights Reserved. 14
  15. 15. GitHub 特徴 • ユーザ同士がコードでコミュニケーション できる仕組みを提供 • 公開プロジェクトを手軽にforkし、 改良コードをPull request できる http://github.com/Copyright © 2011 Accenture All Rights Reserved. 15
  16. 16. 社内オープンソース活動有料アカウントで非公開リポジトリの作成も可能Copyright © 2011 Accenture All Rights Reserved. 16
  17. 17. Rubyコミュニティの文化に学ぶエンタープライズシステム開発の処方箋 Prescriptions for Enterprise App Development learned from culture of the Ruby community課題/変更管理Issue TrackingCopyright © 2011 Accenture All Rights Reserved. 17
  18. 18. ケース2ソースコードの変更理由を追跡するのが難しいガントチャート上の進捗線に現実感がない症状 • 仕様変更と障害対応が一緒にコミットされる • 『なにを変更』したかはわかるが『なぜ』変更したか わからない • チケットの粒度がばらばら • チケットがなかなかクローズしないCopyright © 2011 Accenture All Rights Reserved. 18
  19. 19. 処方課題追跡システム - Redmine特徴• チケットの起票と管理• シンプルなワークフロー• バージョン管理システム との連携 http://www.redmine.org/同様のツールCopyright © 2011 Accenture All Rights Reserved. 19
  20. 20. 変更の追跡コミットログにチケット番号を記述変更理由(チケット)と変更内容(コミット)が関連付けられるCopyright © 2011 Accenture All Rights Reserved. 20
  21. 21. ワークフロー• チケットのステータスを管理• ロールごとに権限を設定 Open Assigned On-Going Rejected Finished ClosedCopyright © 2011 Accenture All Rights Reserved. 21
  22. 22. チケット管理チケットの記述粒度は、チームの成熟にともなって自然と決まっていくガイドライン • チームにとってちょうどよいサイズを探す • 開発初期はラフに • 開発終盤はキッチリと • 保守フェーズでは厳格に運用Copyright © 2011 Accenture All Rights Reserved. 22
  23. 23. Rubyコミュニティの文化に学ぶエンタープライズシステム開発の処方箋 Prescriptions for Enterprise App Development learned from culture of the Ruby community自動化AutomationCopyright © 2011 Accenture All Rights Reserved. 23
  24. 24. ケース3定型化された重要な作業に時間がかかっている単調だが複雑な作業にかかる工数が大きい症状 • 手戻りが発生した場合の時間的ロスが大きい • その作業に熟練した担当者にしかわからないコツがある • ミスを誘発するような罠がいくつもある • これらは開発の終盤によくあるCopyright © 2011 Accenture All Rights Reserved. 24
  25. 25. 処方本質的な価値創造に寄与しない作業を自動化する自動化アプローチが効果的に機能するフェーズ • 結合テスト • ステージング • パッケージング • デプロイCopyright © 2011 Accenture All Rights Reserved. 25
  26. 26. 結合テストの自動化レグレッションテストの実行を自動化するテスト計画のポイント • テストケースの網羅性 • テストデータのつくりかた・管理方法 • テスト実行方法・ツール • 定量的な評価Copyright © 2011 Accenture All Rights Reserved. 26
  27. 27. ステージング/パッケージング/デプロイの自動化レグレッションテストの実行を自動化するステージング/パッケージング/デプロイのポイント • バージョン管理との連動 • データ構造の移行 • データの移行Copyright © 2011 Accenture All Rights Reserved. 27
  28. 28. Rubyコミュニティの文化に学ぶエンタープライズシステム開発の処方箋 Prescriptions for Enterprise App Development learned from culture of the Ruby community健康な身体をつくるためにFor healthy lifeCopyright © 2011 Accenture All Rights Reserved. 28
  29. 29. 健康なシステム開発チームさまざまな変化に対応していくためには、開発チームが『健康』であることが必要チームが健康であるために … • すばやいフィードバック • 自己組織化 • 継続的な取り組みCopyright © 2011 Accenture All Rights Reserved. 29

×