第2回 理解すれば納得感が増す。XDDPの背景を知る。
【第2回 XDDP(派生開発プロセス)解説 コラム】
XDDPの背景を理解することで、納得感が増す、今のプロジェクトで効果が出るかもしれない、といったイメージが持てるようになります。
XDDPはなぜ誕生したのか、その背景を見てみましょう。
本コラムは、XDDP(派生開発プロセス)とは?について、基礎的な内容を数回に分けてわかりやすく解説していきます。
XDDP提唱者 清水吉男氏の工夫
https://member.eureka-box.com/products/xddp-5/categories/4012296/posts/13451515
XDDPが生まれたのは、清水吉男氏(以下 清水氏)の実体験がきっかけでした。
アメリカの会社から受注した変更追加のプロジェクトで、納期は3ヶ月でした。初めてのシステム、初めて見るソースコード、ドキュメントはありませんでした。
そこで清水氏は、今までのやり方では対応できない、と思い、新しいやり方を考えました。
一つ目は、仕様から要求を引き出し、要求と仕様からモレに気づけるようにすること。
二つ目は、全部を理解する時間もないので、変更部分を正確に理解すること。
最後は、変更・追加で不具合を出さないよう、バグ管理プロセスをヒントにすること。
この工夫の結果、納期遅れなし、バグゼロで終えることができました。
この3つの工夫を詳しく見ていきましょう。
1.変更要求仕様の工夫
https://member.eureka-box.com/products/xddp-5/categories/4012296/posts/13451515
要求から仕様を導出することで仕様のモレを防ぐことができる、というUSDMの考え方を、すでに清水氏は確立していました。その考え方を変更にも適用しました。
断片的に提示される変更仕様から変更要求を一旦引き出し、改めてその変更要求から変更仕様を導出しました。これによって、提示された変更仕様以外の仕様を見つけ出しました。
また、変更とはBeforeの状態からAfterの状態に変えることと捉え、常に何が変わるのか、そしてその変更量を意識しました。アメリカとのFAXでの問い合わせや確認では、以下のようにBeforeとAfterを対比して示し、正確に変更を捉えました。
「Before:現状こうなっている仕様を、After:このように変えるけど問題ないか?
NGなら、After:こう変えるのはどうか?」
このようなやりとりを繰り返したことで、モレのない、正確な変更仕様が確認できました。
2.変更部分を正確に理解する
https://member.eureka-box.com/products/xddp-5/categories/4012296/posts/13451515
納期内で終わらせるには、システムを理解して変更する時間はありませんでした。
システムへの理解度は時間に応じてあがっていくことがわかっていたため、変更の実施は遅いほうが良いことに気づきます。
そこで、調べたことや、変更方法をメモに書き残し、ソースコードはすぐに変更しませんでした。
書き残したことをレビューで確認すると理解度も上がっていきます。
より良い変更方法に気づいたら、書き残した内容を更新する方法を取りました。
全ての変更内容の確認が取れたら、書き残したメモを見ながら一気にコーディングしました。
これにより、変更部分を正確に理解した状態でコードを変更することができました。
3.変更・追加で不具合を出さない工夫
https://member.eureka-box.com/products/xddp-5/categories/4012296/posts/13451515
品質保証や、市場での不具合を修正する際、絶対に不具合を出さないプロセスが存在することを清水氏は知っていました。それは「バグ管理プロセス」で、発見から修正、クローズまでを確実に行うためのものです。
このプロセスのポイントは、調査→修正フェーズにおいて、「変更マトリクス」や「変更内容記録」などの中間成果物で問題がないかをレビューで確認することです。これは、納期が迫る状況で、焦って十分に考えずに変更して失敗することを防止することが目的でした。
この気づきが、「トレーサビリティ・マトリクス」や「変更設計書」の考え方のベースになっています。
Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。
XDDPの誕生
https://member.eureka-box.com/products/xddp-5/categories/4012296/posts/13451515
このような様々な工夫をプロセスとして仕上げ、10年かけて現場で検証したあと、書籍にまとめて世に広めました。
紹介した工夫とXDDPを対応付けると、
- 1の要求と仕様の工夫は、USDMによる変更要求仕様書
- 3の不具合を出さない工夫は、トレーサビリティ・マトリクスと変更設計書
- 2の変更部分の正確な理解は、プロセスそのもの
になります。
XDDP(派生開発プロセス)を実際に学んでみる
XDDPの技術を実際に学んでみたいという方に、まずは無料でお試しいただけるオンライン学習プラットフォームを準備しています。
業務が多忙なエンジニアでも、スキマ時間で効率的に実践的な学習が出来るEureka Boxは、エンジニアの現場の声から生まれたツールです。
ソフトウェア開発を改善するための開発技術を“知り・学び”“実践する”
超実践的オンライン学習プラットフォーム
Eureka Box(ユーリカボックス)
XDDPを正しく理解した上で適用し、最大限の効果を得られるようスキルアップしたい方にもEureka Box(ユーリカボックス)での学習をお勧めで、無料会員登録だけでも以下の特典が受けられます。
- 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
- USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
- ソフトウェア開発に関わる無料お試しコンテンツも充実
デジタル人材が不足している今の時代、特にソフトウェア開発の現場では「上流技術」のスキルを持つ人が必要とされています。
そのスキルが効率よく身につくように設計されたのが「オンライン学習のEureka Box(ユーリカボックス)」
Eureka Boxの運営企業であるエクスモーションは、日本を代表する大手自動車メーカー、医療機器メーカー等、ソフトウェア開発の支援を実際に行っている企業だからこそ、
社会で実践出来るレベルまでサポートされた学習ツールが実現しました。
「Eureka Box(ユーリカボックス)」を是非ご活用ください。
まとめ
https://member.eureka-box.com/products/xddp-5/categories/4012296/posts/13451515
XDDPは、実際に清水吉男氏が派生開発を経験したときのアイディアを形式化したものです。
変更仕様を正確に把握する工夫、ミスやモレを防ぐ工夫、人間の理解の状態まで考慮し、変更部分を正確に理解する工夫を、プロセスとして仕上げました。
現場でプロセスを検証、効果を確認した、実証済みのプロセスです。
XDDPは清水氏の英知と技術が凝縮されたプロセスです。同じ苦労を繰り返すことなく、ありがたく活用させていただきましょう。