スクラム適用報告

67
1 セントラルソフト株式会社 システム2部 システム開発課 課長 林 栄一 2008/06/29 アジャイル開発手法 スクラム適用報告 1

description

 

Transcript of スクラム適用報告

Page 1: スクラム適用報告

1

セントラルソフト株式会社システム2部

システム開発課 課長林 栄一

2008/06/29

アジャイル開発手法スクラム適用報告

1

Page 2: スクラム適用報告

自己紹介

•システム2部、システム開発課 課長•勤続12年ほど•前職:楽器メーカー、陶磁器の卸、鉄道関係の研究開発

•オブジェクト指向型開発 15年ほど•教育のプランニング、PM、アーキテクト•興味のあること:要求開発、アジャイル、チームビルディング、Scala

2

Page 3: スクラム適用報告

アジェンダ

1.適用プロジェクト概要

2.スクラムの適用範囲

3.やったこと

4.効果

5.できてないこと

6.課題

7.対策

8.やってみたいこと3

Page 4: スクラム適用報告

プロジェクト概要

4

Page 5: スクラム適用報告

プロジェクト概要

•広告代理店の販売管理業務•規模は15人月ほど•5月から詳細設計開始•5月の後半から実装開始•7月末に結合テスト完了予定

5

Page 6: スクラム適用報告

さて、スクラム

6

Page 7: スクラム適用報告

やったこと

7

Page 8: スクラム適用報告

やったこと

スクラム

7

Page 9: スクラム適用報告

やってないこと

8

Page 10: スクラム適用報告

やってないこと

スクラム?

8

Page 11: スクラム適用報告

どこからがスクラムで、どこまでがスクラムでないのか?

9

Page 12: スクラム適用報告

以後のプレゼンを見てみなさんに

判断していただきたい!

10

Page 13: スクラム適用報告

スクラムのプラクティス

11

Page 14: スクラム適用報告

スクラムのプラクティス

•スプリント  一ヶ月のイテレーション 。いつでも納品。

• デイリースクラム  毎日定時に15分間のミーティング、朝会

• プロダクトバックログ   業務視点で優先順位付けされたリスト

• スプリントバックログ  スプリント(イテレーション)で実現する作業リスト

• スプリント計画ミーティング

 スプリントバックログを作成するミーティング

• スプリントレビュー

 スプリントの終了時に行う振り返り

12

Page 15: スクラム適用報告

スクラムのロール

13

Page 16: スクラム適用報告

ロール

• スクラムマスター 外部との折衝、チームを雑音から守る ミーティングをファシリテート スクラム推進のキーパーソン • プロダクトオーナー 業務の視点で、ROIからプロダクトバックログの優先順位を管理

• スクラムチーム  開発を行う。スプリントにコミットする。

14

Page 17: スクラム適用報告

スクラム適用の状況

15

Page 18: スクラム適用報告

スクラムの適用

•前述の本社プロジェクトで部分適用•詳細設計がおわって実装にはいるタイミングから適用。

•単体テスト(画面機能単位)完了までを2つのスプリントにわけて実行

•1スプリント3週間•現在、第1スプリントが終わったところ

16

Page 19: スクラム適用報告

適用している役割

• スクラムマスター 私 • プロダクトオーナー 外部設計をおこなったI君次期フェーズの外部設計を兼任

• スクラムチーム  本社開発メンバー

17

Page 20: スクラム適用報告

適用しているプラクティス

•スプリント計画ミーティング •工数再見積(見積ポーカー)•デイリースクラム•スプリントバックログ•バーンダウンチャート•スプリントバックログ•ニコカレ•スプリントレビュー

18

Page 21: スクラム適用報告

スプリント計画

•PG工数再見積(見積ポーカー)設計の画面をみながら全員で一斉にカードで見積を

だす。

ちがっている人の意見を聞いて、ナレッジを共有

化。

19

Page 22: スクラム適用報告

システム2部での適用状況

デイリースクラム

20

Page 23: スクラム適用報告

デイリースクラム

•スクラムマスターがファシリテート →挨拶重要

•各自のタスクの状況と残工数を報告•開始するタスクカードにサインナップ•終わったタスクカードにはかかった工数と見積と違ったらその理由を明記(工数少なかった場合と多かった場合両方)

•各自の共有化すべき情報をシェア•終わり=作業開始の挨拶→重要

21

Page 24: スクラム適用報告

デイリースクラム

•スクラムマスターがファシリテート →挨拶重要

•各自のタスクの状況と残工数を報告•開始するタスクカードにサインナップ•終わったタスクカードにはかかった工数と見積と違ったらその理由を明記(工数少なかった場合と多かった場合両方)

•各自の共有化すべき情報をシェア•終わり=作業開始の挨拶→重要

オリジナル!

21

Page 25: スクラム適用報告

デイリースクラム

•タスクカンバンの前で輪になって行う

22

Page 26: スクラム適用報告

タスクカード

実績工数を記入

見積との差異の理由やノウハウなどをメモ

23

Page 27: スクラム適用報告

システム2部での適用状況

スプリントバックログ

24

Page 28: スクラム適用報告

スプリントバックログ

通常のイナズマ線もそのままで、ハイブリッド

25

Page 29: スクラム適用報告

システム2部での適用状況

残工数の合計値バーンダウンチャート

に記入

26

Page 30: スクラム適用報告

•バーンダウンチャートスプリントバックログ

27

Page 31: スクラム適用報告

ニコニコカレンダー

•ついでにニコカレもやってみた

28

Page 32: スクラム適用報告

ニコニコカレンダー

•毎日変えるまえに、模造紙に気分を貼る•赤:GOOD!•黄色:NORMAL•青:BAD!•チームの気分を見える化

29

Page 33: スクラム適用報告

ニコニコカレンダー 例:

•ついでにニコカレもやってみた

30

Page 34: スクラム適用報告

ニコニコカレンダー 例:

•ついでにニコカレもやってみた

31

Page 35: スクラム適用報告

ニコニコカレンダー 例:

•ついでにニコカレもやってみた

32

Page 36: スクラム適用報告

スプリントレビュー

(振り返り)33

Page 37: スクラム適用報告

←要するにこれです。この本のいろいろをやってみた。

スプリントレビュー

34

Page 38: スクラム適用報告

スプリントレビュー

1.場を作る2.情報あつめ3.対策の検討4.終了

35

Page 39: スクラム適用報告

スプリントレビュー

1.場を作る1.あいさつ重要

2.大変だったメンバーをねぎらう

3.チェックイン

4.テーマの宣言 見積精度、効率化、

主要課題の対策

遅れから萎縮しているメンバーがいた

らより重要

36

Page 40: スクラム適用報告

スプリントレビュー

2.情報集め1. 見積との差異が大きい機能を洗い出し2. マインドマップを書きながら各自の問題や課題をシェア3. スプリント1をバーンダウンチャート上で時系列でトレース4. 詳細設計のプログラム構造についての記述が書きにくいという点がわかってきた

5. 人月当たりの平均生産ステップ:4300step/人月6. スプリント1だけで1人月強、超過• 細かい不定期なチーム要員追加、スタートアップコスト大(最大8名)

• みためにわからない予想外の複雑さ

37

Page 41: スクラム適用報告

情報集めバーンダウンチャートやニコカレ上で

タイムラインレビュー

タスクカードに記入した情報を転記

機能ごと見積と実績の差異分析表

発生した事件記入

要員増えた、仕様変更、etc

38

Page 42: スクラム適用報告

スプリントレビュー

3.対策の検討1.555(Triple Nickels)

2.対策に関してのブレスト

3.次ぎに行う対策を決定する

声が大きい人だけの意見が通るのを防ぐ

39

Page 43: スクラム適用報告

555(Triple Nickels)

最初の意見

カードをまわして他の人が意見を追記して

いく

40

Page 44: スクラム適用報告

スプリントレビュー議論の構造が見える状態を維持しながら

ブレスト

ブレストwithマインドマップ

41

Page 45: スクラム適用報告

スプリントレビュー

2.終了1.各自の感想と成果2.振り返りの振り返り

42

Page 46: スクラム適用報告

スプリントレビュー

きまったこと1. 実装のリスクがある機能のPSレビュー、方式確認を数人で行う

2. テストケースは実装前か実装しながら行う

3. 実装上の課題はWikiで管理

4. 朝:ニコカレ+情報共有+会社からの連絡、 夜:進捗確認

5. PJ途中で入ってくる7月からの新人の作業を明確に。

• SP2の後半で新人投入のリスク回避• テスト自動化ツール調査、サンプル作成

43

Page 47: スクラム適用報告

スプリント1終了後

お客様にDEMO44

Page 48: スクラム適用報告

ユーザーDEMO

•単体テスト完了レベル前提でのデモ•デモするシナリオを決めてそれ以外動かさない•ユーザー様には触らせない•開発が進んでいることを見せる

45

Page 49: スクラム適用報告

スクラムの効果

46

Page 50: スクラム適用報告

効果

1.メンバーが前向きになった•自分たちから新しいアイディア2.自己組織化進んだ3.チームができてきた4.早期に動作を見てもらえることでお客様に安心

47

Page 51: スクラム適用報告

できていないこと

48

Page 52: スクラム適用報告

できていないこと

•常時納品可能状態の維持•TDD•A-TDD(受け入れテストドリブン)•受け入れ単位での進捗管理•自由度のある契約•ROI視点での機能の優先度調整

49

Page 53: スクラム適用報告

課題

50

Page 54: スクラム適用報告

課題

1. スクラム以前にチームファシリテーションのスキルが必要

→笑顔、ねぎらい、傾聴、見える化、重要。 

2.依然として見積精度低い。 特に大きい機能ほど標準の便利機能が使えなくなって ドラスティックに工数が増えてしまうことがある。

3.自由度のある契約

4.細かい要員追加により特定メンバーへの負荷の集中

51

Page 55: スクラム適用報告

対策

52

Page 56: スクラム適用報告

対策

1.スクラムマスターのトレーニングとファシリテーションのトレーニングを同時に行う

2.見積精度の向上は、なるべく同一のアーキテクチャーでの開発を行う

3. それぞれのアーキテクチャーでの見積知見をナレッジ化する

• ただし、同一アーキ、同一チームでの開発が 2回以上行われることは現実問題として多くないという問題あり。

53

Page 57: スクラム適用報告

対策 (Cont.)

4.いつでも納品できる体制の確立と同時に、スプリント単位での見積と契約。

5.大きい機能であるほど、処理イベントごとのタスクを分解して開発を行う

6.複雑な機能について処理構造検討会を少人数で開く。• 処理方式設計は一人よりも複数で検討したほうが正確、早い。

54

Page 58: スクラム適用報告

やってみたいこと

55

Page 59: スクラム適用報告

やってみたいこと

アジャイルな契約モデル1. 最長スケジュール最大コスト

2. 開発が始まっていない機能は同規模の機能と入れ替え可能

3. 機能の優先順位は変更可

4. スケジュールと予算が許す限りお客様による機能追加可能

5. プロジェクトの残り残高が2割に収まればお客様による早期解約可能

6. スプリント単位での契約あるいは、検収

7. 成功報酬などのWINWINな契約

8. あるいはLOST-LOST56

Page 60: スクラム適用報告

どこからがスクラムで、どこまでがスクラムでないのか?

最初の命題

57

Page 61: スクラム適用報告

さて、われわれはスクラム

をやったのだろうか?58

Page 62: スクラム適用報告

気づき

1.スクラムのなかでどんなプラクティスも追加可能

2.一部分でも使えるプラクティスがある。

3.その環境で使えるところから使うことでも効果を得られる。

4.徐々にスクラム度を増していけばいい。

5.ただし、契約の問題は大きい。

6.実は振り返りにKPTは難しい。

問題の構造が見えないままカイゼンの検討は経験が必要

59

Page 63: スクラム適用報告

準・スクラムぐらいはいけたかな?

60

Page 64: スクラム適用報告

結論

61

Page 65: スクラム適用報告

結論

1.スクラムをやることが目的ではない

2.生産性を上げ、メンバーがやりがいを感じられることなら何でもやる柔軟性が大切

62

Page 66: スクラム適用報告

Q & A63

Page 67: スクラム適用報告

ご静聴ありがとうございました。

64