派生開発プロセスの工夫(その14)

前回エントリから1ヵ月以上空いてしまいました。
多忙と試験勉強が言い訳なのですが。。
このシリーズエントリは先が長すぎて、No.50とか平気でいきそうなので、きりのいいところでpdf化した内容を一括ダウンロードで終わりにしたいかな、、と考えているこの頃です。

ではプロセス改善のNo.14をどうぞ。

品質確保に効果のあった派生開発プロセスの工夫#14

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

エントリ内容の目次

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていく。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒part1
   ⇒part2
   ⇒part3
  
 2.派生開発のプラクティス、プロセス
   ⇒part1
   ⇒part2
   ⇒part3

(2)派生開発プロセスの内容
 1.対処検討プロセス群
   ⇒part1
   ⇒part2
   ⇒part3(本記事が該当)

 2.開発プロセス群
 3.検証プロセス群

(2)派生開発プロセスの内容

1.対処検討プロセス群(part3)

対処検討プロセスを順に解説していく。今回は「1.2.2 要求仕様の特定」の解説を行う。

 ・1.1 原因特定
 ・1.2 スコープ定義
     ├─1.2.1 要求コンセプトの明確化
     └─1.2.2 要求仕様の特定
 ・1.3 対処案の特定
 ・1.4 対処案の検証
 ・1.5 対処決定

※プロセスの全体像を参照したい場合はこちら

1.2.2 要求仕様の特定

1.2.2.1 プロセスの目的・概要

要求仕様の特定プロセスの目的は、システムやソフトウェアの構成要素が特定できる形まで、要求コンセプトをブレイクダウンし、適切な作業スコープを設定することである

要求コンセプトは、「トランザクションの同時受付数を5000まで拡張する」とか「機器の障害発生時に、アクティブ系の機器が存在しない状態を30秒以上継続させない」などといった、システムの構成要素や設計・プログラム構成要素を特定しにくい表現になっている。

この表現を、「A機器管理処理ブロックにおいて、○○通知を受信した場合は、□□の動作を行う」といったシステムやソフトウェアの構成要素の振る舞いがわかる程度の詳細度にブレイクダウンしていく。このブレイクダウンされたものを要求仕様と呼ぶ。
続きを読む

派生開発プロセスの工夫(その13)

品質確保に効果のあった派生開発プロセスの工夫#13

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

エントリ内容の目次

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていく。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒part1
   ⇒part2
   ⇒part3
  
 2.派生開発のプラクティス、プロセス
   ⇒part1
   ⇒part2
   ⇒part3

(2)派生開発プロセスの内容
 1.対処検討プロセス群
   ⇒part1
   ⇒part2(本記事が該当)

 2.開発プロセス群
 3.検証プロセス群

(2)派生開発プロセスの内容

1.対処検討プロセス群(part2)

対処検討プロセスを順に解説していく。今回は、1.2.1 要求コンセプトの明確化から解説を行う。

 ・1.1 原因特定
 ・1.2 スコープ定義
     ├─1.2.1 要求コンセプトの明確化
     └─1.2.2 要求仕様の特定
 ・1.3 対処案の特定
 ・1.4 対処案の検証
 ・1.5 対処決定

※プロセスの全体像を参照したい場合はこちら

1.2.1 要求コンセプトの明確化

1.2.1.1 プロセスの目的・概要

要求コンセプトの明確化プロセスの目的は、派生開発における欠陥是正要求や変更要求に含まれる真の目的をあぶり出し、作業スコープを最大限に拡張することである。

スコープを広げることで、欠陥是正要求や変更要求を実現する際に、同時に対応しなければならない派生的な要求事項を見逃さないようにする効果が得られる。

派生開発におけるスコープの幅は、本プロセスで最大になり、以降のプロセスを経るに従い次第に具体化され縮小していく。

要求コンセプトの明確化が効果を発揮するケースは、ソフトウェアの具体的な欠陥是正要求が到来した場合である。

欠陥是正要求は、実際に発生している個別具体的な欠陥事象やその発生原因をふまえて発行されるため、はじめの要求時点から、かなり具体的な対処方針や修正内容を含んでいる場合がある。

例えば、「対向システムの回線障害検出論理を変更するため、○○処理の□□動作を、△△へ改修する」といった内容である。要求内容が具体的であればあるほど、担当者はすぐに具体的な修正内容の検討に着手しようとする。

その結果、同種の原因による他の欠陥が潜在していないかを水平展開して洗い出す作業が漏れたり、そもそもの要求で依頼された内容に誤りがあったりすることを見逃しやすくなる。
続きを読む

派生開発プロセスの工夫(その12)

品質確保に効果のあった派生開発プロセスの工夫#12

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

エントリ内容の目次

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていく。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒part1
   ⇒part2
   ⇒part3
  
 2.派生開発のプラクティス、プロセス
   ⇒part1
   ⇒part2
   ⇒part3

(2)派生開発プロセスの内容
 1.対処検討プロセス群
   ⇒part1(本記事が該当)

 2.開発プロセス群
 3.検証プロセス群

(2)派生開発プロセスの内容

1.対処検討プロセス群

今回からは、当派生開発プロセスを1つ1つ詳細に見ていく。説明は、

・プロセスの目的・概要
・プロセスフローの説明
・要素成果物の説明
・個々のプロセスの説明

の流れで行う。

個々のプロセスの詳細な説明になるため、現在位置が分からなくなることもあると思う。その時は、全体プロセスを参照し、現在地を確認しながら参照してもらえるとよろしいかと思う。

今回は「対処検討プロセス群」について解説を行う。

対処検討プロセス群

●プロセスの目的・概要

対処検討プロセス群は、派生開発における欠陥是正要求、変更要求を受け付けて、要求への対応方法を十分に検討し、関係者と協議し、決定を下す一連のプロセスで構成されている。

対処検討プロセス群の目的は、漏れのない対処検討を行うことを保証し、その結果として高い設計品質を確保することである。

対処検討プロセス群には、派生開発プロセスの4つのプラクティスの全てが含まれる。
続きを読む

派生開発プロセスの工夫(その11)

品質確保に効果のあった派生開発プロセスの工夫#11

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

論述対象となるプロジェクト、および開発プロセスの特徴

・組込み系の社会インフラを担うミッションクリティカル・システム。

・信頼性・成熟性について高い品質が求められている。

・稼働直前の総合テストからプロジェクトを引き継ぎ。

・母体システムのドキュメントが不足、母体品質も悪い。

・論述対象の開発プロセスは、主にシステムの欠陥修正(改修)案件に焦点を当てている。

エントリ内容の目次

内容はかなり長くなるため、順を追って述べる。

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていこうと考えている。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒part1
   ⇒part2
   ⇒part3
  
 2.派生開発のプラクティス、プロセス
   ⇒part1
   ⇒part2
   ⇒part3(本記事が該当)

(2)派生開発プロセスの内容
 序.品質確保に効果的な派生開発プロセス
 1.対処検討プロセス群
 2.開発プロセス群
 3.検証プロセス群

2部 (2)派生開発のプラクティス、プロセス

前回までは派生開発のプラクティスを見てきた。今回からは、このプラクティスを組み込んだプロセスについて見ていく。

2.2 派生開発のプロセス

本節では、以上までにみた4つのプラクティスを具体的に実行するためのプロセスを説明する。最上位のプロセスでは、大きく3つのプロセス群に分かれている。

1.対処検討プロセス群
派生開発特有の課題に対応するために、開発工程の前に設けた事前検討を行うプロセス群。4つのプラクティスの全てが含まれる、本派生開発プロセスで特に重要なプロセスである。

2.開発プロセス群
一般的な開発プロセスである。本書ではウォーターフォール・モデルのプロセスを前提としている。ただし、本書は開発プロセスを規定する意図を持たないため、組織やプロジェクトにおいていずれの開発プロセス・開発モデルを採用していても、本派生開発プロセスを適用することが可能である。4つのプラクティスのうち、1つのプラクティス(ドキュメントのトレーサビリティ強化)が含まれる。

3.検証プロセス群
一般的なテスト工程を定めるプロセスである。検証プロセスについても、本書では特段の規定をする意図を持たない。組織やプロジェクトにおいていずれの検証プロセスを採用していても、本派生開発プロセスを適用することが可能である。

プロセス群のうち「2.開発プロセス群」と「3.検証プロセス群」は、理解度向上のために参考までに記載したものであり、本書は開発プロセスや検証(テスト)プロセスを規定するものではない。各プロセス群はさらに詳細なプロセスに分解される。
続きを読む

知的体力

知的体力とは?

いつも参考にさせて頂いているブログ「タイムコンサルタントの日誌から」に、以下の内容が記載されていた。

コンサルタントに必要な頭の良さとは、分析力よりも、問題解決案を考える能力だというのも、重要な指摘だ。とくに、著者が『知的体力』と呼ぶ、(正解のない問題を)何時間でも何日でも考え続ける能力は、ほとんどの人が見落としている、大事なポイントだと思う。

知的体力、という言葉は初めて目にした(耳にした)が、たしかにこれは誰しもが持っているスキルではないと思う。

コンサルタントに必要な水準かどうかは別にしても、このように答えのなかなか出ない問題を何日も考え続ける、という体験なら当方にもかなり思い当たることがある。

ただし、当方がいつもぶち当たっている問題とは、

「世の中の誰が考えても解決が容易ではない問題」

ではなく、

「世の中のエキスパートが考えれば答えは比較的容易に出るが、自分にとっては未経験の分野・未知の分野を含む問題」

といった問題である。

自分にとっての未知の領域を含む問題の特徴

この問題は、自分にとっては未知の知識がある、つまりインプットすべき知識が不足している、ということが問題解決を難しくしている大きな要因になっている。しかし、だからといって知識さえあればいいわけではなく、その知識を応用することが実務ではたいてい求められるので、インプットすればすぐに答えが導けるものではない。知識をベースに応用する余地が残されている。

たとえば、自社の戦略の方向性を考えたり、自分たちのチームの抱える生産性低下という問題の原因分析と対策の検討を行ったり、ITシステムの設計において、未知の設計指向を採用しなければならない場合、といったような問題である。経営戦略については、経営管理・戦略論などのインプットが必要だし、生産性向上のためにはIEやオペレーション・マネジメント、プロジェクトマネジメントなどのインプットが必要になるだろう。

一般的なビジネスパーソンにとっては、こうした「自分の知らない領域を含む」問題のほうが、「誰が考えてもな答えが出にくい問題」よりは、日常的に遭遇しやすいだろう。

また半年や数年といった長いスパンでの解決が必要なものではなく、1週間~数カ月程度の比較的短いスパンで解決をしなければならないため、緊急性がやや高く、ほうっておいて忘れるに任せる、といったあいまいな態度では避けては通れない問題でもある。

なのでこうした問題へ対応しなければならない方々も多くいるのではないかと思う。

当方は、そういった問題に遭遇した時に、何日も考え続け、夢にも出てきて、あるときに不意に解決策を思いつく、といった経験は何度もしている。

だいたい共通しているのは、思いついた解決策は、ほんとうに「当たり前」のことのように感じる点だ。

初めからその解決策を提示されていれば、「あーなるほど」程度ですんなり理解できてしまうものである。もちろん、やや発想の転換が必要なものもあるが、それほど奇抜な解決策ではない。

ここでは、こうした当方の知的体力に関する経験から、「自分の知らない領域を含む問題」に遭遇した時に、どのようにすれば比較的効率的に問題解決ができるのかを振り返っまとめてみたい。
続きを読む

派生開発プロセスの工夫(その10)

品質確保に効果のあった派生開発プロセスの工夫#10

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

論述対象となるプロジェクト、および開発プロセスの特徴

・組込み系の社会インフラを担うミッションクリティカル・システム。

・信頼性・成熟性について高い品質が求められている。

・稼働直前の総合テストからプロジェクトを引き継ぎ。

・母体システムのドキュメントが不足、母体品質も悪い。

・論述対象の開発プロセスは、主にシステムの欠陥修正(改修)案件に焦点を当てている。

エントリ内容の目次

内容はかなり長くなるため、順を追って述べる。

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていこうと考えている。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒part1
   ⇒part2
   ⇒part3
  
 2.派生開発のプラクティス、プロセス
   ⇒part1
   ⇒part2(本記事が該当)

(2)派生開発プロセスの内容
 序.品質確保に効果的な派生開発プロセス
 1.対処検討プロセス群
 2.開発プロセス群
 3.検証プロセス群

2部 (2)派生開発のプラクティス、プロセス

前回からの繰り返しになるが、本章では、派生開発で品質確保に効果のあった4つのプラクティスとプロセスを示す。

プラクティスは、品質確保に効果のあった慣行の概要を理解するために、簡潔に表現したタイトルに相当する。タイトルは概要を理解するには適しているが、実際どのようにプロジェクトへ適用するのかは示していない。実務への適用を検討する場合は、4つのプラクティスが組み合わされたプロセスを参照する。4つのプラクティスは、実行するタイミングが異なっている箇所と、互いにオーバラップしている箇所がある。これらの関係がプロセスとして表現されていることで、4つのプラクティスを実務へ適用しやすくなる。

2.1 派生開発のプラクティス(part2)

前回までは、

(1)ドキュメントのトレーサビリティ強化
(2)フロントローディング強化

について見てきた。今回はプラクティスの残りの2つを見ていこう。

(3)ドキュメントのアカウンタビリティ強化

ドキュメントのアカウンタビリティ強化で実現したい課題は、部分理解の制約の中でも、レビューアが設計内容の妥当性を検証することが可能になるようなドキュメントを作成することである。

これを実現するためには、結論に至るまでの検討過程をドキュメントに記載すること、検討過程では検討アイテムについて漏れのない調査を行うこと、の2つが達成されなければならない。

結論に至るまでの検討過程をドキュメントに記載するための具体的な手法、および漏れのない調査を行うための具体的な手法については、派生開発プロセスの手法として後述している(手法は主に、要素分解、バリエーションの検証、マトリクス表記、を用いる)。
続きを読む

派生開発プロセスの工夫(その9)

品質確保に効果のあった派生開発プロセスの工夫(その9)

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

論述対象となるプロジェクト、および開発プロセスの特徴

・組込み系の社会インフラを担うミッションクリティカル・システム。

・信頼性・成熟性について高い品質が求められている。

・稼働直前の総合テストからプロジェクトを引き継ぎ。

・母体システムのドキュメントが不足、母体品質も悪い。

・論述対象の開発プロセスは、主にシステムの欠陥修正(改修)案件に焦点を当てている。

エントリ内容の目次

内容はかなり長くなるため、順を追って述べる。

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていこうと考えている。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒part1
   ⇒part2
   ⇒part3
  
 2.派生開発のプラクティス、プロセス
   ⇒part1(本記事が該当)

(2)派生開発プロセスの内容
 序.品質確保に効果的な派生開発プロセス
 1.対処検討プロセス群
 2.開発プロセス群
 3.検証プロセス群

2部 (2)派生開発のプラクティス、プロセス

本章では、派生開発で品質確保に効果のあった4つのプラクティスとプロセスを示す。またこれらのプラクティスやプロセスでは、特有の成果物をアウトプットする。

プラクティスは、品質確保に効果のあった慣行の概要を理解するために、簡潔に表現したタイトルに相当する。タイトルは概要を理解するには適しているが、実際どのようにプロジェクトへ適用するのかは示していない。実務への適用を検討する場合は、4つのプラクティスが組み合わされたプロセスを参照する。4つのプラクティスは、実行するタイミングが異なっている箇所と、互いにオーバラップしている箇所がある。これらの関係がプロセスとして表現されていることで、4つのプラクティスを実務へ適用しやすくなる。

なお固有の成果物についても、派生開発プロセスの記述で併せて解説している。

2.1 派生開発のプラクティス(part1)

以下に派生開発で品質確保に効果のあった4つのプラクティスを示す。図表2.1-1に概要を示し、その後に1つ1つのプラクティスについて詳述する。

・図表2.1-1 我々の行った派生開発のプラクティス

通番 プラクティス 概要

ドキュメントのトレーサビリティ強化

・全工程の成果物を横串で通した「対処検討資料」を作成する。

・各工程の成果物の変更箇所を「要求事項トレーサビリ
 ティ・マトリクス」で示し、変更箇所を追跡可能にする。

フロントローディング強化

・検討する対処が妥当だと判断できるまで、下流工程の調査を前倒し実施する。

・成果物だけで対処の妥当性を確認しなくてもよく、実シ
 ステムを動かして確認してもよい。

ドキュメントのアカウンタビリティ強化

・「対処検討資料」には検討の結論だけでなく、結論に至
 るまでの過程もドキュメント化する。

超上流のスコープ・

マネジメント強化

・要求に含まれるスコープを適切にコントロールして、検
 討漏れなく開発を行えるようにする。

続きを読む

派生開発プロセスの工夫(その8)

品質確保に効果のあった派生開発プロセスの工夫(その8)

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

論述対象となるプロジェクト、および開発プロセスの特徴

・組込み系の社会インフラを担うミッションクリティカル・システム。

・信頼性・成熟性について高い品質が求められている。

・稼働直前の総合テストからプロジェクトを引き継ぎ。

・母体システムのドキュメントが不足、母体品質も悪い。

・論述対象の開発プロセスは、主にシステムの欠陥修正(改修)案件に焦点を当てている。

エントリ内容の目次

内容はかなり長くなるため、順を追って述べる。

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていこうと考えている。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒part1
   ⇒part2
   ⇒part3(今回の記事)
  
 2.派生開発のプラクティス、プロセス

(2)派生開発プロセスの内容
 序.品質確保に効果的な派生開発プロセス
 1.対処検討プロセス群
 2.開発プロセス群
 3.検証プロセス群

2部 (1)派生開発の課題とプロセス改善について

1.派生開発の課題(part3)

1.3 特に解決が必要だと考えた4つの問題

前回は、当方が派生開発プロジェクトで遭遇した4つの問題のうち2つを述べた。今回は残りの2つを述べる。

(3)対処の結論だけが資料に記載されており、結論を導くまでの設計者の思考過程がわからないため、レビューで対処内容の妥当性の検証が困難で、欠陥の流出が発生した

●問題内容と原因

(1)と(2)の問題に対処することで、ある程度の設計品質を確保できるようになった上で、更に設計品質を高めるために解決が必要となった問題である。本問題の原因は、担当者が検討した結果のみを資料に記載していることである。

欠陥修正の対処方法を、母体ドキュメントやソースコードを調査して、対処検討資料としてまとめるが、その際に、検討した結果のみを記載する傾向が多かった。

もちろん、レビューアが母体システムについて熟知しているのであれば、その結論だけを見て、検討結果の妥当性を判断することもできよう。

しかし部分理解の制約があるため、どうしても検討結果だけを見ても、“なぜその結果が導かれたのか”、“なぜその結果が妥当といえるのか”を判断できないことが多い。
続きを読む

派生開発プロセスの工夫(その7)

品質確保に効果のあった派生開発プロセスの工夫(その7)

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

論述対象となるプロジェクト、および開発プロセスの特徴

・組込み系の社会インフラを担うミッションクリティカル・システム。

・信頼性・成熟性について高い品質が求められている。

・稼働直前の総合テストからプロジェクトを引き継ぎ。

・母体システムのドキュメントが不足、母体品質も悪い。

・論述対象の開発プロセスは、主にシステムの欠陥修正(改修)案件に焦点を当てている。

エントリ内容の目次

内容はかなり長くなるため、順を追って述べる。

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていこうと考えている。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒part1
   ⇒part2(今回の記事)
  
 2.派生開発のプラクティス、プロセス

(2)派生開発プロセスの内容
 序.品質確保に効果的な派生開発プロセス
 1.対処検討プロセス群
 2.開発プロセス群
 3.検証プロセス群

2部 (1)派生開発の課題とプロセス改善について

1.派生開発の課題(part2)

1.2 我々のプロジェクトで認識した派生開発の問題

我々の保守プロジェクトでも、前述した派生開発の特徴による問題を認識した。

まず、一般的な派生開発の特徴である、前述の1.~4.が当てはまった。この結果、部分理解の制約を抱えたまま、欠陥修正などの案件をこなすこととなった。

当該保守プロジェクトで採用している開発プロセスは、ウォーターフォール・モデルに従い、方式設計、基本設計、詳細設計、製造、単体テスト、結合テスト、総合テストを行い、各工程間では成果物のレビューを行うものである。前述した派生開発崩しの開発プロセスに該当する(図表1.2-1参照)。

・図表1.2-1 当初採用していた派生開発プロセス

hasei-05-sl06.png

よって、1人プロジェクトになったり、レビューをせずに対処を進めたりするようなことはなかった。

また、関連ドキュメントは変更差分を赤字で記載するルールとしていたため、変更前・変更後の動作差分を把握しやすく、新規開発崩しの問題点の2.に相当する問題は発生しなかった。

ただし、新規開発崩しの問題点の1.に相当する問題は発生した。ドキュメントの変更、例えばシーケンス図にメッセージを1つ追加することが、他の処理にどのように影響を与えるのかは、さらに下流工程に進み、詳細設計やソースコードの調査をしない限り把握することができなかった。

その結果、下流工程に進むにつれ上流工程で検討した内容の考慮漏れが見つかるなどし、手戻りが発生した。

これら当該プロジェクトで発生した問題について図表1.2-2にまとめる。
続きを読む

派生開発プロセスの工夫(その6)

品質確保に効果のあった派生開発プロセスの工夫(その6)

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
レポートの要約、および背景については第一回を参照ください。

論述対象となるプロジェクト、および開発プロセスの特徴

・組込み系の社会インフラを担うミッションクリティカル・システム。

・信頼性・成熟性について高い品質が求められている。

・稼働直前の総合テストからプロジェクトを引き継ぎ。

・母体システムのドキュメントが不足、母体品質も悪い。

・論述対象の開発プロセスは、主にシステムの欠陥修正(改修)案件に焦点を当てている。

エントリ内容の目次

内容はかなり長くなるため、順を追って述べる。

まずはこのレポートの主旨について述べた後、一般的な派生開発の現状を俯瞰する。その後、派生開発プロセスの1つであるXDDPと、当方の開発プロセスの工夫についての概要を述べる。

時間のない場合は、ここまでの内容(1部 レポート・サマリー)だけでも、本論述の概要はつかめると考える。その次の2部から、詳細なレポート内容を述べていこうと考えている。

もちろん2部から読み始めても構わない。そちらのほうが、概要説明ではなく詳細な論述を行っているため、理解しやすい可能性がある。1部はサマリーのみであり、詳細情報は把握できないだろう。

(1)このレポートの概要と背景について
   ⇒記事はこちら

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒Part1
   ⇒Part2

(3)XDDPでの問題提起と解決策の概要
   ⇒記事はこちら

(4)当方が遭遇した派生開発の問題と解決策の概要
   ⇒記事はこちら

2部 レポートの詳細--------------
(1)派生開発の課題とプロセス改善について
 1.派生開発の課題
   ⇒今回の記事が該当
  
 2.派生開発のプラクティス、プロセス

(2)派生開発プロセスの内容
 序.品質確保に効果的な派生開発プロセス
 1.対処検討プロセス群
 2.開発プロセス群
 3.検証プロセス群

2部 (1)派生開発の課題とプロセス改善について

1.派生開発の課題(part1)

1.1 一般的な派生開発の課題

派生開発とは、母体システムへの機能追加・変更、欠陥是正を行うシステム開発を指す。

母体システムが存在しているという点で、新規開発とは異なる特徴を持っている。派生開発プロセスの1つであるXDDPを提唱する清水吉男氏によると、一般的に考えられる派生開発の特徴には、次のようなものがある。

・図表1.1-1 派生開発の特徴

  1. 別の担当者が開発したソースコードを読む必要がある
  2. ドキュメントが不足していることが多くソースコードの理解が難しい
  3. これまでの改修によって、当初の設計思想が崩れている
  4. 案件ごとの変更量は新規開発に比べて少ないため、開発期間が短い
  5. 変更量が少ないと1人プロジェクトになることがある
  6. 派生開発に適したプロセスが検討されていない(存在しない)

続きを読む