アジャイル開発で得た信頼 「次、アジャイルじゃないと困りま … · 年商...

32
Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved ~顧客との緊密な協働によるアジャイル型開発の成功事例により 高い信頼を得た事例~ アジャイル開発で得た信頼 「次、アジャイルじゃないと困ります!」 2012年5月23日 株式会社プロビズモ 第3システム部 女鹿田 晃和 IPA SECセミナー 日本におけるアジャイル開発に適した契約と事例

Transcript of アジャイル開発で得た信頼 「次、アジャイルじゃないと困りま … · 年商...

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

~顧客との緊密な協働によるアジャイル型開発の成功事例により高い信頼を得た事例~

アジャイル開発で得た信頼 「次、アジャイルじゃないと困ります!」

2012年5月23日

株式会社プロビズモ

第3システム部

女鹿田 晃和

IPA SECセミナー

日本におけるアジャイル開発に適した契約と事例

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

今日お話すること

アジャイル型開発プロセス実践が、

初めてのユーザ企業と

2回目のベンダー企業が、

8ヶ月間の活動の中から、

今後アジャイル型開発に取り組まれる

方々にヒントとなる(可能性のある)

事例をご紹介します。

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

今日お話すること

1.会社紹介と自己紹介

2.なぜアジャイルに

3.お話するプロジェクト

4.実践したこと

5.努力したこと

6.予期せぬ成果

7.課題

8.まとめ

9.今後について

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

1.会社紹介と自己紹介

株式会社プロビズモ (PROBIZMO Co.,Ltd)

2001年5月 (平成13年)

本社 (島根県出雲市)

東京支社 (東京都港区)

システム開発・保守・運用、ITインフラ構築など

9億円

100名 (男女比 8:2)

◇社 名

◇設 立

◇事業所

◇事業内容

◇売上高

◇社員数

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

1.会社紹介と自己紹介

企画~設計などの上流工程をお客様先にて行い、

プログラム開発・保守、サーバハウジング、運用を

島根で行うことによってトータルコストを抑えること

ができます

首都圏

営業フロント/上流

島根

開発・運用拠点

島根ニアショア開発 (地域分散開発)

☆三者のソリューション

1.お客様にとって

2.社員にとって

3.社会にとって

ビジネスモデル

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

1.会社紹介と自己紹介

◇私学高校向け 学事・教務パッケージ

『教務手帳』

学校向けITソリューション

◇大学向け 研究者情報システム

『ReaP』

他ソフトプロダクツ

◇秘書業務支援システム ★Ruby on Railsによって開発

★島根の高校と共同開発

★クラウド(Google App Engine)環境で構築

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

2.なぜアジャイルに

OSSプログラミング言語である「Ruby」

・ソースコードの記述量が少なく、開発生産性が高い

・システムへの変更要求に柔軟に対応できる

国内外の大手企業からも注目

「Ruby」の開発者【まつもとゆきひろ】氏

・島根県松江市在住

島根県では、

「Ruby」を産業発展に向けた地域の基盤資源と位置づけ

「Ruby」を軸としたIT産業振興に取り組んでいる

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

2.なぜアジャイルに

■プログラム言語としての強み

Rubyはソフトウェア仕様の変更に柔軟に対応できる特性

●利用者のニーズに応えたシステムの提供

●「サプライサイド」から「ディマンドサイド」のビジネスへ

→ あらたな価値、ビジネスモデルの創造

■技術力集積の強み

開発者が松江市に在住し、全国でトップクラスの人材、企業が集積

●過度に首都圏に集中するIT市場の中で、

首都圏・他地域にない強みを活かす

→ 地域間競争に打ち勝つ

島根県がRubyに取り組む理由 島根県資料引用

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

2.なぜアジャイルに

島根県資料引用

最近のRuby に関する動向 ・国際規格(ISO/IEC30170)に承認 → 政府、大手企業での利用拡大 ・軽量Ruby(mruby)の仕様公開 → 組込みシステムでの利用拡大

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

2.なぜアジャイルに

島根県資料引用

・「Rubyのしまね」は国内業界のエンジニア層の中では浸透。

・平成22年度:島根のRubyエンジニア数189名 (RA認定技術者65名) ・平成22年度:県内Rubyシステム開発125件 (売上額:約6億4千万円)

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

アジャイルプロセス協議会 島根支部 鶴原 隆一(@tsurur)

2011年10月13日

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

12

活動内容 セミナーの開催 勉強会・読書会の開催 他団体との交流機会の提供

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

2.なぜアジャイルに

◇はじめて 実践したのが、2010年

Rubyビジネスモデル研究実証事業(平成22年度実施事業)

◇2回目 実践したのが、2011年

Rubyビジネスモデル創出支援事業(平成23年度実施事業)

弊社のアジャイル実績

2008年度から本格的な受注開始、2009年度受注拡大

現在20名のRuby案件マネージャ/Ruby技術者を保有

2010年10月アソシエーション認定システムインテグレータに登録

弊社のRuby開発実績

Ruby×アジャイルのビジネスモデル構築

1 会社概要 会社名 :株式会社めのや 展開ブランド :アナヒータストーンズ karasade たまゆら みすまる 全国に108店舗展開 設立 :1991年 ※有限会社めのうやしんぐうとしては、 明治34年(1901年)に創業。 本社所在地 :島根県松江市嫁島町14-13 代表取締役 :新宮正朗 年商 :約50億円(2011年2月期グループ連結) 従業員数 :686名(9月末現在 含パート社員) 関連会社 :献上まがたま製作元 有限会社めのうやしんぐう (店舗名:めのうやしんぐう) 有限会社伝承館 (店舗名:いずもまがたまの里 伝承館) 株式会社めのや香港(Menoya Hong Kong co,LTD) 株式会社めのやコリア(Menoya Korea Co.,Ltd)

2 株式会社めのや様について

創業110年! 長い歴史と

伝統を持つ会社

お客様の人生に 『安らぎ』や『愉しさ』を

提供する会社

自信を持って 「世界に一つ」を 提供する会社

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

3.お話するプロジェクト

お客様の課題

ダイレクトメール発送以外に顧客情報を活用できていない

販売分析

ダイレクトメール発送業務にかかる作業負荷が大きい

ダイレクトメール発送

各店舗から本社への情報伝達が遅い

本社と各店舗で情報の共有がされていない

入力された情報の更新がされておらず、一部の情報が陳腐化している

顧客管理

ポイントの発行状況を本社にて把握できていない

ポイント管理

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

3.お話するプロジェクト

お客様の要望

販売分析サービスによって販売促進に顧客情報を活用できる

販売分析

システムにて宛名ラベルを作成することで作業負荷を軽減する

ダイレクトメール発送

各店舗で入力された情報を即座に本社で参照することができる

システムを参照することで本社および各店舗で共通の情報を閲覧できる

各店舗にて情報の修正をおこなうことで、情報が最新に保たれる

顧客管理

ポイント情報を電子化することで、本社にて一元管理することができる

ポイント管理

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

3.お話するプロジェクト

1 8

店舗

本社

購入情報を 取得

宛名ラベルを印刷

分析資料を作成 店舗

店舗

顧客情報を入力

顧客情報を参照

ポイント情報を入力

顧客情報を入力

顧客情報を参照

ポイント情報を参照

商品の情報を配信

顧客管理システム

端末

開発システム

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

3.お話するプロジェクト

計画と実績

作業項目

スクラム

マスタ

プロダクト

オーナー チーム

2011年 2012年

7月 8月 9月 10月

11月

12月 1月 2月 3月

計画

○ ○ ○

開発

○ ○

仮運用

本番運用

スプリント1

○ ○ ○

スプリント2

○ ○ ○

○ ○ ○

計画 実績

①開発着手前倒し ②運用計画変更 ③仮運用期間の短縮

② ③

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

4.実践したこと

採用手法

Rubyの特徴を活かした反復漸進・顧客参加型

アジャイル開発 採用手法

Scrum XP スプリント リリース計画 スプリント計画

スプリントレビュー

スプリント

レトロスペクティブ

デイリースクラム

完了・ゴール定義

スプリントバーンダウン

全員同席

受け入れテスト テスト駆動開発

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

コードの共同所有 コーディング規約

最適なペース

リファクタリング

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

4.実践したこと

プラクティス 概要

Scrum スプリント 原則2週間(10営業日)の周期で実施

リリース計画 プロダクトバックログの作成および更新を行いリリースゴールをコミットする。必要であれば計画を変更した。

スプリント計画 スプリント開始前に計画ミーティングを開催し、スプリントゴールとスプリントに含めるストーリーをコミットした。

スプリントレビュー スプリントの最後にスプリントゴールの達成を確認した。 また成果物のデモを行い、フィードバックを得た。

スプリントレトロスペクティブ KPT法を用いてスプリントの振り返りを行い結果をもとに次のスプリントで導入する改善活動を決定した。

デイリースクラム 毎朝、弊社内で開発チームのミーティングを実施した。

完了・ゴール定義 プロダクトオーナーと開発チームで完了の定義をコミットした。

スプリントバーンダウン スプリント完了までの進捗をバーンダウンチャートで図示した。

全員同席 専用のプロジェクトルームではないが、メンバが共通の場所で開発を行った。但し、開発チームのみ対象。

基本的なScrumプラクティスを実践

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

4.実践したこと

プラクティス 概要

XP テスト駆動開発 基本サイクル(Red/Green/Refactor)の繰り返しにより開発を実施した。

受け入れテスト 自動化した受け入れテストを実施した。

継続的インテグレーション 単体テストおよび受け入れテストを継続的に実施した。

リファクタリング 継続的にコードの改善を実施した。

コーディング規約 コーディング規約を制定し、メンバの生成するコードの書式を統一した。

コードの共有所有 メンバ全員が全てのコードに責任を持つように共有所有した。

最適なペース 継続可能な無理のない開発ペースを維持した。

基本的なXPプラクティスを実践

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

4.実践したこと

採用手法:Scrum

リリース 計画

プロダクト バックログ

スプリントバックログ

スクラム ミーティング

プロダクト

スプリント 計画

スプリント レビュー

スプリント レトロスペクティブ

フィードバック

改善活動

スプリント (原則2週間周期)

1日周期

凡例: スクラムマスタ

プロダクトオーナー

チーム

基本となる顧客管理のサービスを早期に導入する

プロダクトオーナーが本当に必要とするサービスに集中し、過不足無く提供する

提供するサービスの価値を最大限に高めるような、業務に最適なI/Fを構築する

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

4.実践したこと

使用したツール 概要 関連するプラクティス

Redmine+ Backlogs

プロジェクト管理 プロダクトバックログの管理やスプリントバック ログの管理等、Scrumでのマネジメントに使用

スプリント、リリース計画、 スプリント計画、スプリントレビュー、 スプリントレトロスペクティブ、 デイリースクラム、 スプリントバーンダウン

Subversion ソースコードのバージョン管理 コードの共同所有

Rspec 単体テスト用テスティングフレームワーク テスト駆動開発、リファクタリング

cucumber 受け入れテスト用テスティングフレームワーク テスト駆動開発、受け入れテスト、 リファクタリング

guard ソースコードの更新をトリガとし、単体テスト および受け入れテストを実行

テスト駆動設計、受け入れテスト、 継続的インテグレーション、 リファクタリング

使用したツール

Rubyによる アジャイル開発での導入メリット

【柔軟】環境変化(弊社では出店)で変わってしまった仕様 を反映させることができた。

【全員参加】今までシステム利用経験のないスタッフでも、 実際に触ることができるため打合せに参加でき、 多数でシステム開発に着手できた。

【迅速】機能間の不具合を早く見つけることができ、ウォータ ーフォール型とは比較にならないほどスムーズに、 全体スタートがきれた。

【ベンダー参加】本来ならばこちらが検討すべきデザイン案 やスタッフのモチベーション策を一緒に考えること ができ、それをシステムに実装できた。

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

5.努力したこと

当初多忙

★スプリントを1週間→2週間

★デモサイトを構築

●最初の1週間目で仮リリース

→できたものを出す

→確認できるものを確認する。

★スプリントレビューの時間を2時間に限定

●2時間を厳守

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

5.努力したこと

当初多忙

1週間 1週間 1週間

スプリント1 スプリント2 スプリント3

スプリントレビュー/スプリントレトロスペクティブ 【毎週金曜日 2時間予定→3時間超え】

1週間 1週間 1週間

スプリント4-1 スプリント4-2 スプリント5-1

スプリント4 スプリント5

スプリントレビュー/スプリントレトロスペクティブ 【隔週金曜日 2時間厳守】

改善後

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

5.努力したこと

【柔軟】 ●活動中にも新店舗出店→ 店舗機能仕様変更多発も全て受入

●成果物が即利用できる→ 多くの店舗スタッフの意見をすぐに収集、反映

●成果物が即利用できる→ テスト店舗開始からすぐに全店舗運用開始が実現

【迅速】

【全員参加】

●スプリントレビュー→ 顧客の要望を即座にベンダーが反応

【ベンダー参加】

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

5.努力したこと

本当に!!

うれしすぎて何時か忘れましたが、

プロダクトオーナーより

「アジャイルいいですわぁ!

次、来年●▲システムの開発」

アジャイルじゃないと困ります!」

・最初から要求だしてくださるとのこと。

・同じチームでやらせていただけるとのこと。

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

7.課題

【開発チーム】

①顧客満足度優先意識の過剰

顧客に過剰な期待を持たせる

期待と成果とのギャップ

顧客が不信感を抱く、信頼関係がゆらぐ

②計画時の見積精度

無理なスプリント計画

アジャイル リリース

計画

スプリント

計画

スプリント

計画

③更なる品質向上取り組み

④コミュニケーション力向上の取り組み

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

7.課題

【プロジェクト全体】

①顧客メンバへのアジャイルプロセス教育

②プロジェクト開始時の信頼関係構築

③顧客メンバの活動工数確保

・顧客社内全体の理解が不可欠

④契約

・次のプロジェクトに向けて検討中

Copyright(C)2012 PROBIZMO.Co.Ltd. All rights reserved

8.まとめ

【手法、プラクティス、努力したこと】 ●特別なことは行いませんでした。 ●できることを行いました。

●顧客・開発チームの活動は、全員参加で行いました。 ●参加できないメンバには、必ずフォロー行いました。

●無理せず、チームにできる範囲で改善しました。 ●第三者、有識者へ相談しました。

【困った時】

【全員参加】