Évaluation des processus logiciels

Une évaluation de processus logiciel est un examen discipliné des processus logiciels utilisés par une organisation, basé sur un modèle de processus. L'évaluation comprend l'identification et la caractérisation des pratiques actuelles, l'identification des points forts et des points faibles, et la capacité des pratiques actuelles à contrôler ou à éviter les causes importantes de mauvaise qualité (logiciel), de coût et de calendrier.

Une évaluation (ou audit) de logiciel peut être de trois types.

  • UNE self-assessment (first-party assessment) est effectuée en interne par le personnel d'une organisation.

  • UNE second-party assessment est effectuée par une équipe d'évaluation externe ou l'organisation est évaluée par un client.

  • UNE third-party assessment est effectuée par une partie externe ou (par exemple, un fournisseur évalué par un tiers pour vérifier sa capacité à conclure des contrats avec un client).

Les évaluations des processus logiciels sont effectuées dans un environnement ouvert et collaboratif. Ils sont destinés à être utilisés par l'organisation pour améliorer ses processus logiciels, et les résultats sont confidentiels pour l'organisation. L'organisation évaluée doit avoir des membres dans l'équipe d'évaluation.

Évaluation de la maturité des processus logiciels

La portée d'une évaluation de processus logiciel peut couvrir tous les processus de l'organisation, un sous-ensemble sélectionné de processus logiciels ou un projet spécifique. La plupart des approches d'évaluation de processus fondées sur des normes sont invariablement fondées sur le concept de maturité des processus.

Lorsque la cible de l'évaluation est l'organisation, les résultats d'une évaluation de processus peuvent différer, même sur des applications successives de la même méthode. Il y a deux raisons aux résultats différents. Elles sont,

  • L'organisation faisant l'objet de l'enquête doit être déterminée. Pour une grande entreprise, plusieurs définitions de l'organisation sont possibles et, par conséquent, la portée réelle de l'évaluation peut différer dans les évaluations successives.

  • Même dans ce qui semble être la même organisation, l'échantillon de projets sélectionnés pour représenter l'organisation peut affecter la portée et les résultats.

Lorsque l'unité d'évaluation cible se situe au niveau du projet, l'évaluation doit inclure tous les facteurs significatifs qui contribuent au succès ou à l'échec du projet. Elle ne doit pas être limitée par les dimensions établies d'un modèle de maturité de processus donné. Ici, le degré de mise en œuvre et leur efficacité, étayés par les données du projet, sont évalués.

La maturité des processus devient pertinente lorsqu'une organisation a l'intention de se lancer dans une stratégie globale d'amélioration à long terme. Les évaluations de projets logiciels doivent être des évaluations indépendantes pour être objectives.

Cycle d'évaluation des processus logiciels

Selon Paulk et ses collègues (1995), l'approche d'évaluation basée sur le CMM utilise un cycle en six étapes. Ils sont -

  • Sélectionnez une équipe - Les membres de l'équipe doivent être des professionnels compétents en génie logiciel et en gestion.

  • Les représentants du site à évaluer remplissent le questionnaire standard de maturité des processus.

  • L'équipe d'évaluation effectue une analyse des réponses au questionnaire et identifie les domaines qui justifient une exploration plus approfondie en fonction des domaines de processus clés du CMM.

  • L'équipe d'évaluation effectue une visite du site pour acquérir une compréhension du processus logiciel suivi par le site.

  • L'équipe d'évaluation produit une liste de résultats qui identifie les forces et les faiblesses du processus logiciel de l'organisation.

  • L'équipe d'évaluation prépare une analyse du profil du domaine de processus clé (KPA) et présente les résultats au public approprié.

Par exemple, l'équipe d'évaluation doit être dirigée par un évaluateur principal SEI autorisé. L'équipe doit être composée de quatre à dix membres. Au moins, un membre de l'équipe doit provenir de l'organisation évaluée, et tous les membres de l'équipe doivent suivre le cours d'introduction au CMM du SEI (ou son équivalent) et le cours de formation de l'équipe IPI CBA du SEI. Les membres de l'équipe doivent également respecter certaines directives de sélection.

En ce qui concerne la collecte des données, l'ABC IPI s'appuie sur quatre méthodes -

  • Le questionnaire standard de maturité
  • Entretiens individuels et de groupe
  • Revues de documents
  • Rétroaction de l'examen des conclusions provisoires avec les participants à l'évaluation

SCAMPI

La méthode d'évaluation standard CMMI pour l'amélioration des processus (SCAMPI) a été développée pour répondre aux exigences du modèle CMMI (Software Engineering Institute, 2000). Il est également basé sur le CBA IPI. Le CBA IPI et le SCAMPI se composent de trois phases -

  • Plan et préparation
  • Effectuer l'évaluation sur place
  • Rapporter les résultats

Les activités du plan et de la phase de préparation comprennent:

  • Identifier la portée de l'évaluation
  • Élaborer le plan d'évaluation
  • Préparer et former l'équipe d'évaluation
  • Faites une brève évaluation des participants
  • Administrer le questionnaire d'évaluation CMMI
  • Examiner les réponses au questionnaire
  • Effectuer un examen initial des documents

Les activités de la phase d'évaluation sur site comprennent:

  • Organisez une réunion d'ouverture
  • Mener des entretiens
  • Consolider les informations
  • Préparer la présentation des projets de conclusions
  • Présenter le projet de conclusions
  • Consolider, évaluer et préparer les résultats finaux

Les activités de la phase de reporting des résultats comprennent:

  • Présenter les résultats finaux
  • Diriger une session exécutive
  • Concluez l'évaluation