ソフトウェア開発プロセスのメトリック:GQMモデル

「測定できないものを制御することはできません」とは、コンサルタントが高価なトレーニングで使用することを好むハックフレーズです。 多くの人々は、可能な限りKPIをハングさせたいというマネージャーのman病な欲求のために、さまざまな種類のメトリックに対するアレルギーを発症しました。 しかし、特定の測定システムがなければ、ソフトウェア製品の品質とその開発プロセスの体系的な改善について話すことは不可能です。 この記事では、GQM(目標-質問-測定)アプローチについて説明します。これは、真に客観的なメトリックを決定し、いくつかの例を示します。



Gqm_basic










ソフトウェアを開発する際、チームはプロセスの非効率性と製品品質の低さの問題に定期的に遭遇します。 ただし、数百人の開発者が作成した数万行のコードを含むプロジェクトを一目で把握することはできず、決定を下すことはできません。 そのような場合、特別なインジケータが助けとなり、ソフトウェア製品を「啓発」することができます。



製品またはプロセスに変更を加えることを決定すると、チームは仮説を検証するために実験を開始します。 仮説が真実であることをどのように理解できますか? チームは、実験の重要な側面を説明する事前定義されたメトリックの恩恵を受けます。



GQMモデル



Victor BasilはGQMモデルを提案しました(目標-質問-メトリック;目標-質問-メトリック)[1]。 主なアイデアは、3つの基本的なポイントで説明されています。



  1. 達成したい目標を定義します。
  2. 目標に関連する重要な側面を特徴付ける質問を作成します。
  3. 質問に答えるメトリックを選択してください。


わかりやすくするために、モデルは3レベルの階層図の形式で描かれています。



GQMモデルを構築する際の重要な側面:



  1. 目標を策定するときは、SMART基準に依存してください。 これにより、抽象的な哲学的目標が回避されます。
  2. 主な側面を選択する際には、明らかな特徴だけでなく、間接的に変更される可能性のある兆候にも注意を払ってください。
  3. 重要な特性を決定する際には、使用する技術、プロセスの実践、開発ツールを考慮する必要があります。 これらの基準はすべて、特定のコンテキストで最も適切なインジケーターに影響を与えます。 さらに、自動または半自動モードで収集できるメトリックを選択する必要があります。メトリックの手動収集では、出力で無効な結果が発生するためです。


モデル構築の例



システムの非アクティブ時間(ユーザーがシステムにアクセスできない時間)を減らすことが目標だとします。 この状況のGQMモデルを図に示します。



Gqm_ex1






目標は、技術的およびプロセスの両方にすることができます。 たとえば、チームは、労働評価の品質やコードを記述するためのさまざまな標準の有効性を向上させるのに役立つメトリックを特定できます。 以下は、プログラムコードを記述するための特定の標準の有効性を判断するためのGQMモデルです。



Gqm_ex2






場合によっては、チームの目標がグローバルすぎるため、分解が必要になります。 この場合、 GQM +アプローチ [2]は、チームまたは会社全体の目標ツリーの構築と、ツリーの各目標に対する個別のモデルの構築を含む救助になります。 「機能をクライアントに提供する時間(市場投入までの時間)を短縮する」という目標はグローバルです。 次のように分解できます。



Gqm_ex3






要約すると、開発チームがソフトウェア製品の改善目標を独自に決定し、適切なメトリックを特定する場合、このツールが最も効果的であることは注目に値します。 チームが指標を製品改善プロセスの重要な側面としてではなく、管理の手段として認識し始めると、上から指標が課される場合、GQMモデルの有効性が急激に低下します。



参照:

  1. Basili VRソフトウェアのモデリングと測定:目標/質問/メトリックのパラダイム。 -1992。
  2. Basili V. et al。 GQM +戦略の概要//測定による組織の調整。 -スプリンガーインターナショナルパブリッシング、2014 .-- S. 9-17。



All Articles