This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ソフトウェア工学の新たな挑戦
つながる時代,爆発するソフトウェアが求めるソフトウェア工学の挑戦2012年8月27日
1All Rights Reserved, Copyright Mikio Aoyama, 2012
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 20121
Technology Tends and Drivers and a Vision of the Future of e-BusinessStuart Feldman, Director IBM Institute of Advanced Commerce,EDOC 2000基調講演(2000年9月25日, 幕張)
「すべての鍵はインテグレーションとインフラストラクチャが握る」Lou Gerstner, IBM CEO(当時), e-business Conference Expo., 2000年12月 Webサービス
参考文献: W. Emmerich, M. Aoyama, and J. Sventek, The Impact of Research on Middleware Technology,ACM Trans. on Software Eng. and Method.,
Vol. 17, No. 4, Article 19, Aug. 2008, 48pages.
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 20128
Webのつながりがもたらした変革Webのもたらすシステム変革: すべてがサービスになる
Webのつながりがもたらした変革Webのもたらすシステム変革: すべてがサービスになる
サービスコンピューティング
サービスによるシステムの構成
サービス: 機能を標準インタフェースを介して遠隔提供
サービスコンピューティングを基盤とする情報システム
動的ソフトウェアアーキテクチャ: 実行時に発見,構成/再構成可能
開発と利用/運用の融合: 必要に応じて構成,使いながら変更
非集中で開いた(境界のない)グローバスシステム
サービスコンピューティング
サービスによるシステムの構成
サービス: 機能を標準インタフェースを介して遠隔提供
サービスコンピューティングを基盤とする情報システム
動的ソフトウェアアーキテクチャ: 実行時に発見,構成/再構成可能
開発と利用/運用の融合: 必要に応じて構成,使いながら変更
非集中で開いた(境界のない)グローバスシステム
サービスコンピューティング基盤=Web
サービスプロバイダ
物品検索サービス
Bカード決済サービスAカード決済
サービス
物品購入物品検索価格交渉代金決済
価格交渉(オークション)サービス
物品購入サービスブローカ
メッセージ(SOAP/REST)
サービスコンシューマ
サービスコンシューマ
変化する現代社会とのアーキテクチャ適合性
ソフトウェア工学の新たな挑戦
つながる時代,爆発するソフトウェアが求めるソフトウェア工学の挑戦2012年8月27日
5All Rights Reserved, Copyright Mikio Aoyama, 2012
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 20129
単一コードベース: ソースは一つ(Salesforce.com, Google Gmail)メタデータによるカスタマイズ
セキュリティ
PssS: SaaSプラットフォーム(例: SalesforceのForce.com)
テナント: A社 テナント: B社
ユーザA1ユーザA2
ユーザB1ユーザB2
ユーザB3新たなトランザクション処理モデル
非ACIDトランザクションモデル(BASE: Basically Available, Soft state, Eventually consistent)
ソフトウェア工学の新たな挑戦
つながる時代,爆発するソフトウェアが求めるソフトウェア工学の挑戦2012年8月27日
7All Rights Reserved, Copyright Mikio Aoyama, 2012
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201213
クラウドのソフトウェア開発へのインパクトクラウドがもたらすアーキテクチャ進化
クラウドのソフトウェア開発へのインパクトクラウドがもたらすアーキテクチャ進化
アーキテクチャ進化アーキテクチャ進化
分散アーキテクチャ(分散処理, 集中制御)
非集中アーキテクチャ(分散処理, 分散制御)
構造的データ(RDB)
半構造的,非構造的
データ(ファイル)
クライアント/サーバ(状態を持つ)
・アーキテクチャ: MVC ・UI: Web/GUI
・ACIDトランザクション, ・SQL DB
クラウドコンピューティング・アーキテクチャ: 分散データフロー
メタデータ駆動・UI: Web,
・非ACID/長寿命トランザクション・NoSQL DB
SOA, ROA(状態を持たない)
・アーキテクチャ: パブリッシュ/サブスクライブ
・UI: Web・ACIDトランザクション,
・SQL DB
アーキテクチャギャップ
アーキテクチャギャップ
動的リンク
動的発見
動的負荷
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201214
クラウドのソフトウェア開発へのインパクトソフトウェア工学への挑戦: for the Cloud (, by the Cloud)
クラウドのソフトウェア開発へのインパクトソフトウェア工学への挑戦: for the Cloud (, by the Cloud)
クラウド化: 既存システムのクラウドへの移行
クラウド統合: 既存システムとクラウド/サービスの統合
クラウド開発:クラウド上のソフトウェア/サービス開発と統合
クラウド化: 既存システムのクラウドへの移行
クラウド統合: 既存システムとクラウド/サービスの統合
クラウド開発:クラウド上のソフトウェア/サービス開発と統合
クラウド( )クラウド化(サービス化)
クラウド(サービス)の統合&提供
クラウド化: 既存システムのクラウド移行クラウドに適した部分の特定と期待効果
クラウド化(サービス化)技術
クラウド(サービス)統合統合ユースケースクラウド統合技術
クラウドサービス提供QoS/SLA, セキュリティ
サービス提供技術(マルチテナント, メタデータ)
既存システム(オンプレミス)
クラウド(サービス)開発技術新しい情報処理モデル
(トランザクション処理,etc)
ソフトウェア工学の新たな挑戦
つながる時代,爆発するソフトウェアが求めるソフトウェア工学の挑戦2012年8月27日
8All Rights Reserved, Copyright Mikio Aoyama, 2012
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201215
私の「大規模アジャイル開発」開発期間を半減せよ
私の「大規模アジャイル開発」開発期間を半減せよ
「開発期間を半減せよ!」(“85年)製品競争力を確保するトップの決定
サイクルタイムの短縮従来の開発/リリースサイクル: 1年
本開発プロジェクトのサイクル: 開発サイクル: 6か月
リリースサイクル: 3か月
アジャイルプロセスの開発と適用大規模: 500名以上,1MLOC以上
トヨタ生産方式に独自の工夫
名称: 1990年頃の「アジャイル生産」(Agile Manufacturing)から
「開発期間を半減せよ!」(“85年)製品競争力を確保するトップの決定
サイクルタイムの短縮従来の開発/リリースサイクル: 1年
本開発プロジェクトのサイクル: 開発サイクル: 6か月
リリースサイクル: 3か月
アジャイルプロセスの開発と適用大規模: 500名以上,1MLOC以上
トヨタ生産方式に独自の工夫
名称: 1990年頃の「アジャイル生産」(Agile Manufacturing)から
参考文献:M. Aoyama, Concurrent-Development Process Model, IEEE Software, Vol. 10, No. 4, Jul. 1993, pp. 46-55.青山 幹雄,ソフトウェアプロセス・リエンジニアリング, 情報処理, Vol. 36, No. 5, May 1995, pp. 442-447.M. Aoyama:Agile Software Process and Its Experience, Proc. 20th ICSE, Apr. 1998, pp. 3-12.
従来の開発/リリースサイクル
3か月リリースサイクル
1年リリースサイクル
The name "agile software process", first originated in Japan [Aoyama 1998].R. Miller, The Dynamics of Agile Software Processes, http://bdn.borland.com/ article/0,1410,29726,00.html
大規模社会基盤システム
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201216
私の「大規模アジャイル開発」1985の改革: モジュラー,リーン,時間ベースの開発プロセス
私の「大規模アジャイル開発」1985の改革: モジュラー,リーン,時間ベースの開発プロセス
Web
年 代 1970 年代 1980 年代 1990 年代 2K 年代
プロ
セス
モデル
プロ
セス
形式化
と改善
製造業
ウォターフォールプロセス(’70)
プロトタイピング
スパイラルインクリメンタルデリバリ(’75)
多様化と形式化プロセスモデルの黎明 標準化と改善
RAD
プロセスプログラミング(‘87)
CMM(’87)PSP
コンカレントエンジニアリング
トヨタ生産方式
IPD(統合製品開発)
ベストプラクティス
分散開発コンカレント
オープンソース
軽量プロセス
(XP/アジャイル/
リーン)
CMMI
インクリメンタル&イテラティブ
アジャイル生産(‘92)
リーン生産(‘90)
メインフレーム PC
ソフトウェア工学の新たな挑戦
つながる時代,爆発するソフトウェアが求めるソフトウェア工学の挑戦2012年8月27日
9All Rights Reserved, Copyright Mikio Aoyama, 2012
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201217
私の「大規模アジャイル開発」タイムボックスの原理
私の「大規模アジャイル開発」タイムボックスの原理
開発の特性とプロセスの構造的特性との適合が必要
インクリメンタル, 時間ベースの優位性
時間ベース: 開発完了時期の制御性の高さ⇒プロセス能力の高さ
開発の特性とプロセスの構造的特性との適合が必要
インクリメンタル, 時間ベースの優位性
時間ベース: 開発完了時期の制御性の高さ⇒プロセス能力の高さ
リスク低減アプローチ:時間ベースインクリメンタルプロセス
開発期間短縮
プロセス
開発期間短縮アプローチ:規模ベース
インクリメンタルプロセス ウォータフォール
予定日に完了する確率分布
完了予定日
参考文献: S. McConnell, Rapid Development, Microsoft Press, 1996 [日立インフォメーションアカデミー(訳), ラピッドデベロップメント, アスキー出版局, 1998]
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201218
私の「大規模アジャイル開発」タイムベースインクリメンタル開発
私の「大規模アジャイル開発」タイムベースインクリメンタル開発
時間ベースのインクリメンタル開発+分散並行開発時間ベースのインクリメンタル開発+分散並行開発
タイムボックス
N+1版
タイムボックスタイムボックス
時間
分析-設計-単体試験 結合-システム試験
分析-設計-単体試験 結合-システム試験
機能インクリメンタル
N版
機能 i
機能 p 機能 x
大 阪
名古屋
東 京
リリース N
機能 j
機能 q 機能 y
名古屋
大阪
札幌
リリースN+1
統合
統合
結テ結ム合試/試シ
ス
結テ結ム合試/試シ
ス
ソフトウェア工学の新たな挑戦
つながる時代,爆発するソフトウェアが求めるソフトウェア工学の挑戦2012年8月27日
10All Rights Reserved, Copyright Mikio Aoyama, 2012
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201219
12All Rights Reserved, Copyright Mikio Aoyama, 2012
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201223
リーン/アジャイル開発, DevOps
アジャイルを越えて: クラウド上の新開発形態ソフトウェア工学への挑戦: 新しい開発モデルの出現
アジャイルを越えて: クラウド上の新開発形態ソフトウェア工学への挑戦: 新しい開発モデルの出現
クラウド上で技術が融合
リーン/アジャイル開発
継続的デリバリ(CD: Continuous Delivery)[Humble ‘11]DevOps(Development and Operation)[2009~]
開発者,品質保証者(Dev) と運用者(Ops)との協調
ALM(Application Lifecycle Management): 統合開発支援
ソフトウェアサービスの開発形態の変革と迅速な価値提供[Brown ‘12]
クラウド上で技術が融合
リーン/アジャイル開発
継続的デリバリ(CD: Continuous Delivery)[Humble ‘11]DevOps(Development and Operation)[2009~]
開発者,品質保証者(Dev) と運用者(Ops)との協調
ALM(Application Lifecycle Management): 統合開発支援
ソフトウェアサービスの開発形態の変革と迅速な価値提供[Brown ‘12]
参考文献: J. Humble and D. Farley, Continuous Delivery, Addison-Wesley, 2011.M. Loukides, What is DevOps?, O’Reilly Media, 2012.A. W. Brown, Enterprise Software Delivery: Bringing Agility and Efficiency to
the Global Software Supply Chain, Addison-Wesley, 2012.
開発 QA 配置 利用
クラウド(連続的プラットフォーム)+ALM
CD CD CD
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201224 「航空とIT技術」より
OSLC(Open Services for Lifecycle Collaboration)ALMを推進するコミュニティ(IBMなど)
PROMIS: OSLCのコアを利用
参考文献: C. Schwaber, The Changing Face Of Application Life-Cycle Management, Forrester, Aug. 2006,http://www.serena.com/docs/repository/alm/changing-face-applic.pdf.M. Hüttermann, Agile ALM, Manning, 2012.
OSLCコミュニティPROMIS
OSLCコア
Web標準: RDF, REST
品質管理
要求管理
変更管理
OSLCコア
Web標準: RDF, REST
パートナー
参照
プロジェクト
管理
提供
国内(ユーザ,ベンダ) プ
ロジェクト
管理
提供(公開)
標準化: OASIS, W3C開発環境: Eclipse Lyo
ソフトウェア工学の新たな挑戦
つながる時代,爆発するソフトウェアが求めるソフトウェア工学の挑戦2012年8月27日
17All Rights Reserved, Copyright Mikio Aoyama, 2012
All Rights Reserved, Copyright Mikio Aoyama, 2012All Rights Reserved, Copyright Mikio Aoyama, 201233