AFFORDDとは
派生開発推進協議会(AFFORDD: Association for Facilitation Of Rational Derivational Development)は、今日の開発の殆どを占める派生開発が効果的に行なわれる技術の開発や普及、更にはそれによって得られた「余裕」により、新たな技術の獲得や革新が進む状態を作れるよう後押しすることを目的に設立された非営利団体です。
設立趣旨
派生開発推進協議会は、日本の課題である派生開発の問題解決に貢献すべく、2010年に設立された団体です。
初代の代表である清水吉男氏が考案した「XDDP」「USDM」「PFD」など、派生開発に関連する技術の開発と普及の促進、および、それらの活動で得た成果や現場での取り組みのヒントを共有するための場として、活発な活動を継続してきました。
最近では、アジャイルやSPL、モデリングなど、他の技術との融合を図りながら、開発現場の新たな課題解決にも取り組んでいます。
本協議会の具体的な活動は、以下の3つになります。
- カンファレンス(年1回開催): 派生開発に関する技術や事例などの発表を通じて、現場での取り組みの精度を高めたり、これから取り組む人への指針を提供します。
- フォーラム(都度開催): 派生開発に有効・効果的な考え方や方法の紹介や体験などの場を提供します。
- 研究会(月1回開催): 派生開発に関わるさまざまなテーマについて議論し理解・交流を深めます。
※研究会への参加は会員限定となります。
協議会の活動や成果につきましては、本WEBページや、上述したカンファレンス、フォーラムなどを通じて、積極的に発信していきます。
また、研究会での活動は、清水氏が考案した3つの技術の導入や活用の仕方、組織への普及を図るためのノウハウ、新たな技術との融合などについて、実践的な成果物を多く生み出す大変有用な場となっています。
ぜひ会員として研究会活動にご参加いただき、新たな知見の習得や発信の場としてご活用ください。
派生開発推進協議会 代表 渡辺 博之
初代代表のことば
今日、組み込み系システムだけでなく、パッケージソフトや制御系ソフト、エンタプライズ系においても、いわゆる派生開発によってシステムの開発が頻繁に行われるようになりました。
派生開発の特徴は、単に是正保守や適応保守などの「変更」にとどまらず、時代の要請による新たな機能の「追加」や、別システムで既に稼働している機能の一部を「移植」「流用」したりして、新しい製品やシステムを作っていきますので、新規開発とは違った難しさがあります。
その結果、3年~5年という期間を派生開発を繰り返し開発する中で、製品やシステムの機能は当初から大きく様変わりすることも珍しくありません。背景にあるのは、コンピュータ言語が高機能化し寿命が延びたことや、ソフトウェアの規模が大きくなって今から新規に開発する(開発し直す)のが困難になっていること、さらにはモジュールの再利用の方法が提案され普及したことなどが考えられます。
しかしながら簡単な変更で済むと思われていたケースでも、機能間での仕様の重なりや設計上での共通化(抽象化)などによって生じる影響箇所に気づかなかったり、これまで度重なる不適切な変更作業によってソースコードの秩序が乱れたり、ベースのソースコードが巨大化したりしたことで、適切に理解できていない状態(部分理解の状態)でソースコードを変更することが起きており、出荷後(リリース後)にトラブルの発生が増えています。
ましてや機能追加や既存のソースコードの流用というのは、ベースのソースコードのどこをどのように変更して新しく作られたモジュールや流用のモジュールを受け入れるかということについて、適切に検討するプロセスを持たないまま追加のソースコードを受け入れていることが多く、これも多くのトラブルに繋がっています。
こうしたトラブルやそれに関連した手戻り作業は、低く見積もっても全体の2割程度は含まれていると予想できますので、それに投入した費用は日本中で膨大な金額になるはずです。その中で現場のソフトウェア技術者もこの混乱に振り回されて疲弊しており、企業の新しいビジネス展開にも支障をきたしています。そればかりか、現場では精神的肉体的ダメージから倒れる技術者もでており、この状況を放置していては社会問題にもなりかねません。
さらに、派生開発が混乱状態に陥っていることで新規に作り直すための技術的準備もできず、そのタイミングも見つけられないまま、劣化したソースコードと格闘しながらなんとかリリースし続けています。このままでは、どこかで製品やシステムがリリースできなくなる危険も払拭できず、さらにSPL(Software Product Line)などの競争上避けて通れないような新しい取組みにも支障をきたします。この状態を放置していては、日本の産業を根底から揺るがしかねません。派生開発を制覇しなければ、日本のソフト産業や製造業に明日は見えてこないのです。
このような派生開発の場面において効果的なプロセスを提供しているのが「XDDP(eXtreme Derivative Development Process)」という派生開発専用の開発アプローチです。この開発アプローチは「USDM(Universal Specification Describing Manner)」という要求の仕様化の方法と「PFD(Process Flow Diagram)」という要求にマッチするようなプロセスを自在に設計する方法の支援を受ける形で構成されており、これまで多くの現場においてその効果は確認されています。
「XDDP」という派生開発アプローチの特徴は、変更依頼を変更要求と変更仕様の階層で捉え、従来のようにソースコード上で該当すると思った箇所を見つけ次第に変更するのではなく、一旦変更仕様として記述することにあります。また、機能追加についても通常の追加機能の要求仕様書とは別に「・・機能を追加する」という変更要求を立てることで、ベースのソースコードのどこをどのように変更して今回の追加機能を受け入れるかということを変更仕様として記述し、その妥当性を事前に検討する機会を確保していることにあります。従来方法にはなかった変更仕様などの記述に対して新たな工数を使っても、従来の手戻り工数の範囲内に収まるのです。少なくとも95年以降のコンサルティングで取り組んだ実績では、平均して30%の工数削減が実現しているのです。
こうした「XDDP」の派生開発アプローチによって「QCD」が大幅に改善し、それによって手に入れた(失わずに済んだ)時間を使って、現状のアーキテクチャの問題点を解析したり、新規開発に必要な教育や新しいアーキテクチャの設計など、「次」の準備に取りかかることができます。もちろん「次」の中には、「XDDP」のH/W領域への展開、モデル開発やSPLとの連携、さらには効果的なテスト技法との接続なども想定されます。
今日の日本経済は非常に厳しい状況に置かれています。鉱物資源を持たない日本としては雇用を確保するためにも製品やシステムの輸出が重要になってきますが、製品の輸出においては成長著しい海外企業との競争が一段と激しくなっています。したがって大幅な生産性の向上を伴う形で「QCD」の同時達成が鍵になってくると考えています。その意味では、日本の製造業はまさに岐路に立たされているといっても過言ではありません。
本会は、こうした状況の中で「XDDP」などの派生開発に於ける効果的な方法の開発とその普及を目指し、ひいては日本企業の競争力に資するために設立されました。今後は、派生開発をメインテーマとしたカンファレンスや派生開発に関連する個別テーマによる研究会、あるいはグループ活動などを通じて派生開発に関連する技術の開発と普及を促進し、それらの活動で得た成果や現場での取組みのヒントなどを本会のHPを通じて提供していきます。
派生開発推進協議会 初代代表 清水 吉男