« ソフトウエア開発改革のアプローチ~その一(自動化とMDA) | トップページ | ソフトウエア開発改革のアプローチ~その三:自動化とMDA、ATG、SATソルバ) »

2008年12月22日 (月)

ソフトウエア開発改革のアプローチ~そのニ:自動化とMDA、ATG、SATソルバ)

(ソフトウエア開発改革のアプローチ~その一:自動化とMDA)の続き

MDAについてはある程度開発現場でも認知が高くなりつつあるのだが、もう一つの検証作業の自動化という点についてはまだまり知られていないようである。

検証作業への自動化は、形式検証と形式記述の分野からの応用である。
形式検証と形式記述の分野からはいろいろ試みられているが、今日は下記について考えてみる。

  • ATG(Automatic Test Generation)によるテストの完全自動化
  • SATソルバによるコード解析

ATGについては、これまでブログや講演で説明して来たので簡単に済ませる。

ATGは、エレクトロニクスのなどですでに先行的に実用されてきた技術で、最近はソフトウエア分野で適用できるようになってきた。

ATG自体は特に特定のアルゴリズムや手法の名称でなく、テストケースを自動生成し、テストを自動実行するアプローチの総称となっている。

ATGを利用するには開発環境の利用が前提になる。
UMLで作成した詳細モデルから、テストコードを100%生成し、テスト実行も自動化されるものである。テストのカバレッジも自動で計測され、MC/DCを満たすことが可能となっている。

これまでに、テストケースのスケルトンを作成する開発環境は多数存在したが、テストコードを100%生成しテスト実行も自動化されるものはまだ少ない。

ATGを利用するには詳細設計がしっかり出来ていないといけない。MDAを実施できるくらいにモデルが詳細に設計がされていないと難しい。
しかし、逆に言えば、MDAを実践している企業には容易にATGの成果を利用できることになるために、企業の明暗が明確に出る結果となる。

これからMDAとATGを導入して品質と生産性を達成したいと考えている企業の多は、直ぐに導入することが難しいだろう。

要件定義から設計まで確実に実施している企業でないと不可能であるからだ。
そのために、MDAとATGを導入して成果をだすためには、並行してプロセス改善活動が必要となる。

プロセス改善にも一言言及しておこう。
プロセス改善と言うのは、経営ゴールや製品戦略を達成するために、現在の開発や生産から別の方法に移行することが不可欠だと判断される場合に実施することが多い。

もちろん、プロセス改善は始まりと終わりがない継続的な活動であるが、目的が明確になっていない改善活動がしてはならない

つまり、技術革新をするためにプロセス改善を推進する訳けだ。逆に言えば、技術革新が伴わないプロセス改善は意味がない

品質と生産性向上に対して具体的かつ客観的な視点から効果を期待できる技術革新を盛り込まずプロセス改善しても意味がない言う訳だ。

残念ながらCMMIで成熟度レベル4や5を達成しても品質と生産性の向上や他社への競争の源泉が存在していない企業が多数みられる。CMMIの成熟度達成が目的になった結果である。あるいは、プロセス改善の本質を理解せず実施してしまっているからだ。
心当たりのある企業はプロセス改善活動に対し、是非考え直してみて欲しい。

誤ったプロセス改善をしないためには、メーカーでプロセス改善をする場合に、専門技術者を中心にプロセス改善体制を編成し推進することが最重要となる。

その上でMDAとATGなど先端技術を導入して成果をだすための開発プロセスや開発環境を利用した開発手法の確立を進めるべきである。もちろん、MDAとATGの採用が、自分たちの製本開発に効果的であるかという調査と判断は事前にしっかり必要である。

CMMIによる改善活動は大変効果があるが、実施方法が間違ってしまうと何もならないと言うことを再度認識して欲しい。

(ソフトウエア開発改革のアプローチ~その三)へ続く。

=HSCI Takanari Hashimoto(URL:http://hsc-i.com/)=

|

« ソフトウエア開発改革のアプローチ~その一(自動化とMDA) | トップページ | ソフトウエア開発改革のアプローチ~その三:自動化とMDA、ATG、SATソルバ) »

「パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/112989/43494729

この記事へのトラックバック一覧です: ソフトウエア開発改革のアプローチ~そのニ:自動化とMDA、ATG、SATソルバ):

« ソフトウエア開発改革のアプローチ~その一(自動化とMDA) | トップページ | ソフトウエア開発改革のアプローチ~その三:自動化とMDA、ATG、SATソルバ) »