ブログ

サイト管理人のブログです。
このエントリーをはてなブックマークに追加

ブログ一覧

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

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

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

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

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

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

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

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

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

エントリ内容の目次

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

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

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

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

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

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

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

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

2部 レポートの詳細--------------
(5)レポート内容

(4)当方が遭遇した派生開発の問題と解決策の概要

前回は、派生開発プロセスの1つであるXDDPの概要を見てきた。

今回は当方が遭遇した派生開発プロジェクトにおける問題点と対処策の概要を見ていく。

ここで述べる内容は、まだXDDPの存在を知らなかった時点で行ったものである。

1.当該派生開発プロジェクトの特徴

以下のスライドでは、対象となる派生開発プロジェクトの概要と、引き継いだ母体システムの品質が悪い状況を述べている。

母体システムはドキュメント密度、レビュー密度、テスト項目密度などの品質管理指標が軒並み低かった。

また市販の静的解析ツールでソースコードの複雑度を測定したところ「保守不能」レベルの複雑度であることが判明した。

hasei-05-sl04.png
(さらに…)

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

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

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

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

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

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

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

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

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

エントリ内容の目次

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

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

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

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

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

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

(3)XDDPでの問題提起と解決策の概要
   ⇒本記事が該当

(4)当方が遭遇した派生開発の問題と解決策の概要

2部 レポートの詳細--------------
(5)レポート内容

(3)XDDPでの問題提起と解決策の概要

前回までに派生開発の技術面、プロジェクト面の特徴を見てきた。
その結果、開発期間が短い、品質が新規開発と比較して悪い、といったような状況が確認できた。

今回は、派生開発の1つであるXDDPでは、どのような問題点を認識し、どのような解決策を提案しているのかを概観する。なおXDDPの内容については当方の理解の範囲内で概説するため、詳細は異なっている部分もあると思う。この点は書籍等で確認をして頂きたいと考える。

※スライドをいくつか見ながら概説をする。スライドをまとめたものは、本エントリの末尾からダウンロード可能。

1.XDDPの概要

清水氏が提唱しているXDDPの概要。派生開発推進協議会のサイトを参照してもらえると、より詳細な情報が得られる。
派生開発推進協議会はこちらから

hasei-04-01.png

2.XDDPで想定する問題点

XDDPで想定する、現状の派生開発の問題・課題をリストアップする。

hasei-04-02.png

結果的に母体システムを十分に理解することができないため、母体への影響箇所の把握が漏れてしまう、ということが品質不良の根本原因だとしている。

次に、XDDPで想定している現状の派生開発プロセスには何があるのかを見ていこう。
(さらに…)

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

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

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

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

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

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

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

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

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

エントリ内容の目次

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

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

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

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

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

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

(3)XDDPでの問題提起と解決策の概要

(4)当方が遭遇した派生開発の問題と解決策の概要

2部 レポートの詳細--------------
(5)レポート内容

(2)派生開発を巡る状況(part2)

前回は、派生開発がプロジェクト全体でどのくらいを占めているのか、また派生開発の開発期間についての特徴を、新規開発プロジェクトと比較する形で見てきた。

今回は、派生開発プロジェクトの品質や生産性の傾向についても見ていき、派生開発の技術的な特徴が、どのような形でプロジェクトの特徴として表出しているのかを探っていく。

4.派生開発は品質が悪いのか?

派生開発は新規開発と比べると様々な制約があるため、品質確保が難しい、という特徴が考えられる。

よって、新規開発よりも不具合密度が高いのではないかと想定される。これを確認するために、IPAのソフトウェア開発データ白書2012-2013を参照する。その結果は次のようになっている。
(さらに…)

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

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

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

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

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

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

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

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

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

エントリ内容の目次

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

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

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

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

(1)このレポートの概要と背景について
   ⇒連載記事その1

1部 レポート・サマリー------------
(2)派生開発を巡る現状
   ⇒本記事が該当

(3)XDDPでの問題提起と解決策の概要

(4)当方が遭遇した派生開発の問題と解決策の概要

2部 レポートの詳細--------------
(5)レポート内容

(2)派生開発を巡る状況(part1)

前述のように、派生開発とは、母体システムへの機能追加・変更、欠陥是正の対応を行う開発・保守プロジェクトのことである。ただしそれだけを言われても、派生開発には新規開発と比べて、どのような特徴があるのかを想定しにくい。

そこで今回は、派生開発の特徴を外観したいと考えている。新規開発にはないプロジェクトの特徴や、技術的な特徴などを参考文献から考察してみたい。

1.派生開発の特徴とは何か?

まず派生開発を理解したいのであれば、派生開発プロセスの1つであるXDDPを提唱する清水氏の著書を紐解くことが定番であろう。

清水氏の書籍(「派生開発」を成功させるプロセス改善の技術と極意)には、様々な派生開発が失敗する理由が述べられている。

派生開発が失敗することをリスクと考えた場合、これらリスクのリスク要因(リスクが存在する原因)を探っていくならば、次の要因にたどり着くのではないか。そしてこのリスク要因こそが、派生開発の主な特徴(制約と呼んでもよい)だと考える。
(さらに…)

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

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

掲題の派生開発プロセスに関する、シリーズ・エントリです。
派生開発の設計品質確保について問題意識を持たれている方は、ご一読頂けると幸いです。
以下に要約を示しますので、ご興味があればどうぞ。

本シリーズ・エントリの要約

システム開発プロジェクトは、その約4割もが派生開発プロジェクトである(*1)。派生開発とは母体システムへの機能追加・変更、欠陥是正の対応を行う開発・保守プロジェクトのことである。

派生開発は新規開発とは異なる特徴がある。例えば、母体システムを全て理解する時間がないことや、度重なる改修でソースコードが保守しにくくなっていること、変更によるデグレードを考慮しなければならないこと、などがある。

こうした派生開発の特徴に応じた開発プロセスを採用しないと、品質確保を効率的に行うことが難しい。実際にソフトウェア開発企業では、ソフトウェア品質不具合に起因する品質問題の再発防止策については、「ソフトウェア開発プロセスの見直し」が重要であると認識している(*2)。

このように、派生開発が増加している一方、派生開発の特徴に対応した開発プロセスが浸透していないことが、品質確保の上で問題視されている。

我々は派生開発の実地経験を基に、開発プロセスの工夫を試みた。その結果、設計品質の確保に効果があったと考えられる4つのプラクティス(慣行)をプロセスとして汎化し整理した。

プラクティスは、

  1. ドキュメントのトレーサビリティ強化
  2. フロントローディング強化
  3. ドキュメントのアカウンタビリティ強化
  4. 超上流でのスコープ・マネジメント強化

の4つである。

この4つのプラクティスを適用することで、いくつかの派生開発特有の課題を解決できると考えている。ただし実地経験を基に作成したプロセスではあるが、まだ実証が充分ではない。この点は今後の課題とし、他プロジェクトへの適用を通じて検証を継続していきたい。

内容についてご批評を頂ければ幸甚である。

(*1)独立行政法人 情報処理推進機構, 2012年度「ソフトウェア産業の実態把握に関する調査」調査報告書(2013/04/26)のP53/P123 Q2-3 2011会計年度のソフトウェア開発プロジェクトの内訳 を参照。
(*2) 独立行政法人 情報処理推進機構, 2012年度「ソフトウェア産業の実態把握に関する調査」調査報告書(2013/04/26)のP79/P150  Q5-5 ソフトウェア不具合に起因する品質問題の再発防止策 を参照。

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

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

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

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

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

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

エントリ内容の目次

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

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

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

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

(1)このレポートの概要と背景について
   ⇒本記事が該当

1部 レポート・サマリー------------
(2)派生開発を巡る現状
(3)XDDPでの問題提起と解決策の概要
(4)当方が遭遇した派生開発の問題と解決策の概要

2部 レポートの詳細--------------
(5)レポート内容

(さらに…)