派生開発プロセスの工夫(その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)レポート内容

続きを読む

情報システム開発の設計レビュー観点

今回は当方メルマガ内の記事を転記します。
メルマガ⇒2013年向け情報処理試験プロマネ完全対策

情報システム開発の設計レビュー観点

皆様は、システム開発におけるレビュー(特に設計工程)では、どのようなポイントでチェックを行っていますでしょうか。
 
レビューの観点やチェックポイントというのは、しっかりと文書化されている組織もあると思いますが、それでも多くの部分は「属人化」されているような気がしています。
 
実際、経験や知識によって勘が働くことが重要な分野であると思っています。
 
多くの人は自分がレビューイの立場で、これまでに様々なレビューアから指摘された中で、繰り返し指摘されたもの、視点の高さを感じた指摘内容、納得した指摘内容などなどを、自分の引き出しとしてしまっておき、それをレビュー時に問う、といったことが多いのかと思います。
 
 
私の考える、最も重要で汎用的なレビュー時のチェックポイントは3つあります。
続きを読む

情報システムの派生開発プロセス

今回は当方メルマガ内の記事を転記します。
メルマガ⇒2013年向け情報処理試験プロマネ完全対策

派生開発プロセス

最近業務で適用を試しているのがXDDPです。
 
XDDPとは派生開発プロセスの1つのことで、清水 吉男氏が提唱したものです。
 
まず派生開発についてですが、母体となるシステムが存在しており、母体に対する仕様変更や欠陥修正などの変更を加えるシステム開発のことをいいます。派生開発は、新規開発と比較していくつかの特徴があります。
 
続きを読む

情報サービス産業の今を俯瞰する(その10)

情報サービス産業の今を俯瞰する(その10)

上記テーマのシリーズエントリです。

内容としては、情報サービス産業の現状を理解し、また中小派遣型受託開発ソフトハウスの課題や解決策を探るべく、ちょろちょろと以前に書いていたメルマガがベースになっています。

特定の企業だけでなく多くの中小派遣型受託開発ソフトハウスに当てはまる内容かと思っています。
ぜひご批評を頂ければと。
それではどうぞ。

●中小ソフト開発会社の生き残り策

今回は、中小ソフト開発会社の生き残り策というテーマで、ある書籍に記載されていた内容があったので、参考までにご紹介したいと思います。
 
 書籍情報は以下です。
 
 ・IT産業 再生の針路 破壊的イノベーションの時代へ
  日経BP社編集委員 田中克己(著),日経BP出版センター,2008年

先日当方が情報展開した、以下の記事を書いている方の書籍です。
 
 ・受託ソフト開発会社は、もう終わり!(出所:ITPro)
   http://itpro.nikkeibp.co.jp/article/Watcher/20120530/399413/

どんな内容なのか早速見ていきたいと思います。
続きを読む

情報サービス産業の今を俯瞰する(その9)

情報サービス産業の今を俯瞰する(その9)

上記テーマのシリーズエントリです。

内容としては、情報サービス産業の現状を理解し、また中小派遣型受託開発ソフトハウスの課題や解決策を探るべく、ちょろちょろと以前に書いていたメルマガがベースになっています。

特定の企業だけでなく多くの中小派遣型受託開発ソフトハウスに当てはまる内容かと思っています。
ぜひご批評を頂ければと。
それではどうぞ。

現状の情報サービス産業についての情報展開のVol.9です。

自分たちの置かれている産業の実態、変わりつつある時流を感じてもらえればと思います。

●大手ベンダの抱える課題への対応(その2)

1.前回までの振り返り

前回は、大手ベンダの抱える問題の解決への方向性として、業界構造の転換の流れを見ました。
 
確かに我々の経営課題である、知識集約や高付加価値化にばっちりマッチしており、転換へのステップも普遍的な内容であるように思います。
 
 
今は、この業界構造変化へのステップ(前回資料の6ページ)を用いて、我々が具体的に経営課題への取組みを行うとしたとき、どのようなフレームワークで考えればよいのかを確認していきます。

前回のエントリから資料をダウンロードして参照してください。

 
 
これによって、我々が経営課題解決のための具体的な内容を検討できるようになることが目的です。
 
 
 

 
続きを読む

情報サービス産業の今を俯瞰する(その8)

情報サービス産業の今を俯瞰する(その8)

しばらくはこのテーマでシリーズものをエントリをします。
また少しシリーズものをエントリします。

内容としては、情報サービス産業の現状を理解し、また中小派遣型受託開発ソフトハウスの課題や解決策を探るべく、ちょろちょろと以前に書いていたメルマガがベースになっています。

特定の企業だけでなく多くの中小派遣型受託開発ソフトハウスに当てはまる内容かと思っています。
ぜひご批評を頂ければと。
それではどうぞ。

現状の情報サービス産業についての情報展開のVol.8です。

自分たちの置かれている産業の実態、変わりつつある時流を感じてもらえればと思います。

●大手ベンダの抱える課題への対応

1.前回までの振り返り

前回は、大手ベンダから見たこの産業の問題点を見てきました。その結果、スケールの大きさでは異なるものの、本質的には我々中小ベンダの抱える問題点とほぼ同じテーマであることがわかりました。
 
我々は問題を乗り越えるための経営課題として、「プロダクト、サービスの高付加価値化」「労働集約から知識集約への転換」を挙げましたが、大手ベンダは問題を乗り越えるためにどのような課題を挙げているのでしょうか。
 
また、そこに課題解決のヒントを探る事はできないでしょうか。
 

今回はそこを見ていきます。
 

 
続きを読む