アジャイル開発手法取り組み状況

34
1 2014117GMOインターネット株式会社 次世代システム研究室 藤村 アジャイル開発手法 取り組み状況

Transcript of アジャイル開発手法取り組み状況

Page 1: アジャイル開発手法取り組み状況

1

2014年1月17日

GMOインターネット株式会社

次世代システム研究室

藤村 新

アジャイル開発手法

取り組み状況

Page 2: アジャイル開発手法取り組み状況

2

目次

1) プロジェクト適用事例

2) 他に取り組んだこと

3) KPT

4) まとめ

Page 3: アジャイル開発手法取り組み状況

3

目次

1) プロジェクト適用事例

2) 他に取り組んだこと

3) KPT

4) まとめ

Page 4: アジャイル開発手法取り組み状況

4

Page 5: アジャイル開発手法取り組み状況

5

Scrum

役割

プロダクトオーナー:1名

スクラムマスター:1名

開発チーム:5名

スプリント

1スプリント:1週間

金曜日開始、木曜日終了

最初は月曜日開始、金曜日終了

Page 6: アジャイル開発手法取り組み状況

6

セレモニー(※理想形) 月 火 水 木 金

デイリースクラム:15分

スプリントレビュー:30分

スプリント計画1部:60分

スプリント計画2部:60分

ふりかえり:60分

Page 7: アジャイル開発手法取り組み状況

7

ツール

PMツール

Redmine

Backlogs

• プロダクトバックログ

• スプリントバックログ

• カンバン

• バーンダウンチャート

Page 8: アジャイル開発手法取り組み状況
Page 9: アジャイル開発手法取り組み状況

9

CIツール

Jenkins

PHPUnit, Selenium + Cloverプラグイン

• テスト実行結果表示

• カバレッジレポート集計

phpcpd + DRYプラグイン

• 重複コードチェック

PHP_CodeSniffer + Checkstyleプラグイン

• コーディング規約チェック

• CakePHP用のコーディング規約を使用

Page 10: アジャイル開発手法取り組み状況
Page 11: アジャイル開発手法取り組み状況

11

CDツール

Chef Solo(Knife solo)

サーバ構成管理

• Vagrant / Openstack で動作確認

• serverspecを使った構成管理テスト

• 基本的に手動設定禁止

Capistrano

Gitと連携してデプロイ

• set :deploy_via, :remote_cache

Page 12: アジャイル開発手法取り組み状況

12

開発ツール

GitLab

リリースフロー

• Merge Requests

A successful Git Branching modelで運用

PhpStorm

Reformat Code

• コーディング規約に、CheckStyleと同様の規約

(CakePHPコーディング規約)を設定

• 2000個 → 4個

Page 13: アジャイル開発手法取り組み状況

13

Page 14: アジャイル開発手法取り組み状況

14

リーン開発?

Page 15: アジャイル開発手法取り組み状況

15

セレモニー 月 火 水 木 金

デイリースクラム:15分

Gゲー社MTG:60分

スプリント計画:30分

ふりかえり:60分

上長報告MTG:30分

Page 16: アジャイル開発手法取り組み状況

16

ツール

PMツール

Redmine

Backlogs

• プロダクトバックログ

• スプリントバックログ

• カンバン

Page 17: アジャイル開発手法取り組み状況

17

目次

1) プロジェクト適用事例

2) 他に取り組んだこと

3) KPT

4) まとめ

Page 18: アジャイル開発手法取り組み状況

18

PMIアジャイルPM研究会立ち上げプロジェクト参画

Page 19: アジャイル開発手法取り組み状況

19

CSPO研修受講

日時:2013年5月20日~21日

場所:株式会社ミクシィ

講師:ジェフ・パットン

Page 20: アジャイル開発手法取り組み状況

20

一言で言うと

プロダクトディスカバリを行なって、

プロダクトバックログを作るまでの話

※スクラム開始前のフェーズ

Page 21: アジャイル開発手法取り組み状況

21

CSM研修受講

日時:2013年6月20日~21日

場所:ビジョンセンター日本橋

講師:江端一将、Sergey

Page 22: アジャイル開発手法取り組み状況

22

一言で言うと

スクラムの基礎を

座学とワークショップを通して学ぶ

Page 23: アジャイル開発手法取り組み状況

23

第1回アジャイルミーティング発表

日時:2013年10月9日

場所:GMO Yours

内容

1. PMIアジャイルPM研究会立ち上げプロジェクトの紹介

2. 次世代システム研究室

3. GMOリサーチ

4. GMO ECラボ

5. ペパボ

6. 交流会

Page 24: アジャイル開発手法取り組み状況

24

アジャイルコーチ

ECプロジェクトでお試し

勉強会、ワークショップ

アジャイルサムライ横浜道場

POStudy

すくすくスクラム

リーン開発の現場

レゴスクラム(メディア社潜入)

Page 25: アジャイル開発手法取り組み状況

25

目次

1) プロジェクト適用事例

2) 他に取り組んだこと

3) KPT

4) まとめ

Page 26: アジャイル開発手法取り組み状況

26

各種ツールの利用

効果は明らか

時間を意識する

朝会で議論しないなど

MTGにタイマー導入

スプリント計画2部の改善

想定される全タスクの洗い出し、時間見積もり

• 自己組織化促進

• バーンダウンチャートの精度向上

Keep

Page 27: アジャイル開発手法取り組み状況

27

自動化

developブランチの更新、テスト通過で、レビュー用

環境へ自動デプロイ

フィードバックのサイクルが早まった

ふりかえり改善

KPTにTODO枠を追加し、次回のスプリントでチャレ

ンジするTryを明確化

Problemに対するアクションが明確になった

Keep(別プロジェクトで改善)

Page 28: アジャイル開発手法取り組み状況

28

役割

スクラムマスター

経験、スキル不足

プロダクトオーナー

本当の意味でのプロダクトオーナーは別にいた

開発チーム

2拠点に分散

• コミュニケーション不足

• 開発環境差異

全てのメンバーがプロジェクト掛け持ち

Problem(EC)

Page 29: アジャイル開発手法取り組み状況

29

バックログ

PBIの洗い出し不足

スプリント中でも優先度が変わる

• スプリント中止

プロダクトバックログリファインメントを行なっ

ていなかった

完了の定義が曖昧

ツール

導入しっぱなし

Jenkinsのエラーに気付けないなど

Problem(EC)

Page 30: アジャイル開発手法取り組み状況

30

カンバン

一プロジェクトだけやっても、見える化にならない

WIPの意味が無い

更新されない…

効果が感じられない

結果を測定できていない

測定できなければカイゼンできない

サイクルタイム(短縮を目指す)

ベロシティ(高い基準での安定を目指す)

Problem(ゲーム)

Page 31: アジャイル開発手法取り組み状況

31

ツール関連の積み残し

Chef Solo + Vagrantを使った開発環境構築

Selenium, serverspecなども導入しただけ

オフショア開発への適用

ベトナムラボセンター

組織パターンの導入

ロールの洗い出し

マインドチェンジ

開発手法に対する意識改革

Try

Page 32: アジャイル開発手法取り組み状況

32

目次

1) プロジェクト適用事例

2) 他に取り組んだこと

3) KPT

4) まとめ

Page 33: アジャイル開発手法取り組み状況

33

先人の知恵を拝借するべき

個々の勘と経験によるカウボーイコーディング脱却

インプットからアウトプットへ

プロセスの理解≠スキル習得

練習しないとうまくならない

プロジェクトの種類に応じて手法を使い分ける

新規開発

スクラム + XP

運用開発

リーン開発 + XP

まとめ

Page 34: アジャイル開発手法取り組み状況

34

おわり