"ordinary" system development

Post on 01-Nov-2014

9 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

角谷 信太郎KAKUTANI Shintaro; Eiwa System Management,Inc.

“Ordinary” System Development - A Pattern Language To Make Your Project Agile

(株)永和システムマネジメント s-kakutani@esm.co.jp

RubyWorld Conference 2010; 2010-09-06(Mon)

ふつうのシステム開発~Rubyを活用した受託開発をアジャイルにするためのパターンの紹介

2010年9月6日月曜日

http://www.flickr.com/photos/t-seto/3740610277/

Kakutani Shintaro

2010年9月6日月曜日

Asakusa.rb

http://www.flickr.com/photos/takkanm/39784176692010年9月6日月曜日

http://www.flickr.com/photos/recompile_net/4932517324/

Akira Matsuda(@bitsweat in Asakusa)

2010年9月6日月曜日

http://www.sarahmei.com/blog/2010/09/01/asakusa-rb/2010年9月6日月曜日

2010年9月6日月曜日

http://www.flickr.com/photos/recompile_net/4935820587/

RubyKaigihttp://rubykaigi.org

2010年9月6日月曜日

http://togetter.com/li/467992010年9月6日月曜日

提 供

おかげさまで30周年情報化技術を通じて社会と共生する

2010年9月6日月曜日

角谷 信太郎KAKUTANI Shintaro; Eiwa System Management,Inc.

“Ordinary” System Development - A Pattern Language To Make Your Project Agile

(株)永和システムマネジメント s-kakutani@esm.co.jp

RubyWorld Conference 2010; 2010-09-06(Mon)

ふつうのシステム開発~Rubyを活用した受託開発をアジャイルにするためのパターンの紹介

2010年9月6日月曜日

Head Firstふつうのシステム開発株式会社 永和システムマネジメントhttp://www.esm.co.jp

RubyKaigi2010 2010/08/27http://d.hatena.ne.jp/nawoto/20100830/12831364102010年9月6日月曜日

http://www.flickr.com/photos/hsbt/4931708053/2010年9月6日月曜日

http://www.flickr.com/photos/y_ogagaga/4941878035/2010年9月6日月曜日

http://www.flickr.com/photos/hsbt/4932277668/2010年9月6日月曜日

ふつうのシステム開発

2010年9月6日月曜日

Ruby

2010年9月6日月曜日

Agile Software Development

http://www.flickr.com/photos/long-mai/3569550298/2010年9月6日月曜日

2010年9月6日月曜日

2005 2006 2007 2008 2009

043

117130 150

711

12 16

Ruby,Rails関連プロジェクト数と売上高(単位:百万)の推移

2010年9月6日月曜日

2010年9月6日月曜日

http://www.tbray.org/talks/RW09.pdf

Javaが中心だったころ✓オブジェクト指向やJava,UMLの技術支援

✓ 2次請けが多い✓パートナー比率が高め✓ 8~10人の開発メンバー

2010年9月6日月曜日

http://www.tbray.org/talks/RW09.pdf

Rubyが中心になってから✓技術を使って価値のあるソフトウェアを届ける

✓お客さまと近い仕事✓自社メンバーが中心✓ 2~4人の開発メンバ ー

2010年9月6日月曜日

ふつうのシステム開発

2010年9月6日月曜日

ふつうのシステム開発

✓ 投資効果のある、✓ ちゃんと動くソフトウェアを、✓ 期待される期間内に提供し、✓ それを維持・変更し続けられる

2010年9月6日月曜日

ふつうのシステム開発✓ 私たちは良い仕事をしたい✓ ソフトウェアは人が人のためにつくっている

✓ みんなで力を合わせて成果をあげるのが仕事

✓ 仕事に見合った報酬を得たい2010年9月6日月曜日

http://www.rubyworld-conf.org/ja/2010年9月6日月曜日

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年9月6日月曜日

http://www.flickr.com/photos/recompile_net/3901074695/

“プログラムを書いたことのないシステムエンジニアが威張っているような会社は早晩亡びる。竹内郁雄「推薦のことば」(『ビューティフル・コード』)

2010年9月6日月曜日

http://www.flickr.com/photos/recompile_net/4934007508/2010年9月6日月曜日

Ruby

2010年9月6日月曜日

信頼2010年9月6日月曜日

楽しさ2010年9月6日月曜日

http://www.rubyworld-conf.org/ja/2010年9月6日月曜日

BruceA.Tateat RubyWorld Conference 2009in Matz-e, Japan

2010年9月6日月曜日

http://www.rubyworld-conf.org/ja/program/abstract/a-2/2010年9月6日月曜日

http://www.rubyworld-conf.org/ja/program/abstract/a-2/2010年9月6日月曜日

http://www.rubyworld-conf.org/ja/program/abstract/a-2/2010年9月6日月曜日

2010年9月6日月曜日

2010年9月6日月曜日

2010年9月6日月曜日

2010年9月6日月曜日

開発プロセス

2010年9月6日月曜日

Agile Software Development

http://www.flickr.com/photos/long-mai/3569550298/2010年9月6日月曜日

http://www.amazon.co.jp/o/ASIN/487311392X/kakutani-222010年9月6日月曜日

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

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

2010年9月6日月曜日

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

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

2010年9月6日月曜日

http://www.amazon.co.jp/o/ASIN/4873113636/kakutani-222010年9月6日月曜日

協力すること考えること

計画することリリースすること開発すること2010年9月6日月曜日

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

2010年9月6日月曜日

パターン2010年9月6日月曜日

http://www.flickr.com/photos/goldenpixel/2037394498/

パターンは事物ではなく、繰り返し起こる出来事や関係に名前をつけたものである

2010年9月6日月曜日

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

2010年9月6日月曜日

http://flickr.com/photos/automania/97936640/

すべての蜘蛛の巣はユニークだが、ひとつのプロセスに従っている

2010年9月6日月曜日

強いセンターになるパターン

2010年9月6日月曜日

ふつうのシステム開発のプロセスのための強いパターン✓ フィーチャ単位で仕事をすすめる✓ タイムボックスで区切った仕事を積み重ねる

✓ 頻繁に情報を同期する✓ “具”を詰める✓ コミュニティの一員になる

2010年9月6日月曜日

フィーチャ単位で仕事をすすめる

http://www.flickr.com/photos/soldiersmediacenter/3948272458/2010年9月6日月曜日

http://www.amazon.co.jp/o/ASIN/4839924023/kakutani-222010年9月6日月曜日

計画の基準: フィーチャ(タスクではない)‣ フィーチャ(Feature): ソフトウェアの機能、特性や特徴、性能目標、見た目や使い勝手など、いわゆる「売り文句」を総称するもの

‣ 要求仕様, 機能要件, 大機能, ユースケースとよく似ている‣ ユーザに価値を提供するものがフィーチャ

‣ 性能要件やセキュリティといった非機能要件もフィーチャになりうる

‣ フィーチャの“実装”手段はさまざま‣ ユーザーストーリー, ストーリーカード‣ Issue Tracking Systemに登録されたチケット‣ Excelの表‣ ユースケース記述の変異したもの

2010年9月6日月曜日

ストーリーカード2010年9月6日月曜日

http://www.pivotaltracker.com/2010年9月6日月曜日

http://blog.mountaingoatsoftware.com/advantages-of-the-as-a-user-i-want-user-story-template2010年9月6日月曜日

ユーザーストーリーの形式✓ As a/an <type of user>,✓ 販売管理部門の担当として、

✓ I Want To <some goal>✓ 先月の締め日以降の今月の売上金額と数量を見たい

✓ So That <some reason>✓ 経理部門にレポートを提出するために必要だから

2010年9月6日月曜日

http://agileproductdesign.com/blog/the_new_backlog.html2010年9月6日月曜日

見積り2010年9月6日月曜日

見積り2010年9月6日月曜日

http://www.flickr.com/photos/loungerie/236645752/

タイムボックスで区切った仕事を積み重ねる

2010年9月6日月曜日

インクリメンタル開発の流れマイルストーン1 マイルストーン2

...

イテレーション

マイルストーン: マイルストーンは契約の単位です。1つのマイルストーンにつき、1回以上リリースするものとします。

リリース: リリースプランニングを通じて、リリースに含める内容を優先順位にしたがって各イテレーションに割り当てます。含められる分量は、過去のイテレーション実績をもとに決定します。

イテレーション: 1~2週間をタイムボックスとして、リリース計画で割り当てられた作業を実施します。状況の変化に応じて優先順位の変更に適応します。

リリース1 リリース2 リリース3

1 2 3 4 5 6 7 8 9

リリース4

イテレーション イテレーション

10 11 ...イテレーション

2010年9月6日月曜日

複数レベルの計画づくり戦略

ポートフォリオプロダクトリリース

イテレーション

今日

2010年9月6日月曜日

http://www.amazon.co.jp/o/ASIN/4839924023/kakutani-222010年9月6日月曜日

http://www.amazon.co.jp/o/ASIN/4798120405/kakutani-222010年9月6日月曜日

http://www.flickr.com/photos/stephenhackett/3289703976/

頻繁に情報を同期する

2010年9月6日月曜日

タイムボックスに応じた、適切な長さの情報同期ポイント✓朝会, 夕会✓ チーム内の作業状況を共有する✓イテレーションレビュー✓ タイムボックスの成果の認識を合わせる✓ふりかえり✓ 状況に応じてプロセスを見直す

2010年9月6日月曜日

2010年9月6日月曜日

2010年9月6日月曜日

http://www.flickr.com/photos/yto/4573526038/

“具”を詰める

2010年9月6日月曜日

枠組みに対して、実際に手を動かしてふつうのシステム開発を可能にする✓テスト駆動開発(TDD)✓リファクタリング✓継続的インテグレーション✓ “設計”と“実装”は不可分✓ペアプログラミング

2010年9月6日月曜日

Ruby

2010年9月6日月曜日

特にRubyはテスティングととても相性がよい✓柔軟なオブジェクト機構✓ Meta Programming for Rest of Us

✓テスティングDSL✓ rspec, rr, steak, cucumber, capybara

✓fixture replacement✓ factory_girl, machinist, fabrication,dbcleaner

2010年9月6日月曜日

2010年9月6日月曜日

2010年9月6日月曜日

2010年9月6日月曜日

コミュニティの一員になる

http://pixdaus.com/single.php?id=1041502010年9月6日月曜日

2010年9月6日月曜日

organizer, speaker

subeventLT on JRubyKaigisubevent

subevent, staffsubevent, staff

speaker, subevent

subevent

2010年9月6日月曜日

Ruby Commuity on github

http://lumberjaph.net/blog/index.php/2010/03/25/github-explorer/

Yeah! I’m here!

2010年9月6日月曜日

コミュニティの一員になる✓ “コミュニティ標準”に倣う✓ 採用バージョン, 規約, 利用ツール✓ みんなのコードを良くしよう✓ バグ報告,パッチ,pull request...

✓ “みんなに知らせる”✓ 発表,書籍,記事,blog,twetter,irc...

✓ The Netへのポートを閉じない!✓ ssh, git, irc, web filtering...

2010年9月6日月曜日

2010年9月6日月曜日

まとめ2010年9月6日月曜日

ふつうのシステム開発のプロセスのための強いパターン✓ フィーチャ単位で仕事をすすめる✓ タイムボックスで区切った仕事を積み重ねる

✓ 頻繁に情報を同期する✓ “具”を詰める✓ コミュニティの一員になる

2010年9月6日月曜日

フィーチャ単位で仕事をすすめる

http://www.flickr.com/photos/soldiersmediacenter/3948272458/2010年9月6日月曜日

http://www.flickr.com/photos/loungerie/236645752/

タイムボックスで区切った仕事を積み重ねる

2010年9月6日月曜日

http://www.flickr.com/photos/stephenhackett/3289703976/

頻繁に情報を同期する

2010年9月6日月曜日

http://www.flickr.com/photos/yto/4573526038/

“具”を詰める

2010年9月6日月曜日

コミュニティの一員になる

http://pixdaus.com/single.php?id=1041502010年9月6日月曜日

http://www.flickr.com/photos/goldenpixel/2037394498/

パターンは事物ではなく、繰り返し起こる出来事や関係に名前をつけたものである

2010年9月6日月曜日

http://flickr.com/photos/automania/97936640/

すべての蜘蛛の巣はユニークだが、ひとつのプロセスに従っている

2010年9月6日月曜日

http://www.flickr.com/photos/recompile_net/3901074695/

“プログラムを書いたことのないシステムエンジニアが威張っているような会社は早晩亡びる。竹内郁雄「推薦のことば」(『ビューティフル・コード』)

2010年9月6日月曜日

http://www.rubyworld-conf.org/ja/2010年9月6日月曜日

http://www.flickr.com/photos/recompile_net/4934007508/2010年9月6日月曜日

Ruby

2010年9月6日月曜日

信頼2010年9月6日月曜日

楽しさ2010年9月6日月曜日

ふつうのシステム開発

✓ 投資効果のある、✓ ちゃんと動くソフトウェアを、✓ 期待される期間内に提供し、✓ それを維持・変更し続けられる

2010年9月6日月曜日

ふつうのシステム開発✓ 私たちは良い仕事をしたい✓ ソフトウェアは人が人のためにつくっている

✓ みんなで力を合わせて成果をあげるのが仕事

✓ 仕事に見合った報酬を得たい2010年9月6日月曜日

ふつうのシステム開発

2010年9月6日月曜日

提 供

おかげさまで30周年情報化技術を通じて社会と共生する

2010年9月6日月曜日

生きている花をつくろうとすれば、ピンセットで細胞を一つ一つ物理的に組み立てるのではなく種から育てるであろう。

http://www.flickr.com/photos/claudio_ar/2601700491/

クリストファー・アレグザンダー『時を超えた建設の道』

2010年9月6日月曜日

top related