More Related Content Similar to "Ordinary" System Development Similar to "Ordinary" System Development (20) More from Shintaro Kakutani More from Shintaro Kakutani (20) "Ordinary" System Development1. ふつうの
システム開発
∼Rubyを活用した受託開発を
アジャイルにするためのパターンの紹介
“Ordinary” System Development - A Pattern Language
To Make Your Project Agile
角谷 信太郎
(株)永和システムマネジメント
s-kakutani@esm.co.jp
KAKUTANI Shintaro; Eiwa System Management,Inc.
RubyWorld Conference 2010; 2010-09-06(Mon)
2010年9月6日月曜日
4. Akira
Matsuda
(@bitsweat in Asakusa)
http://www.flickr.com/photos/recompile_net/4932517324/
2010年9月6日月曜日
9. 提 供
おかげ さ まで30周年
情 報化 技術を 通 じて社会と共生する
2010年9月6日月曜日
10. ふつうの
システム開発
∼Rubyを活用した受託開発を
アジャイルにするためのパターンの紹介
“Ordinary” System Development - A Pattern Language
To Make Your Project Agile
角谷 信太郎
(株)永和システムマネジメント
s-kakutani@esm.co.jp
KAKUTANI Shintaro; Eiwa System Management,Inc.
RubyWorld Conference 2010; 2010-09-06(Mon)
2010年9月6日月曜日
15. ふつうの
システム開発
2010年9月6日月曜日
17. Agile Software
Development
http://www.flickr.com/photos/long-mai/3569550298/
2010年9月6日月曜日
19. Ruby,Rails関連 150
プロジェクト数と 130
売上高(単位:百万) 117
の推移
12 16
43 11
0 7
2005 2006 2007 2008 2009
2010年9月6日月曜日
21. Javaが中心だったころ
✓ オブジェクト指向や
Java,UMLの技術支援
✓ 2次請けが多い
✓ パートナー比率が高め
✓ 8∼10人の開発メンバー
http://www.tbray.org/talks/RW09.pdf
2010年9月6日月曜日
22. Rubyが中心になってから
✓ 技術を使って価値のあるソ
フトウェアを届ける
✓ お客さまと近い仕事
✓ 自社メンバーが中心
✓ 2∼4人の開発メンバ ー
http://www.tbray.org/talks/RW09.pdf
2010年9月6日月曜日
23. ふつうの
システム開発
2010年9月6日月曜日
24. ふつうのシステム開発
✓ 投資効果のある、
✓ ちゃんと動くソフトウェアを、
✓ 期待される期間内に提供し、
✓ それを維持・変更し続けられる
2010年9月6日月曜日
25. ふつうのシステム開発
✓ 私たちは良い仕事をしたい
✓ ソフトウェアは人が人のために
つくっている
✓ みんなで力を合わせて成果をあ
げるのが仕事
✓ 仕事に見合った報酬を得たい
2010年9月6日月曜日
28. “ プログラムを
書いたことの
ないシステム
エンジニアが
威張っている
ような会社は
竹内郁雄「推薦のことば」(『ビューティフル・コード』) 早晩亡びる。
http://www.flickr.com/photos/recompile_net/3901074695/
2010年9月6日月曜日
34. Bruce
A.Tate
at RubyWorld
Conference 2009
in Matz-e, Japan
2010年9月6日月曜日
43. Agile Software
Development
http://www.flickr.com/photos/long-mai/3569550298/
2010年9月6日月曜日
45. “ プロセスとは、どのような図、
文書、テストを実行すべきかに
関する形式的な一連の規則とい
うよりも…実は実行すべきこと
や実行すべきときを表すものに
すぎないのです。また、頭文字
も必要ありません…適切に機能
すればよいのです。
『Head First ソフトウェア開発』
2010年9月6日月曜日
46. “ 自分のチームと自分のプロジェ
クトに役立つプロセスを選び…
そのプロセスが生み出した成果
物を自分の顧客の要望に合うよ
うに調整します。
『Head First ソフトウェア開発』
2010年9月6日月曜日
49. 1.ペアプログラミング 15. バグなし 29. インクリメンタルな
2.活き活きとした仕事 16. バージョン管理 要件
3.情報満載の仕事場 17. 10分ビルド 30.顧客テスト
4.根本原因分析 18. 継続的インテグ 31.テスト駆動開発
5.ふりかえり レーション 32.リファクタリング
6.信頼 19. コードの共同所有 33.シンプルな設計
7.全員同席 20. ドキュメント 34.インクリメンタルな
設計とアーキテクチャ
8.真の顧客の参加 21. ビジョン
35.スパイク
9.ユビキタス言語 22. リリース計画
ソリューション
10. スタンドアップ 23. 計画ゲーム 36.パフォーマンスの
ミーティング 24. リスク管理 最適化
11.コーディング標準 25. イテレーション管理 37.探索的テスト
12.イテレーションデモ 26.ゆとり
13.報告 27.ストーリー
14.「完全Done」 28.見積り
2010年9月6日月曜日
52. 1.ペアプログラミング 15. バグなし 29. インクリメンタルな
2.活き活きとした仕事 16. バージョン管理 要件
3.情報満載の仕事場 17. 10分ビルド 30.顧客テスト
4.根本原因分析 18. 継続的インテグ 31.テスト駆動開発
5.ふりかえり レーション 32.リファクタリング
6.信頼 19. コードの共同所有 33.シンプルな設計
7.全員同席 20. ドキュメント 34.インクリメンタルな
設計とアーキテクチャ
8.真の顧客の参加 21. ビジョン
35.スパイク
9.ユビキタス言語 22. リリース計画
ソリューション
10. スタンドアップ 23. 計画ゲーム 36.パフォーマンスの
ミーティング 24. リスク管理 最適化
11.コーディング標準 25. イテレーション管理 37.探索的テスト
12.イテレーションデモ 26.ゆとり
13.報告 27.ストーリー
14.「完全Done」 28.見積り
2010年9月6日月曜日
53. すべての蜘蛛の巣
はユニークだが、
ひとつのプロセス
に従っている
http://flickr.com/photos/automania/97936640/
2010年9月6日月曜日
58. 計画の基準: フィーチャ(タスクではない)
‣ フィーチャ(Feature): ソフトウェアの機能、特性や特徴、
性能目標、見た目や使い勝手など、いわゆる「売り文句」
を総称するもの
‣ 要求仕様, 機能要件, 大機能, ユースケースとよく似ている
‣ ユーザに価値を提供するものがフィーチャ
‣ 性能要件やセキュリティといった非機能要件もフィーチャになりうる
‣ フィーチャの 実装 手段はさまざま
‣ ユーザーストーリー, ストーリーカード
‣ Issue Tracking Systemに登録されたチケット
‣ Excelの表
‣ ユースケース記述の変異したもの
2010年9月6日月曜日
62. ユーザーストーリーの形式
✓ As a/an <type of user>,
✓ 販売管理部門の担当として、
✓ I Want To <some goal>
✓ 先月の締め日以降の今月の売上金額と数量を見たい
✓ So That <some reason>
✓ 経理部門にレポートを提出するために必要だから
2010年9月6日月曜日
67. インクリメンタル開発の流れ
マイルストーン1 マイルストーン2
リリース1 リリース2 リリース3 リリース4 ...
1 2 3 4 5 6 7 8 9 10 11 ...
イテレーション イテレーション イテレーション イテレーション
マイルストーン: マイルストーンは契約の単位です。1つのマイルストーンにつき、1回以上リリー
スするものとします。
リリース: リリースプランニングを通じて、リリースに含める内容を優先順位にしたがって各イテ
レーションに割り当てます。含められる分量は、過去のイテレーション実績をもとに決定します。
イテレーション: 1∼2週間をタイムボックスとして、リリース計画で割り当てられた作業を実施し
ます。状況の変化に応じて優先順位の変更に適応します。
2010年9月6日月曜日
68. 複数レベルの計画づくり
戦略
ポートフォリオ
プロダクト
リリース
イテレーション
今日
2010年9月6日月曜日
71. 頻繁に情報を
同期する
http://www.flickr.com/photos/stephenhackett/3289703976/
2010年9月6日月曜日
78. 特にRubyはテスティングと
とても相性がよい
✓ 柔軟なオブジェクト機構
✓ Meta Programming for Rest of Us
✓ テスティングDSL
✓ rspec, rr, steak, cucumber, capybara
✓ fixture replacement
✓ factory_girl, machinist, fabrication,dbcleaner
2010年9月6日月曜日
82. コミュニティの
一員になる
http://pixdaus.com/single.php?id=104150
2010年9月6日月曜日
84. organizer, speaker
subevent
LT on JRubyKaigi
subevent
subevent, staff
subevent, staff
speaker, subevent
subevent
2010年9月6日月曜日
85. Ruby Commuity on github
Yeah! I’m here!
http://lumberjaph.net/blog/index.php/2010/03/25/github-explorer/
2010年9月6日月曜日
86. コミュニティの一員になる
✓ コミュニティ標準 に倣う
✓ 採用バージョン, 規約, 利用ツール
✓ みんなのコードを良くしよう
✓ バグ報告,パッチ,pull request...
✓ みんなに知らせる
✓ 発表,書籍,記事,blog,twetter,irc...
✓ The Netへのポートを閉じない!
✓ ssh, git, irc, web filtering...
2010年9月6日月曜日
92. 頻繁に情報を
同期する
http://www.flickr.com/photos/stephenhackett/3289703976/
2010年9月6日月曜日
94. コミュニティの
一員になる
http://pixdaus.com/single.php?id=104150
2010年9月6日月曜日
96. すべての蜘蛛の巣
はユニークだが、
ひとつのプロセス
に従っている
http://flickr.com/photos/automania/97936640/
2010年9月6日月曜日
97. “ プログラムを
書いたことの
ないシステム
エンジニアが
威張っている
ような会社は
竹内郁雄「推薦のことば」(『ビューティフル・コード』) 早晩亡びる。
http://www.flickr.com/photos/recompile_net/3901074695/
2010年9月6日月曜日
103. ふつうのシステム開発
✓ 投資効果のある、
✓ ちゃんと動くソフトウェアを、
✓ 期待される期間内に提供し、
✓ それを維持・変更し続けられる
2010年9月6日月曜日
104. ふつうのシステム開発
✓ 私たちは良い仕事をしたい
✓ ソフトウェアは人が人のために
つくっている
✓ みんなで力を合わせて成果をあ
げるのが仕事
✓ 仕事に見合った報酬を得たい
2010年9月6日月曜日
105. ふつうの
システム開発
2010年9月6日月曜日
106. 提 供
おかげ さ まで30周年
情 報化 技術を 通 じて社会と共生する
2010年9月6日月曜日