トップエスイー修了制作

チケット駆動開発基盤とプロダクトライン型開発の融合手法の検討と評価実験
三菱スペース・ソフトウエア株式会社

宮本 陽一

Miyamoto.Yoichi@mss.co.jp

背景と課題

手法・ツールの適用による解決

背景：当社プロダクト系列の同時開発に向けて，アプローチ：チケット駆動開発基盤（AsIs）とププロダクトライン型開発へ移行し，場当たり的な再利用から計画的な再利用を図る．

ロダクトライン型開発（Tobe）をメタモデルで分析し，主要課題と解決の方向性を決定する．
本修了制作では特にフィーチャ管理を解決する．

課題：当社で導入しているチケット駆動開発基
盤にプロダクトライン型開発を融合させる手法が確立されていない． （特に，共通／可変部分の特性を扱ったフィーチャ管理をどうするか）

適用：フィーチャ管理にチケット駆動開発の仕組みを適用する．（Feature on TiDD）

チケット駆動開発基盤×プロダクトライン型開発
AsIs

ToBe
プロダクトの未来を予測し、コアアセットを先行して開発

プロダクト開発

コアアセット開発

スクラムも可<<Redmine>>
プロダクト要件管理／タスク管理<<roadmap>>
プロダクトロードマップ<<ticket (requirement)>>
プロダクト要件<<Redmine>>
プロダクト要件管理／タスク管理<<category>>
プロダクト機能／非機能分類<<ticket (requirement)>>
プロダクト課題要件<<ticket (requirement)>>
プロダクト開発要件<<version>>
プロダクトリリース未定バージョン<<version>>
プロダクトリリース予定バージョン

プロダクトバックログ（ユーザーストーリー）<<ticket (requirement)>>
プロダクト要件<<ticket (task)>>
プロダクト開発タスク<<ticket (task)>>
OSSライブラリ調達／検証タスク<<category>>
プロダクト機能／非機能分類<<revision>>
アプリケーションソースコード変更履歴<<tag>>
アプリケーションソースコードのバージョニング<<branch>>
アプリケーション開発用ブランチ<<branch>>
アプリケーションmasterブランチ<<ticket (requirement)>>
プロダクト開発要件<<ticket (requirement)>>
コアアセット要件

スプリント計画<<job>>
ビルド<<version>>
プロダクトリリース未定バージョン<<version>>
プロダクトリリース予定バージョン<<job>>
単体テスト<<category>>
実験的<<job>>
システムテスト<<ticket (task)>>
OSSライブラリ調達／検証タスク

Feature on TiDD

スプリント<<ticket (task)>>
アプリケーション開発タスク<<Git>>
プロダクトソースコード構成管理／バージョン管理<<revision>>
アプリケーションソースコード変更履歴<<tag>>
アプリケーションソースコードのバージョニング<<version>>
コアアセットリリース予定バージョン<<category>>
オプション<<ticket (task)>>
プロダクト開発タスク<<job>>
結合テスト<<ticket (requirement)>>
コアアセット課題要件<<ticket (requirement)>>
コアアセット開発要件<<category>>
択一<<job>>
継続的インテグレーション<<job>>
ドキュメンテーション<<group : artifact : version>>
アプリケーション<<category>>
コアアセット機能／非機能分類<<roadmap>>
コアアセットロードマップ<<category>>必須<<ticket (requirement)>>
プロダクト課題要件<<Jenkins>>
品質管理<<job>>
静的解析<<Maven>>
プロダクト実行モジュール管理<<group : artifact : version>>
OSSライブラリ<<ticket (feature)>>フィーチャ<<ticket (task)>>
アプリケーション開発タスク<<Git>>
プロダクトソースコード構成管理／バージョン管理<<Redmine>>
コアアセット要件管理／タスク管理<<Redmine>>
フィーチャ管理<<roadmap>>
プロダクトロードマップ

GitLab Flow<<branch>>
アプリケーション開発用ブランチ<<branch>>
アプリケーションmasterブランチ<<custom field>>
拡張ポイント<<Jenkins>>
品質管理<<job>>
継続的インテグレーション<<job>>
ビルド<<version>>
コアアセットリリース未定バージョン<<ticket (task)>>
コアアセット開発タスク<<ticket (task)>>
OSSライブラリ調達／検証タスク<<ticket (task)>>
ドメインライブラリ開発タスク

GitLab Flow<<Git>>
コアアセットソースコード構成管理／バージョン管理<<branch>>
ドメインライブラリ開発用ブランチ<<revision>>
ドメインライブラリソースコード変更履歴<<branch>>
ドメインライブラリmasterブランチ<<tag>>
ドメインライブラリソースコードのバージョニング<<job>>
静的解析<<job>>
ドキュメンテーション<<Maven>>
プロダクト実行モジュール管理<<job>>
単体テスト<<group : artifact : version>>
アプリケーション

チケット駆動開発 （TiDD）
・ フィーチャ管理
・要件管理／タスク管理

構成管理のブランチ戦略
・構成管理
・バージョン管理

Feature on TiDD 評価実験
フィーチャモデリング（共通／可変部分を分析）
フィーチャモデル

フィーチャチケット起票

プロダクト導出

フィーチャマトリクス

プロダクトA

コアアセット開発のロードマップ

プロダクトB

関連付け（TiDDによる追跡容易性）
コアアセット開発のタスクチケット起票

コアアセット開発の要件チケット起票（コアアセット開発は今後実施）

計画的な再利用<<group : artifact : version>>ライブラリ<<job>>
結合テスト<<job>>
システムテスト

フィーチャ管理にチケット駆動開発の仕組みを適用 （Feature on TiDD）<<Maven>>
コアアセット実行モジュール管理

継続的インテグレーション
・品質管理・自動化<<group : artifact : version>>
ドメインライブラリ<<group : artifact : version>>
OSSライブラリ

コアアセット利用 （OSSスタック含む）
・リードタイム短縮
・再利用（効率性の向上）

考察• フィーチャ管理にチケット駆動開発の仕組みを適用（Feature on TiDD）することは可能である．
（最低限のフィーチャ管理を行えるため，ライトウェイトにプロダクトライン型開発へ移行する際に有効）• プロダクトライン型開発のメタモデル（ToBe）に向けた他の主要課題と解決の方向性（※）については今後の研究課題である．
※：プロダクトライン向けの構成管理のブランチ戦略等

国立情報学研究所
トップエスイー
トップエスイー： サイエンスによる知的ものづくり教育プログラム
National Institute of Informatics～サイエンスによる知的ものづくり教育プログラム～
文部科学省科学技術振興調整費
産学融合先端ソフトウェア技術者養成拠点の形成