SlideShare a Scribd company logo
1 of 24
Download to read offline
ソフトウェアプロダクトライン
エンジニアリングを
プロセステーラリングに応用する
日本科学技術連盟
第25回ソフトウェア品質シンポジウム
September 14, 2006
林 好一
yosikazu@sra.co.jp
SRA 先端技術研究所
すじはこび

        ソフトウェアプロセスのテーラリング、普通は
        どうやっているか
        そのやり方、ソフトウェアプロダクトラインエン
        ジニアリングに似てはいないか
        ソフトウェアプロダクトラインエンジニアリング
        ではこうやって最終製品を得る
        実は同じやり方で、プロセスも得られる
        例えば、こんな風に…
        あとは、関連研究と参照資料のご紹介

September 14, 2006   SRA Key Technology Laboratory, Inc.   2
ソフトウェアプロセスをテーラリングする
    際の典型的なシナリオ
        ソフトウェアプロジェクトの立ち上げが決まる
        そのプロジェクトの特質を分析する
        その特質に対応させて、標準プロセスの構
        成要素を選択・調整し、または新たに作り、
        統合する
        統合したプロセスを検証し妥当性を確認する

        同じようなやり方がソフトウェアプロダクトライ
        ンエンジニアリング (SPLE) で取られている

September 14, 2006   SRA Key Technology Laboratory, Inc.   3
ソフトウェア製品派生 - SPLE のやり方


        ソフトウェア製品計画が提示される
        その製品の要求を分析する
        その要求に対応させて、SPLコア資産の要素
        を選択・調整し、または新たに作り、統合する
        統合した製品を検証し妥当性を確認する

    似ていませんか?



September 14, 2006   SRA Key Technology Laboratory, Inc.   4
ソフトウェアプロダクトラインとは?

        ビジネス目標に則り、類似のソフトウェア製品群を効
        率的に開発するためのパラダイム
            計画的、体系的な、つまり最大限の再利用に基づく
            高品質、低コスト、そして速さに寄与
        米ソフトウェア・エンジニアリング研究所 (SEI) による
        と…
            ソフトウェア・プロダクト・ラインとは、共通で管理されたフィーチャ
            の集合を共有するソフトウェア集約的なシステムの集合であり、そ
            れらのシステムは特定の市場セグメントまたはミッションの具体的
            なニーズを満足し、規定された方法で共通コア資産の集合から開
            発される [Clem01]
            簡単に言えば、フィーチャを共有するソフトウェア(集約的)システ
            ム群



September 14, 2006   SRA Key Technology Laboratory, Inc.   5
フィーチャ – プロダクトラインを捉える単位

        要求に対する一つの視点を与える
          「フィーチャとは、あるアプリケーション領域の、ユーザまた
          は開発者に可視な特徴の『抽象概念』である」 [Kang90]
        共通フィーチャ
            対応するコードが全ての製品に含まれる
        選択肢フィーチャ
            一つのフィーチャに複数の変異体がある場合にはそれぞれ異な
            るコードに対応する
        オプションフィーチャ
            一部の最終成果物にしか含まれないフィーチャもある
        これらを用いて製品のバリエーションを表現することができる




September 14, 2006   SRA Key Technology Laboratory, Inc.   6
ありうる複数の製品を表現

     フィーチャモデル例
                                                              オプション
                                                              フィーチャ




      共通フィーチャ




選択肢フィーチャ


 September 14, 2006   SRA Key Technology Laboratory, Inc.   [LeeJ04]より編集 7
最終製品の派生
                                as is                 個別開発
       ソフトウェア製品
                         調整
                                        調整



                                                調整
                       調整       as is




フィーチャ選択
                対応




                                              対応していない
         コア資産
         レポジトリ                                             対応していない




September 14, 2006   SRA Key Technology Laboratory, Inc.             8
では、ソフトウェアプロダクトライン
        をソフトウェアプロセスに応用する
        とどうなるのか?




September 14, 2006   SRA Key Technology Laboratory, Inc.   9
ソフトウェアプロセスライン

        SPLEの目的は、ビジネス目標に則った高生産性と
        高品質
        対象がソフトウェアプロセスであっても、コア資産に
        基づいて同様の効果を挙げることができる。何故な
        らソフトウェアプロセスもまたソフトウェアであるから
        [Oste87]
        ソフトウェアプロセスに応用したプロダクトラインを
        「ソフトウェアプロセスライン」と呼ぶ[Romb05 etc]




September 14, 2006   SRA Key Technology Laboratory, Inc.   10
ソフトウェアプロセスラインと
    ソフトウェアプロダクトラインの対照

                ソフトウェアプロダクトライン                    ソフトウェアプロセスライン
最終製品           ソフトウェア                          プロセス


フィーチャ          最終ソフトウェア製品が持つ                   個別ソフトウェアプロセスが持
               べき特徴                            つべき特徴

コア資産           プロダクトラインソフトウェア                  標準ソフトウェアプロセスアー
               アーキテクチャ、ソフトウェア                  キテクチャ、プロセスコンポー
               コンポーネント、他関連ド                    ネント、他関連ドキュメント
               キュメント


September 14, 2006      SRA Key Technology Laboratory, Inc.       11
ソフトウェアプロセスの
    フィーチャモデル例




September 14, 2006   SRA Key Technology Laboratory, Inc.   12
個別プロセスの派生
                                as is                 個別定義

                          調整
                                        調整



                                                調整
                                as is
                     調整




フィーチャ選択
                対応




         プロセス                                 対応していない

         コア資産
         レポジトリ                                             対応していない




September 14, 2006   SRA Key Technology Laboratory, Inc.             13
プロセスアーキテクチャ例
                              上位管理活動




                        プロジェクト管理活動




   エンジニアリング                              ソフトウェア            プロセス改善・
                     構成管理活動
      活動                                 品質保証活動             展開活動


September 14, 2006   SRA Key Technology Laboratory, Inc.             14
プロセスアーキテクチャ例
    (エンジニアリング コンポーネント)
                            プロジェクト
                             管理活動




         エンジニアリング活動


                          エンジニアリング                     供給者エンジニア
                           ライフサイクル                      リング活動




                 ウォーター
                                               反復型
                 フォール型



September 14, 2006       SRA Key Technology Laboratory, Inc.      15
プロセスアーキテクチャ例
    (プロジェクト管理 コンポーネント)
                 上位管理活動



        プロジェクト管理活動


             プロジェクト
              計画策定
                                                   リスク
                                                  監視・制御


            供給者プロジェ                プロジェクト                       プロジェクト完
             クト管理活動                 進捗管理                           了




          エンジニアリング                          ソフトウェア              プロセス改善・
                          構成管理活動
             活動                             品質保証活動                展開活動

September 14, 2006        SRA Key Technology Laboratory, Inc.             16
フィーチャモデル、アーキテクチャ、コン
        ポーネントからどうやって個別プロセス
        を得るのか?
        前掲のフィーチャモデルでフィーチャを
        以下のように選択した例を見てみる
            ライフサイクルスタイル = ウォーターフォール型
            外注 = なし
            再利用 = あり
                 COTS = あり



September 14, 2006      SRA Key Technology Laboratory, Inc.   17
フィーチャの固定 (1)
    →クラス特化による調整
                         プロジェクト                  ライフサイクルスタイル = ウォーターフォール型
                          管理活動




         エンジニアリング活動

                     ウォーターフォール型
                                                    供給者エンジニア
                      エンジニアリング
                                                     リング活動
                       ライフサイクル




       注: ライフサイクルスタイルの変異によって影響を受ける他のコンポーネントも調整する


September 14, 2006    SRA Key Technology Laboratory, Inc.                   18
フィーチャの固定 (2)
    →コンポーネント I/F 削除による調整
                 上位管理活動                              外注 = なし



        プロジェクト管理活動


             プロジェクト
              計画策定
                                                   リスク
                                                  監視・制御


                                   プロジェクト                       プロジェクト完
                                    進捗管理                           了




          エンジニアリング                          ソフトウェア              プロセス改善・
                          構成管理活動
             活動                             品質保証活動                展開活動

September 14, 2006        SRA Key Technology Laboratory, Inc.             19
フィーチャの固定 (2) 続き

                        プロジェクト                   外注 = なし
                         管理活動




         エンジニアリング活動

                     ウォーターフォール型
                      エンジニアリング
                       ライフサイクル




       注: 他のコンポーネントでも供給者の活動との I/F を削除する
September 14, 2006    SRA Key Technology Laboratory, Inc.   20
フィーチャの固定 (3)
     プロセス記述の追加・削除・変更による調整
ソフトウェア要求定義フェーズ                                   再利用 = あり
(1) エンジニアリング                                          COTS = あり
  …
  (b) ソフトウェア要求仕様の妥当性
    (b-1) 上位システムの要求仕様根拠を当作
     業で参照する。                             #COTS利用がない場合
    (b-2) 上位システムにおける当作業対象ソフ                   +利用条件の参照と確認
     トウェアの役割を把握する。                               +機能試験結果の確認
#再利用品目の有無による変異 始まり                               +C0 カバレージの達成
#再利用品目がある場合                                      +ソフトウェア耐性試験
 (b-6) 再利用品目が利用される場合には、                  #COTS利用の有無による変異 終わり
  以下を、当作業完了前に実施する。                          但し、利用する版の試験結果が参照できる
#COTS利用の有無による変異 始まり                           試験を省略してよい。
#COTS利用がある場合                                  試験でパスしてない試験ケースがあった場
    ・COTS に対して:                               合には、当該再利用品目管理者に試験環
     +機能試験                                    境情報と共に通達し、…
    ・当社内で開発されたものに対して:                    #再利用品目がない場合
     +機能試験結果の確認                            (b-6) 当プロジェクト以外で開発された成果
     +C0 カバレージの達成                             物の利用が決定されていないことを確認す
    ・いずれに対しても:                                る。
     +利用条件の参照と確認                         #再利用品目の有無による変異 終わり
     +ソフトウェア耐性試験                          …
 September 14, 2006   SRA Key Technology Laboratory, Inc.         21
むすび

        ソフトウェアプロセスもソフトウェアであるので、ソフトウェアプロダクトラ
        インエンジニアリング (SPLE) を適用することができる
        SPLE の適用によって、コア資産からソフトウェアプロセスを派生させ
        てコスト低減、納期短縮、品質向上 (QCD向上)を達成することができ
        る
        あらかじめ計画すること、しかも体系的に計画することによって QCD
        の利得(ROI)が予測可能になり、ビジネスの中に、ソフトウェアプロセ
        スの策定も位置づけることができる
        ただし、当発表では言及していない「ソフトウェアプロセスのコア資産」
        を別途準備することが必要である

        謝辞
            独立行政法人宇宙航空研究開発機構の片平真史氏より励ましと、
            当発表中の題材に関するヒントをいただきました。ここに感謝の意
            を表します。


September 14, 2006   SRA Key Technology Laboratory, Inc.   22
関連研究

    米ソフトウェアエンジニアリング研究所による SPLE [Clem01 etc]
        SEI による SPLE の定義ではソフトウェア製品派生のプロセスが言及
        されている
            これによってプロセスの変異が示唆されるが、明示的ではない
        プロセス自体の派生には焦点が当たっていない
            但し製品派生の標準プロセスというようなものは定義されるかも知れない
    独フラウンホーファ IESE [Jauf05, Romb05]
        ソフトウェアプロセスラインの概念を整理して提示した
    鷲崎弘宜 [Wash06]
        ソフトウェアプロセスラインエンジニアリングに関して研究を継続中
        [Wash06] ではプロセスラインアーキテクチャとそれに関連する技法が
        ソフトウェア・ハードウェアのコデザインプロセスの例も用いて述べられ
        ている



September 14, 2006   SRA Key Technology Laboratory, Inc.   23
参照資料

    [Clem01] P. Clements and L. Northrop, “Software Product Lines: Practices              and
        Patterns,” Addison-Wesley, Boston, 2001
        (Related Web page: http://www.sei.cmu.edu/productlines/framework.html)
    [Jauf05] O. Jaufman and J. Muench, “Acquisition of a Project-Specific Process,” Proc. 6th
        International Conference on Product Focused Software Process Improvement, 2005
    [Kang90] K. Kang, S. Cohen, J, Hess, W. Nowak, and S. Peterson, “Feature-Oriented Domain
        Analysis (FODA) Feasibility Study,” Technical Report, CMU/SEI-90-TR-21, Software
        Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, November
        1990.
        (Related Web page: http://www.sei.cmu.edu/domain-engineering/FODA.html)
    [LeeJ04] J.J. Lee, K.C. Kang, and S.J. Kim, "A Feature-Based Approach to Product Line
        Production Planning," Proc. Software Product Line Conference 2004
    [Oste87] L. Osterweil, "Software processes are software too," Proc. 9th International
        Conference on Software Engineering, Monterey, California, U.S.A., March 1987, pp. 2-13.
    [Romb05] D. Rombach, “Integrated Software Process and Product Lines,” Post-Proceedings
        of Software Process Workshop 2005, LNCS Vol.3840, 2005
    [Wash06] H. Washizaki, “Building Software Process Line Architecture from Bottom Up,” Proc.
        7th International Conference on Product Focused Software Process Improvement, June
        2006, pp. 299-313.




September 14, 2006               SRA Key Technology Laboratory, Inc.                              24

More Related Content

What's hot

Ninth session software engineering sequence diagram
Ninth session software engineering sequence diagramNinth session software engineering sequence diagram
Ninth session software engineering sequence diagramAliMohammad155
 
GoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングするGoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングするYuta Ohashi
 
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方Takeshi Mikami
 
新人Git/Github研修公開用スライド(その1)
新人Git/Github研修公開用スライド(その1)新人Git/Github研修公開用スライド(その1)
新人Git/Github研修公開用スライド(その1)pupupopo88
 
ブランチを綺麗に保ち、どうやって本番アップするのか
ブランチを綺麗に保ち、どうやって本番アップするのかブランチを綺麗に保ち、どうやって本番アップするのか
ブランチを綺麗に保ち、どうやって本番アップするのかSaeko Yamamoto
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へShuji Watanabe
 
Spring Batch Performance Tuning
Spring Batch Performance TuningSpring Batch Performance Tuning
Spring Batch Performance TuningGunnar Hillert
 
Demidovich problemas y ejercicios de analisis matematico
Demidovich problemas y ejercicios de analisis matematicoDemidovich problemas y ejercicios de analisis matematico
Demidovich problemas y ejercicios de analisis matematicoDarwin Chilan L
 
Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to gitJoel Krebs
 
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)Yasui Tsutomu
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理H2O Space. Co., Ltd.
 
プレゼンテーションZenコピー
プレゼンテーションZenコピープレゼンテーションZenコピー
プレゼンテーションZenコピーkyoiy
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction TutorialThomas Rausch
 

What's hot (20)

Ninth session software engineering sequence diagram
Ninth session software engineering sequence diagramNinth session software engineering sequence diagram
Ninth session software engineering sequence diagram
 
GoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングするGoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングする
 
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
 
テスト自動化入門@Graat勉強会
テスト自動化入門@Graat勉強会テスト自動化入門@Graat勉強会
テスト自動化入門@Graat勉強会
 
新人Git/Github研修公開用スライド(その1)
新人Git/Github研修公開用スライド(その1)新人Git/Github研修公開用スライド(その1)
新人Git/Github研修公開用スライド(その1)
 
ブランチを綺麗に保ち、どうやって本番アップするのか
ブランチを綺麗に保ち、どうやって本番アップするのかブランチを綺麗に保ち、どうやって本番アップするのか
ブランチを綺麗に保ち、どうやって本番アップするのか
 
いつやるの?Git入門
いつやるの?Git入門いつやるの?Git入門
いつやるの?Git入門
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
 
Spring Batch Performance Tuning
Spring Batch Performance TuningSpring Batch Performance Tuning
Spring Batch Performance Tuning
 
詳解! Decimal
詳解! Decimal詳解! Decimal
詳解! Decimal
 
Demidovich problemas y ejercicios de analisis matematico
Demidovich problemas y ejercicios de analisis matematicoDemidovich problemas y ejercicios de analisis matematico
Demidovich problemas y ejercicios de analisis matematico
 
Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to git
 
Spring boot jpa
Spring boot jpaSpring boot jpa
Spring boot jpa
 
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
 
Getting Git
Getting GitGetting Git
Getting Git
 
SwiftのDI方法につい て最近考えてた話
SwiftのDI方法につい て最近考えてた話SwiftのDI方法につい て最近考えてた話
SwiftのDI方法につい て最近考えてた話
 
プレゼンテーションZenコピー
プレゼンテーションZenコピープレゼンテーションZenコピー
プレゼンテーションZenコピー
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
 

Viewers also liked

We media and fandom
We media and fandomWe media and fandom
We media and fandomtdcjackson
 
Storyboards for Preliminary Task
Storyboards for Preliminary TaskStoryboards for Preliminary Task
Storyboards for Preliminary TaskLukeyLong
 
Film exam prep a a*
Film exam prep a a*Film exam prep a a*
Film exam prep a a*tdcjackson
 
We media murdoch and emprie
We media murdoch and emprieWe media murdoch and emprie
We media murdoch and emprietdcjackson
 
Generic Software Product Line Engineering Process (GeSPLEP) 20120126
Generic Software Product Line Engineering Process (GeSPLEP) 20120126Generic Software Product Line Engineering Process (GeSPLEP) 20120126
Generic Software Product Line Engineering Process (GeSPLEP) 20120126Yoshikazu Hayashi
 
Examplar photo story board
Examplar photo story boardExamplar photo story board
Examplar photo story boardtdcjackson
 
Fm2 summer 2011
Fm2 summer 2011Fm2 summer 2011
Fm2 summer 2011tdcjackson
 
Fm2 summer 2010
Fm2 summer 2010Fm2 summer 2010
Fm2 summer 2010tdcjackson
 
Fm2 winter 2010
Fm2 winter 2010Fm2 winter 2010
Fm2 winter 2010tdcjackson
 
Kurumsal Firmalar için Google Glass Uygulamaları
Kurumsal Firmalar için Google Glass UygulamalarıKurumsal Firmalar için Google Glass Uygulamaları
Kurumsal Firmalar için Google Glass UygulamalarıTechnoface
 
Website development life cycle
Website development life cycleWebsite development life cycle
Website development life cycleSanyam Jain
 
Source 1 reality tv
Source 1 reality tvSource 1 reality tv
Source 1 reality tvtdcjackson
 
Viral marketing
Viral marketingViral marketing
Viral marketingtdcjackson
 

Viewers also liked (20)

Wdc
WdcWdc
Wdc
 
We media and fandom
We media and fandomWe media and fandom
We media and fandom
 
Chapter 3.1
Chapter 3.1Chapter 3.1
Chapter 3.1
 
Storyboards for Preliminary Task
Storyboards for Preliminary TaskStoryboards for Preliminary Task
Storyboards for Preliminary Task
 
Storyboards
StoryboardsStoryboards
Storyboards
 
Nothing
NothingNothing
Nothing
 
Film exam prep a a*
Film exam prep a a*Film exam prep a a*
Film exam prep a a*
 
Positioning
PositioningPositioning
Positioning
 
We media murdoch and emprie
We media murdoch and emprieWe media murdoch and emprie
We media murdoch and emprie
 
Generic Software Product Line Engineering Process (GeSPLEP) 20120126
Generic Software Product Line Engineering Process (GeSPLEP) 20120126Generic Software Product Line Engineering Process (GeSPLEP) 20120126
Generic Software Product Line Engineering Process (GeSPLEP) 20120126
 
Examplar photo story board
Examplar photo story boardExamplar photo story board
Examplar photo story board
 
Fm2 summer 2011
Fm2 summer 2011Fm2 summer 2011
Fm2 summer 2011
 
Fm2 summer 2010
Fm2 summer 2010Fm2 summer 2010
Fm2 summer 2010
 
Fm2 winter 2010
Fm2 winter 2010Fm2 winter 2010
Fm2 winter 2010
 
Kurumsal Firmalar için Google Glass Uygulamaları
Kurumsal Firmalar için Google Glass UygulamalarıKurumsal Firmalar için Google Glass Uygulamaları
Kurumsal Firmalar için Google Glass Uygulamaları
 
Website development life cycle
Website development life cycleWebsite development life cycle
Website development life cycle
 
Wikileaks
WikileaksWikileaks
Wikileaks
 
Gwt
GwtGwt
Gwt
 
Source 1 reality tv
Source 1 reality tvSource 1 reality tv
Source 1 reality tv
 
Viral marketing
Viral marketingViral marketing
Viral marketing
 

Similar to ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する

定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730hiroetoh
 
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-Satoshi Masuda
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 智治 長沢
 
Information20120312
Information20120312Information20120312
Information20120312b-slash
 
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースデブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースDevelopers Summit
 
【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション智治 長沢
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-Yoshio SAKAI
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程Hidetoshi Mori
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかDevlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかYusuke Suzuki
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめatsushi_tmx
 
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011Yusuke Suzuki
 
Application Development Oveview
Application Development OveviewApplication Development Oveview
Application Development OveviewShinya Yanagihara
 
Agile Development at Salesforce
Agile Development at SalesforceAgile Development at Salesforce
Agile Development at SalesforceRyoji Osawa
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QYoshihito Kuranuki
 
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~Developers Summit
 
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 Hironori Washizaki
 

Similar to ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する (20)

定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730
 
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
 
Ldd13 present
Ldd13 presentLdd13 present
Ldd13 present
 
Information20120312
Information20120312Information20120312
Information20120312
 
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレースデブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
 
ITS fidel
ITS fidelITS fidel
ITS fidel
 
【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかDevlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのか
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
 
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
 
Application Development Oveview
Application Development OveviewApplication Development Oveview
Application Development Oveview
 
Agile Development at Salesforce
Agile Development at SalesforceAgile Development at Salesforce
Agile Development at Salesforce
 
Agile meets BABOK
Agile meets BABOKAgile meets BABOK
Agile meets BABOK
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
 
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
 
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
 

ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する

  • 2. すじはこび ソフトウェアプロセスのテーラリング、普通は どうやっているか そのやり方、ソフトウェアプロダクトラインエン ジニアリングに似てはいないか ソフトウェアプロダクトラインエンジニアリング ではこうやって最終製品を得る 実は同じやり方で、プロセスも得られる 例えば、こんな風に… あとは、関連研究と参照資料のご紹介 September 14, 2006 SRA Key Technology Laboratory, Inc. 2
  • 3. ソフトウェアプロセスをテーラリングする 際の典型的なシナリオ ソフトウェアプロジェクトの立ち上げが決まる そのプロジェクトの特質を分析する その特質に対応させて、標準プロセスの構 成要素を選択・調整し、または新たに作り、 統合する 統合したプロセスを検証し妥当性を確認する 同じようなやり方がソフトウェアプロダクトライ ンエンジニアリング (SPLE) で取られている September 14, 2006 SRA Key Technology Laboratory, Inc. 3
  • 4. ソフトウェア製品派生 - SPLE のやり方 ソフトウェア製品計画が提示される その製品の要求を分析する その要求に対応させて、SPLコア資産の要素 を選択・調整し、または新たに作り、統合する 統合した製品を検証し妥当性を確認する 似ていませんか? September 14, 2006 SRA Key Technology Laboratory, Inc. 4
  • 5. ソフトウェアプロダクトラインとは? ビジネス目標に則り、類似のソフトウェア製品群を効 率的に開発するためのパラダイム 計画的、体系的な、つまり最大限の再利用に基づく 高品質、低コスト、そして速さに寄与 米ソフトウェア・エンジニアリング研究所 (SEI) による と… ソフトウェア・プロダクト・ラインとは、共通で管理されたフィーチャ の集合を共有するソフトウェア集約的なシステムの集合であり、そ れらのシステムは特定の市場セグメントまたはミッションの具体的 なニーズを満足し、規定された方法で共通コア資産の集合から開 発される [Clem01] 簡単に言えば、フィーチャを共有するソフトウェア(集約的)システ ム群 September 14, 2006 SRA Key Technology Laboratory, Inc. 5
  • 6. フィーチャ – プロダクトラインを捉える単位 要求に対する一つの視点を与える 「フィーチャとは、あるアプリケーション領域の、ユーザまた は開発者に可視な特徴の『抽象概念』である」 [Kang90] 共通フィーチャ 対応するコードが全ての製品に含まれる 選択肢フィーチャ 一つのフィーチャに複数の変異体がある場合にはそれぞれ異な るコードに対応する オプションフィーチャ 一部の最終成果物にしか含まれないフィーチャもある これらを用いて製品のバリエーションを表現することができる September 14, 2006 SRA Key Technology Laboratory, Inc. 6
  • 7. ありうる複数の製品を表現 フィーチャモデル例 オプション フィーチャ 共通フィーチャ 選択肢フィーチャ September 14, 2006 SRA Key Technology Laboratory, Inc. [LeeJ04]より編集 7
  • 8. 最終製品の派生 as is 個別開発 ソフトウェア製品 調整 調整 調整 調整 as is フィーチャ選択 対応 対応していない コア資産 レポジトリ 対応していない September 14, 2006 SRA Key Technology Laboratory, Inc. 8
  • 9. では、ソフトウェアプロダクトライン をソフトウェアプロセスに応用する とどうなるのか? September 14, 2006 SRA Key Technology Laboratory, Inc. 9
  • 10. ソフトウェアプロセスライン SPLEの目的は、ビジネス目標に則った高生産性と 高品質 対象がソフトウェアプロセスであっても、コア資産に 基づいて同様の効果を挙げることができる。何故な らソフトウェアプロセスもまたソフトウェアであるから [Oste87] ソフトウェアプロセスに応用したプロダクトラインを 「ソフトウェアプロセスライン」と呼ぶ[Romb05 etc] September 14, 2006 SRA Key Technology Laboratory, Inc. 10
  • 11. ソフトウェアプロセスラインと ソフトウェアプロダクトラインの対照 ソフトウェアプロダクトライン ソフトウェアプロセスライン 最終製品 ソフトウェア プロセス フィーチャ 最終ソフトウェア製品が持つ 個別ソフトウェアプロセスが持 べき特徴 つべき特徴 コア資産 プロダクトラインソフトウェア 標準ソフトウェアプロセスアー アーキテクチャ、ソフトウェア キテクチャ、プロセスコンポー コンポーネント、他関連ド ネント、他関連ドキュメント キュメント September 14, 2006 SRA Key Technology Laboratory, Inc. 11
  • 12. ソフトウェアプロセスの フィーチャモデル例 September 14, 2006 SRA Key Technology Laboratory, Inc. 12
  • 13. 個別プロセスの派生 as is 個別定義 調整 調整 調整 as is 調整 フィーチャ選択 対応 プロセス 対応していない コア資産 レポジトリ 対応していない September 14, 2006 SRA Key Technology Laboratory, Inc. 13
  • 14. プロセスアーキテクチャ例 上位管理活動 プロジェクト管理活動 エンジニアリング ソフトウェア プロセス改善・ 構成管理活動 活動 品質保証活動 展開活動 September 14, 2006 SRA Key Technology Laboratory, Inc. 14
  • 15. プロセスアーキテクチャ例 (エンジニアリング コンポーネント) プロジェクト 管理活動 エンジニアリング活動 エンジニアリング 供給者エンジニア ライフサイクル リング活動 ウォーター 反復型 フォール型 September 14, 2006 SRA Key Technology Laboratory, Inc. 15
  • 16. プロセスアーキテクチャ例 (プロジェクト管理 コンポーネント) 上位管理活動 プロジェクト管理活動 プロジェクト 計画策定 リスク 監視・制御 供給者プロジェ プロジェクト プロジェクト完 クト管理活動 進捗管理 了 エンジニアリング ソフトウェア プロセス改善・ 構成管理活動 活動 品質保証活動 展開活動 September 14, 2006 SRA Key Technology Laboratory, Inc. 16
  • 17. フィーチャモデル、アーキテクチャ、コン ポーネントからどうやって個別プロセス を得るのか? 前掲のフィーチャモデルでフィーチャを 以下のように選択した例を見てみる ライフサイクルスタイル = ウォーターフォール型 外注 = なし 再利用 = あり COTS = あり September 14, 2006 SRA Key Technology Laboratory, Inc. 17
  • 18. フィーチャの固定 (1) →クラス特化による調整 プロジェクト ライフサイクルスタイル = ウォーターフォール型 管理活動 エンジニアリング活動 ウォーターフォール型 供給者エンジニア エンジニアリング リング活動 ライフサイクル 注: ライフサイクルスタイルの変異によって影響を受ける他のコンポーネントも調整する September 14, 2006 SRA Key Technology Laboratory, Inc. 18
  • 19. フィーチャの固定 (2) →コンポーネント I/F 削除による調整 上位管理活動 外注 = なし プロジェクト管理活動 プロジェクト 計画策定 リスク 監視・制御 プロジェクト プロジェクト完 進捗管理 了 エンジニアリング ソフトウェア プロセス改善・ 構成管理活動 活動 品質保証活動 展開活動 September 14, 2006 SRA Key Technology Laboratory, Inc. 19
  • 20. フィーチャの固定 (2) 続き プロジェクト 外注 = なし 管理活動 エンジニアリング活動 ウォーターフォール型 エンジニアリング ライフサイクル 注: 他のコンポーネントでも供給者の活動との I/F を削除する September 14, 2006 SRA Key Technology Laboratory, Inc. 20
  • 21. フィーチャの固定 (3) プロセス記述の追加・削除・変更による調整 ソフトウェア要求定義フェーズ 再利用 = あり (1) エンジニアリング COTS = あり … (b) ソフトウェア要求仕様の妥当性 (b-1) 上位システムの要求仕様根拠を当作 業で参照する。 #COTS利用がない場合 (b-2) 上位システムにおける当作業対象ソフ +利用条件の参照と確認 トウェアの役割を把握する。 +機能試験結果の確認 #再利用品目の有無による変異 始まり +C0 カバレージの達成 #再利用品目がある場合 +ソフトウェア耐性試験 (b-6) 再利用品目が利用される場合には、 #COTS利用の有無による変異 終わり 以下を、当作業完了前に実施する。 但し、利用する版の試験結果が参照できる #COTS利用の有無による変異 始まり 試験を省略してよい。 #COTS利用がある場合 試験でパスしてない試験ケースがあった場 ・COTS に対して: 合には、当該再利用品目管理者に試験環 +機能試験 境情報と共に通達し、… ・当社内で開発されたものに対して: #再利用品目がない場合 +機能試験結果の確認 (b-6) 当プロジェクト以外で開発された成果 +C0 カバレージの達成 物の利用が決定されていないことを確認す ・いずれに対しても: る。 +利用条件の参照と確認 #再利用品目の有無による変異 終わり +ソフトウェア耐性試験 … September 14, 2006 SRA Key Technology Laboratory, Inc. 21
  • 22. むすび ソフトウェアプロセスもソフトウェアであるので、ソフトウェアプロダクトラ インエンジニアリング (SPLE) を適用することができる SPLE の適用によって、コア資産からソフトウェアプロセスを派生させ てコスト低減、納期短縮、品質向上 (QCD向上)を達成することができ る あらかじめ計画すること、しかも体系的に計画することによって QCD の利得(ROI)が予測可能になり、ビジネスの中に、ソフトウェアプロセ スの策定も位置づけることができる ただし、当発表では言及していない「ソフトウェアプロセスのコア資産」 を別途準備することが必要である 謝辞 独立行政法人宇宙航空研究開発機構の片平真史氏より励ましと、 当発表中の題材に関するヒントをいただきました。ここに感謝の意 を表します。 September 14, 2006 SRA Key Technology Laboratory, Inc. 22
  • 23. 関連研究 米ソフトウェアエンジニアリング研究所による SPLE [Clem01 etc] SEI による SPLE の定義ではソフトウェア製品派生のプロセスが言及 されている これによってプロセスの変異が示唆されるが、明示的ではない プロセス自体の派生には焦点が当たっていない 但し製品派生の標準プロセスというようなものは定義されるかも知れない 独フラウンホーファ IESE [Jauf05, Romb05] ソフトウェアプロセスラインの概念を整理して提示した 鷲崎弘宜 [Wash06] ソフトウェアプロセスラインエンジニアリングに関して研究を継続中 [Wash06] ではプロセスラインアーキテクチャとそれに関連する技法が ソフトウェア・ハードウェアのコデザインプロセスの例も用いて述べられ ている September 14, 2006 SRA Key Technology Laboratory, Inc. 23
  • 24. 参照資料 [Clem01] P. Clements and L. Northrop, “Software Product Lines: Practices and Patterns,” Addison-Wesley, Boston, 2001 (Related Web page: http://www.sei.cmu.edu/productlines/framework.html) [Jauf05] O. Jaufman and J. Muench, “Acquisition of a Project-Specific Process,” Proc. 6th International Conference on Product Focused Software Process Improvement, 2005 [Kang90] K. Kang, S. Cohen, J, Hess, W. Nowak, and S. Peterson, “Feature-Oriented Domain Analysis (FODA) Feasibility Study,” Technical Report, CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, November 1990. (Related Web page: http://www.sei.cmu.edu/domain-engineering/FODA.html) [LeeJ04] J.J. Lee, K.C. Kang, and S.J. Kim, "A Feature-Based Approach to Product Line Production Planning," Proc. Software Product Line Conference 2004 [Oste87] L. Osterweil, "Software processes are software too," Proc. 9th International Conference on Software Engineering, Monterey, California, U.S.A., March 1987, pp. 2-13. [Romb05] D. Rombach, “Integrated Software Process and Product Lines,” Post-Proceedings of Software Process Workshop 2005, LNCS Vol.3840, 2005 [Wash06] H. Washizaki, “Building Software Process Line Architecture from Bottom Up,” Proc. 7th International Conference on Product Focused Software Process Improvement, June 2006, pp. 299-313. September 14, 2006 SRA Key Technology Laboratory, Inc. 24