クラウド時代の新しいソフトウェア開発の潮流

第10回 itSMFJapan EXPO
クラウド時代の新しいソフトウェア開発の潮流
~Agile手法を取り巻く米国の最新事例の紹介と日本のITベンダへの提言~
2013年11月28日
ソフトウエアエンジニアリング部会 クラウド技術調査WG
テーマ1 主査 出本 浩 (NTTデータ)
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
自己紹介
プロフィール
 株式会社NTTデータ 技術開発本部 ALMソリューションセンタ 課長 出本 浩
 1989年4月 株式会社NTTデータ入社。研究開発、プロジェクトマネジメント、商品営
業に従事。
 2004年7月 電子契約、電子文書保管等のASPサービスの立上げ、運営に従事。
 2012年4月 NTTデータG会社向けの開発試験クラウドのリーダを担当。
◎平成24年度技術委員会・ソフトウエアエンジニアリング部会・クラウド技術調査WG
にて、テーマ1(クラウドを活用した開発プロセスの調査)の主査を担当。
JISA ソフトウエアエンジニアリング部会・クラウド技術調査
WG
 平成24年11月21日、クラウド関連技術を調査するWGが発足。12名。
 座長 富士通エフ・アイ・ピー株式会社吉成安宏
 今年度のテーマは2つ。
1.「クラウドを活用した開発プロセスの調査」
2.「クラウドインテグレーションにおけるSLAの検討」
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
2
本日の内容
0.企業を取り巻く事業環境とITへの期待
1.ITのアジリティを高める技術・手法
2.米国スタートアップ企業の事例
3.米国成功事例からみるITベンダへの提言
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
3
はじめに
- 企業を取り巻く事業環境とITへの期待
 消費者ニーズの多様化や複雑化により、ビジネス環境の不確実性が高まっている。
 最小のコストと短いサイクルで仮説の構築と検証を繰り返しながら、市場やユーザニー
ズを探り当てようとする 「リーン・スタートアップ」というマネジメント手法が有効。
 リーン・スタートアップを実現するため、ITにアジリティが求められている。
市場の状況
 ニーズの多様化
 ビジネスサイクルの短縮化
市場
市場
事業環境
事業環境
 ビジネスにおける迅速性、柔軟性
(→ 「リーン・スタートアップ」)
IT環境
IT環境
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
 ビジネスの実現手段としてのアジリティ
4
リーン・スタートアップとは
リーン・スタートアップとは「ムダのない効率的 (リーン)」な起業の方法論。
構築-計測-学習(Build-Measure-Learn) の繰り返しによって、市場やユーザーのニー
ズを探り当てていく。
実用最小限の製品
(MVP: Minimum Viable Product)
アイデア
学ぶ
構築する
データ
製品
実現手段の例
アジャイル開発
継続的インテグレーション
継続的デリバリー
DevOps
クラウド・コンピューティング
リファクタリング
計測する
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
5
ITのアジリティを高める技術・手法
アジャイル開発
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
6
アジャイル開発 - 概要
顧客の要求案件や経営環境の変化に対し、俊敏かつ柔軟に対応することに主眼を置く
開発手法。 スプリントと呼ぶ単位による継続反復的な開発により、変化に迅速に適応し
ていく。
ウォーターフォール
開発
 ユーザがシステムの動作を確認できるようになるまでに時間がかかる。
 要求変更に柔軟に対応できない。
アジャイル開発
 正しく動作するシステムを早期にユーザが確認できる。
 要求変更に対して柔軟な対応が可能。
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
7
アジャイルソフトウェア開発宣言
-より良いソフトウェア開発方法として重視すべき4つの価値
より良いソフトウェア開発方法として重視すべき価値
1.プロセスやツールよりも個人と対話を重視する。
Individuals and interactions over processes and tools
2.包括的な文書よりも動くソフトウェアを重視する。
Working software over comprehensive documentation
3.契約交渉よりも顧客との協調を重視する。
Customer collaboration over contract negotiation
4.計画に従うことよりも変化への対応を重視する。
Responding to change over following a plan
出典:「アジャイルソフトウェア開発宣言」
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
http://www.agilemanifesto.org/
8
アジャイル開発 - 取組状況
欧米企業におけるアジャイル開発の実施有無
実施していない
16%
(アジャイル開発を実施している企業のうち)
アジャイル開発を実践している期間
1年未満 12%
5年以上 14%
実施している 84%
1-2年 38%
2-5年 36%
VersionOne, “7th Annual State of Agile Development Survey, “ March 2013, をもとに作成
http://www.versionone.com/pdf/7th-Annual-State-of-Agile-Development-Survey.pdf
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
9
クラウド
 世界のアプリケーション開発ソフトウェア市場規模90億ドル規模の
市場の大部分がクラウドベースになると予測される。
 ソフトウェアのデリバリモデルや新たな開発手法、モバイルアプリケーション開
発、オープンソースソフトウェアの発展を背景に、世界のアプリケーション開発
ソフトウェア市場規模は2012年に90億ドルに達する(2011年比1.8%増)。
 コストだけでなく、ビジネスの俊敏性(agility)や柔軟性、新たなアプリケーショ
ンを市場に投入するまでの速さを考慮して何らかのクラウドコンピューティング
技術を導入する組織の割合は、2015年までに大手企業や政府機関の90%
に上る。
International Business Times, “Worldwide Application Development Software Market To Exceed $9
Billion In 2012: Gartner”, August 2012,
http://www.ibtimes.com/worldwide-application-development-software-market-exceed-9billion-2012-gartner-752680
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
11
クラウド - 主要クラウドサービス
欧米のクラウドデベロッパが最も利用する主要クラウドサービス
71%
Amazon EC2
Azure
Google
Force.com
Amazon services
Rackspace Cloud
CloudBees
Heroku
OutSystems
SaaS customization
DotCloud
Engine Yard
Morphalabs
25%
23%
23%
20%
20%
6%
6%
5%
4%
4%
3%
3%
0%
20%
40%
60%
80%
Forrester Research
http://www.slideshare.net/johnrrymer/summary-of-forrester-q3-2012-global-cloud-developer-survey
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
13
その他、アジリティを高める技術
 継続的インテグレーション
開発・試験手法
 継続的デリバリー
 テスト駆動開発
バージョン管理・
バイナリ管理
インフラの
自動構成管理
(CI:Continuous Integration)
(CD:Continuous Delivery)
(TDD:Test-Driven Development)
 分散バージョン管理 (Gitなど)
 バイナリ管理
 インフラのコード化
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
( Infrastructure as Code)
14
DevOps
 DevOps とは、開発者(Dev:Development)と運用者(Ops:Operations)
を連携させ、ビジネスのニーズにスムースに対応するための手法または考え方。
 アジャイル開発などの開発技術や、インフラの自動管理などの運用技術に加え、
クラウド・コンピューティングによって物理的な制約から解放されるなどの理由に
より、ほぼシームレスにソフトウェアのアップデートを行うことが可能になった。
Wikipedia: DevOps ( http://en.wikipedia.org/wiki/DevOps )
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
15
ITのアジリティを高める技術・手法における概念の整理
 アジャイルの原則はまさにリーン・スタートアップそのもの
 DevOpsや継続的デリバリー等もアジャイルを実現する手法であり考え方
 クラウド・コンピューティングはアジャイルを実現するための環境として寄与する
ビジネスにおけるリーン・スタートアップ
アジリティ
アジャイル開発
DevOps
CI・CD
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
物理的制約
からの解放
クラウド・
コンピューティング
自動化
自動化
ツール等
ツール等
16
米国スタートアップ企業の事例
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
17
事例:Etsy – eコマースサイトの開発・運営
 会社概要
 アジャイル採用の背景
創業
2005年
急成長に機能の実装プロセスが追いつかない!
本拠地
ニューヨーク州ニューヨーク
 開発されたコードによる実装フェーズでの障害
収益
推定1,170万ドル(2012年)
 コードの実装とメンテナンスのためのウェブサイ
の長時間停止
従業員数 400名以上(2012年)
 新機能のコードを開発する開発者と安定稼働を
重視する運用者の対立関係
2009年にITインフラ
の刷新を決定
↓
新システムの移行に
アジャイル開発を適用
www.etsy.com トップページ
・ユーザ登録者数2,200万人、
・販売商品数は約1,800万点 (2013年3月)
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
年間商品売上高の推移
18
事例:Etsy - アジャイル開発の導入効果・成功要因
 導入効果
 サイトパフォーマンスへの影響を最小
限に抑え、新機能の実装およびITイ
ンフラの大規模刷新に成功
 「継続的な実装(Contineous
Experimentation)」手法の採用によ
り、ユーザ需要の高い新機能を導入
する事に成功
 成功要因
 IT開発者とIT運用者間のコミュニケーションおよ
び協力を促す有効な「DevOps」文化を構築
 IT開発者は「Deploynator」と呼ばれるツールで
自主的に自動デプロイ
 IT運用者が質の高いコードを開発できるよう
「支援」(パフォーマンス測定ツール開発等)
開発者
(Dev)
 信用(Trust)
運用者
(Ops)
 透明性(Transparency)
 コミュニケーション(Communication)
 協調(Coordination)
 課題(アジャイル開発の限界)
 クレジットカード決済システムにアジャイル及びDevOps体制に反映できなかった。
 クレジットカード業界のセキュリティ対策基準(PCI DSS)に準拠する必要があり、実装
(デプロイ)はIT運用者が担う必要があった。
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
19
米国成功事例からみるITベンダへの提言
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
20
米国スタートアップ企業事例による示唆 (1)
 予測の難しい市場やユーザニーズを探り当てていく「リーン・スタートアッ
プ」手法であり、ITのアジリティが必要とされていた
eコマースサイト
 ユーザ(個人)のニーズが多様であり
把握が難しい
Zynga
ゲーム開発
 ニーズに対応するための仮説検証と
改善が重要
Huddle
法人向けコラボレーショ
ンサービス(SaaS)
 複数の法人ユーザから質の高い継続
的な改善が求められる
Etsy
ITのアジリティは、不確実性の高い市場やニーズを相手に
ビジネスする企業にとっての武器になり得る。
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
21
米国スタートアップ企業事例による示唆 (2)
 ITのアジリティによって実現された各社の仮説・検証手法
Etsy
「継続的な実験(Continuous Experimentation)」
Zynga
「ゲットー・テスティング(Ghetto Testing)」
Huddle
「販売指向型開発(Sales-Driven Development)プロセス」
アジャイル開発手法やクラウド・コンピューティングの活用により、
ビジネスにおける不確実性を低減させることが可能。
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
22
アジャイル開発手法に取り組む際の留意点 (1)
 アジャイル開発手法には適した領域がある。領域に応じて適した手法を選択すべき。
手法
ウォーターフォール開発
アジャイル開発
適用領域
設計時点で仕様が明確、リリース
後の機能更新が少ないシステムま
たはサービス
市場やニーズ等の不確実性の高
いビジネス環境におけるシステムま
たはサービス
「Etsy」
アジャイル、DevOpsの導入でeコマースサイトは成功したが、クレジットカード決済システムは
PCI DSS準拠のため、運用者の了承と実装という制約があり断念。
「Huddle」
小規模かつ徐々に機能変更を行う必要のあるシステム開発プロジェクトにのみ
アジャイル開発を採用し、大規模なシステムについては、設計時点で仕様および
要求事項を明確に規定することが重要であるとして、アジャイル開発を採用せず。
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
23
アジャイル開発手法に取り組む際の留意点 (2)
 手法だけを真似してもうまくいかない。「組織・文化の転換」が重要。
1.組織レベルでのアジャイルへの理解と支援
2.アジャイルな「思想」の正しい理解
3.各ステイクホルダ間の円滑なコミュニケーションの促進
4.「単一工」型から「多能工」型人材の育成
「Landmark」
ビジネスの危機感を感じた組織幹部の強い支持。
インセンティブプログラムを改定
(デモ版ソフトウエアの推奨×→高品質ソフトウエア開発者への報酬○)
「Etsy」
Dev+Ops体制の構築と強力な推進
「Zynga」
ゲームデザイナーがソフトウエア開発者と共同で仕様を策定
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
24
アジャイル開発手法に取り組む際の留意点 (3)
 組織レベルでのアジャイル開発手法への理解と支援は経営幹部の覚悟が必要
マネジメントに求められる3つの覚悟
1.失敗を成功の学びとする覚悟
2.完全性へのこだわりを捨てる覚悟
3.現場に自律と意思決定を委ねる覚悟
「Etsy」
「Zynga」
「Huddle」
「Landmark」 いずれも3つの覚悟が出来ている・・・のだと思います
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.
25
Copyright © 2011 NTT DATA Corporation
Copyright © 2013 NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, Inc.