「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
Open棟梁の適用効果について説明します。
ソフトウェア・ライフサイクル上で3割程度の効率向上が可能と考えています。
定性的効果 †
ソフトウェア・ライフサイクル上での「Q/C/D/F」向上 †
初期開発だけでなく、その後のソフトウェア・ライフサイクル上でも役に立ちます。
Open棟梁を導入することで、各種、「Q/C/D/F」が向上します。
品質/信頼性 †
Q : Quality(品質/信頼性)
生産性 †
生産性の向上による
- C : Cost(原価低減)
- D : Delivery(納期短縮)
柔軟性 †
柔軟性の向上による
- F : Flexibility
- 様々なアーキテクチャへの対応
- 最新技術のサポート
- 迅速な障害対応
標準化の効果 †
開発手順の一本化 †
- 開発の標準化による生産性・品質・信頼性の向上と、脆弱性の排除。
- 標準化や自動生成により、バラつきの無い手順で開発可能。
- これにより、一括外注、オフショアなどの開発が容易になる。
- カスタマイズ可能レイヤへの共通機能を追加で実装することも可能。
- カスタマイズ & フィッティングで異なる要件の案件を跨いだ横展開も容易。
- 内部統制的なログ機能、国際化対応(多言語化)機能などを追加実装可能。
- 各種トレースログ出力を利用できる
(開発時だけでなく、保守・運用時も利用可能)。
- 開発時のデバッグのし易さ、デバッグ手順の確立。
- 保守・運用時のトラブルシュートのし易さ、
トラブルシュート手順の確立。
オフショア開発 †
標準化、トラブルシュートが容易になるため、
オフショア開発での管理を容易にして
プロジェクトの成功確率を飛躍的に高めます。
これにより、開発工数を大幅に軽減できます。
再利用 †
ノウハウ †
設計パターン †
ライブラリ †
「各種機能」のライブラリを再利用できます。
定量的効果(削減工数) †
少なく見積もっても、
ソフトウェア開発工数のうちの
12.5%前後の工数削減が可能と考えます。
- 標準化
大規模案件になればなるほど大きくなる標準化等の設計工数を削減できる。
以下、内訳についての説明です。
工程別工数比率 †
設計:PG:テスト = 3:4:3
設計工程 †
実績ある設計情報を再利用できます。
また、
のサポート技術情報を再利用できます。
工程別工数比率 †
全工程の30%程度
削減工数 †
最小で2人月の工数削減が可能(使用する機能によっては10人月以上の削減も)。
プログラミング工程 †
- ベースクラス1・2による標準化/共通化、共通部品群の利用により、1リクエストで動作するコードの内、40%程度を共通化が可能。
※40%という数字は共通化などの工数削減施策により、削減された"ステップ数"なので、そのまま削減された"工数"とはなりませんのでご注意下さい。
- また、D層(Dao)自動生成機能を使用することで、テーブル単位のCRUD部品が生成できる。
これにより、更新系処理(テーブル単位)のデータアクセスは全て部品化できる(大量データの追加・更新・削除は別途)。
工程別工数比率 †
全工程の40%程度
※プログラミング工程は、単体テスト工程を含む。
削減工数 †
- 最小で10%の工数削減が可能。
- 大規模案件になればなるほど大きくなるプログラミング工程の工数を削減できる。
テスト工程 †
デバッグログ、アクセストレースログ、SQLトレースログなどを利用しテスト工程の効率向上が可能。
工程別工数比率 †
全工程の30%程度
削減工数 †
- 最小で10%の工数削減が可能。
- 大規模案件になればなるほど大きくなるテスト工程の工数を削減できる。
効果の計算 †
システム開発全体工数に対しての削減効果は
- 設計工数(全体の3割):2人月削減可能、
- 開発・テスト工数(全体の7割):10.0%可能
これは、開発・テスト工程のステップ生産性で、
2.1 KS/人月 → 2.3 KS/人月程度のインパクト
-----------------------------------------------------------
e.g.:40人月の案件を例に取ると、従来と比べ5人月前後の工数削減が可能。
-----------------------------------------------------------
2.0人月 + (40.0人月 * ( 0.4 + 0.3 ) * 0.1) ≒ 5.0人月 (≒12.5%前後)の工数削減。
# 電卓への入力式:
# [削減工数]人月 = 2.0人月 + ([適用前工数]人月 * ( 0.4 + 0.3 ) * 0.1)
-----------------------------------------------------------