「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>開発基盤の選定ガイドライン]] *目次 [#y2f433b6] #contents *概要 [#f8759b0e] CSFって言葉があるのを最近、知った。 **CSF・KPI・KGI [#ucb5754d] ***重要成功要因 (CSF) [#n0075d3b] -CSF (Critical Success Factor) --主要成功要因 / 重要成功要因 --目標達成のために決定的に重要となる要因 -KSF (key success factor)~ 目標達成のために注力すべきポイント、目的、タスク -KFS (key factor for success) --競争環境において他社との優位性を築くために最も重要な要素。 --KBF:Key Buying Factorに如何に応えるかを検討することで、明確になる。 ***重要業績評価指標 (KPI) [#g7ce1a07] 目標を達成するうえで、~ 「進捗度合いが測れる目安となるような」~ 定量化されている指標 ***ゴール (KGI) [#r1cdf5d2] 目標そのモノとその達成度(定量的な指標)。 **開発基盤のKPIとKGI [#i2bb9ad3] ***開発基盤の役割 (≒ CSF) [#ba94f8df] 開発基盤は、 >ソフトウェア・ライフサイクル上での「Q/C/D/F」向上~ というKGIを達成するための、 KPI -標準化 -共通化・再利用 -柔軟性、保守性 --迅速な障害対応 --バージョンアップ --互換性(compatibility) --移行性(portability) を向上させる -枠組み -緩衝層 として機能する。 -開発支援ツール - マイクロソフト系技術情報 Wiki~ https://techinfoofmicrosofttech.osscons.jp/index.php?%E9%96%8B%E7%99%BA%E6%94%AF%E6%8F%B4%E3%83%84%E3%83%BC%E3%83%AB ***開発基盤とKPI・KGI [#g67d67b5] -開発基盤のKPIとKGIは、以下のような関係にある。 |KGI||>|KPI|h |QCD&br;・Q : Quality(品質/信頼性)&br;・C : Cost(原価低減)&br;・D : Delivery(納期短縮)&br;品質・生産性|⇔|>|標準化の度合い| |~|~|>|共通化・再利用の度合い| |F : Flexibility(柔軟性)&br;保守性|⇔|>|・様々なアーキテクチャへの対応&br;・最新技術のサポート| |~|~|>|・迅速な障害対応| |~|~|>|・バージョンアップの指標の指標| |~|~||・互換性(compatibility)の指標| |~|~||・移行性(portability)の指標| -また「[[コチラ>近年のソフトウェア開発の傾向について。#n551c5fb]]」での検討内容を付加すると、~ 以下のような、KGI・KPI項目も必要と考える。 |KGI||KPI|h |規格/標準|⇔|対応の度合い。| |~|~|・.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.| |サポート力|⇔|サポート技術情報サイト| |~|~|・ページ数&br;・PV数| |ブランド認知|⇔|プロモーション・サイト、配布サイト| |~|~|・ページ数&br;・PV数&br;・DL数| *KGI [#uc62fdb2] アプリケーション開発から、保守までを含めたライフサイクル全体の成功 >= ソフトウェア・ライフサイクル上での「Q/C/D/F」向上。 **品質/信頼性 [#nab41b25] 標準化、共通化・再利用に起因した、 ***Q : Quality(品質/信頼性) [#f6f4a554] -品質の向上 -信頼性の向上 -脆弱性の排除 **生産性 [#h8b74447] 共通化・再利用、提供機能の利用、UXに起因した、生産性の向上による、 ***C : Cost(原価低減) [#ya169de8] ***D : Delivery(納期短縮) [#s90ca841] **柔軟性、保守性 [#b0c26adb] 柔軟性の向上による ***F : Flexibility(柔軟性) [#r4207469] -柔軟性 --様々なアーキテクチャへの対応、最新技術のサポート ---バージョンアップ ---互換性(compatibility) ---移行性(portability) -保守性 --迅速な障害対応 --ライフサイクルの延長 ---バージョンアップ ---互換性(compatibility) ---移行性(portability) **その他 [#oa307b29] ***規格/標準 [#l0332ac1] なるべく多くの規格/標準に対応している。 -規格、デジュリ・スタンダード -デファクト・スタンダード、グローバルス・タンダード ***サポート力 [#y24b51b2] 問題解決に掛った時間 -有償/無償を問わず、何かしらの手段で迅速なサポートが期待できる。 -また、制限事項が少なく、セルフサポートが可能。 ***ブランド認知 [#h4ec648e] ブランドとして認知されている。~ ≒ 全ステークホルダーに対する説得力を持つ。 *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や事例情報の蓄積による ***[[バージョンアップの指標>#w759936a]] [#x07a96c9] ランタイムのバージョンアップに追随可能か? ***[[互換性(compatibility)の指標>#ie2c8234]] [#u3cf244e] ランタイム/ライブラリを別ランタイム/ライブラリに装換可能か? ***[[移行性(portability)の指標>#r45722eb]] [#kd202812] 異なる環境に移行可能か? **その他の指標 [#k4ea9807] ***規格/標準の指標 [#k82d7db9] 規格/標準への対応の度合い。 -.NET --Windows Forms, WPF, UWP, --ASP.NET WebForms, MVC, --ASP.NET WebService, WCF, WebAPI, --ASP.NET Identity, ADO.NET, etc. -OSS --Apache log4net、DotNetZip, Dapper, --PostgreSQL, MySQL, --.NET Standard, .NET Core, --Apache Cordova, etc. -プラットフォーム --Windows, Linux, --Android, iOS, etc. -標準技術 --JavaScript (ECMAScript), --JSON, JWT(JWS/JWE/JWK), --OAuth2/OpenID Connect/Financial API, etc. ***サポート力の指標 [#e3f4a83b] サポート技術情報サイト -ページ数 -PV数 ***ブランド認知の指標 [#cdfe45f9] プロモーション・サイト、配布サイトの -ページ数 -PV数 -DL数 *参考 [#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] ***Q(quality) [#l1b8d5b7] [[「予防コスト(適合コスト)」、「不良コスト」>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?PMP%EF%BC%9A%E8%A8%88%E7%94%BB%20-%20%E8%B3%87%E6%BA%90#sf691857]]の削減が、~ 下記の「[[CD(cost, delivery)>#y33262c4]]」に反映される。 ***CD(cost, delivery) [#y33262c4] 「[[適用効果]]」を参照。 ***F(flexibility) [#u78f9ef6] 「[[柔軟性、保守性>#s10d4be7]]」を参照。 **柔軟性、保守性 [#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,) --.NET Core対応 - OSSコンソーシアム ---.NETがLinux上でも動作する。.NET Core移行とOpen棟梁の.NET Core対応情報~ https://www.osscons.jp/jovxsnjzb-537/#_537 ---.NET Core2.0移行の移行性に関する報告~ https://www.osscons.jp/jofbwaon0-537/ -クラウドに基幹を移行して5年超経過 - 急がば回れ、選ぶなら近道~ http://d.hatena.ne.jp/okachimachiorz/20170813/1502628049 --「クラウド化によって、システム寿命が伸びる。」の中にヒントが。 --「Asakusaの最大のメリットであるポータビリティの高さ」ということで、~ 業務ロジックとAPI(ランタイム・フレームワーク)の緩衝層として機能。 **標準化 [#td5ee039] 品質管理用語。≠ 規格・標準。~ 製品などの形・大きさ・性能・測定方法などを一定の取り決めに従って統一していく活動のこと。 -品質管理の考え方「標準化」とは?~ http://happymakeproject.com/6238/ -標準化(ひょうじゅんか)とは - コトバンク~ https://kotobank.jp/word/%E6%A8%99%E6%BA%96%E5%8C%96-7911 *参考 [#yc16fa69] **ユーザ様 向けに提案型営業をしていて思ったこと。 [#n95a4548] -ユーザ様 向けに提案型営業をしていて思ったこと。 - OSSコンソーシアム~ https://www.osscons.jp/joavnz129-537/#_537 --開発基盤に求められること。~ https://www.slideshare.net/daisukenishino/ss-108172098