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

SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門Insight Technology, Inc.
 
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~DeNA
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはJun-ichi Sakamoto
 
rsyncのちょっとイイ話
rsyncのちょっとイイ話rsyncのちょっとイイ話
rsyncのちょっとイイ話Kazuhiro Oinuma
 
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころFargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころYuto Komai
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠Sho Okada
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Yuya Yamaki
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredisnasa9084
 
ドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修についてドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修についてKota Mizushima
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?takezoe
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケットTakaaki Hoyo
 
ものづくりの視点で説明する要件定義
ものづくりの視点で説明する要件定義ものづくりの視点で説明する要件定義
ものづくりの視点で説明する要件定義祐磨 堀
 

What's hot (20)

HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
 
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
rsyncのちょっとイイ話
rsyncのちょっとイイ話rsyncのちょっとイイ話
rsyncのちょっとイイ話
 
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころFargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
 
Ooc 2020
Ooc 2020Ooc 2020
Ooc 2020
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
ドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修についてドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修について
 
今さら聞けない人のためのCI/CD超入門
今さら聞けない人のためのCI/CD超入門今さら聞けない人のためのCI/CD超入門
今さら聞けない人のためのCI/CD超入門
 
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。 【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
ものづくりの視点で説明する要件定義
ものづくりの視点で説明する要件定義ものづくりの視点で説明する要件定義
ものづくりの視点で説明する要件定義
 
世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト
 

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