Upload
fumihiko-kinoshita
View
5.878
Download
0
Embed Size (px)
DESCRIPTION
オブラブイベント2007夏 講演資料
Citation preview
Practices of an Agile TeamPractices of an Agile Team
(株)永和システムマネジメント
木下 史彦
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 2
自己紹介自己紹介
名前:木下 史彦 (きのした ふみひこ)
所属:(株)永和システムマネジメント
オブジェクト倶楽部
XPJUGスタッフ
RubyKaigi2007当日スタッフ
メール:fkinos at gmail.com
日記:http://fkino.net
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 3
自己紹介自己紹介
家族
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 4
大事なことは最初に
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 5
開発の現場開発の現場
記事を書きました。
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 6
Ruby + AgileRuby + Agile
主にAgileのところを担当
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 7
Practices of an Agile DeveloperPractices of an Agile Developer
鋭意監訳中
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 8
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 9
あるプロジェクトの事例紹介
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 10
AgendaAgenda
プロジェクトの概要
やったこと
よかったこと
もっと、こうすればよかった
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 11
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 12
プロジェクトの概要プロジェクトの概要
(1)プロジェクト名
– XXXXXシステム
(2)期間
– 11月~2月
(3)メンバー
– YJさん
– KTさん
– CKさん
– と私
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 13
プロジェクトの概要プロジェクトの概要
木下
YJ
KT
CK
性能検証
基本設計
実装・テスト
結合試験
受入試験
2月1月12月11月
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 14
プロジェクトの概要プロジェクトの概要
(4)開発プロセス
ウォーターフォール方式
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 15
プロジェクトの概要プロジェクトの概要
(5)開発スタイル
なんとなく
XP + SCRUM + TPS
っぽいもの
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 16
システムの概要システムの概要
XXXXXXを郵送で行っていたのを、Web上で閲覧できるようにする。
XXXは、月に3度、発行する。
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 17
システムのシステムの概要概要
データをデータベースから取得し、Web画面上に表示させる
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 18
システムの概要システムの概要
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 19
システムの概要システムの概要
フツウのWebシステム
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 20
開発開発言語言語
Java
–画面
–帳票
VB.NET
–バッチ
Ruby
–ツール
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 21
開発規模開発規模
19画面
7人月
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 22
フレームワークフレームワーク
お任せします
特にご指定がなければ
Seasar2
–S2Dao
–S2Struts
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 23
「生産性「生産性(?)(?)」」
当プロジェクト
–19画面 7人月
小岩の某S社
–600画面 1.5ヶ月 3人
会津の某T社
–1000画面 5ヶ月 10数人
「生産性(?)」 1/50 !!
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 24
フツウのプログラマが、
チームで勝つ。─ かくたにさん
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 25
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 26
「うまくいった」
プロジェクト
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 27
ゆとりの法則ゆとりの法則
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 28
プロジェクトの目標プロジェクトの目標
プロジェクトの目標を設定するときに、具体的な仕事の内容で表すのはごく一部である。
目標の大部分は、参加者全員がプロジェクトの過程で
学び、
成長し、
楽しむ
ことにある。
─ トム・デマルコ
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 29
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 30
ふりかえりふりかえり
1週間に1回
木曜日
KPT
ふりかえり駆動
チームで学んでいく
カイゼンし続ける
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 31
リーンソフトウエア開発リーンソフトウエア開発
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 32
リーンソフトウエア開発リーンソフトウエア開発
ムダを排除する
学習効果を高める
決定をできるだけ遅らせる
できるだけ速く提供する
チームに権限をあたえる
統一性を作りこむ
全体を見る
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 33
リーンソフトウエア開発リーンソフトウエア開発
ムダを排除する
学習効果を高める
決定をできるだけ遅らせる
できるだけ速く提供する
チームに権限をあたえる
統一性を作りこむ
全体を見る
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 34
フィードバック
重要
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 35
ふりかえりふりかえり
最初のふりかえり
Tryを大きく
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 36
ふりかえりふりかえり
普段のふりかえり
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 37
ふりかえりふりかえり
最後のふりかえり
タイムライン
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 38
ふりかえりふりかえり
最後のふりかえり (卒業式)
人の気持ち
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 39
ふりかえりふりかえり
kdmsnr氏、翻訳中
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 40
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 41
イテレーション計画イテレーション計画
1週間に1回
木曜日
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 42
イテレーション計画イテレーション計画
1週間は32時間
残りの8時間は“ふりかえり”、“イテレーション計画”、“ゆとり”
残った時間でいろいろカイゼン
結合試験フェーズ、 1週間は24時間
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 43
イテレーション計画イテレーション計画
ストーリーをタスクにブレイクダウンする
– 2時間くらいの単位
– 顧客の要求を自分たちの理解できるものに翻訳
タスク
– 見積り可能
– 実行可能
XPチームはプロジェクトのあいだ中、設計を行う
「設計」
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 44
見積り見積り
プロジェクトが進行しているあいだは比較によって見積もろう
昨日の天気
最初のうちは直感的な時間見積りではじめる
うまく行くようになるためには、何度も繰り返す必要がある
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 45
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 46
XPXPエクストリーム・プログラミング導入編エクストリーム・プログラミング導入編
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 47
プログラマの権利プログラマの権利
1. プログラマには、何が必要とされているのかを明確なプライオリティとあわせて知る権利がある。
2. プログラマには、つねに質の高い仕事をする権利がある。
3. プログラマには、同僚や上司、顧客に助力を求め、それを受ける権利がある。
4. プログラマには、自ら見積を行い、またそれを更新する権利がある。
5. プログラマには、責任を割り当てられるのではなく、責任を自ら引き受ける権利がある。
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 48
プログラマの権利プログラマの権利
1. プログラマには、何が必要とされているのかを明確なプライオリティとあわせて知る権利がある。
2. プログラマには、つねに質の高い仕事をする権利がある。
3. プログラマには、同僚や上司、顧客に助力を求め、それを受ける権利がある。
4. プログラマには、自ら見積を行い、またそれを更新する権利がある。
5. プログラマには、責任を割り当てられるのではなく、責任を自ら引き受ける権利がある。
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 49
リスターの法則リスターの法則
人間は時間的な
プレッシャーをいくら
かけられても、
速くは考えられない─ ティム・リスター
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 50
見積りのふりかえり見積りのふりかえり
データを集める
データを分析する
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 51
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 52
がんばってみますがんばってみます
プログラマにとって
人生でいちばん悲しい言葉
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 53
見積りと約束見積りと約束
正確に何ができるかを約束することはできない
–私たちはそれを難しいとは言っていない。それは不可能だと言っているのだ。
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 54
見積りと約束見積りと約束
私たちができること
–何ができるかを見積もること
–自分たちのベストを尽くすことを約束すること
–何が起きているかについて真実を伝えることを約束すること
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 55
イテレーション計画イテレーション計画
調整する
–人のやりくり
–作業スコープの調整
–期限の調整
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 56
これがリーダーとしての私の仕事
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 57
コミットメントした作業が完了しなかったら・・・・・・
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 58
界王拳界王拳
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 59
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 60
タスクかんばんタスクかんばん
サッカーコート
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 61
タスクかんばんタスクかんばん
Time.now
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 62
タスクかんばんタスクかんばん
時間割
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 63
職場の「かんばん方式」職場の「かんばん方式」
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 64
トヨタかんばん方式「ストア管理」トヨタかんばん方式「ストア管理」
一個流し
一列待ち
標準化とマルチスキル化
最遅着手
総量管理
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 65
トヨタかんばん方式「ストア管理」トヨタかんばん方式「ストア管理」
一個流し
一列待ち
標準化とマルチスキル化
最遅着手
総量管理
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 66
継続的インテグレーション継続的インテグレーション
Maven2
Continuum
XFD
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 67
継続的インテグレーション継続的インテグレーション
オブジェクト倶楽部クリスマスイベントXFDトラック
Thanks 芦沢さん、良太さん、千葉さん
パトライト
ビルド&テストの結果を「見える化」
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 68
コミットベルコミットベル
達成感
一連動作
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 69
自自働働化化
記事を書きました。
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 70
朝会朝会
毎日、9時30分から
かんばんの前で
スタンドアップ形式
司会はローテーション
事業部長も同席
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 71
ニコニコカレンダーニコニコカレンダー
プロジェクトの気分を「見える化」
●いい感じ ●普通 ●やな感じ
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 72
ニコニコカレンダーニコニコカレンダー
クリスマスバージョン
●いい感じ ●普通 ●やな感じ
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 73
ニコニコカレンダーニコニコカレンダー
おわりよければすべてよし
●いい感じ ●普通 ●やな感じ
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 74
ペアプロペアプロ
ときどき
和室で
「ここペアプロで」
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 75
プログラマの権利プログラマの権利
1. プログラマには、何が必要とされているのかを明確なプライオリティとあわせて知る権利がある。
2. プログラマには、つねに質の高い仕事をする権利がある。
3. プログラマには、同僚や上司、顧客に助力を求め、それを受ける権利がある。
4. プログラマには、自ら見積を行い、またそれを更新する権利がある。
5. プログラマには、責任を割り当てられるのではなく、責任を自ら引き受ける権利がある。
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 76
プログラマの権利プログラマの権利
1. プログラマには、何が必要とされているのかを明確なプライオリティとあわせて知る権利がある。
2. プログラマには、つねに質の高い仕事をする権利がある。
3. プログラマには、同僚や上司、顧客に助力を求め、それを受ける権利がある。
4. プログラマには、自ら見積を行い、またそれを更新する権利がある。
5. プログラマには、責任を割り当てられるのではなく、責任を自ら引き受ける権利がある。
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 77
ペアテストペアテスト
タイムボックス
Thanks 咳さん
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 78
おやつおやつ
共同出資、共同所有
午前中に食べ過ぎると、昼ご飯が食べられなくなる
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 79
ベストベストおやつおやつ賞賞
カントリーマアム
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 80
orzorz
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 81
日本酒日本酒
景虎
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 82
日本酒日本酒
二日酔い
猛省
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 83
トロイの木馬トロイの木馬
Ruby
WIN32OLE.new('Excel.Application')
テストデータ生成
納品
SQLServer
ホスト形式
DB形式
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 84
よかったこと
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 85
早めの性能検証早めの性能検証
性能の問題が11月の時点で明らかに
SQL Server
– WITH(NOLOCK)
APサーバーがバグってる
– web.xmlにBOMがついてるとデプロイできない
– 読み込んでるJarが違う
– ベンダが対応してくれた
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 86
性能検証を行っていなかったら性能検証を行っていなかったら
リスク
時間
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 87
早めの性能検証早めの性能検証
リスク
時間
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 88
仕様追加への対応仕様追加への対応
結合試験仕様書作成
追加仕様実装・テスト
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 89
頻繁な客先打ち合わせ頻繁な客先打ち合わせ
1~2週間おき
性能検証結果の報告
基本設計書、詳細設計書、単体テスト仕様書のレビュー
「私たちの問題」
何が起きているかについて真実を伝える
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 90
プロジェクトを成功させるプロジェクトを成功させる 現場リーダーの「技術」現場リーダーの「技術」
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 91
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 92
お客様からいただいた嬉しい言葉お客様からいただいた嬉しい言葉
信じてますから
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 93
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 94
ゆとりの法則ゆとりの法則
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 95
信頼を得る方法信頼を得る方法
信頼を与えることによって信頼を得る
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 96
チーム
信頼
信頼信頼
信頼
信頼信頼
自分
お客様
メンバー
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 97
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 98
NAgilerNAgilerになれなかったになれなかった
NUnit使ってません
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 99
トリッキーなコーディングトリッキーなコーディング
getXXX()の戻り値がvoidってどうよ!!
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 100
仕様理解不足仕様理解不足
作業分担の偏り
詳細設計と実装
仕様の伝達の仕方
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 101
トヨタかんばん方式「ストア管理」トヨタかんばん方式「ストア管理」
一個流し
一列待ち
標準化とマルチスキル化
最遅着手
総量管理
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 102
トヨタかんばん方式「ストア管理」トヨタかんばん方式「ストア管理」
一個流し
一列待ち
標準化とマルチスキル化
最遅着手
総量管理
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 103
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 104
バグレゴバグレゴ
事業部長のレゴ
タスクかんばんで一元管理
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 105
顧客と計画ゲーム顧客と計画ゲーム
エンドユーザーと仕事したい
お客様をお招きできるような開発ルームにしたい
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 106
失敗できる仕組み失敗できる仕組み
リスクをとる
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 107
熊とワルツを熊とワルツを
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 108
失敗できる仕組み失敗できる仕組み
リスクのない仕事はやる価値がない
リスクがなければ、変化や成長はない
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 109
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 110
またこのメンバーで仕事をしたいと思える
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 111
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 112
本日ご紹介した本はこちらで本日ご紹介した本はこちらでお求めになれますお求めになれます
http://astore.amazon.co.jp/fkino-22
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 113
ご清聴ありがとうございました
Copyright © 2007 Fumihiko KINOSHITA, Some rights reserved. 114