2013/02/15 デブサミ2013【15-B-7】反復型ソフトウェア開発の勘所 #devsumiB

Developers Summit 2013 Action! http://event.shoeisha.jp/detail/1/ <講演概要> 反復型ソフトウェア開発とは、複数のアジャイルな開発手法に共通の基盤となっている開発モデルです。その特徴として、タイムボックスとよばれる期間を繰り返しながら開発をすすめること、プロジェクトの早期から継続してインテグレーション(結合)して実行可能なソフトウェアを構築すること、の2点があげられます。本セッションでは、タイムボックスの運用方法とインテグレーションの技術から導出できる、ソフトウェア開発における重要な原則を説明したいと思います。 続きを読む
2
teyamagu @teyamagu

今日は本の中での重要な部分,エッセンスについて話すとのこと #devsumi #devsumiB

2013-02-15 16:36:20
Takahiro HAMAGUCHI @tk_hamaguchi

【15-B-7】反復型ソフトウェア開発の勘所 #devsumi #devsumiB

2013-02-15 16:36:30
千田啓次郎 @1000kei

now: Microsoftのテスターによる反復型開発の勘所 #devsumiB

2013-02-15 16:36:49
Takahiro HAMAGUCHI @tk_hamaguchi

キーワードはタイムボックスと継続的インテグレーション #devsumi #devsumiB

2013-02-15 16:37:14
みよひで画伯 @miyohide

津田「多くのアジャイルな手法に共通の基盤である反復型の開発モデル。共通点1はタイムボックスの繰り返し、共通点2は早い時期から継続的インテグレーション。」#devsumi #devsumiB

2013-02-15 16:37:40
みよひで画伯 @miyohide

津田「タイムボックスとは、開発プロジェクトの期間を表す箱。箱の中には、時間を使うものすべてを入れる。作業の大きさを見積もれないと、作業が溢れたりする。また、作業の大きさを見積もっても溢れてしまうことがある。」#devsumi #devsumiB

2013-02-15 16:39:13
みよひで画伯 @miyohide

津田「あふれた場合、どうするか。1.無理やり詰め込む、2.箱を大きい物に取り替えるという方法もあるが、正解は3.全部入れることを諦める。」#devsumi #devsumiB

2013-02-15 16:39:59
みよひで画伯 @miyohide

津田「全部入れることを諦めることで、ほんとうに必要なことが分かる。」#devsumi #devsumiB

2013-02-15 16:40:55
みよひで画伯 @miyohide

津田「作業の範囲を守ることで、作業の品質と期間を守ることが出来る。これがタイムボックスの基本的な考え方。」#devsumi #devsumiB

2013-02-15 16:41:22
馬美肉 @chiastolite

津田さんのスライド、アニメーションがわかりやすくていいな #devsumiB

2013-02-15 16:42:55
みよひで画伯 @miyohide

津田「タイムボックスの大きさは入れたい作業の大きさによる。15分でも1週間でも1年でもよい。が、大きい箱は扱いにくい。タイムボックスの中に、マイルストーン(1〜数ヶ月の箱)とイテレーション(数日〜数週間の箱)を作ってタイムボックスを仕切る。」#devsumi #devsumiB

2013-02-15 16:43:04
teyamagu @teyamagu

聴衆に本を買ってもらうのが津田さんのゴールw #devsumi #devsumiB

2013-02-15 16:43:39
みよひで画伯 @miyohide

津田「タイムボックスの計画。入り口と出口の策定。バックログの作成。バックログとは、作業内容(作業完了の定義と条件)、工数の見積もり、優先度。」#devsumi #devsumiB

2013-02-15 16:44:30
みよひで画伯 @miyohide

津田「途中でタイムボックスにバックログを増やすこと、基本はやらない。まずは今決めたゴールに達成することを優先する。」#devsumi #devsumiB

2013-02-15 16:45:14
みよひで画伯 @miyohide

津田「ただし、検討漏れなどで必要なバックログを追加することもある。その時は追加する。」#devsumi #devsumiB

2013-02-15 16:45:53
みよひで画伯 @miyohide

津田「途中でバックログを減らすこと。次のタイムボックスにバックログを蹴りつける。『パントする』と呼ぶ。」#devsumi #devsumiB

2013-02-15 16:47:02
みよひで画伯 @miyohide

津田「出口条件。いくつかの条件がある。残作業がゼロ、バグがゼロ、出荷可能な状態になるなど。具体的に分かるように数値的指標であることが望ましい。」#devsumi #devsumiB

2013-02-15 16:48:13
まさにぃ @masany1980

バグをゼロにする日付を設定して、それに向かうこと #devsumiB

2013-02-15 16:49:32
みよひで画伯 @miyohide

津田「出口条件への到達を継続的に観察する。それがバーンダウンチャート。出口で出口条件への到達を確認するのは遅い。」#devsumi #devsumiB

2013-02-15 16:49:33
みよひで画伯 @miyohide

津田「成果物。出口条件を満たしたビルド。マイルストーンビルドやスプリントビルド。」#devsumi #devsumiB

2013-02-15 16:50:14
みよひで画伯 @miyohide

津田「フィーチャーボックス。実装する機能(範囲)を固定すること。優先度を付ける必要はないが、いつ仕事が終わるのかは分からない。」#devsumi #devsumiB

2013-02-15 16:51:04
みよひで画伯 @miyohide

津田「納期(時間)を固定するタイムボックスでは、優先度が重要となる。」#devsumi #devsumiB

2013-02-15 16:51:44
みよひで画伯 @miyohide

津田「タイムボックスのまとめ。ウォーターフォールでは、遠距離そう。正しいゴールなのか実際につくまで不明。反復法は短距離走。ゴールに着くたびに軌道修正が可能。」#devsumi #devsumiB

2013-02-15 16:52:36
みよひで画伯 @miyohide

津田「継続的インテグレーションについて。継続的に統合ビルドを構築。CIはXPよりもずっと前から有る。」#devsumi #devsumiB

2013-02-15 16:54:33
みよひで画伯 @miyohide

津田「ビルドとは。意味が二つ有る。一つ目、実行可能なソフトウェアのこと。二つ目、実行可能なソフトウェアを構築すること。」#devsumi #devsumiB

2013-02-15 16:57:59