IT新市場開拓プロジェクトにおけるアジャイル開発 part2

66
IT 新市場開拓プロジェクト におけるアジャイル開発 アプリケーション開発チーム編 2012/4/11 IPA/SEC 特別セミナー 俊敏なビジネスに貢献するアジャイル型開発を知る 富士通ソフトウェアテクノロジーズ 神部知明

description

【SEC特別セミナー】俊敏なビジネスに貢献するアジャイル型開発を知る http://sec.ipa.go.jp/seminar/2012/20120411.html 【事例2】IT新市場開拓プロジェクトにおけるアジャイル開発 IT化されていないフィールドへのシステム適用には、従来とは異なる開発プロセスが求められます。取り組みの背景、現場へ入って直面する課題、開発プロセス、クラウドの活用について、経験を共有させていただきます。 part1 事業開発現場編 http://www.slideshare.net/gu_ssan/it-part1-12693874 富士通株式会社 山口 真幸 氏 part2 アプリケーション開発チーム編 株式会社富士通ソフトウェアテクノロジーズ 神部 知明 氏 のpart2です。 写真など、モザイクで修正しています。

Transcript of IT新市場開拓プロジェクトにおけるアジャイル開発 part2

Page 1: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

IT新市場開拓プロジェクトにおけるアジャイル開発

アプリケーション開発チーム編

2012/4/11 IPA/SEC特別セミナー

俊敏なビジネスに貢献するアジャイル型開発を知る

富士通ソフトウェアテクノロジーズ 神部知明

Page 2: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

自己紹介

•神部知明 富士通ソフトウェアテクノロジーズ

•ソフトウェアエンジニア(入社〜19年)

• 受託開発 大企業向け社内システム

• 製品開発 パッケージ、SaaS(グループウェア、SNS)

•アジャイル開発への取り組み 9年目

現在:富士通のIT新市場開拓プロジェクトにて

システム開発を担当

@tkmbe

Page 3: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

新市場開拓プロジェクト

ミッション

•従来富士通で取り組んで来なかった分野の開拓

•クラウドの活用

•システム開発チームの役割

• 現場で必要とされるアプリケーションの開発

• アプリケーション開発を支える基盤の整備

業界キーマンとともに

社会貢献とビジネス化の両立を目指す

Page 4: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

8年間の取り組み

きっかけ:2003年当時

受託開発の短期・大規模化に伴うリスクの増大に対応したい

• リスクの早期発見・解決

• 自律的なチームによる管理負荷の低減

• モチベーション、スキル向上

2003年以降~

頻繁に交代…

Page 5: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

この本は、悟りについての本で

である。

Page 6: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

ソフトウェア開発は楽しくなければなりません。そうでなければ、そのプロセスは間違っているのです。

Page 7: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

やってみよう |

Page 8: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

8年間の取り組み

きっかけ:2003年当時

受託開発の短期・大規模化に伴うリスクの増大に対応するため。

• リスクの早期発見・解決

• 自律的なチームによる管理負荷の低減

• モチベーション、スキル向上

複数のプロジェクトに適用

• 最初はWFの受託開発へ適用(2重線表だった)

• XP的な受託(実質はタイムボックスで区切った単なる請負)

• 50人を3ヶ月間投入した火消し

Page 9: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

6H×230日×8年

=11,000H

Page 10: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

現在のスペック

規模:40名 5〜15名のチーム×4

技術:Java/Ruby/Flex/Android/HTML5

CouchDB/elasticsearch

Jersy/Rhino/Unicorn/jetty …

ツール:Redmine/Subversion

Jenkins/hudson

Findbugs/Checkstyle

JUnit/EMMA/Robotium

ZABBIX/Puppet

特徴:自作BaaS(REST API)

手法:XP改

開発サイクル イテレーション デイリービルド

知識共有

コードシェア

ペアプログラミング

自己組織化

朝会/夕会

タスクカード

支えるツール群

タスク/構成管理、自動テスト/ビルド/デプロイ

Page 11: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

利用プラクティス

2Wイテレーション

計画ゲーム

共同所有

ペアプログラミング

コーディング標準

ユニットテスト

リファクタリング

継続的インテグレーション

オンサイト顧客

Page 12: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

顧客価値に繋がらないことはヤメる

• 単体・結合テスト仕様書

→ユニットテスト、仕様書1行テスト

• 対面レビュー

→ ペア作業、解析ツール利用、第三者確認で代替

• 担当制 → 設計〜テスト〜運用まで自分たちで

• 進捗報告会議

→ 朝会・夕会・タスクボード、ツールで代替

• イナズマ線 → タイムボックス管理、頻繁に調整

• 自分の座席・進捗会議 → ノートPC化、ワークスペースで打合せ

…その他…

Page 13: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 14: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

15名を超えて頻発する問題

チーム・システム分割が進む

コミュニケーション不全が発生し、様々な問題が発生

それぞれのチームで人の囲い込みが始まる

人の出入りが頻繁に発生

プロセスやルールが守られなくなる

新メンバーの立ち上げ、モチベーションの向上が課題になる

様々なバックグラウンドを持つメンバー

スキル不足の開発者が増える

文化的に合わないメンバーが出てくる

Page 15: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

15名を超えて頻発する問題

チーム・システム分割が進む

コミュニケーション不全が発生し、様々な問題が発生

それぞれのチームで人の囲い込みが始まる

人の出入りが頻繁に発生

プロセスやルールが守られなくなる

新メンバーの立ち上げ、モチベーションの向上が課題になる

様々なバックグラウンドを持つメンバー

スキル不足の開発者が増える

文化的に合わないメンバーが出てくる

Page 16: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

朝会・夕会

Page 17: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 18: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 19: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

REDMINE

オンラインも活用

Page 20: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

SNS

オンラインも活用

Page 21: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

IRC

オンラインも活用

Page 22: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

リリース時は細かく調整

Page 23: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 24: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

チーム間を疎結合に

SDK / DAO

• サーバ側を汎用API化

• クライアント側はアプリ開発に集中

OData / OAuth2.0による汎用インタフェース CRUD / 検索 / 共通ロジック …

各種

クライアント

YY クラウドチーム

ZZ クラウドチーム サービス

XX クラウドチーム

・・・

http / REST / json /…

Page 25: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

継続的インテグレーション

ビルドサーバ (Jenkins)

開発チーム(静岡・新横浜・蒲田)

Checkout

ソースコミット

結果通知(IRC)

本番 環境

STG 環境

検証 環境

1クリックで自動デプロイ

自動ビルド

JUnit / EMMA Robotium

FindBugs Checkstyle

自動デプロイ

タスク・構成管理

Page 26: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

15名を超えて頻発する問題

チーム・システム分割が進む

コミュニケーション不全が発生し、様々な問題が発生

それぞれのチームで人の囲い込みが始まる

人の出入りが頻繁に発生

プロセスやルールが守られなくなる

新メンバーの立ち上げ、モチベーションの向上が課題になる

様々なバックグラウンドを持つメンバー

スキル不足の開発者が増える

文化的に合わないメンバーが出てくる

Page 27: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

ローテーション

メンバーのローテーション

スキルの伝搬

製品へのフィードバック

リーダーのローテーション

チーム間のコミュニケーション不全を防止

メンバー囲い込みの防止

Page 28: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

15名を超えて頻発する問題

チーム分割が進む

コミュニケーション不全が発生し、様々な問題が発生

それぞれのチームで人の囲い込みが始まる

人の出入りが頻繁に発生

プロセスやルールが守られなくなる

新メンバーの立ち上げ、モチベーションの向上が課題に

様々なバックグラウンドを持つメンバー

スキル不足の開発者が増える

文化的に合わないメンバーが出てくる

Page 29: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

そもそもWFから抜けられない

イテレーション3 イテレーション2 イテレーション1 イテレーション4 イテレーション5

UI▼ PG/PT▼ ST▼ ▼リリース

「バグが全部直っていないので、

予定していたテストはまだできません。」

コミットする粒度が違う

計画を修正するタイミングが遅すぎる

リリーススケジュールを後退させようとする

アジャイルだから計画は立てられませんとか言う

Page 30: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

教育

Page 31: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 32: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 33: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 34: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 35: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 36: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 37: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 38: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

15名を超えて頻発する問題

チーム分割が進む

コミュニケーション不全が発生し、様々な問題が発生

それぞれのチームで人の囲い込みが始まる

人の出入りが頻繁に発生

プロセスやルールが守られなくなる

新メンバーの立ち上げ、モチベーションの向上が課題になる

様々なバックグラウンドを持つメンバー

スキル不足の開発者が増える

文化的に合わないメンバーが出てくる

Page 39: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 40: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 41: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 42: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

ふりかえり

ふりかえりの写真

Page 43: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

こだわり

Page 44: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

一行テスト

Page 45: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 46: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 47: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 48: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 49: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 50: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

タスクボード

Page 51: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 52: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 53: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

目標

Page 54: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 55: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 56: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 57: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

遅れ気味

Page 58: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

判断基準

Page 59: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 60: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

課題

標準化の難しさ

導入

品質の見極め

合わないメンバー

テンションについて来れない / 働き方が合わない

ビジネスサイドとの連携

期待に添えない場合も出てくる(見積りと実績)

Page 61: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

ビジネスサイドからのダメ出し

「見積りの精度。

お客様に3つ機能を約束して、2つしか出せないことがある。」

「品質。

バグが残ったものがお客様に出る。」

「最近、開発メンバーが多くなったためか、

動きが遅くなり、ビジネス面でのリーチが遅くなった感覚あり。」

Page 62: IT新市場開拓プロジェクトにおけるアジャイル開発 part2
Page 63: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

アンケート結果

IPA 非ウォーターフォール型開発の普及要因と適用領域の拡大に関する調査 平成24年3月28日

対象:現在のプロジェクトメンバー

ウォーターフォール経験者:32名、非ウォーターフォール:34名

Page 64: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

心理的健康状態の比較結果

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Degreeof"Q

oL"

DegreeofStress

Waterfall NonWaterfall 線形近似 (Waterfall) 線形近似 (NonWaterfall)

0.3

0.35

0.4

0.45

0.5

0.55

0.6

NonWaterfall Waterfall

Stress

Stress

0.3

0.35

0.4

0.45

0.5

0.55

0.6

NonWaterfall Waterfall

QualityofLife

QualityofLife

WF大好き

QoL低く 高ストレス

Page 65: IT新市場開拓プロジェクトにおけるアジャイル開発 part2

最後に

改善は不連続への挑戦ってことなんだと気づいた。

By. yamaguchimasa

Page 66: IT新市場開拓プロジェクトにおけるアジャイル開発 part2