AFFORDD活動紹介①

AFFORDD研究会の紹介
2024/5/24 派生開発カンファレンス2024©派生開発推進協議会 2024

研究会について• AFFORDDは、「USDM」「XDDP」「PFD」の技術を学び獲得するだけでなく、派生開発にまつわる様々なテーマを研究し、深める活動をしています。

• AFFORDD会員は各自興味のある研究会に所属し、メールやDiscord、対面での議論を通して活動成果をまとめています。
• ここでは、研究会の最近の活動内容について紹介します。

©派生開発推進協議会 20242T6研究会
Agile開発との連携©派生開発推進協議会 20243

研究の目的•Agile開発に対する課題
規律もなく長期に亘って機能の追加を繰り返してきたことによるベースのソースコードが劣化• 開発に携わるメンバーも交替• ベースのアーキテクチャの設計が最初から不安定• 新規開発のプロセスを延長した考え方での機能追加では混乱が生じる•••

もともと「XDDP」自身が、要求に対して必要最小限の規律を求めただけの「機敏な」開発アプローチ「機能追加」のプロセスを「Agile」な開発技法で対応し、追加機能の受け入れを含む「変更」のプロセス全体を「XDDP」で対応することが可能ではないか？

「Agile」な開発技法と「XDDP」を繋いで効果をあげるには？
©派生開発推進協議会 20244

研究の目的XDDPとは要求に対して最小限の成果物で成功に導く

XDDP課題ソースコードを最後まで変更しないため、最終段階でフィードバックがかかる

XDDPとアジャイルの連携・融合を研究©派生開発推進協議会 2024

アプローチ

一方アジャイルはすばやくフィードバックがかかる

アジャイルにも課題

・規律もなく長期に亘って機能の追加を繰り返してきたことによるベースのソースコードが劣化
・新規開発のプロセスを延長した考え方での機能追加では混乱が生じる

XDDPとアジャイルの「いいとこ取り」、 「より良い開発のやり方」を研究している
・XDDPで頻繁なフィードバックを受けるようにするには？
・アジャイルで品質を向上・維持していくには？

5これまで： AgileXDDP考案•••

Agileの課題とXDDPの課題に対して、双方の課題を解決する「AgileXDDP」を考案(2015)
Agile開発には、派生開発的な問題にXDDPのプロセスを適用
XDDP開発には、Agileプラクティスを適用©派生開発推進協議会 20246

これまで： スクラムX•••

ScrumとXDDPの問題を解決する「スクラムX」(2017)
ビジネス重心のScrumにはソースコード劣化の予防は規定なし
XDDPを導入している派生開発でも、高速リリースの要求高©派生開発推進協議会 2024

7

これから
•

その他にもAgileプラクティスとXDDPの手法の融合について議論と実践を行っています••

XDDPの3点セットをAgile開発の中にとりこみ要求獲得、要求分析フェーズでの課題にUSDMを用いる
PFDからプロダクトバックログへの落とし込み•

Agile開発は日本の開発現場には浸透してきつつありますが、派生開発の現場で活用するには、課題はまだたくさんありXDDPも時代の変化によって、高速化・俊敏性が求められています•

XDDPの利点をAgile開発にとりこみ、Agileの俊敏さをXDDPに適用していく、研究をこれからも行っていきます©派生開発推進協議会 2024

8T13研究会「USDM」のリスク管理への応用©派生開発推進協議会 2024

9T13研究会• USDM (Universal Specification Describing Mannerの略) とは、 要求を適切に表現することで、要求から仕様を漏れなく引き出すこと、関係者が内容を特定できることを狙いとした、要求と仕様の表記法です。

• USDMは、要求と仕様を階層化された構成で記述するための『要求仕様書（様式・フォーマット）』と、要求と仕様を適切に表現するための『記述マナー（Describing Manner）』から成り立っています。
USDMの要求仕様書フォーマット（最小構成）

要求の配下に仕様を配置する階層化された構成

要求と、その要求が出てきた理由(背景)をセットで表現仕様をグループ化することで仕様漏れに気付きやすくする

参考資料 【T2研究活動成果】 USDMを簡単に理解してもらうための小冊子
https://affordd.jp/libraries/affordd-t2-usdmtext/©派生開発推進協議会 2024

10T13研究会•

USDMの特徴である、要求と理由をセットで表現し、そこから仕様を引き出す構造が、リスクと要因を識別して、そこからリスク対応策を引き出す構造と類似しています。
• 要求と仕様を階層化された構成で記述する形をリスク管理表にも応用できます。
リスク管理表

要求仕様書

リスク要求

リスクと要因をセットで表現

要因理由仕様©派生開発推進協議会 2024

リスク対応策仕様

リスク対応策仕様

リスク対応策リスクと要因の表現を参照しながら、その配下にリスク対応策を引き出していく。

11T13研究会•

Xリスク管理表のフォーマット（全体像）
USDMの階層構造を、リスク管理に使う要素に対応させた構造にカスタマイズ。
・ ５つの記入エリアは、リスクマネジメントプロセスの段階に応じて記入。
・ 1の「リスク記述エリア」を始めとして、それぞれの記入エリアは次のプロセスのインプットになっている構造。

©派生開発推進協議会 2024

12T13研究会•

Xリスク管理表のフォーマット (リスク記述エリア）
・ リスクの要因から事象、影響までを1文で表現することで、要因から影響までの関係性、因果関係を意識させる狙い。

・要因、事象、影響それぞれ個別に記述。
・記載欄を分けているのは、何を、要因、事象、影響として捉えているのか、関係者が特定（Specify）しやすくするため。

©派生開発推進協議会 2024

13

T13研究会•

近日中に小冊子を公開予定。

「Xリスク管理表ガイドライン ～リスクを表現する方法、対応策を引き出す方法～」【主な内容】
・ リスクの基本的概念
・ Xリスク管理表のフォーマットと記入項目・記入方法
・ リスクの要因、事象、影響の引き出し方法
・ リスク対応策の引き出し方法©派生開発推進協議会 202414

T19研究会
派生開発におけるスペックアウトの仕方©派生開発推進協議会 2024

15T19研究会•

派生開発におけるスペックアウトの仕方と、その対応性や表現の方法、スペックアウト時の注意点などについて、掘り下げることを目的に活動している研究会です。
【派生開発におけるスペックアウトとは】
ソースコードを読んで理解しながら変更箇所や影響箇所を特定し、設計書の一部を 成すること©派生開発推進協議会 202416

今までの活動
各種資料はAFFORDD公式ホームページから入手可能です。
年度

活動内容

2016年

派生開発カンファレンス2016でポスター展示：「既存のソースコード10万行を今度の製品に使おうと思っているが、使えるかどうか1週間で判断してほしい」

2017年
2018年

派生開発カンファレンス2017でポスター展示：「何っ？！状態遷移設計を知らない？ 」

2019年

データ構造のスペックアウトの実施
ET & IoT Technology 2019 AFFORDDスペシャルセッションにて発表：「スペックアウトによる設計仕様の理解」

状態遷移のスペックアウトの実施
派生開発カンファレンス2018でポスター展示： 「コード→状態遷移表→状態遷移図→仕様までのスペックアウトの実際」

2020年 データ構造のスペックアウトの実施
2021年 スペックアウトワークショップの準備
2022年 派生開発カンファレンス2022でスペックアウトワークショップ開催
勉強会

2023年 スペックアウトの小冊子作成©派生開発推進協議会 202417

スペックアウトの小冊子•研究会での活動で得た知識や経験を元に、スペックアウトの意義、やり方、種別と目的、どういったアウトプットを残すのか、といった内容を小冊子にまとめ中。

©派生開発推進協議会 2024

18

T23研究会
AIと派生開発技術の連携©派生開発推進協議会 202419

研究会活動紹介

活動のキッカケ
効率化• AIで楽できるかな？
• 要求仕様やテストドキュメ
ントでAIをどう使えば効率化できる？
• 中身はあるが、うまく表現できない→日本語を直してくれる©派生開発推進協議会 2024

対話
• 清水さんBot• FAQの自動化• 思考を鍛えたい

AI搭載製品• AIを使ったシステムに対する要求仕様ってどう書くの？
• 品質はどこまで保証するの？

20

研究会活動紹介

活動のキッカケ→現状効率化• AIで楽できるかな？
• 要求仕様やテストドキュメ
ントでAIをどう使えば効率化できる？
• 中身はあるが、うまく表現できない→日本語を直してくれるみんなが楽できる

プロンプトガイドラインを思考中©派生開発推進協議会 2024

対話
• 清水さんBot• FAQの自動化• 思考を鍛えたい

AI搭載製品• AIを使ったシステムに対する要求仕様ってどう書くの？
• 品質はどこまで保証するの？

Fine-tuningやRAGは環境や維持の面で難しい(様子見)・ステークホルダの目的に沿った対話が大事
・入力の文章、言葉が境界から外れるとハルシネーションを起こす・ベクトルの情報を狙い通り構築しないと、誤った回答を返す

ここまで活動に至っていない

21

研究会活動紹介 T23：AIと派生開発技術の連携

活動のキッカケ→現状→例
みんなが楽できる

プロンプトガイドラインを思考中
AI検討マトリクス
AFFORDDの技術スコープ
技術カテゴリアプローチ
USDM系- USDM- アジャイルUSDM

AI技術カテゴリ（自然言語モデル）
文章生成

要約

機械翻訳

感情分析

分類

対話

共通 - 要求収集
要求エンジニアリング

共通 - 要求分析○

共通 - 要求記述○

共通 - 要求検証

プロダクトの利用ユー
ザ/ユースケースの作
成・検証ー
要求の記述のポジネガ判定

品質特性に分類ができるか？

共通 - 要求マネジメント
プロセス設計PFD
XDDP
スペックアウトスクラムX
共通 - 要件定義

派生開発プロセス

プロンプト例
・・・・
回答
・・・・

共通 - 詳細設計
共通 - コーディング
共通 - レビュー
共通 - テスト©派生開発推進協議会 202422

その他研究会活動紹介©派生開発推進協議会 202423

研究会活動紹介（その他）
研究会

紹介

T01：障壁の克服方法

を める上でXDDPを導入することが効果的ですが、自身の職場に提案しても「今までのやり方で何が悪いの？」と変化への抵抗が見られます。
いま問題ないと考えている人に対して気づきを促し、やる気になってもらう方法として「プレモータム（事前検死）」という思考法を広げることが大事なのではと考え、研究 で自ら実践中です。

T02：「USDM・XDDP」の入門要求仕様を表現する記法であるUSDMは、単体でも要求を深く理解し手戻りを防ぐ効果があり、XDDPのキーとなる技術の1つでもあります。しかし、USDMの習得には手数をこなすことと、書いたものを評価することが必要です。
私達は初心者を主な対象にUSDMの実践とレビューの場を用意しています。

T08：大規模システムへの効
果的対応

XDDPを大規模システムに適用する場合、変更箇所が多くなることから適切な管理方法が必要になります。私達は階層を3階層（システム/サブシステム/コンポーネント）に分け、モデルベースシステムズエンジニアリング（MBSE）の技法も取り入れながら、大規模システムに向けたXDDPの導入ガイドを作成中です。

©派生開発推進協議会 202424

研究会活動紹介（その他）
研究会

紹介文

T21：「PFD」によるプロセス設計

プロセスを表現し設計するツールであるPFDは、状況の変化に対応するために有用なツールです。
2021年にPFDを使いこなすための書籍も出版しました。いま、私達はスケジュールや見積に関する手法を清水さんに提供いただいた資料をもとに学び、「約束」を実現しつづけるためにどうプロセスを設計し、改善に繋げるかを検討しています。

T22：失敗事例

XDDPを導入した成功事例は多くありますが、一方で導入に失敗した事例もあります。導入失敗時には共通の要因があり、これを「病気」のアナロジーで整理し「治療の処方せん」「予防の処方せん」としてまとめ、小冊子として公表しています。さらに、私達が整理した「病気」の整理はリスクマネジメントの各要素と対応していることが判明したため、T13「リスク」研究会とコラボして探求中です。

Amazon書籍で “PFD” で検索！
©派生開発推進協議会 2024

AFFORDD公式HP「資料ライブラリ」から入手！

25

©派生開発推進協議会 2024