enhancement cente r information-technology …enhancement cente r アジャイル開発の現状と...

128
Information-technology Promotion Agency, Japan Software Reliability Enhancement Center Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center アジャイル開発の現状と 「プラクティス・リファレンスガイド」 アジャイル開発を適切に導入するために 独立行政法人情報処理推進機構(IPA) 技術本部 ソフトウェア高信頼化センター(SEC) MPUF・エンパワーメントセミナー 2013年8月5日

Upload: others

Post on 22-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

Information-technology Promotion Agency, Japan

Software Reliability Enhancement CenterCopyright © 2013 IPA, All Rights Reserved

S o f t w a r e R e l i a b i l i t yEn h an c emen t Cen t er

アジャイル開発の現状と「プラクティス・リファレンスガイド」

~ アジャイル開発を適切に導入するために ~

独立行政法人情報処理推進機構(IPA)技術本部 ソフトウェア高信頼化センター(SEC)

山 下 博 之

MPUF・エンパワーメントセミナー2013年8月5日

Page 2: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

2Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

プロローグ:アジャイル開発への関心

MPUF Seminar (2013-08-05)

Page 3: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

3Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

1%

38%

47%

8%

0%3% 3%

多くのプロジェクトで使っている

一部のプロジェクトで使っている

使いたいと考えているが実現していない

使う予定はない

よく分からない/関係ない

その他

無回答

プロローグ:アジャイル開発の適用状況(俯瞰)

0% 1% 4%

48%24%

14%

9%

すべてのプロジェクトに適用しているほとんどのプロジェクトに適用しているだいたいのプロジェクトに適用にしているほとんどのプロジェクトに適用していないすべてのプロジェクトで適用していない分からない無回答

3%

26%

39%

13%

8%

6%

5% 1%

38%

47%

8%

0%

3% 3% 4%

51%29%

5%3%4%4%

~IPA/SECセミナー聴講者アンケート結果から~

2011年11月18日 横浜(109名) 2012年10月24日 東京(76名) 2013年3月18日 東京(104名)

2010年12月2日 横浜(72名)

MPUF Seminar (2013-08-05)

Page 4: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

4Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

1%

38%

47%

8%

0%3% 3%

多くのプロジェクトで使っている

一部のプロジェクトで使っている

使いたいと考えているが実現していない

使う予定はない

よく分からない/関係ない

その他

無回答

プロローグ:アジャイル開発の適用状況(1)

0% 1% 4%

48%24%

14%

9%

すべてのプロジェクトに適用しているほとんどのプロジェクトに適用しているだいたいのプロジェクトに適用にしているほとんどのプロジェクトに適用していないすべてのプロジェクトで適用していない分からない無回答

3%

26%

39%

13%

8%

6%

5% 1%

38%

47%

8%

0%

3% 3% 4%

51%29%

5%3%4%4%

~IPA/SECセミナー聴講者アンケート結果から~

2011年11月18日 横浜(109名) 2012年10月24日 東京(76名) 2013年3月18日 東京(104名)

2010年12月2日 横浜(72名)

MPUF Seminar (2013-08-05)

Page 5: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

5Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

1%

38%

47%

8%

0%3% 3%

多くのプロジェクトで使っている

一部のプロジェクトで使っている

使いたいと考えているが実現していない

使う予定はない

よく分からない/関係ない

その他

無回答

プロローグ:アジャイル開発の適用状況(2)

0% 1% 4%

48%24%

14%

9%

すべてのプロジェクトに適用しているほとんどのプロジェクトに適用しているだいたいのプロジェクトに適用にしているほとんどのプロジェクトに適用していないすべてのプロジェクトで適用していない分からない無回答

3%

26%

39%

13%

8%

6%

5% 1%

38%

47%

8%

0%

3% 3% 4%

51%29%

5%3%4%4%

~IPA/SECセミナー聴講者アンケート結果から~

2011年11月18日 横浜(109名) 2012年10月24日 東京(76名) 2013年3月18日 東京(104名)

2010年12月2日 横浜(72名)

MPUF Seminar (2013-08-05)

Page 6: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

6Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

1%

38%

47%

8%

0%3% 3%

多くのプロジェクトで使っている

一部のプロジェクトで使っている

使いたいと考えているが実現していない

使う予定はない

よく分からない/関係ない

その他

無回答

プロローグ:アジャイル開発の適用状況(3)

0% 1% 4%

48%24%

14%

9%

すべてのプロジェクトに適用しているほとんどのプロジェクトに適用しているだいたいのプロジェクトに適用にしているほとんどのプロジェクトに適用していないすべてのプロジェクトで適用していない分からない無回答

3%

26%

39%

13%

8%

6%

5% 1%

38%

47%

8%

0%

3% 3% 4%

51%29%

5%

3% 4%4%

~IPA/SECセミナー聴講者アンケート結果から~

2011年11月18日 横浜(109名) 2012年10月24日 東京(76名) 2013年3月18日 東京(104名)

2010年12月2日 横浜(72名)

MPUF Seminar (2013-08-05)

Page 7: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

7Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

本日の講演内容

MPUF Seminar (2013-08-05)

1. ビジネス・イノベーションとアジャイル開発

2. アジャイル開発の現状

3. アジャイル開発プラクティス・リファレンスガイド

4. 組込み機器・システムとアジャイル開発

5. アジャイル開発人材

IPA/SECホームページ:http://www.ipa.go.jp/sec/index.html

Page 8: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

8Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

ビジネス・イノベーションとアジャイル開発

MPUF Seminar (2013-08-05)

Page 9: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

9Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

↙安心←

変化の俊敏な反映

ITシステムへの依存と,システム環境の変化

情報技術

ITシステム

ITサービス

国民生活社会経済活動

依存

変化

変化

反映

• 価値観• ライフスタイル• 法制度• 社会情勢• ビジネストレンド• …

• 技術動向• 新技術• コスト• …

<変化>の拡大傾向時間的:頻繁に量的:広範囲な影響質的:複雑化

安全←

高信頼化

(要求の変化)

<依存>の拡大傾向時間的:常時化量的:広範囲化質的:クリティカル域

⇒このような傾向を考慮した,ITシステムの開発・運用

環境

MPUF Seminar (2013-08-05)

Page 10: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

10Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

ITシステムのクラスと特徴

高信頼

短納期(変化俊敏対応)(高速開発)

重要インフラ等ITシステム

共通基盤系ビジネス戦略ITシステム

サービス系

業務支援ITシステム

適切なアーキテクチャと,構築・運用体制及び手法

各クラスに対応した

・比較的長期間,そのまま運用・障害発生時の社会的影響大・一般利用者の厳しい反応

・先を見通しにくい・激しい環境変化・競争優位の確保

本日の主対象

MPUF Seminar (2013-08-05)

Page 11: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

11Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

環境変化への対応体制 - ITシステム構築・運用

情報システム部門任せ

業務部門主導市場の監視

(コスト・時間をかけて)信頼性重視で構築

IT投資判断IT予算執行

経営の「柔軟性」 ユーザ企業には,ビジネス・イノベーションを

実現し,競争優位を維持しつつ持続するために,

変化が求められている.

ユーザ企業

MPUF Seminar (2013-08-05)

Page 12: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

12Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

顧客・経営層は開発への一層の関与が必要

顧客(ユーザ)経営層

ビジネス環境が激しく変化する現状において,ITシステムに関し,従来のように情報システム部門に任せきりでは適切に対応できない.開発形態(*)にも深く関与する必要がある.

(*) アジャイル開発の採用,クラウドコンピューティングの利用,など

ベンダ経営層

俊敏な開発の実績を武器に受注を狙う海外勢等に対抗するためには,自ら俊敏な開発を実施できる体制作りに取り組むと共に,その結果を顧客に売り込む必要がある.

<経営層の責任>・情報システムに関する理解の増進・迅速かつ適切な意思決定・関係部門との経営上の綿密な調整

MPUF Seminar (2013-08-05)

Page 13: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

13Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

環境変化に即応できるための経営の「柔軟性」

予測性:可変要素が将来変化をする予兆を事前にとらえること拡張性:既存のリソース(人,モノ,カネ,情報等)に将来の可変要素を想

定した余裕を持たせておくこと迅速性:起きた変化/起こすべき変化に対して,すぐに対応できること適用性:これまでと違った環境、シチュエーションに,うまく対応できること

<出典> 平成22年度経済産業省委託調査:「IT 経営普及促進に向けた調査研究」報告書,社団法人日本情報システム・ユーザー協会,平成23年2月,p.76.http://www.meti.go.jp/meti_lib/report/2011fy/0022948.pdf

MPUF Seminar (2013-08-05)

Page 14: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

14Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

変化に対する俊敏な開発手法

俊敏な開発(構築)手法

a. 非ウォーターフォール型開発(アジャイル開発)

b. クラウドコンピューティング

c. 自動コード生成/ビジネスルールマネジメントシステム(BRMS)

ビジネス環境の変化に対する俊敏な開発(構築)が求められる

ビジネスとしてのアジリティ↓

開発(構築)手法としてのアジリティ利用者(=ビジネスサイド):

提供される価値を見極める手法の提供者:

提供する価値を高める

MPUF Seminar (2013-08-05)

Page 15: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

15Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

開発(構築)手法の選択

俊敏な開発(構築)手法

a. 非ウォーターフォール型開発(アジャイル開発)

b. クラウドコンピューティング

c. 自動コード生成/ビジネスルールマネジメントシステム(BRMS)

環境の変化に対する俊敏な開発(構築)が求められる場合

作らないで,使う

パラメータを変更するだけ

少しずつ作って,確かめながら

1つのシステム全体を単一の手法で開発(構築)する

ことが適切ではない(かもしれない) 異なる手法で開発した部品の組合せ?

MPUF Seminar (2013-08-05)

Page 16: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

16Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

俊敏な開発(構築)手法:アジャイル開発への注目

最近の傾向:アジャイル開発への注目度がより高まってきている背景

1. ビジネスの俊敏さへの対応要求の増大

2. グローバル化の拡大

3. ウォーターフォール型開発に適合しにくいケースの増大

会社に足りないとされるのが経営のスピード感。「まずは七分でよし。利用者のお叱りを受けながら100%に磨き上げていく」(加藤薫・NTTドコモ社長)

2012.7.21 朝日新聞朝刊

従来:100%にしてから世に出す現在:エンドユーザとの共同作業により,よいものにしていく(β版文化)

2012.7.23 総務省・谷脇康彦氏講演

俊敏な開発(構築)手法

a. 非ウォーターフォール型開発(アジャイル開発)

b. クラウドコンピューティング

c. 自動コード生成/ビジネスルールマネジメントシステム(BRMS)

MPUF Seminar (2013-08-05)

「しゃべってコンシェル」

Page 17: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

17Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

37%

29%

26%23%

18%16%

15% 14%11%

10%9%

5%

0%

5%

10%

15%

20%

25%

Tim

e-to

-M

arke

t

加速

変化する優先順位

管理のため

生産性向上

ソフトウェア品質

の向上

IT

とビジネスの

融合改善

プロジェクトの

見える化

リスク削減

開発プロセスの

簡易化

分散チーム管理

エンジニアリング

の導入/向上

コスト削減

保守性/拡張性

向上

チームの

やる気改善

1.Time-to-Marketの加速2.変化する優先順位管理のため

(VersionOne社 アジャイル開発の現状調査第6回2011より)

参考アジャイル型開発手法の導入理由 (海外_2011年)

35%

30%

40%39%

Page 18: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

18Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

30% 29%

23%

18%17%

15%

11%10% 10%

8%7% 7%

5%

0%

5%

10%

15%

20%

25%

Tim

e-to

-M

arke

t

加速

変化する優先順位

管理のため

生産性向上

ソフトウェア品質

の向上

IT

とビジネスの

融合改善

プロジェクトの

見える化

リスク削減

開発プロセスの

簡易化

分散チーム管理

エンジニアリング

の導入/向上

コスト削減

保守性/拡張性

向上

チームの

やる気改善

(VersionOne社 アジャイル開発の現状調査第7回2013より)

参考アジャイル型開発手法の導入理由 (海外_2013年)30%

「ITとビジネスの融合改善」が「生産性向上」を逆転

Page 19: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

19Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

外部ビジネス環境

要求の固定が(ビジネス)リスクを拡大

ビジネス戦略

IT戦略

ITシステム

要求が固定されない

↓リスク

システム開発スケジュールの遅延

要求を固定化

↓リスク

外部ビジネス環境の変化への迅速な対応の遅れ

要求内部状態

MPUF Seminar (2013-08-05)

技術動向

Page 20: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

20Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

「非まじめ」型要求分析:「要求を固定できない」という要求

一歩引いて眺める

ユーザの悩み自体が「要求」の現れ

「非まじめ」型要求分析の試み

ユーザ(発注者)の悩み

• ビジネスのトレンドや過去の経験に基づけば,固定化には躊躇

• 要求の固定がビジネスリスクを増大(環境変化への対応遅れの懸念)

要求

従来の「要求」

新タイプの「要求」(まるごと包み込む)

MPUF Seminar (2013-08-05)

参考

Page 21: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

21Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

『非まじめ』のすすめ

出典:『非まじめ』のすすめ(森政弘著,講談社文庫,1977年)東京工業大学名誉教授,ロボット工学の権威

今日のゆきづまりの原因は不まじめにあるというよりも、むしろ逆に、低次元のまじめさによってもたらされているのではないかということである。

ぐうたらの不まじめでもなく、頭から湯気を立てるまじめでもなく、ピンチに際してもゆうゆうとして、透徹した眼力と冷静な頭脳をもって解を求める姿勢、それが非まじめである。

われわれは今、窓ガラスにぶち当たって遮二無二もがいているハエのようなものではなかろうか、不まじめなハエはガラス窓を見ようともしない。まじめなハエは頑張りさえすればガラスが通過できるとしか思っていない。では非まじめなハエならどうするか。――透明なガラスと空気とのちがいを見極め、押してだめなら引いてみな、の態度で一歩退く、そうすれば本当に開いているガラス窓のすき間が発見でき、そこから外へ出られるのである。

窮地を脱するための一つの方法は次元を上げることである。・・・・・

・・・・・

参考

MPUF Seminar (2013-08-05)

Page 22: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

22Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

ベンダ経営層は開発への一層の関与が必要

顧客(ユーザ)経営層

ビジネス環境が激しく変化する現状において,ITシステムに関し,従来のように情報システム部門に任せきりでは適切に対応できない.開発形態(*)にも深く関与する必要がある.

(*) アジャイル開発の採用,クラウドコンピューティングの利用,など

ベンダ経営層

俊敏な開発の実績を武器に受注を狙う海外勢等に対抗するためには,自ら俊敏な開発を実施できる体制作りに取り組むと共に,その結果を顧客に売り込む必要がある.

<経営層の責任>・情報システムに関する理解の増進・迅速かつ適切な意思決定・関係部門との経営上の綿密な調整

MPUF Seminar (2013-08-05)

Page 23: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

23Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

システム開発ベンダにも求められる「柔軟性」

親会社

子会社

孫会社 孫会社

子会社

孫会社

協力会社

協力会社(子会社)

連携会社

人材のクラウド企画 要求 設計 製造 試験 運用

ウォーターフォール型 アジャイル型(非ウォーターフォール型)

多様性

個人に求められるスキル:“マルチタレント”(IT人材白書,他)

MPUF Seminar (2013-08-05)

Page 24: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

24Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

業務改善ニーズ業務運営 業務設計

顧客・サプライチェーン 環境変化(顧客・市場・技術・政策)

組織的支援

構成情報構成情報

企業価値

企業価値

機能

業務改革等への参加

改革・改善サイクル

SLA管理

サービスデスク

インシデント・問題管理

キャパシティ管理

オペレーション管理

IT運用 IT取得

SLCPでカバーしているプロセス

設計

開発/構築

テスト

移行

ITプロジェクト管理

経営(CIO含む) 経営(CIO含む)

業務改革企画

IT企画

要件定義/SLA定義SLA

業務開発業務の改革・改善経営・業務の運営

ITの運用 ITの改革・改善 IT開発

②サービスマネジメント

①業務改革プロジェクト

経営

業務

システム

SW

環境

移管/移行

教育/移行

新規開発

拡充開発(完全化保守)

保守開発(適応保守)

業務運用とアジャイル開発

MPUF Seminar (2013-08-05)

出典:共通フレーム2013

『“運用→開発→運用”

という流れで全体を捉えるべき』

このサイクルを短期間でまわす

Page 25: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

25Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

開発から運用も含めたアジャイルへ

MPUF Seminar (2013-08-05)

「顧客の経験を迅速に開発にフィードバックすることが競争力

を生む。今Webでどのような反応があるか、ソーシャルでどのよ

うに語られているかの情報を常に収集し、ソフトウェア開発の

ライフサイクルに取り込むことだ。継続的な改善、継続的なデ

リバリーと迅速なリリースがビジネスの価値をもたらす。」

(ロバート・ルブラン, IBM Middleware Software)

IBM Innovate 2013レポート, EnterpriseZine, 2013.6.10http://enterprisezine.jp/iti/detail/4894

Page 26: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

26Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発の現状

MPUF Seminar (2013-08-05)

<参考>非ウォーターフォール型(アジャイル)開発の動向と課題,SEC journal, Vol.8, No.4, Dec. 2012.

Page 27: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

27Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

(1) アジャイル開発の特徴

MPUF Seminar (2013-08-05)

Page 28: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

28Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発のモデル - プロセスの対応 -

要求

開発

テスト

<標準>ソフトウェアライフサイクルプロセス(SLCP)

要求

開発

テスト

<実際>

注) 図形のサイズは意味を持たない(時間,規模を表さない).

(部品)

ウォーターフォール型

大きなプロセスを順に実施し,それを1回で終了

アジャイル型

小さなプロセスを行き来しつつ実施し,それを何回も反復

注) 図形のサイズは意味を持つ.

MPUF Seminar (2013-08-05)

Page 29: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

29Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

調査事例から導かれた開発プロセス・モデル(1)

MPUF Seminar (2013-08-05)

モデル1

企画

システム運用

• n=1のケースもあり。

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第1リリース

・・・

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第2リリース

・・・

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第mリリース

考え方シンプルな基本形

Page 30: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

30Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

調査事例から導かれた開発プロセス・モデル(2)

MPUF Seminar (2013-08-05)

モデル2

要求・アーキテクチャ設計・基盤開発

企画

システム運用

• 比較的大規模システム/新規開発で全体のシステム構造が不明確なケースなど

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第1リリース

・・・

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第mリリース

考え方拡張形.基盤・共通部といくつかの機能部とから構成されるソフトウェア(右図)において,最初にまず,基盤・共通部の開発を終えた後,機能部群について,アジャイル開発を行う.基盤・共通部が確固としていないと,追加・変更時の機能部への影響が大きくなりすぎることを避ける.アジャイル開発では,基盤・共通部の変更は,原則として行わない.

基盤・共通部

機能1

機能2

機能3

機能4

Page 31: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

31Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

調査事例から導かれた開発プロセス・モデル(3)

MPUF Seminar (2013-08-05)

モデル3システム運用

・ アジャイル開発では反復ごとにリリースできる品質までテストを行うことが原則だが、各リリース工程前に行う重点的なテストを実施することがある。

・ リリースは複数回繰り返される

企画リリース前

テスト・・・・・・

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第1リリース

リリース前テスト

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第mリリース

考え方顧客やビジネスの特徴から,特に高い品質が求められたり,品質がクリティカルであったりする場合に,リリース前に品質確保のための特別のアクションを実施する.

Page 32: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

32Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

ウォーターフォール型とアジャイル型との手法の違い

ウォーターフォール型

(開発が)

失敗しないための手法

「プロセス」重視 「人」重視

文化が異なる

“計画”駆動型 (顧客)“価値”駆動型

アジャイル開発

(ビジネスが)

成功するための手法

少し試して,その結果に基づいて次のステップを進める.

例) ビルや橋の建設

作るものも使用する技術も明確 計画時には,ビジネス上,システム上の課題が未解決,開始後も変更の可能性大

最初から綿密な計画を立て計画に従って着実に進める.

多くの組織,チーム,個人にとって,アジャイル開発プロセスへの転換は“挑戦的”である.それは,ある種の文化的変革を必要とするからだ.[Agile transformation, IBM]

http://www.ibm.com/smarterplanet/us/en/business_analytics/article/agiledevelopment.html

アジャイルは,プロセスではなく文化である.Michael Sahota: “An Agile Adoption and Transformation Survival Guide: Working with Organizational Culture,” 2012.

ケースバイケースで

使い分け

MPUF Seminar (2013-08-05)

Page 33: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

33Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

計画駆動

Q:品質

S:スコープ(R:要求)

C:コスト D:納期

開発プロジェクトのパラメータ間の関係

機能N

:機能M

:機能3

機能2

機能1

要求(優先順)

価値

実装範囲

S:スコープ(R:要求)

C:コスト

Q:品質

D:納期固定

見積り→実際には変動

固定 固定

優先順に従って変動

価値駆動

品質を維持しようとすると

コストと納期に影響

スコープ(要求)のサイズが品質に影響

優先度の低い機能は実装しても結局は使われない

→無駄な実装はしない

参考QCDの優先順位

MPUF Seminar (2013-08-05)

Page 34: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

34Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

システム開発におけるQCDの優先順位

システム企画工程におけるQCDの優先順位

品質 : 28(29)%

コスト: 23(24)%

納期 : 49(47)%

<出典> ソフトウェアメトリックス調査2013(2012),一般社団法人 日本情報システム・ユーザー協会(JUAS).

参考

調査で収集した918(801)プロジェクトのうち,「QCDのうちのどれかを優先した」という回答(377(313)プロジェクト)の内訳[()内は前年度の結果]

<出典> CIOの哲学:三菱重工業 児玉敏雄氏,日経コンピュータ,2012.10.25.

そうした事業環境の中,いわゆる「QCD」のうち,特に納期を重視してものづくりを進めている.品質の確保は当たり前.開発・製造期間を短縮して製品の投入スピードをいかに速くできるかが,世界を相手に競争優位を築くカギになる.

MPUF Seminar (2013-08-05)

Page 35: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

35Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

システム機能の利用度(要求の劣化)参考

全く使われない

45%ほとんど使われな

19%

たまに使う

16%

よく使う

13%

いつも使う

7%

システムの機能の利用度

<出典> Standish group study report in 2000 chaos report

(平鍋健児氏のプレゼン資料掲載)

MPUF Seminar (2013-08-05)

Page 36: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

36Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

(2) 海外におけるソフトウェア開発とアジャイル

MPUF Seminar (2013-08-05)

http://www.ipa.go.jp/sec/softwareengineering/reports/20120611.html

Page 37: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

37Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発の導入状況

MPUF Seminar (2013-08-05)

VERSIONONE®: 7th ANNUAL STATE of AGILE DEVELOPMENT SURVEY, 2013

http://www.versionone.com/pdf/7th-Annual-State-of-Agile-Development-Survey.pdf

導入して

いる

84%

導入して

いない

16%

欧米企業におけるアジャイル開発の導入状況

5年以上

14%

2-5年

36%1-2年

38%

1年未満

12%

(アジャイル開発を導入している企業のうち)

アジャイル開発を行っている期間

Page 38: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

38Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

米国では、ソフトウェアに対する投資は「自社開発(内製)」「市販パッケージソフトの利用」が約2/3を占めている(下図「米国民間部門における ソフトウェア投資」参照)さらに、他国に比べて多くのIT技術者がユーザ企業に所属している(下図「IT技術者の所属先」参照)米国のプロジェクトの形態の特徴は、37%が内製していること

941,410

0

1,452,000

450,000 0

771,426

1,446,809

49,024 128,000

100,000

2,362,300

0

554,069

150,000

19,961

254,721

365,416

49,669

104,732 124,170

0

500,000

1,000,000

1,500,000

2,000,000

2,500,000

3,000,000

3,500,000

ユーザ企業

ITサービス企業

出典: 「グローバル化を支えるIT人材確保・育成施策に関する調査」概要報告書 2011年 3月 (IPA)

N/A

N/A

IT技術者の所属先

Prepackaged : パッケージソフトを購入Custom : 外部発注作業Own account : 自社開発ソフト

出典:「Bureau of Economic Analysishttp://www.bea.gov/national/xls/soft-invest.xls」

単位(人)

73.4

88.2

96.3

Prepackaged Custom Own account

単位(Billions of dollars)

米国民間部門におけるソフトウェア投資

ソフトウェア開発プロジェクトの比較 【特徴的データ】

MPUF Seminar (2013-08-05)

Page 39: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

39Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

(大手)システムインテグレータ(PMO)

日本の調達モデル

ユーザ (CIO)

ハードウエアベンダ

データベース・ベンダ

パッケージベンダ

システム開発ベンダ

パッケージシステム

開発ハードウエア

データベース

経営システム外部設計

経営システムコンサル

IPAグローバルシンポジウム2010 一色浩一郎教授講演より

参考

MPUF Seminar (2013-08-05)

Page 40: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

40Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

米国の調達モデル

ユーザ (CIO,PMO)

ハードウエアベンダ

データベース・ベンダ

パッケージベンダ

システム開発ベンダ

パッケージシステム

開発ハードウエア

データベース

経営システム外部設計

経営システムコンサル

IPAグローバルシンポジウム2010 一色浩一郎教授講演より

参考

MPUF Seminar (2013-08-05)

Page 41: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

41Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

米国におけるアジャイル開発の例

IPAグローバルシンポジウム2010 一色浩一郎教授講演より

参考

MPUF Seminar (2013-08-05)

Page 42: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

42Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

ソフトウェア開発プロジェクトの比較 【特徴的インタビュー】

MPUF Seminar (2013-08-05)

ブラジルでは、アジャイルは圧倒的(massive)。私たちの80%の顧客がアジャイルを取り入れており、そのうち半分がアジャイルを「メインの開発手法」としている。普及要因は、やってみて実際の成功率。従来のウォーターフォールよりもビジネスが成功しやすい。それから、これは推測だが、ブラジル人は強い管理が苦手。ソフトな管理手法の方がマッチしている。また、これは経済が急速に発展していることとも関係すると思う。急速な成長には柔軟な手法が合う。また、ブラジルは北米と時差がなく、このことは、北米からのソフトウェア開発のアウトソーシングを受ける受託開発では大きな要因。アジャイルは顧客との高レベルなコミュニケーションが必要。質問があったときに顧客に電話等で不明点を明らかにできることは、非常に重要。我々の会社は中国にも支社があるが、中国では米国から受託できない。このように、顧客と開発チームはアジャイルでは、時差が少ないことが要求される。

ブラジルの状況 ブラジルではアジャイル型開発が普及している

実践した結果、顧客のビジネスの成功率が高いことが普及要因 北米からのアジャイル受託開発が伸びている

理由は北米とブラジルは時差が少なく、リアルタイムコミュニケーションが可能であること

(出典: Bruno Guicardi氏 インタビュー)

Page 43: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

43Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

54%

11%

9%

7%

4%

4%2%

2%2% 2% 1%1% 1%

Scrum

Scrum/XP Hybrid

Custom Hybrid

Scrumban

Kanban

Don't Know

XP

Feauture-Driven-Dvelopment

Lean

Other

Agile Unified Process

Agile Modeling

DSDM Atern

・スクラム系が多い・カスタム・ハイブリッドも伸びている

参考ハイブリッド型の適用が進む(1/2)

MPUF Seminar (2013-08-05)

VERSIONONE®: 7th ANNUAL STATE of AGILE DEVELOPMENT SURVEY, 2013

http://www.versionone.com/pdf/7th-Annual-State-of-Agile-Development-Survey.pdf

使用するアジャイル手法

Page 44: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

44Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

28 percent of 450 software professionals

said they use a hybrid approach.

Another 12 percent use lean software development,

which includes agile processes.

Source: 2011 Agile ALM and Testing Survey,

SearchSoftwareQuality.com

Of 4,770 respondents from 91 countries,

90 percent said they use some form of agile.

Only 27 percent of respondents solely use one type of agile,

while 35 percent mix agile with waterfall,

and 39 percent mix agile with Scrum.

Source: Analysis.Net and VersionOne Source: PM NETWORK,

January 2012, Vol. 26, No. 1

参考ハイブリッド型の適用が進む(2/2)

MPUF Seminar (2013-08-05)

Page 45: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

45Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

Source: PM NETWORK,

September 2011, Vol. 25, No. 9

無し

広範囲に

選択的に

参考対象に応じてアジャイル手法を(部分)適用

プロジェクト管理にアジャイルのプラクティスを使う程度

The use of agile as an approach to managing projects has been increasing dramatically over the last several years. Gartner predicts that by the end of 2012, agile development methods will be used on 80% of all software development projects.

http://www.pmi.org/en/Certification/New-PMI-

Agile-Certification.aspx

MPUF Seminar (2013-08-05)

Page 46: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

46Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

(3) 日本におけるアジャイル型開発にふさわしい契約モデルの提案

MPUF Seminar (2013-08-05)

http://www.ipa.go.jp/sec/softwareengineering/reports/20120326.html

Page 47: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

47Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

調査事例:契約形態の集計(H21年度)

MPUF Seminar (2013-08-05)

契約の種類 件数 比率

請負契約 6 33.3%

請負契約(月毎) 1 5.6%

請負契約+準委任契約 1 5.6%

準委任契約 7 38.9%

労働者派遣契約 1 5.6%

不明 2 11.1%

合計 18 100 %

(社内開発:契約無し) (4) ー

⇒海外では、直接雇用やTime&Materialの準委任型契約が中心だが、日本では、アジャイル型開発とはなじみにくい請負契約の割合も高い。

参考

Page 48: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

48Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

WF型開発と比較したアジャイル開発の特徴

ユーザとベンダの緊密な協力体制が必須

- 相手方の問合せへの迅速な応答

- 担当作業の迅速な実施

- ユーザ/ベンダ間の責任分担が不明確になりがち

ユーザ要求の詳細が契約時点では未確定

- 何を作るか決まっていない(成果物未定)

- 性能・品質等が不明確

- 工数見積りが困難(コスト未定)

開発途中でのユーザ要求の変化を柔軟に受け入れる必要

- 決定した事項も変更されることがある

契約

MPUF Seminar (2013-08-05)

Page 49: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

49Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発と契約の対立

契約合意内容を固定して、当事者を法的に拘束する

アジャイル開発変化に対応すべく、合意内容の変更を柔軟に認め、当事者をなるべく拘束しない

⇒アジャイル開発にはふさわしい契約とは?契約

MPUF Seminar (2013-08-05)

Page 50: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

50Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

システム開発において主に使われる契約類型

請負契約(民法632条~642条)

一方が仕事を完成させることを請負い、その相手方が完成した仕事に対して報酬を支払うことを約束する契約。

⇒契約時点で、ベンダが完成すべき仕事の内容を明確にしておく必要。

準委任契約(民法643条~656条)

事務処理を目的とする契約であり、仕事の完成を目的としない。ベンダは、善良な管理者の注意をもって、委任された事務を処理する義務(善良管理者注意義務)を負う。

⇒ベンダに完成義務がなく、ユーザにとって不安。

契約

MPUF Seminar (2013-08-05)

Page 51: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

51Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発には、どんな契約がふさわしいのか?

MPUF Seminar (2013-08-05)

開発内容が決まっていない段階で、開発プロジェクト全体につ

き、一つの請負契約を結ぶのは適切ではない(何をいくらで完

成させるか不明)。

他方、開発プロジェクト全体を準委任契約にすることは、ベン

ダが完成義務を負わない点で、ユーザ側に不安がある(たとえ

成果物が完成しなくても、ユーザは対価を支払う必要) 。

また、アジャイル開発の特徴であるユーザとベンダの協働関係

を、契約に取り入れる必要がある。

契約

注) ユーザ側での労働者派遣契約に基づく開発チーム構成には,契約上の問題は特にない.(内製傾向の高まりに伴い増加?)

Page 52: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

52Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

契約問題PTで検討された契約モデル案

基本/個別契約モデル:

プロジェクト全体に共通する事項につき、基本契約を締結

し、小さな機能単位ごとに、開発対象と費用がある程度確定

したタイミングで個別契約(請負/準委任)を順次締結する。

組合モデル:

ユーザとベンダが共同でジョイント・ベンチャーとしての組合を

組成し、協力してシステム開発(収益性のあるもの)を企画・

実施する(開発された成果から得られた収益は、ベンダと

ユーザに分配される)。

契約

MPUF Seminar (2013-08-05)

Page 53: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

53Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

基本/個別契約モデルの概要

企画

システム運用

• n=1のケースもあり。

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第1リリース

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第2リリース

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第mリリース

基本契約

個別契約 個別契約 個別契約

企画

システム運用

• n=1のケースもあり。

第1反復

テスト

開発

要求

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第1リリース

第1反復

テスト

開発

要求

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第2リリース

第1反復

テスト

開発

要求

第1反復

テスト

開発

要求

第n反復

テスト

開発

要求

第n反復

テスト

開発

要求・・・

第mリリース

基本契約

個別契約個別契約 個別契約個別契約 個別契約個別契約

契約

基本契約

個別契約 個別契約個別契約

- 例 -

MPUF Seminar (2013-08-05)

Page 54: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

54Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

(4) アジャイル開発の適用領域

[注]•適用領域も変化する•領域のコンテキストに応じ,適切な開発手法を

MPUF Seminar (2013-08-05)

Page 55: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

55Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発の適用領域・試行領域

全てのソフトウェア開発に、これらの特徴を有するアジャイル開発手法を適用できる、あるいはすべきだ、という立場ではない。ビジネスや市場、その他の開発の“コンテキスト”によって、ウォーターフォール型の開発が適している場面もあれば、アジャイル型の開発が適している場面もある。

アジャイル開発は、•「顧客の参画の度合いが強い」•「動くソフトウェアを成長させながら作る」•「反復・漸進型である」•「人と人のコミュニケーション、コラボレーションを重視する」•「開発前の、要求の固定を前提としない」という特徴を持つ。

MPUF Seminar (2013-08-05)

Page 56: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

56Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発の適用領域

アジャイル開発が得意とし、現在、その適用により効果を挙げている領域:

①ビジネス要求が変化する領域

・要求の変化が激しく,あらかじめ要求が固定できない領域。

②リスクの高い領域

・不確実な市場を対象としたビジネス領域(市場リスク)

・技術的な難易度が高い開発領域(技術リスク)

③市場競争領域

・他社に先駆けた製品・サービス市場投入が命題であり,TTM(Time to Market)の短縮が優先となる領域(Webのサービス,パッケージ開発,新製品開発).

MPUF Seminar (2013-08-05)

Page 57: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

57Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発の試行領域

アジャイル開発による経験が十分には蓄積されておらず、現在、チャレンジと創意工夫が求められている領域:

①大規模開発

・開発者10人程度を超えると、システム分割、チーム分割が必要。その分割方法、及び、分割されたチーム間のコミュニケーションが課題。

②分散拠点(オフショア含む)開発

・開発拠点が分散し、さらに時差によって分断される場合のコミュニケーション手法、また、それをサポートするツールが必要。

③組織(会社)間をまたぐ開発チームによる開発

・共通のビジネスゴールを持ったチームを組むことが難しい。

④組込みシステム開発

・リリース後のソフトウェア修正が極めて困難であり、採用には工夫要。

MPUF Seminar (2013-08-05)

Page 58: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

58Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

チームの人数

(人) 2

4

6

8

10

12

2 4 6 8 10 12 14 16 18 20 22 24

開発期間 (月)

⇒チームの人数は8割が10人以下

⇒開発期間は2~4ヶ月が45%、1年超が35%

アジャイル型開発プロジェクトの規模 (H21年度調査)

MPUF Seminar (2013-08-05)

Page 59: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

59Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発におけるコミュニケーション(1/5)参考

平均17人

100人以上を除くと平均10.1人

出典: Ambysoft

Agile Teams Mini-Survey Results:

April/May 2011

N=82アジャイル開発チームの大きさ

MPUF Seminar (2013-08-05)

Page 60: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

60Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発におけるコミュニケーション(2/5)参考

同室

同フロア

同建物

何人かは3時間以上

3時間以内

47% were co-located,

23% near located, and

30% far-located.

N=82アジャイル開発チームメンバ間の距離

MPUF Seminar (2013-08-05)

Page 61: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

61Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発におけるコミュニケーション(3/5)参考

9% were co-located,

56% near located,

and 35% far located.

同室

同フロア

同建物

何人かは3時間以上

3時間以内

N=82ステークホルダ(顧客側)との距離

MPUF Seminar (2013-08-05)

Page 62: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

62Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発におけるコミュニケーション(4/5)参考

58% indicated at least daily

communication and an

additional 36% indicated at

least weekly

communication.

N=82

1回/週

数回/週

終日

毎日

顧客側とのコミュニケーション頻度

MPUF Seminar (2013-08-05)

Page 63: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

63Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発におけるコミュニケーション(5/5)参考

50%以上電子メールFace-To-Face反復終了後のデモリポジトリホワイトボードドキュメンテーションオンライン・チャットプレゼンテーション

N=82

顧客側とのコミュニケーション手段

MPUF Seminar (2013-08-05)

Page 64: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

64Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発のインパクトの定量化

MPUF Seminar (2013-08-05)

参考

<出典> Larry Maccherone: アジャイル開発のインパクトを定量化する,ZDNet Japan, 2013/7/30 http://japan.cnet.com/sp/businesslife/35035220/

#1:把握しやすさという観点からではなく、望ましい成果という観点から手を付ける(*1)

#2:把握した事実はテコ入れ材料ではなく、フィードバックであると捉える#3:現状把握はバランス(*2)が取れていなければ何の意味もない#4:ソフトウェアがもたらした成果を6つの観点(*3)から把握する#5:エキスパートの声に耳を傾ける

*1 ODIMより満足のいく成果(better Outcomes)←より優れた意思決定(better Decisions)←より深い洞察(better Insights)←より的確な把握(better Measures)

*2 ・迅速に行う・適切に行う・期日に間に合わせる・開発サイクルを回し続ける

*3 ソフトウェア開発パフォーマンス指標(SDPI)1) 生産性 2) 反応性3) 品質 4) 顧客満足度5) 予測性 6) 従業員満足度

Page 65: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

65Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement CenterMPUF Seminar (2013-08-05)

60組織の800プロジェクト(うち,250がアジャイル手法採用)のデータに基づくTen ‘Take Aways’ from the Reifer “Quantitative Analysis of Agile Methods” Study

15 July, 2013 Prepared by: Donald J. Reifer

1.生産性: (計画駆動型プロジェクトに比べ)10-20%高い[アジャイル手法の採用1年後]

2.コスト: (同上)20-40%削減[同上]

3.Time-to-Market: (同上) 10-60%短縮[同上]

4.品質: (同上)2-8%高い[同上]

5.競争優位性: アジャイル手法をうまく活用している組織にとって競争優位を示す

6.スケーラビリティ: (成功事例はあるものの)大規模・複雑なプロジェクトへの適用は困難

7.システムズエンジニアリングへの適用: 適用しないとプロセスの不整合が拡大

8.ソフトウェア保守: 結論は出ていない

9.リスク管理: (大規模プロジェクト等への適用に伴い)リスク管理プラクティスの活用要

10.契約: 見直すべき.当面は,Time&Materials(準委任)契約が適当か.

留意点:上記は,アプリケーション分野や製品の複雑さ,対象のクリティカル度合い,プロジェクト規模等により異なる.

参考アジャイル手法適用の分析例

Page 66: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

66Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

(5) 中・大規模開発事例の調査

http://www.ipa.go.jp/sec/softwareengineering/reports/20120328.html

MPUF Seminar (2013-08-05)

Page 67: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

67Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

中・大規模開発の事例一覧 (H23年度調査)

MPUF Seminar (2013-08-05)

No.規模

部分適用

採用手法 対象システム種別 契約

1 大 独自 B2Cサービス (SNS) 無(自社内)

2 大 Scrum B2Cサービス (ソーシャルゲーム) 無(自社内)

3 大 ○ Scrum ゲームソフト 受託(未公開)

4 大 ○ Scrum+独自 基幹システム 受託(準委任)

5 中 Scrum B2Cサービス (会員サービス) 無(自社内)

6 中 Scrum+XP B2Cサービス (医療・健康) 無(自社内)+オフショア*

7 中 Scrum+XP B2Cサービス (エンタテインメント) 無(自社内)+オフショア*

8 中 XP B2Cサービス (会員サービス) 受託(請負)

9 中 ○ XP B2Cサービス (ECサイト) 受託(請負)

10 中 ○ XP B2Cサービス (会員サービス) 受託(準委任)

中規模:30~100名,大規模:100名以上

独自:特に手法を決めず自ら定義,Scrum+XP:両手法を組み合わせて実践

*:準委任

Page 68: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

68Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

適用にあたっての主な工夫 (一覧)

MPUF Seminar (2013-08-05)

中・大規模開発特有の工夫

組織体制チーム間ローテーション

コミュニケーション段階的朝会チーム跨ぎのふりかえり

展開漸進的な人数増加漸進的な展開社内勉強会

分散拠点開発同一拠点から分散へTV会議

アーキテクチャ組織の共通基盤アーキテクチャの利用アーキテクチャについての教育

システム分割/インテグレーション同じリズム

小規模開発と同様だが特に注意して実施する工夫

コミュニケーション完全透明性

展開パイロット導入認定研修・コンサルタントの利用

分散拠点開発チケットシステムリアルタイムチャット

アーキテクチャアーキテクチャの改善

システム分割/インテグレーション疎結合で分割早期からのインテグレーション継続的インテグレーション

品質重視するビジネス価値ビジネス価値の変化タイムボックス優先の品質自動単体テスト

小規模開発とは逆のアプローチをとる工夫

アーキテクチャ最初のアーキテクチャ構築アーキテクチャ専門チーム運用保守チーム

品質テスト・フェーズ

品質第三者テスト

部分適用必要な部分のみ適用疎結合なチーム工程の見える化

Page 69: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

69Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

適用にあたっての主な工夫(2/3)

MPUF Seminar (2013-08-05)

チーム間ローテーションチーム間の知識伝播促進のため,メンバのローテーションを行う.一時的に速度は落ちるが,各チームの知識を効率よく伝播でき多能工化が高まる.

段階的朝会複数チーム間は朝会を段階的に実施.チーム→全体(→チーム).

漸進的な展開一度にすべてのチームに広げるのではなく,まずは導入障壁の低いところ,最も必要なところから順次導入し,少しずつ展開.ふりかえりで,次はどこに広げていけばいいかを考える.

コミュニケーション・ツールの活用TV会議システム,雑記帳システム(SNS,Blog等)

工夫例(1/2)

Page 70: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

70Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

適用にあたっての主な工夫(3/3)

MPUF Seminar (2013-08-05)

アーキテクチャの重視プロジェクト前半にアーキテクチャを構築する事例が多く,アーキテクチャ専門チームを編成して構築.構築されたアーキテクチャを組織の共通基盤とし,再利用できるようにしている事例あり.

疎結合な機能分割疎結合な機能でサブシステム分割を行う.7割のチームがCI(継続的インテグレーション)を実施.

テスト専用フェーズプロジェクト後半で専用のテストフェーズを実施.プログラム開発の反復を停止する事例と,テストのみの反復期間を設ける事例あり.

工夫例(2/2)

Page 71: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

71Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

浮かび上がった問題点

MPUF Seminar (2013-08-05)

全体計画の把握困難要求の変化や開発状況に応じて着手する順番や範囲を決めるため,プロジェクト開始時にプロジェクト全体の把握が困難な事例あり.

ビジネス企画側にボトルネック発生スクラム導入の結果,ビジネス企画者の決定待ち等のボトルネックが発生した事例が多い.中には開発者の信頼をなくした事例もあり.反復リズムとの不適合状態の発生セキュリティ監査や外部テスト業者,発注者の外部組織や関連組織との関係において,反復リズムと適合せずに問題が発生している事例あり.

主な問題点

Page 72: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

72Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発プラクティス・リファレンスガイド

MPUF Seminar (2013-08-05)

http://www.ipa.go.jp/about/press/20130319.html

http://www.ipa.go.jp/sec/softwareengineering/reports/20130319.html

Page 73: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

73Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

ガイドの特徴

MPUF Seminar (2013-08-05)

• 55個のプラクティス,26個の事例,9つの活用ポイント 計224ページ

• 日本国内の開発現場からのヒアリングにより収集した知見を,パターン記述形式で取りまとめ

• MS-Wordファイルを公開し,クリエイティブ・コモンズ・ライセンスの下に,改変自由・営利目的利用可で使用許諾

Page 74: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

74Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイルプラクティス・リファレンスガイド 事例一覧 (1)

MPUF Seminar (2013-08-05)

調査先 No. 採用手法[※1] 特徴 システム種別 契約関係[※2] 開発言語

A社0 Scrum+XP B2Cサービス (広告配信) 自社開発 Java, PHP, Perl

1 Scrum+XP B2Cサービス (広告配信) 自社開発 Ruby

B社2 Scrum+XP B2Cサービス (SNS) 自社開発 Java

3 Scrum+XP B2Cサービス (メール配信) 自社開発 Java

C社 4 XP+WF 中規模 B2Cサービス (メール配信) 受託開発 (準委任) Java

D社 5 XP B2Cサービス (SNS) 自社開発 Java, PHP, Ruby

E社6 Scrum 初導入 社内システム 自社開発 C#

7 Scrum+WF 中規模 社内システム 受託開発 (請負) Java, COBOL

F社 8 Scrum+WF 中規模 社内システム 自社開発 C#

G社9 Scrum+XP 初導入 社内システム 実証事業 Ruby

10 Scrum+XP 社内システム 受託開発 (請負) Ruby

H社

11 Scrum B2Cサービス (音楽配信)自社開発 + オフショア(準委任)

Java, C#, Objective-C

12 Scrum B2Cサービス (エンターテイメント)自社開発 + オフショア(準委任)

Java, C#, Objective-C

13 Scrum 社内システム自社開発 + オフショア(準委任)

Java

14 Scrum B2Cサービス (ヘルスケア)自社開発 + オフショア(準委任)

C#

Page 75: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

75Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイルプラクティス・リファレンスガイド 事例一覧 (2)

MPUF Seminar (2013-08-05)

※2:自社開発 → 自社組織内に開発部隊あり、一部パートナー(派遣)受託開発 → 自社組織内に開発部隊なし、外部ベンダに発注している

※1:XP:エクストリームプログラミング、Scrum:スクラム、WF:ウォーターフォール、UP:統一プロセス、もしくは、これらの手法の組み合わせ

中大規模(30名以上):6件 初導入:2件

調査先 No. 採用手法[※1] 特徴 システム種別 契約関係[※2] 開発言語

I社 15 Scrum中規模(組織展開)

B2Cサービス (広告配信) 自社開発 Java, Objective-C

J社

16 XP B2Cサービス (スマートフォンアプリ) 受託開発 (請負) Java

17 XP B2Cサービス (クラウド基盤) 受託開発 (請負) Java

18 XP B2Cサービス (クラウド基盤) 受託開発 (請負) Java

19 XP B2Cサービス (PaaS) 受託開発 (請負) Java

K社 20 Scrum B2Cサービス (ECサイト) 受託開発 (請負) PHP

L社

21 Scrum+UP 社内システム 受託開発 (請負) Java

22 Scrum+WF 大規模 社内システム受託開発 (準委任)

Java

23 Scrum+WF 技術評価 受託開発 (請負) Java

24 Scrum パッケージ自社開発 + オフショア (請負)

C#

M社 25 Scrum大規模(組織展開)

B2Cサービス (ソーシャルゲーム) 自社開発 Perl

全26事例

Page 76: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

76Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイルプラクティス・リファレンスガイド プラクティス一覧 (1)

MPUF Seminar (2013-08-05)

カテゴリ サブカテゴリ プラクティス 説明

プロセス・プロダクト

プロセス

リリース計画ミーティング プロダクトリリースのためのリリース計画ミーティング

イテレーション計画ミーティングイテレーション(スプリント)ごとのリリース計画やアクティビティなどを計画するミーティング

イテレーション ゴールや結果にアプローチするプロセスを繰り返すこと

プランニングポーカー スプリント計画時のタスクを見積もるためのプランニングポーカー

ベロシティ計測 プロジェクトベロシティの計測

日次ミーティング 現在の問題を解決するための短いデイリーミーティング

ふりかえり 前のスプリント(イテレーション)から学ぶためにふりかえる

かんばん ジャストインタイムの継続的なデリバリを強調した管理手法

スプリントレビュー 完了した仕事を表明するスプリントレビューミーティング

タスクボード(タスクカード) ボードに貼られたメンバーが継続的に更新するタスク

バーンダウンチャート スプリント進捗をモニターするためのバーンダウンチャート

柔軟なプロセス状況や環境の変化に対応できる柔軟なプロセスにしている、もしくは、プロセスを柔軟に変更している

プロダクト

ユーザーストーリー要求についての会話を行うときの開発チームとプロダクトオーナーの間の合意事項

スプリントバックログプロダクトオーナーとチーム間でのスプリントバックログへの相互コミットメント

インセプションデッキ 10の質問によりプロジェクトの属性を明らかする

プロダクトバックログ(優先順位付け)

プロダクトオーナーによる優先順位(プロダクトバックログ)の管理

フィードバック 迅速なフィードバック 迅速なフィードバックを得られるような取組みを行っている

Page 77: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

77Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイルプラクティス・リファレンスガイド プラクティス一覧 (2)

MPUF Seminar (2013-08-05)

カテゴリ サブカテゴリ プラクティス 説明

技術・ツール

設計開発

ペアプログラミング すべての製品コードはペアプログラミングで開発している

自動化された回帰テスト 自動化された回帰テストを行っている

テスト駆動開発 単体テストを書き、そのテストを通るようなコードを実装する

ユニットテストの自動化 ユニットテストの自動化

受入テスト 受入テストの実施と、その結果を公開している

システムメタファ関係者全員が、そのシステムがどのように動くかについて伝えることができるストーリー

スパイク・ソリューションリスクを軽減するために、隠れた問題を探索するための簡単なプログラム(スパイク・ソリューション)の試作

リファクタリング 定常的なリファクタリング

シンプルデザイン 設計をシンプルに保つ

逐次の統合 一度に統合するコードはひとつだけとする

継続的インテグレーション 継続的インデグレーション、または頻繁なインテグレーション

集団によるオーナーシップ 全員がすべてのコードに対して責任を持つ

コーディング規約 同意された標準のためのコーディング規約

障害対応 バグ時の再現テスト バグが見つかったとき、そのテストがまず最初に作られる

利用ツール 紙・手書きツールポストイット(付箋紙)やCRC(class-responsibility-collaboration)カードなどの使用

Page 78: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

78Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイルプラクティス・リファレンスガイド プラクティス一覧 (3)

カテゴリ サブカテゴリ プラクティス 説明

チーム運営・組織・チーム環境

顧客プロキシ要件や仕様をまとめるために顧客の業務に精通した顧客プロキシの設置

オンサイト顧客 顧客といつでも/定期的にやりとりが可能である

プロダクトオーナー プロダクトオーナー役の設置

ファシリテータ(スクラムマスター)

スクラムマスターによる開発プロセスとプラクティスのファシリテーション

アジャイルコーチ アジャイルコーチがプロジェクトに参加している

自己組織化チーム チームメンバーがタスクに志願するなど自律的なチームになっている

ニコニコカレンダー ニコニコカレンダーを用いてメンバーの気持ちを見える化している

進め方 持続可能なペース 継続的なペースで開発している

組織導入組織にあわせたアジャイルスタイル

組織にあった適切なアジャイルスタイルを用いるようにしている

ファシリティ・ワークスペース

共通の部屋 オープンスペースがチームに与えられている

チーム全体が一つに チーム全員がひとつのゴールに向かうような取組みを行っている

人材のローテーション 多能工の育成などのため人材のローテーションを行っている

インテグレーション専用マシン 特定のインテグレーション用コンピュータ

MPUF Seminar (2013-08-05)

Page 79: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

79Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

0%

20%

40%

60%

80%

100%

日次ミーティング

ふりかえり

イテレーション計画ミーティング

イテレーション

紙・手書きツール

持続可能なペース

チーム全体が一つに

バーンダウンチャート

タスクボード(タ

スクカード)

ユニットテストの自動化

インテグレーション専用マシン

集団によるオーナーシップ

自己組織化チーム

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

組織にあわせたアジャイルスタ…

スプリントバックログ

リリース計画ミーティング

ファシリテータ(スクラムマス…

迅速なフィードバック

コーディング規約

ユーザーストーリー

プロダクトバックログ(優

先順…

ベロシティ計測

リファクタリング

共通の部屋

プロダクトオーナー

スプリントレビュー

自動化された回帰テスト

プランニングポーカー

シンプルデザイン

柔軟なプロセス

テスト駆動開発

オンサイト顧客

人材のローテーション

ペアプログラミング

スパイク・ソリューション

アジャイルコーチ

受入テスト

顧客プロキシ

バグ時の再現テスト

逐次の統合

インセプションデッキ

ニコニコカレンダー

かんばん

システムメタファ

プラクティス適用率 (n=26)

適用プラクティス (全体)

MPUF Seminar (2013-08-05)

※:適用数は、適用を1件、部分的に適用を0.5件として集計した。※ システムメタファは国内の26事例の中で活用されている事例はなかった。『ガイド編 プラクティス解説』では、海外の事例を調査した。

日次ミーティング、ふりかえり、イテレーション計画ミーティング、イテレーションの順に適用率が高く、これらはアジャイル開発を行う上でのほぼ必須のプラクティスであると言える。これらのプラクティスはScrumとXPに共通するプラクティスである。

Page 80: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

80Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

件数

14121086420 16 18 20 22

頻繁なふりかえり計画ゲーム

日次のスタンドアップミーティング(朝会)

継続的インテグレーションペアプログラミング

バーンダウンチャートリファクタリングテスト駆動開発

コードの共同所有かんばん

自動化された回帰テストニコニコカレンダー

顧客プロキシタスクカードポストイット

タイムボックス頻繁なリリース

コーディング規約ストーリーカード

単体テストの自動化スクラムのスプリントスプリントバックログ

チーム全体が一つに 71.4%

52.4%

47.6%

42.9%

38.1%

28.6%

23.8%

19%

14.3%

15

11

10

10

9

8

8

6

5

4

4

4

3

3

3

3

3

2

2

2

2

2

2

9.5%

9.5%

9.5%

9.5%

9.5%

9.5%

14.3%

14.3%

14.3%

14.3%

19%

19%

38.1%

47.6%

反復型計画100%

21

※1事例は活用プラクティス不明

参考活用されているプラクティス(H21年度調査)

MPUF Seminar (2013-08-05)

Page 81: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

81Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

70%60%50%40%30%20%10%0 80% 90%

75%

74%

67%

56%

51%

69%

58%

49%

48%

43%

30%

27%

24%

23%

39%

38%

32%

32%

57%

40%

55%

72%

85%

参考調査事例:活用されているプラクティス (海外)

17%

13%

10%

Daily Standup

Iteration Planning

Unit Testing (*)

Retrospectives

Release Planning

Burndown/ Team-Based Estimation

Velocity

Coding Standards

Continuous Integration

Automated Builds

Dedicated Product Owner

Integrated Dev /QA

Refactoring

Open Workarea

TDD

Digital Taskboard

Story Mapping

Kanban

Collective Code Ownership

Pair Programming

Automated Acceptance Testing

Analog Taskboard

Continuous Deployment

Agile Games

Cycle Time

BDD

(VersionOne社 アジャイル開発の現状調査第7回2013より)

←前回より大きく上昇

←前回より大きく上昇

←前回より減少

1個を除き,前回調査時より上昇

(*) 日本調査結果と大きく異なる項目

Page 82: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

82Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

プラクティスの実態 – 日次ミーティング

MPUF Seminar (2013-08-05)

状況

チームは、プロジェクトのタスクをこなすためにほとんどの時間を使い、状況や情報の共有のために取れる時間がほとんどない。

問題

情報の共有遅れが問題を大きくする。情報共有の時間が取れないまま、状況認識と問題対処への判断が遅れると、問題が大きくなるなど、より深刻な状況を招いてしまう。

フォース

関係者が多忙なため、情報共有のための時間が取れない。情報共有の間隔が空いてしまうと、情報量が増え、共有に必要な時間が余分にかかる。

解決策

必要な情報を短い時間で毎日共有する。関係者が長時間、時間を取れないようであれば、短い時間(15分を目安に)で済むように、共有を必要な情報に絞る。

利用例

事例(9): 遠隔地にいるメンバーも日次ミーティングに参加するため、チャットツールや電話会議システムを利用した。

事例(17): 1日3回(朝、昼、夕)10分程度のミーティングを実施。問題を報告/解決するためのリズムが開発メンバー全員に浸透して、短期での問題提起ができている。

留意点

必ずしも朝の時間帯にこだわらず、関係者が集まりやすい時間帯に開催する(例えば、終業近い時間帯に開催する夕会)。

リファレンスガイド

Page 83: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

83Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

プラクティスの実態 – ふりかえり

MPUF Seminar (2013-08-05)

状況

イテレーション毎に、チームは動くソフトウェアとして成果を出そうとしている。イテレーションを繰り返して、チームはソフトウェアを開発していく。

問題

開発チームは、そこに集まったメンバーにとって最適な開発プロセスを、最初から実践することはできない。

フォース

イテレーションでの開発はうまくいくこともあるが、うまくいかないこともある

解決策

反復内で実施したことを、反復の最後にチームでふりかえり、開発プロセス、コミュニケーション、その他様々な活動をよりよくする改善案をチームで考え実施する機会を設ける。

利用例

事例(25): 当初はKPT[※1]を用いてふりかえりを行っていたが、ファシリテータの技量にふりかえりの質が依存してしまう、声の大きいメンバーに影響を受けてしまうことに気づいた。そのため、意見を集めるやり方として、555(Triple Nickels)[※2]を用いることにした。

ふりかえりにチームが慣れていない場合は、進行で各人の意見をうまく引出すようにしないとうまくいかない。

問題点を糾弾する場にしてしまうと、改善すべき点を積極的に話し合えなくなってしまう。

改善案を出しても、実際に実行可能なレベルの具体的なアクションになっていないと実施されない。

※2 アクションや提案に対するアイデアを出すための手法。5人程度のグループで、各人が5分間ブレインストーミングをしてアイデアを書き出す。5分経過したら紙を隣の人にまわし、新しいアイデアを書き加える。

留意点

※1 メンバー全員で、Keep(よかったこと・続けたいこと)、Problem(問題・困っていること)、Try(改善したいこと・チャレンジしたいこと) を出し合い、チームの改善を促す手法。

リファレンスガイド

Page 84: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

84Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

プラクティスの実態 – イテレーション計画ミーティング

MPUF Seminar (2013-08-05)

状況

開発を一定期間のサイクル(イテレーション)で繰り返し行っている。プロダクトバックログの内容を、チームとプロダクトオーナーの間で合意している。

問題

リリース計画は遠い未来の目標のため、それだけではイテレーションで何をどのように開発すれば良いか分からない。

フォース

ユーザーストーリーのまま、イテレーションの詳細な計画を立て、開発を進めていくのは難しい。

解決策

イテレーションで開発するユーザーストーリーと、その完了までに必要なタスクおよびタスクの見積りを洗い出すミーティングを開く。

利用例

留意点

見積りに関してチームが水増しする懸念を持つかもしれないが、チームを信じるべきである。プロジェクトの目的を理解したチームは、見積りが大きく外れるようであれば、自らその原因を分析し、次の見積りに活かすはずである。

G社事例(9): ペーパープロトタイピング[※1]を用いたUIデザインの共有と受入れ条件の確認をイテレーション計画ミーティングで行っていた。そのため、計画にはかなり時間を要していたが、見積りの前提が具体的になったため、見積り作業時間の削減に繋がった。

※1 紙などを使った試作品でユーザビリティテストを行うこと。

リファレンスガイド

Page 85: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

85Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

事例概要 <<中大規模適用プロジェクトの事例>> 事例(4) C社

MPUF Seminar (2013-08-05)

プロフィール

既存のサービスのリプレイス開発。単純なサービスのリプレイスではなく、新しい要件も加えながら開発したいとの要望があり、C社から顧客にアジャイル開発を提案して開始した。リプレイスといいながらも、顧客から要件を聞き出しながら開発を進めていった。要件が固められない部分のみアジャイル開発を行い、要件が明らかな部分についてはウォーターフォール型開発を実施した。

特徴的なプラクティス

日次ミーティング: 複数のチームが存在したため、二段階の構成で実施していた。(チーム間→チーム毎)。

ふりかえり: チーム毎に実施した場合には、他のチームへの不満などばかりになってしまい機能しなかった。そのために、複数チームの混成で実施することにより、問題へ集中するように意識を変えさせた。また、反復毎のふりかえりとは別に、四半期単位でも実施して大きな改善点について話しあった。

顧客プロキシ: 当初は顧客に要件管理をしてもらっていたが、機能しなくなったため、C社の社員が顧客の会社へ出向して顧客プロキシとなり全面的に支援した。

システム種別 B2Cサービス

規模

中規模開発者 32名インフラ 4名管理その他 23名計 59名

手法 XP

契約 準委任契約 (四半期毎に更新)

期間 2年

開発拠点 東京、地方を含めた3拠点

リファレンスガイド

Page 86: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

86Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

活用のポイント (1)

MPUF Seminar (2013-08-05)

(1) 短納期、開発期間が短い

開発対象のボリュームに比して、開発期間が短い場合、チームの開発速度を計測し、そのスピード感で、予定している開発量が期限内に完了するのか、常に点検する必要があるため、「ベロシティ計測」と、「バーンダウンチャート」を活用する。ベロシティ計測は、関係者であるプロダクトオーナーが理解できる基準で計測する必要がある(H社事例(11))。バーンダウンチャートは、関係者と定期的に共有する機会を設けることが活用のポイントである(B社事例(2)、J社事例(17)(18))。

(2) スコープの変動が激しい

開発中に要求の変更が頻繁に発生することが予想されるプロジェクトでは、チームが扱う要求の全体像と状態、直近のイテレーションで何を開発するかが分かっており、柔軟に優先順位を変えられる必要があるため、「プロダクトバックログ(優先順位付け)」、「スプリントバックログ」および「プロダクトオーナー」を活用する。プロダクトバックログ(優先順位付け)は、イテレーション毎に整理を行い、チーム全員で優先順位と内容を合意すると良い(B社事例(2))。プロダクトオーナーは、業務や全社的に全体最適となる判断を行うこと(G社事例(10))。

(3) 求められる品質が高い

品質要求が高いプロジェクトでは、テストに関するプラクティスである「自動化された回帰テスト」、「ユニットテストの自動化」を活用する。自動化された回帰テストやユニットテストの自動化は、プロジェクトの初期段階で、実施有無、実施のための取決め、使用ツールを検討しておくことがポイントである。これを後回しにすると、必ず機能開発が優先され、自動化にたどりつかない(B社事例(2))。

リファレンスガイド

Page 87: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

87Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

活用のポイント (2)

MPUF Seminar (2013-08-05)

(4) コスト要求が厳しい

必要のないものを作るムダをなくし、必要なものをより素早く提供することがROI(費用対効果)の向上につながり、コスト要求に応えることができる。そのためには、的確に顧客の要求を把握し、認識の相違をなくす必要があるため、「プロダクトバックログ(優先順位付け)」を活用する。また、開発機能がプロダクトオーナーの意図通りになっているか否かの検証のために、「受入テスト」を活用する。「オンサイト顧客」には、優先順位や仕様の確認がその場で確認することができ、迅速に方針を決められるというメリットがある(K社事例(20))。

(5) チームメンバーのスキルが未成熟

スキル的に未成熟なメンバーが成長していく機会として、プロジェクトを計画する必要があるため、「ペアプログラミング」と「ふりかえり」を活用する。ペアプログラミングは、ベテランとメンバーが一緒に仕事をすることで、技術的な指導を行うのに適したプラクティスである(C社事例(4))。ふりかえりは、メンバーの成長の機会として捉えることができる。ふりかえりのやり方自体も見直しながらチームに適したやり方を模索すると良い(E社事例(6))。

(6) チームにとって初めての技術領域や業務知識を扱う

プロダクトの背景にある業界の知識や、要求の理解と実装に必要な業務知識の獲得が必要となるため、「スパイク・ソリューション」と「システムメタファ」を活用する。スパイク・ソリューションを適用することは、リスクとなりそうな技術課題について、プロジェクトの初期段階で実験的に小さく試しておくことであり、チームとプロジェクトを後々助けることに繋がる(C社事例(4))。システムメタファは、開発者にとって、なじみの薄い業務知識を理解する手段として、有効と考えられる。

リファレンスガイド

Page 88: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

88Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

活用のポイント (3)

MPUF Seminar (2013-08-05)

(7) 初めてチームを組むメンバーが多い

初めてチームを組むメンバーが多い場合、チームが向かう方向を明確にすることと、チームビルディングが必要となるため、「インセプションデッキ」や「ニコニコカレンダー」を活用する。インセプションデッキは、作成を通じて、プロジェクトの目的や目標が明らかとなる(B社事例(1))。ニコニコカレンダーは、メンバーの感情や状況を可視化し、チームメンバーのことを知ることがポイントになる(E社事例(6))。

(8) オフショアなど分散開発を行う

プロダクトオーナーと開発チームが別の拠点にいる場合、オンラインでのコミュニケーション手段を検討し、頻繁にコミュニケーションが取れるようにする必要があるため、「日次ミーティング」や「顧客プロキシ」を活用する。TV会議システムを使った日次ミーティングは、離れた者同士が毎日顔を合わせる機会として、ぜひ活用するべきである(G社事例(9))。顧客プロキシは、分散した環境下でも、迅速なフィードバックが得られる工夫をしなければならない。

(9) 初めてアジャイル開発に取り組む

初めてアジャイル開発に取り組む際には、書籍や文書だけではなく人から人にやり方を伝えることが有効であるため、社内にアジャイル開発に取り組んだ経験のある人がいる場合はその人に、社内にない場合は、社外からアジャイルコーチを頼んで導入の手伝いをしてもらうのがよい。初めて取り組む場合は、イテレーション期間を短くした上で、ふりかえりの中で改善点をチームで考え実行していくことが不可欠となる。

リファレンスガイド

Page 89: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

89Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

活用・普及の動き:コミュニティで成長させていく

MPUF Seminar (2013-08-05)

リファレンスガイドを単に眺めるだけでなく,現場での活用を促進

どんな場面で,どのようにガイドを使うかの「使い方」を共有

現場のパタンを登録・洗練・共有・利用

Gemba Pattern Communityhttp://gembapatterns.github.com/ (予定)

<企画者>懸田剛

合同会社カルチャーワークス 共同代表/アジャイルプロセス協議会 四国支部 Agile459支部長

本橋正成合同会社カルチャーワークス 共同代表

市谷聡啓株式会社永和システムマネジメント サービスプロバイディング事業部 アジャイル開発グループ 主任

参考

Page 90: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

90Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発手法の適切な活用に向けて

MPUF Seminar (2013-08-05)

<アジャイル開発の実際>

一つのプロジェクトで全てのプラクティスを使う訳ではない

各プラクティスに厳格な規範はない

様々な方法論・数あるプラクティスから,プロジェクトや組織に適したものを取捨選択し,カスタマイズすることが必要

(手法選択) 市場が求める変化への俊敏な対応のために,

自分たちの開発対象は、どんな性質か?

自分たちの置かれた環境はどうか?

自分たちの状況に最も合うのは、どの開発手法か?

Page 91: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

91Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

組込み機器・システムとアジャイル開発

MPUF Seminar (2013-08-05)

Page 92: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

92Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発による経験が十分には蓄積されておらず、現在、チャレンジと創意工夫が求められている領域:

①大規模開発

・開発者10人程度を超えると、システム分割、チーム分割が必要。その分割方法、及び、分割されたチーム間のコミュニケーションが課題。

②分散拠点(オフショア含む)開発

・開発拠点が分散し、さらに時差によって分断される場合のコミュニケーション手法、また、それをサポートするツールが必要。

③組織(会社)間をまたぐ開発チームによる開発

・共通のビジネスゴールを持ったチームを組むことが難しい。

④組込みシステム開発

・リリース後のソフトウェア修正が極めて困難であり、採用には工夫要。

MPUF Seminar (2013-08-05)

再掲アジャイル開発の試行領域

Page 93: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

93Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発に関心ある人の開発対象種別(1)

MPUF Seminar (2013-08-05)

Q1-1. あなたはソフトウエア開発に携わるお仕事に従事されていますか?携わっていらっしゃる場合,以下のどれに該当しますか?

出所:Agile Japan 2012 (2012年3月,大阪)の参加者アンケート

組込み系

エンタプライズ系

パッケージ系

ゲーム系

Web系

その他

無回答

24.5%

30.2%

23.4%

Page 94: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

94Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発に関心ある人の開発対象種別(2)

MPUF Seminar (2013-08-05)

Q1-1. あなたはソフトウエア開発に携わるお仕事に従事されていますか?携わっていらっしゃる場合,以下のどれに該当しますか?

出所:Agile Japan 2013 (2013年5月,東京)の参加者アンケート

組込み系

エンタプライズ系

パッケージ系

ゲーム系

Web系

その他

無回答

19.6%

Page 95: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

95Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発を用いる技術者

MPUF Seminar (2013-08-05)

出典:「IT人材白書2013 概要」,IPA,2013/3/28.http://www.ipa.go.jp/jinzai/jigyou/about.html

業務において最もよく用いられる開発プロセス(技術者別)

Page 96: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

96Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

組込み製品開発の特徴

MPUF Seminar (2013-08-05)

顧客(エンドユーザ)が見えない

経験と想像に基づく要求設定

未来予測の要求への反映

多くの関係者(関連部署)との協力による開発推進

市場からのフィードバックを迅速に行う仕組み

短いサイクルで機能を積み上げ,評価しつつ,製品の価値を高めていく

Page 97: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

97Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

日米における今日のデバイスの比較

MPUF Seminar (2013-08-05)

<出典>クリストファー・テイト「イノベーションを生み出す日本へ、再び

~ソフトウェアとハードウェアの対話が、日本に強さもたらす~」ET-West 2013 ヒートアップセッションHU-5講演,2013年6月14日,大阪.

ハードウェアソフトウェア

ハード

ウェア

ソフトウェア

インターネットを介した改善

日本 米国(シリコンバレー)

Page 98: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

98Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

組込み機器・システムとアジャイル開発

MPUF Seminar (2013-08-05)

利用者の購入後に

インターネットを介して

定期的に機能拡張*

アジャイル開発エンドユーザ側データの収集の仕組みがある

* エンドユーザからのフィードバック対応を含む

Page 99: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

99Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

組込み系とエンタプライズ系の技術者間の協働

MPUF Seminar (2013-08-05)

機器・システムだけを見ていては不十分(イノベーションに結びつきにくい)

・機能拡張の仕組み(サーバ/バックヤード/クラウド側)の理解

・機能拡張項目選定のトリガ(利用者の声を捉える仕組み)の理解

組込み系とエンタプライズ系の協働/両スキルの獲得

Page 100: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

100Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発人材

MPUF Seminar (2013-08-05)

Page 101: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

101Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発プロセスの流れ:スクラムの例

ToDo Doing Done

タスクボード

<出典> 株式会社豆蔵 堀江弘志:「初めての取組み事例に見るアジャイル導入の勘所」 ,JASA主催/IPA共催セミナー,2011-11-18.http://www.ipa.go.jp/sec/softwareengineering/events/20111116.html

MPUF Seminar (2013-08-05)

Page 102: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

102Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発者に求められるスキル

MPUF Seminar (2013-08-05)

アジャイル開発における発注者側に求められること:

(全ての機能の仕様を洗い出す能力よりも)コアとなる機能を見定め,優先度を図りながら開発プロジェクトの運営を指揮していく能力

明確な仕様を決めなくても良いとはいうものの,定期的なサイクルで実物を見てフィードバックのポイントを増やすことにより,実際のシステムを目で確認しながら,積み上げるように仕様を決定していく

アジャイル開発の開発者にとって重要なスキル:

① プロジェクトのアウトプットに関わる判断ではなく,アジャイル開発の進め方を踏襲させるためのファシリテーションスキル

② 反復活動の中で,実際に動くものを作りながら,小規模に,かつトータルにプロジェクトのアウトプットを積み重ねていくスキル

③ 設計,コーディング,テストを一貫して実施出来るスキル

Page 103: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

103Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

人材の育成の考え方

価値

原則

手法

<アジャイル開発の実際>

一つのプロジェクトで全てのプラクティスを使う訳ではない

各プラクティスに厳格な規範はない

様々な方法論・数あるプラクティスから,プロジェクトや組織に適したものを取捨選択し,カスタマイズすることが必要

(平時) 一通りのプラクティスを理解する

(プロジェクト参画時) 使用するプラクティスの習得

全てを完全に身につけるより,価値に従って行動する習慣を確実に身につけることが重要

MPUF Seminar (2013-08-05)

Page 104: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

104Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

人材の配置(プロジェクト対応)の考え方

自社用のシステム開発から,アジャイル開発OJT

初めの頃の実プロジェクトでは,コンサルタント(アジャイル・コーチ等)の支援を得る

個人プラクティスは個人で,チーム・プラクティスを組織で

とはいっても,

アジャイル開発に向いている技術者と,

ウォーターフォール型開発に向いている技術者と,

人材の見極めと適切な配置が必要

「個人の生き残りの条件は、変わり続けること、学び続けること」会社が変わらなければいけない時は,個人も変わる必要に迫られている

--- 竹内健(中央大学理工学部 教授),Tech-On 2012/08/27

MPUF Seminar (2013-08-05)

Page 105: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

105Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

Scrum Master等の推移から見るアジャイル開発の普及状況 アジャイル型開発方法論で最も有名なスクラムに関する資格者が、2005年以降急増

米国の取得者が群を抜いて多く、ついで英国が多い。日本は極めて少ない(試験は英語)

出典:Scrum Allianceによる協力

Scrum Master等人数の経年変化

CSM (Certified Scrum Master) チーム全体の支援者

CSPO(Certified Scrum Product Owner)製品の責任者

CSP(Certified Scrum Professional)スクラムの実践者

略称説明

単位(人)

Scrum Master等の人数の経年変化2002 2003 2004 2005 2006 2007 2008 2009 2010 2011TOTAL

CSM 5 344 907 2,647 6,841 12,857 22,514 26,886 34,601 43,028 150,630

CSPO 83 503 1,891 3,514 5,325 8,629 19,945

CSP 1 2 14 26 38 116 264 366 534 501 1,862

TOTAL 6 346 921 2,673 6,962 13,476 24,669 30,766 40,460 52,158 172,437

各国の現在のScrum Master等人数 (2012年3月)米国 英国 中国 デンマーク ブラジル 日本 TOTAL

CSM 67,000 11,800 3,800 3,700 4,600 350 91,250

CSPO 8,000 1,800 400 750 900 120 11,970

CSP 1,100 0 30 30 60 6 1,226

TOTAL 76,100 13,600 4,230 4,480 5,560 476 104,446

単位(人)

単位(人)

各国の現在のScrum Master等人数 (2012年3月)

海外普及要因調査

MPUF Seminar (2013-08-05)

Page 106: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

106Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

IT人材の状況 【特徴的なデータ】

米国ではIT関連職が人気の職業 2009年:

Systems Engineer が1位 2010年:

Software Architectが1位

システムズ・エンジニア

看護師

医師助手

大学教授

ITプロジェクトマネージャー

ソフトウェア開発者

ソフトウェアプロダクト

マネージャー

弁護士

最高給与給与中央値

ランク

<出典>Focus, Best Jobs in America: http://kelsocartography.com/blog/?p=3585

CNN Money: http://money.cnn.com/magazines/moneymag/bestjobs/2010/index.html

米国では恒常的にIT関連職の給与が高く、人気も高い中国、ブラジルでは、 IT関連職の人材が不足しているため、IT関連職の給与が高く、人気が高い 米国、中国、ブラジルでは、IT関連職が人気であるため、優秀な人材が集まる

システムズ・エンニアとは、日本のSEのニュアンスとは異なる。ソフトウェアを含むシステム全体の構造を検討・定義する役割を持つ職種をさす(出典:CNN Money をもとに編集)

海外普及要因調査

MPUF Seminar (2013-08-05)

Page 107: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

107Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発技術者の仕事に対する感じ方・考え方(1)

MPUF Seminar (2013-08-05)

出典:「IT人材白書2013」,IPA,2013/3/28.http://www.ipa.go.jp/jinzai/jigyou/about.html

Page 108: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

108Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発技術者の仕事に対する感じ方・考え方(2)

MPUF Seminar (2013-08-05)

Q. 今の仕事に一生懸命取り組んでいる

アジャイル型 :28.4%

ウォーターフォール型:12.5%

Q. 仕事が好きである

アジャイル型 :23.4%

ウォーターフォール型: 9.9%

Q. この仕事をしていることを誇りに思う

アジャイル型 :19.9%

ウォーターフォール型: 7.3%

<回答=「よく当てはまる」の割合>

出典:「IT人材白書2013」,IPA,2013/3/28.http://www.ipa.go.jp/jinzai/jigyou/about.html

Page 109: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

109Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

モチベーション…科学的実証の結果

http://www.ted.com/talks/lang/ja/dan_pink_on_motivation.html

<出典> Dan Pink on the surprising science of motivation (ダニエル・ピンク 「やる気に関する驚きの科学」)

報酬のインセンティブは,視野を狭め,心を集中させることから,単純な仕事では効果があるが,そうでない創造的な仕事では逆効果.

成果を高めるのは,内的な動機付けに基づくアプローチ.

すなわち,重要だからやる,好きだからやる,面白いからやる,何か重要なことの一部を担っているからやる,というもの.

仕事において重要な要素は次の3つ:

• 自主性…自分の人生の方向は自分で決めたい

• 成長 …何か大切なことについて上達したい

• 目的 …私たち自身よりも大きな何かのためにやりたい

参考

(ある程度の)裁量

顧客の"価値"を高める

スキルアップになる

MPUF Seminar (2013-08-05)

Page 110: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

110Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

http://www.ibm.com/smarterplanet/us/en/business_analytics/article/agiledevelopment.html

For many organizations, teams and individuals, the transformation to an agile

development process is challenging. That’s because it requires a cultural change.

Agile transformation

参考アジャイル開発への転換

多くの組織,チーム,

個人にとって,アジャ

イル開発プロセスへ

の転換は“挑戦的”

である.それは,ある

種の文化的変革を

必要とするからだ.

「アジャイルは,プロセスではなく文化である.」Michael Sahota: “An Agile Adoption and Transformation Survival Guide: Working with Organizational Culture,” 2012.

MPUF Seminar (2013-08-05)

IBM> Let‘s build a smarter planet> Business agility>

Page 111: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

111Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement CenterMPUF Seminar (2013-08-05)

What Managers Can Do To Support Agile Transformation

Nancy Y. Nee, Jun 10, 2013

http://www.infoq.com/articles/managers-support-agile-transformation

Agile Culture

• a collaborative leadership style

• an ability to embrace change

• an iterative approach to product development and testing

• a people-driven focus (versus process-driven)

• a concentration on features instead of systems

• project managers that are facilitators, not controllers

• project simplicity

Successful collaboration among the team relies heavily on three key factors:

1. Feedback

2. Communication

3. Motivation

参考To Support Agile Transformation

Page 112: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

112Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

プロセス・イノベーションでソフトウェア産業の活性化を

相互理解優れた部分の採り入れコラボレーション

(プロセス・インプルーブメント)

プロセス・イノベーションProcess Innovation

Cross Culture

異文化

ウォーターフォール型開発 アジャイル型開発

MPUF Seminar (2013-08-05)

SEMAT

Page 113: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

113Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

異文化の協働によるプロセス・イノベーション

プロセス・イノベーション

パフォーマンス

アクティビティ

ウォーターフォール アジャイル

プロセス改善 プロセス改善

ウォーターフォールとアジャイルとの協働により,プロセス・イノベーションを!

MPUF Seminar (2013-08-05)

Page 114: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

114Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

プロセス・イノベーションに向けて

イノベーションは,複数の文化が交わるところに生まれる.それぞれの文化において強固な基盤が必要であり,各文化のフロンティアにおけるコミュニケーションと協働によりイノベーションがもたらされる.

<参考(意訳)>Innovate America: (通称“Palmisano Report”)チャレンジとチェンジの世界における繁栄-全米イノベー ションイニシアチブ報告書http://homepage1.nifty.com/bicycletour/sci-rep.priv.InnovateAmerica.htm

イ ノベーションの意味は,仕組みや社会制度の革新も含まれる.

全く新しい技術や考え方を取り入れて新たな価値を生み出し,

社会的に大きな変化を起こすことである.

(1911年,経済学者・シュンペーター)

MPUF Seminar (2013-08-05)

Page 115: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

115Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

エピローグ:アジャイル開発の今後

MPUF Seminar (2013-08-05)

Page 116: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

116Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発の今後(私見)

アジャイル開発は,

環境変化への対応という点で,

もともとスピード感が求められていた

Web(BtoC)サービス系を中心に普及してきた.

環境の変化が激しさを増す中で,今後は,

基幹系(BtoB等)の一部(小規模システム等)にも,

他の手法と併せて適用が進んでいく.

ただし,成功しその効果を十分高めるためには,

さまざまな工夫と試行錯誤が必要である.

これは,経営層と技術者層の両者に対して言え,

まず,考え方の変革が求められる.

「アーキテクチャ」の検討も重要ALMツールの活用も必要か?

MPUF Seminar (2013-08-05)

Page 117: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

117Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement CenterMPUF Seminar (2013-08-05)

ユーザ系企業

技術者

ベンダ系企業

ビジネスのアジリティ

内製

Pj期間雇用 Pj期間雇用

技術派遣

新しい契約形態

人材育成自己啓発

適用領域の拡大

アジャイル開発

アジャイル開発の効率化

アジャイル開発向けシステム/ソフトウェア

アーキテクチャ

適用対象の選別・分離

研究開発

産学連携

ツール活用*,プロセス融合

IT依存度の拡大

環境変化の激化

雇用の流動性

米国では高い

ビジネス・イノベーション

* ツール例・トレーサビリティ・自動コード変換・テスト自動化・ALM(Application Lifecycle Management)

未配布

アジャイル開発関連項目の相関(作成中)

「プラクティス・リファレンスガイド」活用

組込み機器・システム

サーバ/クラウド連携

顧客フィードバック 適用

俊敏な開発

Page 118: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

118Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル開発に関するIPA/SECの取組み

MPUF Seminar (2013-08-05)

H21(2009)年度 H22(2010)年度 H23(2011)年度 H24(2012)年度

非ウォーターフォール型開発研究会

非ウォーターフォール型開発WG

非ウォーターフォール型開発WG

非ウォーターフォール型開発WG

非ウォーターフォール型開発に関する調査

実証/模擬実験(契約形態)

大規模開発普及要因

プラクティスリファレンスガイド

▲報告書

▲報告書

▲報告書

報告書(公開中)H21年度版 http://www.ipa.go.jp/sec/softwareengineering/reports/20100330a.html

H22年度版 http://www.ipa.go.jp/sec/softwareengineering/reports/20110407.html

H23年度版 http://www.ipa.go.jp/sec/softwareengineering/reports/20120326.html

(事例) http://www.ipa.go.jp/about/press/20120328.html

(普及要因) http://www.ipa.go.jp/sec/softwareengineering/reports/20120611.html

(プラクティス) http://www.ipa.go.jp/about/press/20130319.html

事例収集(1)

課題抽出

課題検討

検証・改善

事例収集(2)

提案

▲報告書

▲報告書

▲報告書

▲報告書

事例収集(3)

Page 119: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

119Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

ご清聴,ありがとうございました

MPUF Seminar (2013-08-05)

http://www.jitec.ipa.go.jp/ip/<PR>

Page 120: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

120Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

付録

MPUF Seminar (2013-08-05)

Page 121: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

121Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル型開発の特徴

アジャイル開発は、不確実なビジネス環境の中で変化するニーズへの迅速な対応を目的としたソフトウェア開発手法。

この目的を達成するために、アジャイル開発では、徐々に明確となる顧客ニーズや要件をシステムへ反映し、プロジェクトマネジメント・リスクの早期低減、顧客側と開発側のギャップを解消。

アジャイル開発は、•「顧客の参画の度合いが強い」•「動くソフトウェアを成長させながら作る」•「反復・漸進型である」•「人と人のコミュニケーション、コラボレーションを重視する」•「開発前の、要求の固定を前提としない」という特徴を持つ。

MPUF Seminar (2013-08-05)

Page 122: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

122Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

非ウォーターフォール型開発の例

非ウォーターフォール型開発とは、仕様を開発前に固定し、それを分析、設計、テスト等のフェイズを順次踏んでいくという1970年の Winston W. Royce の論文「Managing the Development of Large Software Systems」でのウォーターフォール型以外の開発モデルの総称である。非ウォーターフォール型開発の例として、以下のものが挙げられる:・プロトタイプ (Frederick P.Brooks, Jr.-1975年「人月の神話」)・スパイラル (Barry w. Boehm-1988 年

「A Spiral Model of Software Development and Enhancement」)・RAD (James Martin-1991年 「ラピッドアプリケーションデベロップメント」)・RUP (Philippe Kruchten-2000年「ラショナル統一プロセス入門」)・アジャイル

Evo (Tom Gilb-1976年「Software Metrics」)Scrum (Ken Schwaber-1993年「アジャイルソフトウェア開発スクラム」)DSDM (1995年「DSDM ver1」)XP (Kent Beck-1996年「XPエクストリーム・プログラミング入門 」)FDD-Feature-Driven Development

(Peter Coad-1997年「Javaエンタープライズ・コンポーネント」)

Lean Software Development(Mary Poppendieck, Tom Poppendieck-2002年「リーンソフトウェア開発」)

Crystal Clear (Alistair Cockburn-2004年「アジャイルソフトウェア開発」)EssUp-Essential UP

(Ivar H.Jacobson-2005年「Rational Software Development Conference」)

Kanban (David Anderson-2010年「Kanban」)

参考

MPUF Seminar (2013-08-05)

Page 123: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

123Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル宣言における4つの価値

アジャイル宣言(Agile Manifesto)アジャイルな開発手法の提唱者17名が集まり,2001年に発表.http://agilemanifesto.org/iso/ja/manifesto.html

私たちは,ソフトウェア開発の実践を手助けする活動を通じて,よりよい開発方法を見つけだそうとしている.

この活動を通して,私たちは以下のことを重視する:

①プロセスやツールよりも,個人と対話を

②包括的なドキュメントよりも,動くソフトウェアを

③契約交渉よりも,顧客との協調を

④計画に従うことよりも,変化への対応を

すなわち,①~④の各文の前者(「よりも」の前の言葉)に価値があることを認めながらも,私たちは後者(「よりも」の後の言葉)の事柄により価値をおく.

参考

MPUF Seminar (2013-08-05)

Page 124: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

124Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル宣言の背後にある12の原則私たちは以下の原則に従う。

①顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供する。

②要求の変更はたとえ開発の後期であっても歓迎する。

変化を味方につけることによって、顧客の競争力を引き上げる。

③動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースする。

④ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働く。

⑤意欲に満ちた人々を集めてプロジェクトを構成する。

環境と支援を与え仕事が無事終わるまで彼らを信頼する。

⑥情報を伝える最も効率的で効果的な方法は、フェイス・トゥ・フェイスで話をすることである。

⑦動くソフトウェアこそが進捗の最も重要な尺度である。

⑧アジャイル・プロセスは持続可能な開発を促進する。

一定のペースを継続的に維持できるようにしなければならない。

⑨技術的卓越性と優れた設計に対する不断の注意が機敏さを高める。

⑩シンプルさ(ムダなく作れる量を最大限にすること)が本質である。

⑪最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出される。

⑫チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分たちのやり方を最適に調整する。

参考

MPUF Seminar (2013-08-05)

Page 125: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

125Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement CenterMPUF Seminar (2013-08-05)

http://itpro.nikkeibp.co.jp/article/COLUMN/20130523/479105/

参考SEMAT

SEMAT Japan Chapter ( http://www.semat.jp/ )

出典:既存のソフト工学とアジャイルを融合 新知識体系目指す「SEMAT」が国内で始動(Itpro 2013/06/04)

既存のソフトウエア工学とアジャイル開発のような最近の手法を融合させ、現場で使える新たな知識体系を作る。こうした目的で活動する国際組織「SEMAT」が2013年4月末、日本支部を立ち上げた。SEMATの考え方の普及・啓蒙を進めるほか、日本ならではのソフト開発の工夫・ノウハウなどをSEMATに提案していく。

Page 126: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

126Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

顧客・経営層が開発上で考慮すべき点

顧客・経営層は、アジャイル開発の採用を決断した時点で、顧客がチームの一員として参画し、タイムリーな意思決定を行ったり、品質や進捗状況の把握等に関し、主体的に開発に関わらざるを得ないということに十分な理解と覚悟を持つ。

「最初に全ての要件を決めないでもよく、途中で適宜明確にしていけばよい」という安易な心構えで開始すると、途中で破たんすることが多い。

アジャイル開発の特徴に応じた「見える化」項目を用いて開発プロジェクトとの円滑なコミュニケーションを図り、アジャイル開発採用の本来の目的が損なわれないように努める。

ユーザ/ベンダ間の信頼感の醸成が、円滑に進めるために重要。

MPUF Seminar (2013-08-05)

Page 127: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

127Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル型開発手法の導入拡大の障壁 (海外)

52%

41%

35%33%

31%

26%

22%

14% 13%

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

組織文化の

変化能力

変化への

一般的な抵抗

アジャイル

経験者不足

マネジメントの

支援

プロジェクトの

複雑さ・

規模

顧客の協力

規模拡大への

対応の自信

移行までに

許される時間

予算の制約

(VersionOne社 アジャイル開発の現状調査第7回2013より)

参考

55%

26%

14%

WFフレームワークへ

のアジャイルの整合

特になし

1.組織文化の変化能力2.変化への一般的な抵抗3.WFフレームワークへのアジャイルの整合

今回調査で新規追加→

Page 128: Enhancement Cente r Information-technology …Enhancement Cente r アジャイル開発の現状と 「プラクティス・リファレンスガイド」 ~アジャイル開発を適に導入するために

128Copyright © 2013 IPA, All Rights Reserved Software Reliability Enhancement Center

アジャイル型開発プロジェクトの失敗理由 (海外)

18%

12%11%

9%

6% 6% 6%

4%

0%

5%

10%

15%

20%

企業哲学又は

文化との相性

手法への不慣れ

分からない

従来型開発採用

への外部圧力

チーム内での

反発

文化的な移行の

欠如

マネジメントの

支援の欠如

不十分な

トレーニング

(VersionOne社 アジャイル開発の現状調査第7回2013より)

参考

11%

8%

6%

3%

失敗なし

その他

導入直後のた

め(初心者)

組織管理・コミュニ

ケーション上の問題

「失敗なし」が最多1.企業哲学・文化との相性2.従来型開発採用への外部圧力3.組織管理・コミュニケーション上の問題

「理由が分からない」(前回調査まで上位)はなくなり,今回調査で新規追加→