「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>開発基盤の選定ガイドライン]] *目次 [#y2f433b6] #contents *概要 [#f8759b0e] **KPI [#g7ce1a07] -業績評価指標(Key Performance Indicators)という単語 -目標を達成するうえで、進捗度合いが測れる目安となるような定量化されている指標 **KGI [#r1cdf5d2] **開発基盤のKPIとKGI [#i2bb9ad3] ***開発基盤の役割 [#ba94f8df] 開発基盤は、 >ソフトウェア・ライフサイクル上での「Q/C/D/F」向上~ というKGIを達成するための、 KPI -標準化 -共通化・再利用 -保守性 --迅速な障害対応 --バージョンアップ ---互換性(compatibility) ---移行性(portability) を向上させる -枠組み -緩衝層 として機能する。 ***開発基盤とKPI・KGIの関係 [#g67d67b5] -開発基盤のKPIとKGIは、以下のような関係にある。 |KGI||KPI|h |QCD&br;・Q : Quality(品質/信頼性)&br;・C : Cost(原価低減)&br;・D : Delivery(納期短縮)&br;品質・生産性|⇔|標準化の度合い| |~|~|共通化・再利用の度合い| |F : Flexibility(柔軟性)&br;保守性|⇔|迅速な障害対応| |~|~|バージョンアップの指標の指標| |~|~|・互換性(compatibility)の指標| |~|~|・移行性(portability)の指標| -また「[[コチラ>近年のソフトウェア開発の傾向について。#n551c5fb]]」での検討内容を付加すると、~ 以下のような、KGI・KPI項目も必要と考える。 |KGI||KPI|h |ブランド認知|⇔|プロモーション・サイト| |~|~|・ページ数&br;・PV| |サポート力|⇔|サポート技術情報| |~|~|・ページ数&br;・PV| |標準技術|⇔|対応の度合い。| |~|~|・.NET&br; ・Windows Forms, WPF, UWP,&br; ・ASP.NET WebForms, MVC,&br; ・ASP.NET WebService, WCF, WebAPI,&br; ・ASP.NET Identity, ADO.NET, etc.&br;・OSS&br; ・Apache log4net、DotNetZip, Dapper,&br; ・PostgreSQL, MySQL,&br; ・.NET Standard, .NET Core,&br; ・Apache Cordova, etc.&br;・プラットフォーム&br; ・Windows, Linux,&br; ・Android, iOS, etc.&br;・標準技術&br; ・JavaScript (ECMAScript),&br; ・JSON, JWT(JWS/JWE/JWK),&br; ・OAuth2/OpenID Connect/Financial API, etc.| *KGI [#uc62fdb2] アプリケーション開発から、保守までを含めたライフサイクル全体の成功 >= ソフトウェア・ライフサイクル上での「Q/C/D/F」向上。 **品質/信頼性 [#nab41b25] 標準化、共通化・再利用による、 ***Q : Quality(品質/信頼性) [#f6f4a554] -品質 -信頼性 -脆弱性 **生産性 [#h8b74447] 生産性の向上による ***C : Cost(原価低減) [#ya169de8] ***D : Delivery(納期短縮) [#s90ca841] **柔軟性 [#b0c26adb] 柔軟性の向上による ***F : Flexibility(柔軟性) [#r4207469] -様々なアーキテクチャへの対応、最新技術のサポート -保守性 --迅速な障害対応 --バージョンアップ ---移行性(portability) ---互換性(compatibility) *KPI [#d7eb2fc1] 以下を指標として利用できます。 **標準化の指標 [#fc902b6c] ***標準化の度合い [#nada81d0] -業務設計だけで如何にブレずに実装に落とし込めるか。 -開発要員によって、モジュール設計や処理方式が --異なる場合、標準化の効果は弱いと言えます。 --同じに慣れば、標準化の度合いは弱いと言えます。 ***標準化の効果 [#ief5c1e1] 大規模案件になればなるほど大きくなる標準化等の設計工数を削減できます。 -開発手順の一本化 --開発の標準化による生産性・品質・信頼性の向上と、脆弱性の排除。 --標準化や自動生成により、バラつきの無い手順で開発可能。 --標準化により、共通化・再利用性が高まる。~ 例えば、[[カスタマイズ可能レイヤ>ベースクラス2]]へ、~ 共通機能を追加・カスタマイズすることも可能になる。 ---カスタマイズ & フィッティングで異なる要件の案件を跨いだ横展開も容易。 ---内部統制的なログ機能、国際化対応(多言語化)機能などを追加実装可能。 -標準化によりトラブルが減る、トラブルシュートが容易になる。 --標準化によりトラブルが減る。 --標準的に実装される各種トレースログ出力を利用できる~ (開発時だけでなく、保守・運用時も利用可能)。 ---開発時のデバッグのし易さ、デバッグ手順の確立。 ---保守・運用時のトラブルシュートのし易さ、~ ---トラブルシュート手順の確立。 -一括外注、オフショア~ 標準化により、一括外注、オフショアなどの開発が容易になる。 --オフショア開発での管理を容易にして~ プロジェクトの成功確率を飛躍的に高めます。 **共通化・再利用の指標 [#yfb38254] ***対象 [#d7e881c4] -形式知 --「[[プロジェクト・テンプレート]]」のアーキテクチャごとのデザイン・パターンを再利用できる。 --「[[当サイト>https://opentouryo.osscons.jp/index.php?FrontPage]]」と「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」のサポート技術情報を再利用できる。 -暗黙知 --開発の暗黙知を「[[プロジェクト・テンプレート]]」に蓄積可能。 --いちいち、マニュアルを参照しなくても理解できる ---APIの利用方法 ---主要な共通部品の存在 ---APIを組み立てテンプレート化する手順 -ツール・ライブラリ~ 「[[各種機能>機能一覧]]」のツール・ライブラリを再利用できる。 ***共通化・再利用の度合い [#v6ccb62c] -共通部品の規模 --用意されている共通部品の規模。 --利用している共通部品の規模。 -1つのオンライン処理が動作する中で処理される~ ユーザコードと共通化コードのステップ数の比率 ***共通化・再利用の効果 [#g75bef0d] 設計と実装の共通化・再利用による工数削減が可能 **柔軟性、保守性 [#y2308a82] ***迅速な障害対応 [#q5892806] -きめ細やかなログ出力 -FAQや事例情報の蓄積 ***バージョンアップの指標 [#x07a96c9] ランタイムのバージョンアップに追随可能か? ***互換性(compatibility)の指標 [#u3cf244e] ランタイムを別ランタイムに装換可能か? ***移行性(portability)の指標 [#kd202812] 異なる環境に移行可能か? *参考 [#p8032896] 参考になるリンク先。 **KPIとKGI [#sefb81be] -【テンプレートあり】KPI・KGIの違いとは〜~ 目標達成に欠かせない2大項目について徹底解説|ferret [フェレット]~ https://ferret-plus.com/1868 ***KPI [#q4523e36] -重要業績評価指標 - Wikipedia~ https://ja.wikipedia.org/wiki/%E9%87%8D%E8%A6%81%E6%A5%AD%E7%B8%BE%E8%A9%95%E4%BE%A1%E6%8C%87%E6%A8%99 --総合設備効率 - Wikipedia~ https://ja.wikipedia.org/wiki/%E7%B7%8F%E5%90%88%E8%A8%AD%E5%82%99%E5%8A%B9%E7%8E%87 ***KGI [#t03a3eee] **QCDF [#z0073468] ***QCD(quality, cost, delivery) [#y33262c4] 「[[適用効果]]」を参照。 ***F(flexibility) [#u78f9ef6] 下記の「[[保守性>#s10d4be7]]」を参照。 **標準化 [#td5ee039] 品質管理用語らしいです。 -品質管理の考え方「標準化」とは?~ http://happymakeproject.com/6238/ -標準化(ひょうじゅんか)とは - コトバンク~ https://kotobank.jp/word/%E6%A8%99%E6%BA%96%E5%8C%96-7911 **保守性 [#s10d4be7] ***バージョンアップ [#w759936a] -[[バージョンアップ対応]] ***互換性(compatibility) [#ie2c8234] -基本的に、API([[ランタイム・フレームワーク]])層は、~ 得手・不得手があるため、コンパチブルであることが重要と考えています。 --JavaScriptフレームワーク選定の議論 - Qiita~ http://qiita.com/azu/items/2921f62127b8d3a1aa03 --Hibernateはどのようにして私のキャリアを破滅寸前にしたか | To Be Decided~ https://www.kaitoy.xyz/2017/02/23/how-hibernate-ruined-my-career/ --VS系コンテンツ - マイクロソフト系技術情報 Wiki~ https://techinfoofmicrosofttech.osscons.jp/index.php?VS%E7%B3%BB%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84 ---Windows Form vs WPF ---ASP.NET Web Forms vs ASP.NET MVC ---ADO.NET vs Entity Framework ---ASP.NET Forms認証 vs ASP.NET Identity -Open棟梁も、UIサブシステムや、データアクセスがコンパチブルになっています。 --UIサブシステム~ [[通信制御機能]] --データアクセス ---[[クロスDB対応>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%82%AF%E3%83%AD%E3%82%B9DB%E5%AF%BE%E5%BF%9C]] ---[[ADO.NET vs Entity Framework>https://techinfoofmicrosofttech.osscons.jp/index.php?ADO.NET%20vs%20Entity%20Framework]] ***移行性(portability) [#r45722eb] -事例 : テンプレートをPaaS化、その後、ゲートキーパーデザインパターンに適合させた事例。 --Open棟梁概要説明 v02-00 > 自動車走行ログの集配信システムの例~ https://www.slideshare.net/daisukenishino/open-01-50-40474003/17 #ref(image1.png,left,nowrap,) --オープンアーキテクチャ,オープンソースソフトウェア時代の~ 標準化フレームワークを使用したプロジェクトマネジメント~ 新技術導入時のリスクヘッジの具体事例~ https://www.slideshare.net/daisukenishino/ss-66717458/19 #ref(image2.png,left,nowrap,) -クラウドに基幹を移行して5年超経過 - 急がば回れ、選ぶなら近道~ http://d.hatena.ne.jp/okachimachiorz/20170813/1502628049 --「クラウド化によって、システム寿命が伸びる。」の中にヒントが。 --「Asakusaの最大のメリットであるポータビリティの高さ」ということで、~ 業務ロジックとAPI(ランタイム・フレームワーク)の緩衝層として機能。