(57)【要約】      （修正有）【課題】スケーラブルでカスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルを提供する。【解決手段】アジャイルデリバリモデルを生成する、コンピュータインプリメント方法であって、事前に構成したメタモデルを選択し、制約に基づいて、ロケーションに依存しないモデルを生成する。コンプライアンスインジケータは、アジャイル原理への、コンプライアンスの度合いを提供する。モデルを、成功裏にインプリメントされたアジャイルモデルの知識ベースを利用して、トレーニングされたマシンラーニングモデルを用いて評価する。【選択図】図４Ａ
2020087478.tif 000002
【特許請求の範囲】
【請求項１】
スケーラブルで、カスタマイズ可能な、ロケーションに依存しないアジャイル配信モデル（２００）を生成するプロセッサインプリメント方法において、
１つまたは複数のハードウェアプロセッサによって、１つまたは複数のアジャイルプロジェクトアカウントに関するデータ受信するステップ（２０２）であって、
前記１つまたは複数の、アジャイルプロジェクトアカウントに関する、ヘッダ属性のワンタイムシーディング（２０２ａ）のステップと、
前記１つまたは複数の、アジャイルプロジェクトアカウントに関係する、性能パラメータの定期的更新を受信するステップ（２０２ｂ）と、
を備えた、受信するステップ（２０２）と、
前記１つまたは複数のハードウェアプロセッサにより、イニシャル・マスタ・データ・セットアップ、および受信された前記定期的更新に関する、前記１つまたは複数のアジャイルプロジェクトアカウントを、知識リポジトリに登録するステップ（２０４）と、
前記１つまたは複数のハードウェアプロセッサにより、前記知識リポジトリを、前記受信されたデータで、更新するステップ（２０６）であって、
前記受信したデータを、非同期に処理するステップであって、前記処理は、その中に含まれる、キーと価値のペアを解析することを含み、前記キーは、フィールドであり、前記価値は、ヘッダ属性および性能パラメータである、処理ステップ（２０６ａ）と、
前記知識リポジトリを更新するために、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して送信する前に、前記価値を検証するステップ（２０６ｂ）と、
前記検証された価値に基づいて、クエリ言語ステートメントのセットを、動的に構築するステップ（２０６ｃ）と、
前記クエリ言語ステートメントのセットを実行して、前記知識リポジトリを、前記検証された価値で更新するステップ（２０６ｄ）と、
を備えた、更新するステップ（２０６）と、
前記１つまたは複数のハードウェアプロセッサによって、前記検証された価値を用いて１つまたは複数のマシンラーニングモデルを、トレーニングするステップ（２０８）と、
前記１つまたは複数のハードウェアプロセッサにより、ビジュアルモデリング技術を用いて、潜在的ロケーションに依存しない、アジャイル配信モデルをインタラクティブに生成するステップ（２１０）であって、前記潜在的ロケーションに依存しない、アジャイル配信モデルは、
前記ヘッダ属性を受信すると、新しいプロジェクトアカウントを、自己登録するステップであって、前記ヘッダ属性の少なくともいくつかは、新しい、ロケーションに依存しないアジャイル配信モデルの生成のための制約として機能する、自己登録するステップ（２１０ａ）と、
複数の事前構成されたメタモデルと、選択可能なコンポーネントと、それらの相互接続と、を備えた、パレットベースユーザインタフェースをユーザに動的に提示するステップ（２１０ｂ）と、
前記複数の事前構成されたメタモデルの、１つのユーザが、選択したインスタンス化に基づいて、選択可能なコンポーネントの、最小セットを表示するステップ（２０１ｃ）と、
前記制約を最適に管理することにより、対応する潜在的ロケーションに依存しない、アジャイル配信モデルを生成するコンプライアンスインジケータを、前記選択されるコンポーネントの、すべてのドラッグおよびドロップに応じて、動的に更新するステップ（２１０ｄ）と、
新しいロケーションに依存しない、アジャイル配信モデルとして、アジャイル原理へのコンプライアンスの、少なくともユーザが定義した、最小度合いを有する潜在的ロケーションに依存しない、アジャイル配信モデルを識別するステップ（２１０ｅ）、
とにより、インタラクティブに生成される、潜在的ロケーションに依存しない、アジャイル配信モデルをインタラクティブに生成するステップ（２１０）と、
を備えた、プロセッサインプリメント方法。
【請求項２】
前記ヘッダ属性は、アジャイルプロジェクトアカウント所有者、業界、顧客アジャイル成熟度、ポートフォリオ、地理的位置、チームサイズ、チーム役割、機能ドメイン、通信リンク、コラボレーションテクノロジーに関連するデータを含む、請求項１に記載のプロセッサインプリメント方法。
【請求項３】
前記選択可能なコンポーネントは、チーム役割を含むヘッダ属性、プロダクトバックログ、およびスプリントログを含むアーティファクト、地理的ロケーションに関連した、タイムゾーン、連続インテグレーション（ＣＩ）、およびアプリケーションライフサイクルマネージメント（ＡＬＭ）の少なくともいくつかの形態である、請求項１のプロセッサインプリメント方法。
【請求項４】
前記性能パラメータは、リリース頻度、測度、機能品質、構造品質およびポストプロダクション欠陥を備える、請求項１に記載のプロセッサインプリメント方法。
【請求項５】
前記１つまたは複数のマシンラーニングモデルは、アルゴリズム、ユースケース、入力、ソリューション、出力または、トレーザビリティに基づく、請求項１に記載のプロセッサインプリメント方法。
【請求項６】
前記新しい、ロケーションに依存しない、アジャイル配信モデルは、前記選択されたコンポーネントに基づいたグラフの形態であり、前記地理的ロケーションは、ノードとして機能し、前記ヘッダ属性は、ノード属性として機能し、前記通信リンクは、エッジとして機能する、請求項１に記載のプロセッサインプリメント方法。
【請求項７】
前記１つまたは複数のハードウェアプロセッサにより、前記新しい、ロケーションに依存しない、アジャイルデリバリモデルの性能パラメータのセットを出力するために、前記トレーニングした、１つまたは複数のマシンラーニングモデルを用いて、前記新しい、ロケーションに依存しない、アジャイルデリバリモデルの評価を開始するステップと、
前記１つまたは複数のハードウェアプロセッサによって、回帰法または近隣法を用いて、前記１つまたは複数のアジャイルアカウントに対応する、１つまたは複数の、アジャイルデリバリモデルの中の新しい、ロケーションに依存しない、アジャイルデリバリモデルに関するベストマッチを出力するステップと、
の少なくとも１つを実行することをさらに備える、請求項１に記載のプロセッサインプリメント方法。
【請求項８】
１つまたは複数のハードウエアプロセッサ（１０４）に動作可能に結合され、前記１つまたは複数のハードウェアプロセッサが実行するように構成された命令を記憶するように構成された、１つまたは複数のデータストレージデバイス（１０２）を備えたシステムにおいて、
１つまたは複数のアジャイルプロジェクトアカウントに関係するデータを受信することであって、前記データは、
前記１つまたは複数のアジャイルプロジェクトアカウントに関係するヘッダ属性のワンタイムシーディングと、
前記１つまたは複数のアジャイルプロジェクトアカウントに関係する、性能パラメータの定期的更新を受信する、ことにより受信される、受信することと、
によって、受信される、受信することと、
イニシャル・マスタ・データ・セットアップ、および受信される定期的更新に関する、前記１つまたは複数のプロジェクトアカウントを、知識リポジトリに登録することと、
前記知識リポジトリを、前記受信されたデータで更新することであって、
前記受信されたデータを、非同期に処理することであって、前記処理は、その中に含まれる、キーと価値のペアを解析することを含み、前記キーは、フィールドであり、前記価値は、前記ヘッダ属性と前記性能パラメータに対応する、非同期に処理することと、
前記知識リポジトリを更新するためにアプリケーションプログラミングインタフェース（ＡＰＩ）を介して送信する前に、前記価値を検証することと、
前記検証された価値に基づいてクエリ言語ステートメントのセットを動的に構成することと、
前記知識リポジトリを、前記検証された価値で更新するために、前記クエリ言語ステートメントのセットを実行することと、
により、前記受信されたデータで前記知識リポジトリを更新することと、
前記検証された価値を用いて、１つまたは複数のマシンラーニングモデルをトレーニングすることと、
ビジュアルモデリング技術を用いて、潜在的なロケーションに依存しないアジャイルデリバリモデルをインタラクティブに生成することであって、前記潜在的ロケーションに依存しない、アジャイルデリバリモデルは、
前記ヘッダ属性を受信すると、新しいプロジェクトアカウントを自己登録することであって、前記ヘッダ属性の少なくともいくつかは、新しい、ロケーションに依存しない、アジャイルデリバリモデルの生成に関する制約として機能する、自己登録することと、
複数の事前構成されたメタモデル、選択可能なコンポーネントと、それらの相互接続を備えたパレットベースのユーザインタフェースをユーザに、動的に提示することと、
前記複数の事前構成された、メタモデルの１つのユーザ選択された、インスタンス化に基づいて、選択可能なコンポーネントの最小セットを表示することと、
前記制約を最適に管理することにより、対応する潜在的ロケーションに依存しない、アジャイルデリバリモデルを生成するコンプライアインスインジケータを、選択される前記コンポーネントの、すべてのドラッグおよびドロップに応答して、動的に更新することであって、前記コンプライアインスインジケータは、アジャイル原理へのコンプライアインスの度合いを示す、動的に更新すること、
前記新しい、ロケーションに依存しない、アジャイルデリバリモデルとして、アジャイル原理へのコンプライアンスの少なくともユーザ定義された、最小度合いを有する潜在的ロケーションに依存しない、アジャイルデリバリモデルを識別することと、
によりインタラクティブに生成される、インタラクティブに生成することと、
を１つまたは複数のプロセッサが実行するように構成された、システム。
【請求項９】
前記ヘッダ属性は、アジャイルプロジェクトアカウント所有者、業界、顧客アジャイル成熟度、ポートフォリオ、地理的位置、チームサイズ、チーム役割、機能ドメイン、通信リンク、コラボレーションテクノロジーおよびエンジニアリング成熟度に関連するデータを含む、請求項８に記載のシステム。
【請求項１０】
前記選択可能なコンポーネントは、チームの役割と、製品バックログとスプリントバックログを含むアーティファクトと、地理的位置に関連づけられたタイムゾーンと、継続的インテグレーション（ＣＩ）とアプリケーションライフサイクルマネージメント（ＡＬＭ）を含むツールイネーブラーと、を含むヘッダ属性の少なくともいくつかの形態である、請求項９に記載のシステム。
【請求項１１】
前記性能パラメータは、リリース頻度、測度、機能品質、構造的品質、および製造後の欠陥を備える、請求項８に記載のシステム。
【請求項１２】
前記１つまたは複数のマシンラーニングモデルは、アルゴリズム、ユースケース、入力、ソリューション、出力またはトレーサビリティに基づく、請求項８に記載のシステム。
【請求項１３】
前記新しい、ロケーションに依存しない、アジャイルデリバリモデルは、前記選択されたコンポーネントに基づくグラフの形態であり、前記地理的ロケーションは、ノードとして機能し、前記ヘッダ属性は、ノード属性として機能し、前記通信リンクは、エッジとして機能する、請求項８に記載のシステム。
【請求項１４】
前記１つまたは複数のプロセッサは、
トレーニングされた１つ以上の機械学習モデルを使用して新しい、ロケーションに依存しない、アジャイル配信モデルの評価を開始し、新しい、ロケーションに依存しないアジャイル配信モデルのパフォーマンスパラメータのセットを出力することと、
回帰法または最近隣法を使用して、１つ以上のアジャイルカウントに対応する、１つ以上のアジャイル配信モデルの中で、新しい、ロケーションに依存しないアジャイル配信モデルに最適な一致を出力することと、
の少なくとも１つを実行するようにさらに構成された、請求項８に記載のシステム。
【請求項１５】
コンピュータ可読プログラムが組み込まれた、非一時的コンピュータ可読媒体を含むコンピュータプログラム製品において、前記コンピュータ可読プログラムは、コンピュータデバイス上で実行すると、
１つまたは複数の、アジャイルプロジェクトアカウントに関係する、データを受信させることであって、前記データは、
前記１つまたは複数の、アジャイルプロジェクトアカウントに関係する、ヘッダ属性のワンタイムシーディングと、
前記１つまたは複数の、アジャイルプロジェクトアカウントに関係する、性能パラメータの定期的更新を受信することと、により受信される、受信させることと、
イニシャル・マスタ・データ・セットアップ、および受信される定期的更新に関する、前記１つまたは複数のアジャイルプロジェクトアカウントを、知識リポジトリに登録させることと、
前記受信されたデータで、前記知識リポジトリを更新させることであって、
前記受信されたデータを、非同期に処理することであって、前記処理は、その中に含まれるキーと価値のペアを解析することを備え、前記キーは、フィールドであり、前記価値は、前記ヘッダ属性および前記性能パラメータに対応する、処理することと、
前記知識リポジトリを更新するために、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して送信する前に、前記価値を検証することと、
前記検証された価値に基づいて、クエリ言語ステートメントのセットを動的に構成することと、
前記クエリ言語ステートメントのセットを実行して、前記知識リポジトリを前記検証された価値で更新することと、
により前記知識リポジトリを更新させることと、
前記検証された価値を用いて１つまたは複数のマシンラーニングモデルをトレーニングさせることと、
ビジュアルモデリング技術を用いて、潜在的なロケーションに依存しないアジャイルデリバリモデルを、インタラクティブに生成させることであって、前記潜在的なロケーションに依存しないアジャイルデリバリモデルは、
前記ヘッダ属性を受信すると、新しいプロジェクトアカウントを自己登録することであって、前記ヘッダ属性の少なくともいくつかは、新しい、ロケーションに依存しないアジャイルデリバリモデルの生成に関する制約として機能する、自己登録することと、
複数の事前構成されたメタモデル、選択可能なコンポーネント、およびそれらの相互接続を備えるパレットベースのユーザインタフェースを、ユーザに動的に提示することと、
前記複数の事前構成された、メタモデルの１つのユーザ選択された、インスタンス化に基づいて、選択可能なコンポーネントの最小セットを表示することと、
前記制約を最適に管理することにより、対応する潜在的ロケーションに依存しない、アジャイルデリバリモデルを生成するコンプライアンスインジケータを、前記選択されるコンポーネントの、すべてのドラッグまたはドロップに応答して動的に更新することであって、前記コンプライアンスインジケータは、アジャイル原理でコンプライアンスの度合いを示す、動的に更新することと、および
アジャイル原理へのコンプライアンスの少なくともユーザ定義された最小度合いを有する潜在的なロケーションに依存しない、アジャイルデリバリモデルを、前記新しい、ロケーションに依存しない、アジャイルデリバリモデルとして識別することと、
によりインタラクティブに生成され、
トレーニング済みの１つ以上のマシンラーニングモデルを使用して、新しい、ロケーションに依存しない、アジャイル配信モデルの評価を開始することであって、前記性能パラメータは、新しい、ロケーションに依存しない、デリバリモデルの最適化の度合いを示す、評価を開始することと、
回帰法または近隣法を用いて、前記１つまたは複数のアジャイルアカウントに対応する、１つまたは複数のアジャイルデリバルモデルの中の前記新しい、ロケーションに依存しない、アジャイルデリバリモデルに関するベストマッチを出力することと、
の少なくとも１つを実行させることと、
を前記コンピューティングデバイスに実行させる、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１８年１１月３０日に出願した、インド特許出願第２０１８２１０４５３７９の優先権を主張する。この開示は、一般に、分散アジャイルチームモデル（distributed Agile team models）に関し、特に、スケーラブルでカスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルを生成するためのシステム、およびコンピュータインプリメント方法に関する。
【背景技術】
【０００２】
アジャイルは、顧客が価値（value）を望むとき、チームが、競争相手よりも、より早く、より良く、価値をデリバリし、それにより、持続可能で、安全にかつ高品質モードで、顧客のニーズを満足させる方法である。「アジャイルマニフェスト（Agile Manifesto）」に保存された、アジャイルの価値と原理を順守することは、しばしば、１０人未満の小さなアジャイル開発チームを生じる。チームは、短い時間フレームで、しばしば数週間で、ビジネスと緊密に連携して、機能の増分を配給する。チームは、複数回の反復を通じて、機能を強化または改良する。アジャイルは、シンプルさ、小さなチーム、実験、および相互共感を含む、人間に優しい作業方法を促進する。アジャイルの重要な触媒（catalyst）は、小さなチームにおける、すべてのメンバのコロケーション（co-location）である。コロケーションは、アジャイル原理の１つである、「開発チームへ、および開発チーム内で、情報を伝達する最も効率的で効果的な方法は、対面式会話である」に、明確に要望される。
【０００３】
アジャイルマニフェストの出版から１７年以上経過した。今日、組織の働き方には、著しい変化がある。会社の規模は、大きくなり、さまざまな大陸／タイムゾーンにまで広がりを見せている。多くの大企業は、組織能力を開発するために、協力する必要がある世界中のあらゆる種類の熟練した専門家を有する。それゆえ、すべてのアジャイルチームのコロケーションは、多くの企業の取り組みにとって、実用的ではない。
【発明の概要】
【０００４】
この開示の実施形態は、従来のシステムにおいて、発明者達により認識された、上述した１つまたは複数の、技術的問題点に対する解法としての、技術的改良を提供する。
【０００５】
一態様において、スケーラブル（scalable）でカスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルを生成するための、プロセッサインプリメント方法が提供される。この方法は、１つまたは複数のハードウェアプロセッサにより、１つまたは複数のアジャイルプロジェクトアカウントに関係するデータを受信するステップであって、前記１つまたは複数のアジャイルプロジェクトアカウントに関係する、ヘッダ属性のワンタイムシーディング（one-time seeding）のステップと、前記１つまたは複数のアジャイルプロジェクトアカウントに関係する、性能パラメータの定期的更新を受信するステップとを備えた、受信するステップと、前記１つまたは複数のハードウェアプロセッサにより、初期マスタ・データの設定と、定期的更新を受信するために、知識リポジトリに、前記１つまたは複数のアジャイルプロジェクトアカウントを登録するステップと、前記１つまたは複数のハードウェアプロセッサによって、前記知識リポジトリを、前記受信したデータで、更新するステップであって、前記受信したデータを、非同期に処理するステップであって、前記処理は、そこに含まれるキーと価値のペア（key-value pairs）を解析するステップを備え、前記キーは、フィールドであり、前記価値は、ヘッダ属性と性能パラメータに対応する、処理するステップと、前記知識リポジトリを更新するために、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して送信する前に、前記価値を検証するステップと、前記検証された価値に基づいて、クエリ言語ステートメントのセットを、動的に構築するステップと、前記クエリ言語のステートメントのセットを実行して、前記検証された価値で、前記知識リポジトリを更新するステップと、を備えた更新するステップと、前記１つまたは複数のハードウェアプロセッサにより、前記検証された価値を用いて、１つまたは複数のマシンラーニングモデルをトレーニングするステップと、前記１つまたは複数のハードウェアプロセッサにより、ビジュアルモデリング技術を用いて、潜在的ロケーションに依存しない、アジャイルデリバリモデルをインタラクティブに生成するステップであって、前記ヘッダ属性を受信すると、新しいプロジェクトアカウントを自己登録するステップであって、前記ヘッダ属性の少なくともいくつかは、新しいロケーションに依存しない、アジャイルデリバリモデルの生成に関する制約として、機能する、ステップと、複数の事前に構成されたメタモデル（meta-models）と、選択可能なコンポーネントと、それらの相互接続を備えた、パレットベース（palette based）ユーザインタフェースを、ユーザに動的に提示するステップと、前記複数の事前構成された、メタモデルの１つのユーザが選択したインスタンス化（instantiation）に基づいて、選択可能なコンポーネントの最小セットを表示するステップと、前記制約を最適に管理することにより、対応する潜在的なロケーションに依存しないアジャイルデリバリモデルを生成する、選択されたコンポーネントのすべてのドラッグ、またはドロップに応答して、コンプライアンスインジケータ（compliance indicator）を動的に更新するステップと、新しいロケーションに依存しないアジャイルデリバリモデルとして、少なくともユーザが定義した最小程度のアジャイル原理とのコンプライアンスを有する、潜在的なロケーションに依存しない、アジャイルデリバリモデルを識別するステップと、によりインタラクティブに生成するステップと、
を備える。
【０００６】
他の態様において、スケーラブルで、カスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルを生成するシステムが提供される。このシステムは、１つまたは複数のハードウェアプロセッサに動作可能に結合され、１つまたは複数のアジャイルプロジェクトアカウントに関係するデータを受信することであって、前記データは、前記１つまたは複数のアジャイルプロジェクトアカウントに関係するヘッダ属性の、ワンタイムシーディング（one-time seeding）と、前記１つまたは複数の、アジャイルプロジェクトアカウントに関係する、性能パラメータの定期的更新を受信することにより受信される、データを受信することと、初期のマスタデータセットアップと、定期的更新を受信するために、知識リポジトリに、１つまたは複数の、アジャイルプロジェクトアカウントを登録することと、前記受信されたデータで、前記知識リポジトリを更新することであって、前記更新することは、前記受信されたデータを、非同期で処理することであって、前記処理は、その中に含まれるキーと価値のペアを解析することを備え、前記キーと価値のペアは、フィールドであり、前記価値は、前記ヘッダ属性と前記性能パラメータに対応する、処理することと、前記知識リポジトリを更新するためのアプリケーションプログラミングインターフェース（ＡＰＩ）を介して送信する前に、前記価値を検証することと、前記検証された価値に基づいて、クエリ言語ステートメントのセットを、動的に構築することと、前記クエリ言語ステートメントのセットを実行して、前記検証された価値で前記知識リポジトリを更新することと、により、前記受信したデータで、前記知識リポジトリを更新することと、前記検証された価値を用いて、１つまたは複数のマシンラーニングモデルをトレーニングすることと、ビジュアルモデリング（visual modeling）技術を用いて、潜在的な位置に依存しないアジャイルデリバリモデルをインタラクティブに生成することであって、前記ヘッダ属性を受信すると、新しいプロジェクトアカウントを自己登録することであって、前記ヘッダ属性の少なくともいくつかが、新しいロケーションに依存しないアジャイルデリバリモデルの生成のための制約として機能する、自己登録することと、複数の事前構成されたメタモデルと、選択可能なコンポーネントと、それらの相互接続を備える、パレットベースのユーザインタフェースを、ユーザに動的に提示することと、前記複数の事前構成されたメタモデルの１つのユーザが選択したインスタンス化に基づいて最小セットの選択可能コンポーネントを表示することと、前記制約を最適に管理することにより対応する潜在的なロケーションに依存しないアジャイルデリバリモデルを生成する、選択されたコンポーネントのすべてのドラッグまたはドロップに応答して、コンプライアンスインジケータを動的に更新することと、新しいロケーションに依存しないアジャイルデリバリモデルとして、アジャイル原理を有する、少なくとも、ユーザが定義した最小限度のコンプライアンスを有する、潜在的なロケーションに依存しない、アジャイルデリバリモデルを識別することと、により、前記潜在的に、位置に依存しないアジャイル配信モデルを、インタラクティ��に生成することと、を、前記１つまたは複数のハードウェアプロセッサにより、実行するように構成された、命令を記憶するように構成された、１つまたは複数のデータストレージデバイスを備える。
【０００７】
さらに、他の態様において、その中に具現化されたコンピュータ可読プログラムを有する非一時的コンピュータ可読媒体であって、前記コンピュータ可読プログラムは、コンピューティング上で実行されると、前記コンピューティングデバイスに、１つまたは複数の、プロジェクトアカウントに関係するデータを受信させることであって、前記データは、前記１つまたは複数のアジャイルプロジェクトアカウントに関係する、ヘッダ属性の１回のシーディングと、前記１つまたは、複数のアジャイルプロジェクトアカウントに関係する、性能パラメータの定期的更新を受信する、ことにより受信され、初期マスタ・データのセットアップと、定期的更新を受信するために、知識リポジトリに、前記１つまたは複数の、アジャイルプロジェクトアカウントを登録させることと、前記受信したデータを非同期に処理させることであって、前記処理は、その中に含まれるキーと価値のペアを解析することと、を備え、前記キーは、フィールドであり、前記価値は、前記ヘッダ属性および性能パラメータに対応する、非同期に処理させることと、前記知識リポジトリを更新するために、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して送信する前に前記価値を検証することと、前記検証された価値に基づいて、クエリ言語ステートメントのセットを動的に構築することと、前記クエリ言語ステートメントのセットを実行して、前記検証された価値で、前記知識リポジトリを更新することと、により、前記受信されたデータで前記知識リポジトリを更新させ、前記検証された価値を用いて、１つまたは複数のマシンラーニングモデルを訓練させ、ビジュアルモデリング技術を用いて、潜在的なロケーションに依存しない、アジャイルデリバリモデルをインタラクティブに生成させることであって、前記潜在的ロケーションに依存しないアジャイル配信モデルは、前記ヘッダ属性を受信すると、新しいプロジェクトアカウントを自己登録することであって、前記ヘッダ属性の、少なくともいくつかは、新しいロケーションに依存しない、アジャイルデリバリモデルの生成のための制約として機能する、自己登録することと、複数の事前構成されたメタモデルと、選択可能なコンポーネントと、それらの相互接続を備えたパレットベースのユーザインタフェースを、ユーザに動的に提示することと、前記複数の事前構成されたメタモデルの、１つのユーザ選択されたインスタンス化に基づいて、選択可能なコンポーネントの最小セットを表示することと、および前記制約を最適に管理することにより、対応する潜在的なロケーションに依存しない、アジャイルデリバリモデルを生成する、選択されたコンポーネントの、すべてのドラッグまたはドロップに応答して、コンプライアンスインジケータを動的に更新することと、少なくともユーザ定義した最小度のアジャイル原理の順守を、新しいロケーションに依存しないアジャイルデリバリモデルとして有する、潜在的なロケーションに依存しないアジャイルデリバリモデルを識別することと、によりインタラクティブに生成される、インタラクティブに生成させることとを前記コンピューティングデバイスに実行させる、コンピュータ可読媒体を提供する。
【０００８】
この開示の実施形態によれば、ヘッダ属性は、アジャイルプロジェクトアカウントオーナー、業界、ポートフォリオ、地理的ロケーション、チームサイズ、チームの役割、機能ドメイン、通信リンク、コラボレーション技術およびエンジニアリング成熟度に関連したデータを備える。
【０００９】
この開示の実施形態によれば、選択可能なコンポーネントは、チームの役割、プロダクトバックログ（product backlog）およびスプリントバックログ（sprint backlog）を含むアーティファクト（artifact）、地理的ロケーションに関連付けられたタイムゾーン、継続的インテグレーション（ＣＩ）おおびアプリケーションライフサイクルマネージメント（ＡＬＭ）を含む、ヘッダ属性の少なくともいくつかの形態である。
【００１０】
この開示の一実施形態によれば、性能パラメータは、リリース頻度、測度、機能品質、構造的品質およびポストプロダクションディフェクト（post production defects）を備える。この開示の一実施形態によれば、１つまたは複数のマシンラーニングモデルは、アルゴリズム、使用ケース、入力、ソリューション、出力またはトレーザビリティ（traceability）である。
【００１１】
この開示の一実施形態によれば、新しいロケーションに依存しないアジャイルデリバリモデルは、選択されたコンポーネントに基づいたグラフの形態であり、地理的ロケーションは、ノードとして機能し、前記ヘッダ属性は、ノード属性として機能し、前記通信リンクは、エッジとして機能する。
【００１２】
この開示の実施形態によれば、１つまたは複数のプロセッサは、さらに、新しいロケーションに依存しない、アジャイルデリバリモデルの性能パラメータのセットを出力するようにトレーニングされた、１つまたは複数のマシンラーニングモデルを用いて、新しいロケーションに依存しない、アジャイルデリバリモデルの評価を開始すること、および回帰法（regression method）または最近隣法（nearest neighbor method）のいずれかを用いて、１つまたは複数のアジャイルアカウントに対応する、１つまたは複数のアジャイルデリバリモデルの中の、新しいロケーションに依存しない、アジャイルデリバリモデルのためのベストマッチを出力すること、の少なくとも１つを実行するように構成される。
【００１３】
前述の一般的な記述、および以下の詳細な記述の両方が、例示および説明に過ぎず、請求する発明を限定するものではないことが理解される。この開示に含まれ、この開示の一部を構成する添付図面は、例示実施形態を説明し、詳細な説明とともに、開示された原理を説明するように機能する。
【図面の簡単な説明】
【００１４】
【図１】図１は、この開示の一実施形態に従う、スケーラブルで、カスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルのためのシステムの一例示ブロック図を説明する。
【図２】図２は、この開示の一実施形態に従う、図１のシステムに含まれる例示機能モジュールを説明する。
【図３】図３は、この開示の一実施形態に従う、スケーラブルで、カスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルを生成するための方法の、ハイレベルのフローチャートを説明する。
【図４Ａ】図４Ａは、この開示の一実施形態に従う、スケーラブルで、カスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルを生成する、コンピュータインプリメント方法の例示フロー図を説明する。
【図４Ｂ】図４Ｂは、この開示の一実施形態に従う、スケーラブルで、カスタマイズ可能な、ロケーションに依存しない、アジャイル配信モデルを生成する、コンピュータインプリメント方法の例示フロー図を説明する。
【図４Ｃ】図４Ｃは、この開示の一実施形態に従う、スケーラブルで、カスタマイズ可能な、ロケーションに依存しない、アジャイル配信モデルを生成する、コンピュータインプリメント方法の例示フロー図を説明する。
【図５】図５は、この開示の一実施形態に従う、スケーラブルで、カスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルのための、パレットベースのユーザインタフェースを説明する。
【発明を実施するための形態】
【００１５】
例示実施形態が、添付図面を参照して記載される。図において、参照番号の最左端（複数の場合もある）は、参照番号が最初に現れる図を識別する。便宜的である場合には、同一物あるいは類似のパーツを参照するために、図全体を通して同じ参照番号が用いられる。開示された原理の例と特徴をここに記載するけれども、変更、適応、および他のインプリメンテーションは、開示された実施形態の精神と範囲を逸脱することなく可能である。以下の詳細な記述は、例示に過ぎず、真の精神と範囲は、以下の特許請求の範囲によって示されることを意図している。
【００１６】
作業のアジャイル方法は、ウォータフォール（waterfall）のような伝統的な、処理の重たい（process heavy）アプローチに比べて、プロダクト開発に対する軽量なアプローチである。ビジネスと技術チーム、豊富な相互作用と、コラボレーション（collaboration）を活用した（leveraging）問題解決フォーカス（problem solving focus）を用いた小さなチーム、短い反復での適応プランニング、およびクィックフィードバックのための増大するデリバリとの間のダイレクトコラボレーションを含む。ビジネスニーズへの応答を改良するために、より多くの企業がアジャイルな作業方法に移行している。アジャイルの最大利益のために、機能の専門知識やロケーションに関係なく、全体プロダクト開発チームにわたって、アジャイルな作業方法を企業が適用することが必須である。そのような企業アジャイルの主要な構成要素は、分散アジャイルチームを介してアジリティ（Agility）を拡張する能力である。
【００１７】
分散アジャイルチームモデルを設計する際の課題は、モデルが、アジャイル原理へのコンプライアンスからはずれる尤度（likelihood）である。例えば、技術リソースをアクセスするために、１つのチームが他のチームに依存するロケーションの間で分割されたアジャイルチームを見ることは、珍しいことでなくはない。「環境とサポートを与えて、仕事を成し遂げる」というアジャイルの原理に違反する。特定の課題は、
−企業は、分散アジャイルの種々のモデルを開発したけれども、彼らは、そのようなモデルのアジャイル原理への順守の専門家のマニュアル検証に依存する。
−分散アジャイルチームサイズが大きくなるか、またはより多くのロケーションが追加されるとき、分散アジャイルモデルを構築するのに必要な専門技術は、拡大（scale）しない。
−分散アジャイルモデル計画の背後にある知識は、体系的な方法で強化されない。それゆえ、これは、さまざまな動作条件を用いて、プロジェクト／プログラム／企業にわたって、複製できない、または拡張できない、優秀のポケット（pockets of excellence）を生じる。
−アジャイルチーム構造に対して変更する前に、初めに仮定（what-if）のシナリオをシミュレートするために、役割または動作特性は、失敗の極めて高いリスクを生じる。
【００１８】
この開示のシステムと方法は、上で述べた技術的課題を克服するために、以下で説明するように、スケーラブルでカスタマイズ可能なロケーションに依存しないアジャイルデリバリモデルを生成することを可能にする。この開示に従って、生成されたロケーションに依存しないアジャイルモデルは、異なるロケーションにまたがるアジャイルチームが、アジャイル原理を損なうことなく、一緒に作業することができるように設計することによる、分散アジャイルのための体系化されたアプローチである。この開示によれば、種々の作業モデルは、シミュレートすることができ、性能パラメータは、正しいモデルが識別され、現実世界のシナリオにおいて、インプリメントすることができる前に指定することができる。
【００１９】
図面を参照すると、特に図１乃至図４Ｃを参照すると、同様の参照符号は、図面全体で一貫して、対応する特徴を示し、好適実施形態が示され、これらの実施形態は、以下の例示システム、および／または方法にコンテキストにおいて、記載される。
【００２０】
図１は、この開示の一実施形態における、スケーラブルでカスタマイズ可能な、ロケーションに依存しない、アジャイルデリバリモデルを生成するための、システム１００の例示ブロック図を説明する。一実施形態において、システム１００は、１つまたは複数のプロセッサ１０４、通信インタフェースデバイス（複数の場合もある）、または入出力インタフェース（複数の場合もある）１０６、および前記１つまたは複数のプロセッサ１０４に動作可能に結合された、１つまたは複数のデータストレージデバイス、またはメモリ１０２を含む。ハードウェアプロセッサである、１つまたは複数のプロセッサ１０４は、１つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタルシグナルプロセッサ、中央処理装置、ステートマシン、グラフィクスコントローラ、ロジック回路、および／または動作命令に基づいて信号を操作する任意のデバイスとしてインプリメントすることができる。幾つかある能力の中で、プロセッサ（複数の場合もある）は、メモリに記憶されたコンピュータ可読命令をフェッチして、実行するように構成される。この開示のコンテキストにおいて、「プロセッサ」および「ハードウェアプロセッサ」という表現は、互換的に使用することができる。一実施形態において、システム１００は、ラップトップコンピュータ、ノートブック、ハンドヘルドデバイス、ワークステーション、メインフレームコンピュータ、サーバ、ネットワーククラウド等のような種々のコンピューティングシステムにおいてインプリメントすることができる。
【００２１】
Ｉ／Ｏインタフェース（複数の場合もある）１０６は、種々のソフトウェアとハードウェアインタフェース、例えば、ウェブインタフェース、グラフィカルユーザインタフェース等を含むことができ、例えば、ＬＡＮ、ケーブル等の有線ネットワーク、およびＷＬＡＮ、セルラ、または衛星のような無線ネットワークを含む、多種多様のネットワークＮ／Ｗ、およびプロトコルタイプ内の複数の通信を容易にすることができる。一実施形態において、Ｉ／Ｏインタフェース（複数の場合もある）は、多数のデバイスを互いに、または他のサーバに接続する１つまたは複数のポートを含むことができる。
【００２２】
メモリ１０２は、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）およびダイナミックランダムアセスメモリ（ＤＲＡＭ）のような揮発性メモリ、および／または、リードオンリメモリ(ＲＯＭ）、イレーザブルプログラマブルＲＯＭ、フラッシュメモリ、ハードディスク、光ディスクおよび磁気テープのような不揮発性メモリを含む、この分野で知られた任意のコンピュータ可読媒体を含むことができる。一実施形態において、システム１００の１つまたは複数のモジュール（１０２Ａ乃至１０２Ｃ）は、メモリ１０２に記憶することができる。
【００２３】
図２は、この開示の一実施形態に従って、図１のシステムに構成された例示機能モジュールを説明する。モデリングユニット１０２Ａは、ユーザ入力のためのインタフェースとして機能し、アジャイルデリバリモデルの状態を維持する。モデリングユニット１０２Ａは、主に、ベストフィット（best fit）エンジン、モデルステートコントローラ、およびモデルリポジトリ（Model Repository）を備える。この開示によれば、モデルステートコントローラは、以下に記載するように、リアルタイムで、アジャイルデリバリモデルの状態を追跡し、ベストフィットエンジン、モデルリポジトリおよび知識ベース１０２Ｂを統合（orchestrates）する。ベストフィットエンジンは、知識ベース１０２Ｂから意志決定ルールを獲得するように構成されたステートレス・ルール・エンジン（stateless rule engine）である。一実施形態において、モデルリポジトリは、アジャイルデリバリモデルの状態を記憶するように構成される。この開示によれば、モデルリポジトリは、リレーショナルデータベースまたはグラフ指向データベースのいずれかである。
【００２４】
知識ベース１０２Ｂは、アジャイルデリバリモデルの適合性を評価し、最適状態を推奨し、分析論（analytics）に必要なインテリジェンスを供給するために、１つまたは複数のアジャイルプロジェクトアカウントに関係する履歴データの組織化された知識を備える（以下に記載する、ステップ２１２）。一実施形態において、知識ベース１０２Ｂは、知識リポジトリ、知識サービスプロバイダ、および自動推論アップデーター（Auto Inference Updater）を備える。自動推論アップデーターは、継続的に、知識リポジトリをポーリングして、出現パターン（emerging pattern）から推論を再組織化する自己学習メカニズムである。自動推論更新器は、知識リポジトリを更新し続けるとともに機能的に維持する、リフレッシャーおよびチューニングエンジン（a refresher and tuning engine）である。知識サービスプロバイダは、知識ベース１０２Ｂを利用するためにサービスを公開する（expose）アプリケーションプログラミングインターフェース（ＡＰＩｓ）のセットを含む。この開示によれば、知識リポジトリは、グラフ指向構造またはドキュメント指向構造を有することができる。
【００２５】
この開示によれば、複数のデータソースから入力を受信するための、データフィーダ１０２Ｃが提供される。データフィーダ１０２Ｃは、複数のソースと相互作用し、受信した入力を、知識ベース１０２Ｂの自動推論アップデーターにより可読フォーマットに、変換する。
【００２６】
図３は、この開示の一実施形態に従う、スケーラブルで、カスタマイズ可能な、ロケーションに依存しないアジャイルデリバリモデルを生成するための方法のハイレベルのフローチャートを説明する。図４Ａ乃至４Ｃは、この開示の一実施形態に従う、スケーラブルで、カスタマイズ可能な、ロケーションに依存しないアジャイルデリバリモデルを生成するためのコンピュータインプリメント方法２００の例示フロー図を説明する。一実施形態において、システム１００は、１つまたは複数のプロセッサ１０４に動作可能に結合された、１つまたは複数のデータストレージデバイス、またはメモリ１０２を含む。方法２００のステップは、図３のハイレベルフローチャート、および図１のシステム１００のコンポーネントを参照して詳細に説明される。プロセスステップ、方法ステップ、技術等は、シーケンシャルな順番に説明されるが、そのようなプロセス、方法および技術は、別の順番で動作するように構成することができる。言い換えれば、記載することができるステップの任意のシーケンスまたは順番は、必ずしもステップがその順番で実行する要件を示すものではない。ここに記載したプロセスのステップは、実用的な任意の順番で実行することができる。さらに、いくつかのステップは、同時に実行することができる。
【００２７】
この開示の一実施形態によれば、方法２００は、２つのパーツからなり、第１のパートは、知識リポジトリの構築と維持に関連し、第２のパートは、適切なロケーションに依存しない、アジャイルデリバリモデルを識別することに関連している。
【００２８】
この開示の一実施形態によれば、方法２００の第１のパートにおいて、１つまたは複数のプロセッサ１０４（知識ベース１０２Ｂとデータフィーダ１０２Ｃを構成する）は、ステップ２０２において、１つまたは複数のプロジェクトアカウントに関係するデータを受信するように構成される。一実施形態において、データを受信するステップ２０２は、ステップ２０２ａにおいて、１つまたは複数のアジャイルプロジェクトアカウントに関係するヘッダ属性のワンタイムシーディング（one time seeding）を備え、ステップ２０２ｂにおいて、１つまたは複数のアジャイルプロジェクトアカウントに関係する、性能パラメータの定期的更新を受信することを備える。一実施形態において、ヘッダ属性は、アジャイルプロジェクトアカウントオーナー、業界、顧客アジャイル成熟度、ポートフォリオ、地理的ロケーション、チームサイズ、チーム役割、機能ドメイン、通信リンク、コラボレーション技術、およびエンジニアリング成熟度に関連するデータを備える。一実施形態において、性能パラメータは、リリース頻度、測度、機能品質、構造品質、および製造後欠陥（post production defects）を含み、リリース頻度と速度は、単一のメトリクス（metrics）であるのに対して他方のデータは、複数のメトリクスを含むことができる。例えば、機能品質は、回帰欠陥、システムテスト欠陥等を含むことができる。また、構造品質は、静的コード分析違反（static code analyses violations）、コードの複雑さ等を含むことができる。一実施形態において、２つのＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ  （ＪＳＯＮ）データ構造（ＸＭＬ。ＣＳＶ、ＸＬＳ）は、アジャイルデリバリモデルをモデル化するように定義することができる。一実施形態において、データは、バルク・アップロード（bulk upload）を介してデータフィーダ１０２Ｃを介して受信することができる。代替的に、ハイパーテキストマークアップ言語（ＨＴＭＬ）のようなウェブインタフェースは、オンラインエントリのために提供することができ、データフィーダ１０２Ｃは、データを所望のフォーマットに変換するように構成される。
【００２９】
この開示の一実施形態によれば、１つまたは複数のプロセッサ１０４は、ステップ２０４において、初期のマスタデータセットアップと、受信する定期的更新のために、１つまたは複数のアジャイルプロジェクトアカウントを知識リポジトリに登録するように構成され、更新の周期は、月単位、四半期単位、等であり、頻度は事前に定義することができる。一実施形態において、各登録された１つまたは複数のアジャイルプロジェクトアカウントに関して、定期的更新（ＪＳＯＮファイル）は、出版購読型モデル（publish-subscribe pattern）により電子メールアッタチメントとして共有することができる。ＨＴＭＬ入力の場合、知識リポジトリに対するオンラインアップデートを実行することができる。
【００３０】
この開示の一実施形態によれば、１つまたは複数のプロセッサ１０４は、ステップ２０６において、知識リポジトリを、ステップ２０２で受信したデータを用いてアップデートするように構成される。知識リポジトリを更新するステップ２０６は、ステップ２０６ａにおいて、最初に受信したデータを非同期に処理するステップを、（アップストリームメッセージクリアランス／ネットワークレイテンシ／ネットワーク故障を待たず、メッセージブローカ（Message Broker）（ＭＢ）は、メッセージを適切に処理する）含むことができる。一実施形態において、処理のステップは、その中に含まれるキーと価値のペアを解析することを備え、キーは、フィールドであり、価値は、ヘッダ属性と性能パラメータに対応する。ステップ２０６ｂにおいて、価値は、知識リポジトリを更新するために、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して送信する前に検証される。例えば、電子メールの添付ファイルを受信した場合、添付ファイルを指定された安全な場所にダウンロードし、検証してアジャイルプロジェクトアカウントが登録されているかどうかを確認し、送信者を検証し、データの有効な価値を検証することができる。一実施形態において、データが有効である場合、アクノレジメントを送信者に送信することができる。あるいは、受信したデータを拒絶するエラーメッセージを送信することができる。次に、検証されたデータは、知識リポジトリを更新するためにＡＰＩを介して入力キューに送信される。ステップ２０６ｃにおいて、検証された価値に基づいてクエリ言語ステートメントのセットが動的に構築される。例えば、知識リポジトリがグラフ指向の場合、ＳＰＡＲＱＬ（登録商標）、Ｃｙｐｈｅｒ（登録商標）、Ｇｒｅｍｌｉｎ（登録商標）などのクエリ言語を使用することができる。あるいは、知識リポジトリがドキュメント指向の場合、構造化照会言語（ＳＱＬ）、ＪＳＯＮ等を使用することができる。最後に、ステップ２０６ｄにおいて、クエリ言語ステートメントのセットが実行され、検証された価値で知識リポジトリが更新される。クエリ言語ステートメントの動的な構築により、知識リポジトリの構造に柔軟性がもたらされる。
【００３１】
この開示の実施形態に従って、（知識ベース１０２Ｂとデータフィーダ１０２Ｃを構成する）１つまたは複数のプロセッサ１０４は、ステップ２０８において、ステップ２０６からの検証された価値を用いて、１つまたは複数のマシンラーニングモデルをトレーニングするように構成される。受信された各新しいデータは、新しいデータをスキャンして、モデリングユニット１０２Ａのモデルリポジトリ内の、１つまたは複数のマシンラーニングモデルを更新する自動マシンラーニングエンジンである、知識ベース１０２Ｂの自動推論アップデータ（Auto Inference Updater）をトリガし、それにより、上述したように、入力として履歴データをとるように学習し、出力として性能パラメータを提供することを可能にする。一実施形態において、１つまたは複数のマシンラーニングモデルは、アルゴリズム、ユースケース、入力、ソリューション、出力またはトレーサビリティに基づく。たとえば、アルゴリズムに基づく１つまたは複数のマシンラーニングモデルは、ニューラルネットワーク、またはディープラーニングを含むことができる。ユースケースに基づく、１つまたは複数のマシンラーニングモデルは、回帰または分類がある。入力に基づく、１つまたは複数のマシンラーニングモデルは、スーパーバイズされた技術であり得る。出力に基づく、１つまたは複数のマシンラーニングモデルは、確率モデルであり得る等である。
【００３２】
この開示の一実施形態に従って、方法２００の第２の部分において、新しいプロジェクトアカウントについて、正しいロケーションに依存しない、アジャイル配信モデルが識別される。（モデリングユニット１０２Ａを構成する）１つまたは複数のプロセッサ１０４は、ステップ２１０において、ビジュアルモデリング技術を用いて、潜在的なロケーションに依存しない、アジャイル配信モデルを、インタラクティブに生成するように構成される。潜在的ロケーションに依存しないアジャイル配信モデルは、最初に、ステップ２１０ａにおいて、ヘッダ属性を受信すると、新しいプロジェクトアカウントを、最初に自己登録することにより、インタラクティブに生成される。この開示に従って、ヘッダ属性の少なくともいくつかは、新しいロケーションに依存しない、アジャイル配信モデルの生成のための制約として機能する。複数の事前構成されたメタモデル、選択可能なコンポーネントおよび関連する相互接続を備えた、パレットベースのユーザインタフェースは、次に、ステップ２１０ｂにおいて動的に提示される。図５は、この開示の一実施形態に従う、スケーラブルでカスタマイズ可能な、ロケーションに依存しないアジャイル配信モデルを生成するためにパレットベースユーザインタフェースを説明する。一実施形態において、図５に説明するように、選択可能なコンポーネントは、チームの役割（team roles）（製品所有者ＰＯ、スクラムマスターＳＭ、開発者Ｄｅｖ、製品スペシャリストＰＳ、テスターテスト）を含むヘッダ属性、プロダクトバックログ（ＰＢＬ）およびスプリントバックログ（ＳＢＬ）、地理的ロケーションに関連するタイムゾーン（ＩＳＴ、ＣＳＴ、ＧＭＴ、ＥＳＴ）を含むアーティファクト（artifact）、継続的インテグレーション（ＣＩ）およびアプリケーションライフサイクル管理（ＡＬＭ）を含むツーリングイネーブラー（tooling enablers)の少なくともいくつかの形態である。
【００３３】
次に、ユーザは、ステップ２１０ｃで、選択可能なコンポーネントの最小セットが表示されることに基づいて、複数の事前構成されたメタモデルのうちの１つをインスタンス化する。ユーザは、選択可能なコンポーネントをインスタンス化され、事前構成されたメタモデルに。ドラッグまたはドロップする。選択されたコンポーネントの各ドラッグ、またはドロップに応答して、（図５において、各ロケーションの下にバーとして示される）コンプライアンスインジケータが、動的に更新される。インスタンス化され、事前構成されたメタモデルに対してなされたすべての変更は、対応する潜在的ロケーションに依存しない、アジャイルデリバリモデルを生じる。この開示に従って、コンプライアンスインジケータは、アジャイル原理とのコンプライアンスの度合いを示す。一実施形態において、システム１００は、回避することができない、事前に特定された必須の原理を有することができる。図５の一例示実施形態において、アジャイルの１２の原理を説明するバーに１２のブロックがある。違反しないアジャイル原理は、クロスパターンを有するブロックにより表され、尊守される（adhered）原理は、点線パターンを有するブロックにより表される。従って、ビジュアルモデルは、アジャイル原理のコンプライアンスの度合いの表示をユーザに提供し、それにより、制約が最適に管理されるように、ユーザが、潜在的ロケーションに依存しない、アジャイルデリバリモデルを、さらに変更することを可能にする。少なくともアジャイル原理とのコンプライアンスの、ユーザ定義した、最小度合いを有する、潜在ロケーションに依存しないアジャイルデリバリモデルは、次にステップ２１０ｅにおいて、新しいロケーションに依存しない、アジャイルデリバリモデルとして識別することができる。
【００３４】
一実施形態において、新しいロケーションに依存しない、アジャイルデリバリモデルは、選択されたコンポーネントに基づくグラフの形態であり、地理的ロケーションは、ノードとして機能し、ヘッダ属性は、ノード属性として機能し、通信リンクは、エッジとして機能する。
【００３５】
この開示の一実施形態に従って、方法２００は、３次元制約が与えられた、４つの事前構成されたメタモデル（図５のＭ１、Ｍ２、Ｍ３、Ｍ４）のセットから、メタモデルをインスタンス化することにより、新しいロケーションに依存しない、アジャイルデリバリモデルの生成のための３−４−５アプローチに従い、さらに、５つのアクティビティを介して、新しいロケーションに依存しない、アジャイルデリバリモデルをさらに成熟させる。一実施形態において、３次元制約は、以下を含む。
１．分散チーム間のビジネス知識の存在−ビジネス知識が低ければ低いほど、大幅に分散したアジャイルチームの可能性が低くなる。
２．日中に変化し、即時対応が必要な、ビジネス要件の極端な変動性（volatility）のような、交渉不可能なプログラムの存在−交渉不可能なプログラムが高いほど、アジャイルチームが大幅に分散する可能性は低くなる。
３．共通の基本アジャイル作業方法の存在−共通の最小限の作業フレームワークが無いため、ロケーションにまたがってチームを分散する能力が制限される。
組織全体にアジャイルを適用する際の一貫性が増すほど、分散アジャイルチームを実現できる可能性が高くなる。
【００３６】
３−４−５アプローチによれば、例示的な実施形態では、３次元制約の解析に基づいた、４つの事前構成されたメタモデル（Ｍ１、Ｍ２、Ｍ３、Ｍ４）は、
１．モデルＭ１：ローカルチーム全体が、物理的／仮想的に同じ場所にある１つのチーム。アジャイル開発チームのメンバ（Ｄｅｖ）は、ビジネスニーズを理解するために、プロダクトオーナ（ＰＯ）による、重要な複雑で困難な業務支援（hand-holding）を必要とする。
２．モデルＭ２−最小限に分散−２つの異なる場所にある２つのアジャイルチーム。
各チームは、完全なアジャイル開発チームである。プロダクトオーナは、物理的／仮想的に同じ場所に位置する。ＰＯが存在しない場所にいる一部のアジャイル開発チームメンバは、ＰＯによって明確化されたビジネスニーズを解釈するための基本的なビジネス知識を必要とする。チームは、共通のアジャイルイベントを活用して、互いに連携して動作する。
３．モデルＭ３−大幅に分散−複数ロケーションにある複数のアジャイルチーム。各チームは、完全アジャイル開発チームである。各チームにおける、いくつかのアジャイル開発チームメンバは、ＰＯによって明確化されたビジネスニーズに基づいて、解釈するだけでなく、低レベルの要件仕様を作成するための、優れたビジネス洞察（insights）を有する。ＰＯは物理的／仮想的に、チームの１つと同じ場所に位置する。チームは、共通のアジャイルイベントを活用して、互いに連携して動作する。図５は、モデルＭ３の例示説明図である。
４．モデルＭ４−完全に分散−複数のロケーションにある複数のアジャイルチーム。各チームは、完全なアジャイル開発チームである。各チームの少なくとも１つのアジャイル開発チームメンバは、プロダクトスペシャリスト（ＰＳ）である。ＰＳは、ＰＯによって設定された高いレベルの指示に基づいて、詳細なビジネスニーズを作成するのに十分な、ビジネス専門知識を有する。ＰＯは、どのチームとも同じロケーションに位置する必要はない。チームは、共通のアジャイルイベントを活用して互いに連携する。
【００３７】
この開示のコンテキストにおいて、「ロケーション」または「地理」という表現は、都市または国だけではなく、施設または施設の異なるフロアを指すこともある。したがって、同じビルの異なるフロアで動作しているチームでさえ、分散していると、みなすことができる。しかしながら、アジャイルチームを複数の場所に分散するだけでは、分散アジャイルとしての資格はない。この開示によれば、分散ロケーションを実質的に同じ場所にあると認定し、従って、アジャイル要件を満たすために、以下のルールを順守する必要がある。
ルール１：チームメンバは、少なくとも４時間のタイムゾーンオーバラップを共有する必要がある。これは、チームメンバが地理的に反対の場所にいるチーム、例えば、ムンバイ対シカゴ（Mumbai vs Chicago)を除くほとんどのチームで当然可能である。その場合、チームは、仕事のシフトの一部の動き、例えば午後１２時から午後９時までをトライすることができる。ただし、フルシフト（１か所で夜勤に移行するメンバ）は、推奨されない。
ルール２：職場がインフラストラクチャを提供し、チームメンバが物理的なコロケーションと同じくらい優れたコラボレーション／コミュニケーションを行えるようにする（正しいコラボレーションツール）。
ルール３：異なる場所（「１つのチーム文化」）間のコミュニケーションのチーム規範を確立する。経験豊富なコーチまたはファシリテータ（facilitator）は、書かれた言語による誤解、一般的なイベントでのチームメンバの繰り返し欠席、攻撃的な行動、適切なコミュニケーション手段の選択の誤り、推定に関する意見の食い違い、設計、決定など、潜在的なトリッキーなシナリオを、すべてのチームに説明する必要がある。すべてのチームメンバは、一緒に、そのような例外を処理するための規範を構築する必要がある。
【００３８】
繰り返しになるが、本開示によれば、コロケーションは、１つのアジャイルチームを意味するものではない。この開示によれば、アジャイルチームは、２つの条件を満足する。
条件１：すべてのチームメンバは、「製品カタログページの作成」など、共通の作業目標を共有する必要がある。
条件２：チームメンバ全員が１日を通して緊密に連携し、少なくとも１日に３回同期する必要がある。したがって、１つのプロジェクト内に、１つ以上のアジャイルチームを配置することは可能であるが、すべてのメンバは、同じ場所に配置される。
【００３９】
本開示によれば、プロジェクトに割り当てられたチーム内に、より多くのアジャイルチームを追加することにより、ロケーションに依存しないアジャイル配信モデルで、スケーリング（scaling）が達成される。アジャイルチームは、物理的なコロケーションを必要とせずに、さまざまな場所から作業できるが、仮想コロケーションのルールを、アジャイルチームが、順守する必要がある。上記の事前構成メタモデル（Ｍ１、Ｍ２、Ｍ３、Ｍ４）は、このチームの、チームコンセプトを使用して構築されている。
【００４０】
３−４−５アプローチによれば、例示的実施形態において、新しいロケーションに依存しないアジャイル配信モデルを成熟させる（maturing）５つのアクティビティは次のとおりである。
１．アジャイル開発チームのメンバがＰＯへの依存を少なくして作業できるようにし、分散した場所で、ビジネス知識を構築する。
２．時間帯の違いを活用するようにチームを構成する。アジャイルチームは、効果的なコラボレーションのために、タイムゾーン間で最小限の重複が必要である。チームの作業時間を調整して、仕事の持続可能なペ−スを確保し、あるチームが仕事から帰宅するときに、別のチームが、仕事を引き継いて継続できるように計画する。チームは、日々の進行を妨げる要因などの一連の事実に基づいて、重複の程度を決定する場合がある。
３．「１チーム」の文化と適切なコラボレーションツールを計画する−企業全体のチームが共通のアジャイルプラクティスを共有する。また、コンピューティングリソース（データのセットアップ、展開等）に対する同様の特権を教授しているため、どの場所からでもチームに、同等の権限が与えられる。コラボレーションイネーブラーには、ビデオ会議、共有ホワイトボードなどの「仮想コロケーション」を完全に有効にするツールを含むことができる。スプリントサイクルとリリースサイクルの自動化されたフローを同期および増加-ビジネスニーズに対応し、リリースサイクルと同期する適切なスプリントサイクルを選択します。適切なレベルのDevOps（登録商標） チーム間の相互、および外部の依存関係無しに作業の流れを改善するために、自動化およびエンジニアリングの実践が行われる。
５．チーム間での依存関係が最小化され、流出が最大化されるように、場所間での作業の適切な分散を計画する。
【００４１】
本開示の例示的な３−４−５アプローチによれば、開発チームとＰＯの間の依存関係は、子供と母親の間の依存関係として扱われる。ビジネスについて十分に理解していないチームは、母親であるPOに依存する子供である。これは、M1（完全共存）モデルの場合である。このアプローチは、この依存関係を徐々に減らす。たとえば、M2では、チームは、POによって明確化されたビジネスニーズをすばやく解釈できるように、十分なビジネス理解を開発する。M3では、チームは、POに依存せずに、詳細なニーズを引き出すことさえできる。これは、ＰＯの利用可能性を増大させＰＯが、より多くのチームをサポートすることを可能にする。
【００４２】
アジャイルマニフェストの発行以来、今日、コラボレーション技術は、大きく進化している。本開示によれば、動作する分布モデルと、動作しない分布モデルの知識、それらの動作特性、適切な分布モデルの選択に関する知識、適切なパラメータの設定に関するノウハウと経験、コンテキストのビジネス知識と、タイムゾーンの処理・重複を活用して、スケーラブルでカスタマイズ可能な、ロケーションに依存しないアジャイル配信モデルを生成した。
【００４３】
本開示の一実施形態によれば、新しい、ロケーションに依存しないアジャイル配信モデルが特定されると、ユーザは、特定されたモデルの性能を評価することを選択することができる。したがって、１つまたは複数のプロセッサ１０４は、ステップ２１２で、訓練された１つまたは複数の、機械学習モデルを使用して（ステップ２０８で）新しい、ロケーションに依存しないアジャイル配信モデルの評価を開始し、新しいロケーションに依存しないアジャイル配信モデルのパフォーマンスパラメータのセットを出力するように構成される。本開示によれば、性能パラメータは、新しいロケーションに依存しないアジャイル配信モデルの最適化の程度を示している。パフォーマンスパラメータのセットは、実世界のシナリオで実装された場合に、識別されたモデルが、どのように変化するかをユーザに示す。1つ以上のパフォーマンスパラメータが、履歴モデルと比較して、より良い価値を示す場合、新しいロケーションに依存しないアジャイル配信モデルのアーキテクチャは、将来の参照のためにモデリングユニット１０２Ａのモデルリポジトリで更新される。一実施形態では、性能パラメータのセットを構成する、異なる性能パラメータに対して、複数のパス（バッチプロセス）を実行して、例えばリリース頻度、速度、機能品質、構造品質、製造後欠陥などの価値を計算することができる。ユーザは、パフォーマンスパラメータを使用して、さまざまなリソース使用率または計画に関して変更を加え、ユーザが生成した新しいロケーションに依存しない、アジャイル配信モデルの計算されたパフォーマンスパラメータを改善、変更、またはバランスさせることができます。
【００４４】
本開示の別の実施形態によれば、新しい位置非依存のアジャイル配信モデルが特定されると、それをモデリングユニット１０２Ａのモデルリポジトリ内の１つ以上のアジャイル配信モデルと最良の一致と比較することができる。 ステップ214で、回帰法または最近隣法のいずれかを使用して出力し、ユーザが新しいロケーションに依存しないアジャイル配信モデルを異なるアジャイルモデル実装によって設定されたベンチマークと比較し、高性能を実現するベストプラクティス実装を活用できるようにします。
【００４５】
したがって、本開示のシステムおよび方法によれば、ロケーションに依存しない、アジャイル配信チームを成功裏に実装するための３つの側面がある。組織のビジネスの専門知識の分布、仕事の性質、およびアジャイルの成熟度の評価。組織のニーズを満たす適切なアジャイル配信モデルの選択。また、アジャイルチームのアジャイル能力を継続的に改善して、本開示により提供されるロケーションに依存しないアジャイル配信モデルの利点を獲得する。
【００４６】
組織の評価
ロケーションがビジネスの専門知識を欠いている場合、アジャイルチームをサポートできるようになるには、より多くの専門知識が必要になる。チームメンバが、経験を積むにつれて、ビジネスの知識が構築され、より価値があり、分散組織の一部として働くことができるようになる。最初は、ロケーションに依存しないアジャイルチームは、緊急でも不安定でもない作業に集中できる。作業が両方である場合、交渉不可能な制約がある場合（夜間の修正、日中のスコープ変更、規制要件など）、またはＰＯへの継続的なアクセスが必要な場合、可能な限り、次のチームと作業するのが最善である。チームが、アジャイルアプローチに比較的慣れていない場合、チームを併置する必要がある。アジャイル文化、特に、リーダーシップの共通理解を持っていることは、組織が、ロケーションに依存しないアジャイル配信チームで成功できることを示している。
【００４７】
適切なアジャイル配信モデルの選択：
上記で説明したように、一実施形態では、事前に構成されたメタモデルの１つ（高度に分散された配置で効果的であり得るチームに併置されるべきチームからの範囲）は、アジャイルチームを編成するために選択することができる。
【表１】
2020087478.tif 000003
【００４８】
現実世界のシナリオで観察されるような、ロケーションに依存しないアジャイル配信モデルを実装する利点のいくつかには、分散エンタプライズアジャイルの作成、利用可能な事前構成されたメタモデルから、適切なモデルを選択することにより週５日、２４時間、利用することにより、企業をより生産的にする、および複数のチームに依存しないロケーションにわたって技術を共有することにより卓越性を加速する、ことを含む。
【００４９】
上記の３−４−５アプローチの５つのアクティビティに基づいて、新しいロケーションに依存しない、アジャイル配信モデルを成熟させることにより、アジャイルチームのアジャイル能力を向上させる。
【００５０】
この記述は、当業者が実施形態を作成および使用することを可能にするために、本明細書の主題を説明する。主題の実施形態の範囲は、特許請求の範囲によって定義され、当業者が思いつく他の修正を含むことができる。そのような他の修正は、クレームのリテラル言語と異ならない類似の要素を持っている場合、またはクレームのリテラル言語と実質的な違いの無い、同等の要素を含む場合、クレームの範囲内にあることを意図する。
【００５１】
保護の範囲は、そのようなプログラムに拡張され、その中にメッセージを有するコンピュータ可読手段に加えられることを理解されたい。そのようなコンピュータ可読手段、プログラムが、サーバ、またはモバイルデバイス、または任意の適切なプログラム可能なデバイスで実行されるときに、方法の、１つまたは複数のステップを実施するためのプログラムコード手段を含む。ハードウエアデバイスは、サーバ、またはパーソナルコンピュータ等の任意の種類のコンピュータ、またはそれらの任意の組み合わせを含む、プログラム可能な任意の種類のデバイスであり得る。デバイスはまた、例えば、特定用途集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）のようなハードウェア手段、または、例えば、ＡＳＩＣとＦＰＧＡ、または少なくとも１つのマイクロプロセッサと、ソフトウエアモジュールを内蔵した少なくとも１つのメモリのような、ハードウェアとソフトウェアの組み合わせであり得る手段を含むことができる。したがって、手段は、ハードウェア手段とソフトウェア手段を含むことができる。ここに記載した方法の実施形態は、ハードウェアとソフトウェアで、インプリメントすることができる。デバイスはまた、ソフトウェア手段を含むことができる。あるいは、実施形態は、異なるハードウエアデバイス、例えば、複数のＣＰＵｓを用いてインプリメントすることができる。
【００５２】
本明細書の実施形態は、ハードウェアエレメントと、ソフトウェアエレメントを含むことができる。ソフトウェアでインプリメントされた実施形態は、これに限定されないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。ここに記載した種々のモジュールにより実行される機能は、他のモジュール、または他のモジュールの組み合わせでインプリメントすることができる。この説明の目的のために、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれらに関連して使用するプログラムを含む、格納する、通信する、伝搬する、または転送することができる任意の装置であり得る。
【００５３】
図示されたステップは、示された例示的な実施形態を説明するために提示されており、進行中の技術開発が特定の機能が実行される方法を変えると予想されるべきである。これらの例は限定ではなく、例示の目的でここに提示される。さらに機能構築のブロックの境界は、説明の便宜上、本明細書で任意に定義されている。指定された機能とその関係が適切に実行される限り、代替の境界を定義できる。本明細書に含まれる教示に基づいて、代替物（本明細書に記載されるものの均等物、拡張、変形、逸脱などを含む）は、関連技術の当業者には明らかであろう。そのような代替物は、開示された実施形態の範囲、および精神に含まれる。また、「含む（comprising）」、「有する（having）」、「含む（containing）」および「含む（including）」および他の類似の形態は、意味的に等価であることを意図しており、これらの用語に続く、アイテムまたは複数のアイテムは、そのようなアイテム、または複数のアイテムの総記であることを意味せず、またはリストされたアイテムまたは複数のアイテムのみに限定されることを意味する。また、本明細書および添付の特許請求の範囲で使用される単数形「１つ（ａ）」、「１つ（ａｎ）」、「その（ｔｈｅ）」は、コンテキストがそうでないことを明確に示さない限り、複数の参照を含むことに留意する必要がある。
【００５４】
さらに、１つまたは複数のコンピュータ可読媒体は、この開示に一致する実施形態をインプリメントするのに利用することができる。コンピュータ可読記憶媒体は、プロセッサにより読むことができる情報、またはデータが記憶される任意のタイプの物理メモリを指す。従って、コンピュータ可読記憶媒体は、１つまたは複数のプロセッサにより実行するための命令であって、プロセッサ（複数の場合もある）に、ここに記載された実施形態に一致するステップ、またはステージを実行させる命令を記憶することができる。「コンピュータ可読媒体」という用語は、有形のアイテムを含み、搬送波と一時的な信号を除外する、すなわち、一時的でないと理解されるべきである。例としては、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、揮発性メモリ、ハードドライブ、ＣＤ  ＲＯＭｓ、ＤＶＤｓ、フラッシュドライブ、ディスク、および任意の他の周知の物理記憶媒体を含む。開示および実施例は、例示としてのみ考慮することが意図されており、開示された実施形態の真の範囲および精神は、添付の特許請求の範囲によって示される。
【図１】
2020087478.tif 000004
【図２】
2020087478.tif 000005
【図３】
2020087478.tif 000006
【図４Ａ】
2020087478.tif 000007
【図４Ｂ】
2020087478.tif 000008
【図４Ｃ】
2020087478.tif 000009
【図５】
2020087478.tif 000010
【外国語明細書】
2020087478000001.pdf