Gestion de projet agile

Gestion de projet agile avec HERMES et SCRUM

Pourquoi agile?

De nombreux développeurs utilisent des méthodes agiles pour gérer la complexité du développement de certains produits ou systèmes. HERMES et le développement agile sont compatibles et leur interaction est décrite en prenant comme exemple la méthode SCRUM.

Place du développement agile dans le modèle de phases

HERMES couvre l'ensemble du cycle de vie d'un projet. SCRUM règle l'organisation et le pilotage de l'équipe de développement. Cette dernière n'a cependant pas besoin de voir les transitions entre les phases. Elle n'est impliquée qu'en partie dans le pilotage du projet, car elle est pilotée au moyen du product backlog et des sprints.

La Figure 33 montre le développement agile qui accompagne les phases HERMES.

Figure 33: Développement agile au cours des phases HERMES
Figure 33: Développement agile au cours des phases HERMES

Les phases HERMES et les tâches de décision avec les jalons du pilotage, de la conduite et de l'exécution continuent à être réalisées par le chef de projet et le mandant, même si le développement est agile, car SCRUM ne couvre pas ces aspects de la gestion de projet.

Lors d'un développement agile avec SCRUM, l'équipe de développement est impliquée dans les différentes phases comme suit:

Initialisation

Dans la phase d'initialisation, l'accent est mis sur la réalisation de l'étude avec les différentes variantes et le développement ne joue pas encore de rôle.

Conception

SCRUM peut être introduit durant la phase de conception, lorsque le partenaire pour le développement est sélectionné et que le périmètre du développement est défini de manière assez stable. Le module Développement agile est alors mis en place.

La première tâche de ce module consiste à prendre la décision concernant le développement agile avec SCRUM, celui-ci ayant des conséquences pour tous les partenaires: l'utilisateur, le producteur et l'exploitant. C'est pourquoi les parties concernées sont impliquées dans la prise de décision. Le mise en place de SCRUM est ensuite planifiée et réalisée avec la tâche Déployer SCRUM. Les premiers sprints peuvent alors commencer. Ils peuvent servir à contrôler l'architecture du système à l'aide d'un prototype (proof of concept).

La décision concernant l'architecture du système est prise pendant la phase de conception. L'architecture doit être suffisamment détaillée pour que les organes de prescription et de contrôle de gestion concernés puissent la contrôler et prendre la décision concernant l'architecture du système. La gestion durable du système informatique doit être garantie avant que des sommes importantes soient investies dans le développement.

Réalisation

Le développement agile se déroule principalement lors de la phase de réalisation. L'élaboration des spécifications détaillées est étroitement liée au développement. Le développement du système ou du produit s'effectue par sprints basés sur les spécifications détaillées.

Déploiement

D'autres sprints se déroulent durant la phase de déploiement, par exemple pour la gestion des modifications et les corrections de bugs de manière agile jusqu'à la réception du système.

Scénarios

HERMES propose deux scénarios standard qui contiennent le pilotage agile du développement avec SCRUM:

  1. système informatique agile
  2. prestation ou produit agile

Avec ces scénarios, l'utilisateur dispose d'une méthode qu'il peut utiliser immédiatement pour le pilotage agile du développement.

Les paragraphes suivants décrivent comment HERMES et SCRUM peuvent être utilisés ensemble dans un projet de développement informatique.

Module Développement agile

SCRUM est inclus dans HERMES sous la forme du module Développement agile, qui contient comme résultats tous les artefacts de SCRUM et en intègre les événements dans les tâches.

La Figure 34 ontre la place du module Développement agile dans le scénario Système informatique propre agile. Ce module est placé au niveau hiérarchique chargé de la conduite. Il complète le module Conduite de projet, dont les résultats et les tâches continuent d'être nécessaires, car ils ne sont pas couverts par SCRUM.

Figure 34: Place du module «Développement agile»
Figure 34: Place du module «Développement agile»

Les modules du niveau hiérarchique chargé de l'exécution continuent d'être nécessaires. En effet, SCRUM ne donne aucune indication concernant les tâches et résultats concrets pour l'achat, le développement du système informatique, le test, la migration, etc., mais il se concentre sur le pilotage agile du développement.

Rôles

SCRUM dispose de trois rôles, qui complètent les rôles HERMES et sont appliqués selon la définition du Guide SCRUM™.

HERMES part du principe qu'une personne peut occuper plusieurs rôles (cumul). Un titulaire de rôle HERMES peut ainsi assumer également un rôle SCRUM. Ce tableau montre les cumuls de rôles possibles.

Tableau 49: Cumuls de rôles possibles avec SCRUM

SCRUM Rolle

Candidat HERMES pour le rôle SCRUM

Product owner

Business analyst

Chef de projet de l'utilisateur

Responsable de processus métier

Responsable d'application

Architecte informatique

Équipe de développement

Développeur, business analyst, responsable

des tests, testeur

SCRUM master

Développeur, business analyst

HERMES et SCRUM ont une vision fondamentalement différente de la conduite de l'équipe. Alors que HERMES part du principe que le chef de projet donne des mandats de travail, l'activité de l'équipe SCRUM est pilotée par le product owner via le backlog et l'équipe organise son travail de manière autonome.

Le respect des rôles définis dans SCRUM est un facteur de réussite central pour l'application de cette méthode. En cas de cumul de rôles, on veillera à ce que le rôle défini dans SCRUM soit respecté par son titulaire.

Tâches

Forte orientation des tâches

Les tâches du module Développement agile sont plus fortement orientées vers le développement de logiciel que cela est le cas dans SCRUM. Ce tableau montre les tâches du module Développement agile et leur relation avec le Guide SCRUM™.

Tableau 50: Tâches HERMES et leur relation avec le Guide SCRUM™

Tâche HERMES

Description de la tâche HERMES

Guide SCRUM™

Prendre la décision

concernant SCRUM

La décision constitue la base du développement agile avec SCRUM. Elle définit comment le mode de travail agile avec SCRUM s'effectue pour le développement et comment il est introduit.

Non disponible

Introduire SCRUM

L'introduction ciblée de SCRUM constitue la condition préalable au développement agile.

Non disponible

Gérer le
product backlog

Le product backlog constitue la condition préalable à l'élaboration du plan de release et à l'exécution des sprints.

Élément de SCRUM; activité du rôle product owner

Élaborer le plan

de release

Le plan de release constitue la base d'exécution des sprints, de planification de la livraison d'un release à l'utilisateur et de coordination des activités avec les organes concernés.

Non disponible

Exécuter les sprints

L'exécution d'un sprint conduit à un

résultat convenu, concret et vérifiable.

Le sprint est le cœur de SCRUM. Il contient tous les événements SCRUM et est décrit dans le Guide SCRUM™.

Dans HERMES, les événements SCRUM sont mentionnés comme activités dans cette tâche.

Les tâches suivantes du module Conduite de projet doivent faire l'objet d'une attention particulière lors du développement agile:

Conduire la gestion des modifications

La définition d'un ordre des priorités dans le product backlog amène des modifications dans l'étendue des prestations. Les chefs de projet de l'utilisateur et du producteur conduisent la gestion des modifications selon le processus défini pour le projet qui est consigné dans son manuel de gestion. SCRUM ne rend pas cette tâche superflue.

Même si l'on utilise SCRUM, l'étendue du projet et sa délimitation conservent leur importance. Une extension de l'étendue ou un déplacement de la limite du projet peut concerner l'organisation permanente et doit être évaluée par les organes compétents, notamment le mandant et l'organe de prescription et de contrôle de gestion en charge du portefeuille de projets.

Convenir et piloter des prestations

Le pilotage des prestations s'effectue en définissant un ordre des priorités des exigences au moyen du product backlog et des sprint backlogs.

Si les prestations sont convenues à des prix fixes, toute modification de leur étendue entraîne des adaptations du contrat. La base utilisée pour cela est la liste de l'état des modifications.

Positions de HERMES et de SCRUM

Dans un projet où le développement agile est conduit à l'aide de SCRUM, la méthode SCRUM est utilisée en complément de HERMES.

Ce tableau compare les positions fondamentalement différentes de HERMES et de SCRUM. Il montre clairement que SCRUM ne remplace pas HERMES, mais le complète quand cela est nécessaire.

Tableau 51: Positions de HERMES et SCRUM

Domaine

HERMES

SCRUM

Cycle de vie du projet

HERMES couvre tout le cycle de vie du projet, de son mandat d'initialisation à sa clôture.

SCRUM couvre la période du projet pendant laquelle s'effectue le développement.

Le modèle de phases définit des points de décision différenciés, auxquels s'effectue la coordination du projet avec l'organisation permanente (p. ex. pour la mise au point de l'architecture du système).

SCRUM ne définit pas de points de décision différenciés pour la coordination avec l'organisation permanente.

Résultats, tâches, rôles

HERMES définit tous les résultats, les tâches et les rôles nécessaires pour des scénarios définis.

SCRUM définit les résultats (artefacts), les tâches (événements) et les rôles nécessaires pour le pilotage agile du développement .

Les résultats, les tâches et les rôles sont orientés vers le contenu du projet (c'est-à-dire vers les caractéristiques de celui-ci). Ils sont spécifiques.

Les résultats, les tâches et les rôles ne sont pas orientés vers le contenu du projet (c'est-à-dire vers les caractéristiques de celui-ci).

HERMES décrit des tâches concrètes en vue de la production de résultats spécifiques au projet.

SCRUM ne décrit pas de tâches concrètes en vue de la production de résultats spécifiques au projet.

SCRUM ne décrit pas de processus de développement, mais permet de rendre mesurable l'efficacité relative du développement.

Niveaux hiérarchiques

HERMES opère une distinction entre les niveaux hiérarchiques du pilotage, de la conduite et de l'exécution. Les rôles sont attribués à ces trois niveaux hiérarchiques.

SCRUM opère une distinction entre les niveaux du pilotage et de l'exécution.

HERMES englobe plusieurs modules qui sont attribués à l'un des niveaux hiérarchiques.

La distinction entre ces niveaux hiérarchiques est un élément important de la gouvernance.

Partenaires

HERMES définit la collaboration entre l'utilisateur, le producteur et l'exploitant.

SCRUM définit la collaboration entre l'utilisateur (product owner) et le développeur (rôle de l'équipe Scrum).

Aperçu des éléments méthodologiques

HERMES et SCRUM se composent d'éléments méthodologiques similaires, si bien que la structure de SCRUM peut être intégrée de manière simple dans la méthode HERMES.

Tableau 52: Éléments méthodologiques de HERMES et de SCRUM

Éléments de la méthode HERMES

Éléments de la méthode SCRUM

Résultat

Artefact

Tâche

Evénement

Rôle

Rôle