AEPソリューション
AEPソリューションとは
AEPソリューションは、チームでのソフトウェア開発において、エラーの混入を予防し、品質の高いソフトウェアの開発を実現するための方法論「Automated Error Prevention (AEP) Methodology」を実践するためのソリューションです。「AEP Methodology」は、5つのアプローチ (1.エラーの特定、2.エラーの原因の特定、3.エラーを作り込んだプロセスの特定、4.類似エラーが作り込まれないような予防策の作成、5.プロセスの管理)をできる限り自動実行することにより、エラーを予防し、高品質なソフトウェアの開発を目指します。チーム開発にAEPソリューションを採用することにより、AEP Methodology によって得られるエラー予防や品質向上が期待できることはもちろん、プロセス管理やプロジェクト管理、品質管理などにも効果を発揮します。
また、AEPソリューションは、CMMやISOの取得、アウトソーシング/オフショア開発の品質管理などにも有効に活用することができます。
また、AEPソリューションは、CMMやISOの取得、アウトソーシング/オフショア開発の品質管理などにも有効に活用することができます。
AEPソリューションの構成(Jtestを例にご紹介します。)
AEPソリューションは、「個々の開発者が使用するJtest Professional Edition」と「テスト設定を統一化するTeam Configuretion Manager(TCM)」 、「開発の進捗やテスト結果、プログラムの信頼性などを確認できる統計情報を提供するGroup Reportiong System(GRS)」、「GRSに必要な統計情報を得るためにナイトリービルドテストを実行するJtest Server Edition 」から成り立っています。
- 個々の開発者が使用するJtest Professional Edition
- Jtest によって、 静的解析と単体テストを実行し、プログラムが問題点やエラーを含んでいないかを確認します。
- テスト設定を統一化するTeam Configuretion Manager(TCM)
- 個々の開発者が使用するJtestやナイトリービルドテストを実行するJtest Server Edition のテスト設定(静的解析で使用するルールやテストの範囲、テスト内容など)を統一化し、チーム全体のテストの品質を同一にします。TCMを使用することにより、開発者ごとのテストのばらつきを防止し、すべてのコードに対して定められた品質のテストを実施できるようになります。
- 開発の進捗やテスト結果、プログラムの信頼性などを確認できる統計情報を提供するGroup Reportiong System(GRS)
- ナイトリービルドテストによって得られたテスト結果と構成管理ツールへのチェックイン状況から、開発の進捗状況やプログラムの信頼性を把握できる80種類の統計情報をHTML形式でレポートします。
| GRSのレポート | |
| チェックインコード数の推移 | 静的解析結果 |
| 単体テスト結果 | エラー数の推移 |
| テストカバレッジ(網羅率)分析 | 信頼性ファクター |
| XmRチャート | など |
GRSは、開発者/設計者/管理者といった業務の種類にあわせたレポートを提供します。設計者/管理者用のレポートでは、チーム全体のプログラムの信頼性や開発の進捗に関する統計情報が参照できるだけでなく、グループや開発者個人のレポートにブレークダウンし、詳細な情報を参照することも可能です。
GRSによる各種レポートから、プロジェクトの進捗状況やテストの効果、プログラムの信頼性の推移といった、プロセスの改善や開発スケジュールの調整、人員の配置などのプロジェクト管理に有益な情報が得られます。
- GRSに必要な統計情報を得るためにナイトリービルドテストを実行するJtest Server Edition
- プログラムの品質を確認するためと統計情報を収集するため、構成管理ツールにチェックインされたすべてのコードに対して、自動的にテストを実行します。
AEPソリューションのシステム構成の例
AEPソリューションを採用するメリット(Jtestを例にご紹介します。)
- 開発コストと開発時間に対する効果
- エラーは発見される時期が遅くなるほど、そのデバッグ作業にかかる時間は長くなり、それは、人件費として開発コストを圧迫し、さらに、納期遅延を引き起こす可能性もあります。開発コストの削減や納期遅延の防止は、どうすればよいのでしょうか?エラーを開発後期まで持ち越さないこと、言い換えれば、開発の早い段階、特にコーディング時において、できる限りのエラーを除去することで、大幅に改善できるのではないでしょうか?
AEPソリューション は、Jtestによる静的解析やユニットテストを徹底的に実施し、かつ、それを管理することにより、コーディング時に実施できるエラーの除去を確実に行うことを可能にします。 Jtestを導入しても、個々の開発者の使用状況にばらつきがあったり、テスト結果のレビューを行なわなかったりすれば、その効果を十分得ることはできません。しかしながら、Jtestの使用の徹底を人手で管理するのは、コスト面やその方法から限界があります。 AEPソリューション は、Jtestのテスト結果を毎日自動的にレポート化し、管理者がいつでもそのレポートを参照できる仕組みを構築することで、開発者に対してJtestの使用の徹底を促します。また、AEPソリューション は、個々の開発者のJtestのテスト設定を統一する仕組みも提供するので、個々の開発者が行うテストの品質のばらつきを防止します。
AEPソリューション を採用することによって、開発チーム全体のコーディング時でのテストの実行を徹底することが可能となり、プログラムの品質が大幅に向上します。 プログラムが高品質であるため、その後のテスト・デバッグ作業における手戻り作業が減ることにより、テスト・デバッグ時間の短縮が可能になります。 開発コストの50%を占めると言われているテスト・デバッグ作業時間が短縮できるので、開発コスト全体の削減と納期遅延の防止に繋がります。
- プロジェクト管理に対する効果
- AEPソリューション は、ナイトリービルドテストによって、毎日ビルドとテストを実行し、その結果を保存しています。 この毎日のテスト結果から、さまざまな統計解析の時系列データもレポートします。 これらの統計解析結果は、プログラムの品質管理はもちろんのこと、プロジェクトの進捗状況や遅延しているチーム/開発者、品質が向上していないチーム/開発者なども知ることができるので、品質を考慮したプロジェクト管理を行う上でひとつの指標としても使用できます。
- アウトソーシングやオフショア開発に対する効果
- AEPソリューション のナイトリービルドテストとGRS は構成管理ツールにチェックインしたコードを対象にテストを実行し、統計解析レポートを作成します。 協力会社へのアウトソーシングやオフショアの開発でも、自社内の構成管理ツールにチェックインさせることができれば、ナイトリービルドテストを実行し、プログラムの品質を常に監視することができます。 AEPソリューション によって、開発の早い段階から品質の確認が行えるので、開発後期での手戻り作業や納品後のプログラムの改修を少なくなります。