UMLの差分開発(派生開発)への適用
これは、もともとは個人的に取り組みたいと考えていたテーマでしたが、某分科会の来年度のテーマとして提案したいと考えているものです。
背景(組み込み系はほとんど差分開発)
一般に開発プロセスは新規開発を対象にまとめられています。
私の本業である組み込みソフトウェア開発では、新規開発はあまりなく、ほとんどは差分開発(※)だったりします。
これまでは、従来の手続き型で開発していたものをオブジェクト指向で作り直すことで部分的に(あるいは全部)新規開発として扱うことが出来ました。
ところが、一度オブジェクト指向でソフトウェアを構築すると、待っているのは従来どおりの差分開発です。ベースのソフトウェアからの変更(・追加・削除)を要求として、ソフトウェアを変更(・追加・削除)する開発になります。
解決する手段は?
もしかしたら、反復型の開発プロセスの延長として扱うことも可能かもしれませんが、より「要求の差分」にフォーカスしたトレーサビリティ、分析、設計が必要なのではないかと考えています。
プロダクトラインソフトウェア開発(PLSE)やソフトウェアファクトリー(Software Factory)のような事業レベルでの取り組みももちろん考えられますが、小規模で多様な製品バリエーションの展開を考えた場合、コア資産を誰かが維持・管理することが難しいケースも多々あるように感じています。
今回は、後者の(PLSEやSoftware Factoryを適用する程の事業規模ではない)ケースでの適用について考えてみたいと思っています。
差分開発に特化したプロセス
簡単に云うと、『失敗しない派生開発』(「Software People Vol.8」)のように差分開発に特化した開発プロセスのオブジェクト指向版ということになるでしょうか。
言い換えると、オブジェクト指向で開発されたソフトウェアをベースにした「差分開発」のプロセスです。
某分科会のテーマとして
もし、すでに成果のあるテーマでなければ、某分科会の来年度の(あるいは適切なコミュニティでの)テーマとして取り組みたいと考えています。
# あくまで私が勝手に考えているというレベルですが・・・。
興味のある人はいらっしゃいますか?
どんなことでもコメント下さい。宜しくお願いします。
【補足】
あわせてこのテーマで一緒に検討してみたい方もいらっしゃるようでしたら教えてくださいませ。
# この日記へのコメントあるいはメッセでお願いします。
長文乱筆、失礼しました。