Crystal


Crystal apparaît dans le développement agile de projets, entre autres avec le modèle du scrum, mais aussi avec d'autres méthodes. L’approche Crystal n’est toutefois pas une seule et unique méthode, mais d'un ensemble de différentes démarches qui sont reliées entre elles.

Informations générales sur le sujet[modifier]

Au début des années 1990, Alistair Cockburn initia le développement d’une méthode, qui deviendra plus tard le développement Crystal. Cockburn devait alors mettre au point pour IBM Consulting une méthode servant au développement orienté objet. Cockburn dut faire face alors à un problème de taille : à l'époque, il n'existait pas encore des possibilités de comparaison ; donc, il analysait autant de projets que possible et menait des interviews avec les participants.

Cockburn vint à la conclusion que chaque projet est unique et n'est pas comparable à d'autres projets. Il exclut ainsi les règles uniformes qui ne pouvaient pas satisfaire l'individualité de chaque projet. En lieu et place, il misa sur la communication régulière des équipes de projet qu'il jugeait essentielles. Et il retint quelques dimensions et caractéristiques qui constituèrent Crystal. De 1991 à 1999, les résultats de Cockburn tinrent aussi lieu de norme internationale.

Caractéristiques de Crystal[modifier]

Les dimensions suivantes jouent un rôle fondamental chez Crystal :

  • Le nombre de collaborateurs
  • La criticité (c.-à-d. les répercussions en cas d'échec)
  • Les priorités d'un projet (ce peut être des désirs spéciaux de clients, des dates de livraison ou des dispositions légales à respecter).

Bien que Crystal interconnecte des procédés pouvant différer l'un de l'autre, il existe des caractéristiques qu'ils ont en commun :

  • Le client reçoit des versions intermédiaires régulières et opérationnelles du logiciel utilisé (ceci se produit normalement chaque trimestre).
  • On parle ouvertement des divergences d'opinion dans l'équipe ou des problèmes survenant dans le cadre du projet. Cela s'applique aussi bien aux équipes qu'aux dirigeants.
  • Toutes les personnes impliquées recherchent constamment des propositions d'amélioration, lesquelles sont collectées et mises en priorité.
  • La communication est étroite et intense, aussi bien en équipe qu'avec le client.
  • Un collaborateur expérimenté participant au projet à venir doit être disponible en permanence pour le client.
  • Tous les collaborateurs impliqués dans le projet font, en principe, un travail orienté vers des solutions et des résultats
  • En outre, on utilise la gestion des versions ou des configurations.
  • Des tests automatisés sont régulièrement effectués par des codes de programme, et des versions opérationnelles d'essai sont régulièrement mises au point.

Famille Crystal[modifier]

La famille Crystal est composée de différentes méthodes de développement de logiciels. Le plus souvent, les « membres de la famille » sont caractérisés par des couleurs, la variante Crystal Clear étant la plus facile. Quant à savoir quelle variante Crystal va être utilisée, cela dépend de différents facteurs. Deux d'entre eux sont le nombre de participants, comme déjà mentionné, et la criticité (la probabilité d'un échec du projet). Les aspects tels que la mise en danger potentielle de la satisfaction client, les atteintes à l'image de marque, les pertes financières et – comme risque le plus élevé – les pertes en vies humaines, sont concrètement en rapport avec la criticité.

Crystal Clear, la variante la plus facile, convient pour des équipes de la taille de deux à six personnes, les autres variantes sont Crystal Blue, Crystal Magenta, Crystal Red, Crystal Orange Web, Crystal Orange et Crystal Yellow. Elles reflètent les tailles d'équipe des projets respectifs. En fonction de la taille de l'équipe et de la variante Crystal qui en résulte, il se produit aussi une modification du nombre de rôles, de l'ampleur de la documentation et de la multitude de méthodes utilisées.

Documentation et aspects de la qualité dans les méthodes Crystal[modifier]

Même si l'ensemble des règles est réduit dans la méthode Crystal ou même si ce genre ne peut être imposé aux équipes, une certaine quantité de documentation est nécessaire pour la réussite d'un travail. Si, dans le cas de Crystal Clear, seulement deux à six personnes coopèrent, cela peut se réaliser de façon simple, par exemple via un tableau blanc. Mais plus les équipes sont grandes, plus on a besoin d'une documentation plus vaste. Toutefois, par rapport à d'autres méthodes, on peut retenir que les tâches de documentation sont relativement infimes dans la méthode Crystal.

Les facteurs de réussite de Crystal dépendent de l'intégration quotidienne, des tests automatisés et de la gestion de la configuration. Pour augmenter la qualité de la coopération, des réunions d'équipe régulières, plusieurs revues et des livraisons régulières s'avèrent importantes. Il ne faut pas non plus oublier la satisfaction des clients.

Avec Crystal Clear, il suffit normalement que les membres de l'équipe testent réciproquement le code ; à partir de Crystal Orange, il faudrait intégrer un testeur externe. Les rôles du designer et du programmateur vont fusionner et les cas d'essai seront dérivés des cas d'utilisation. Grâce à cette structure et à la répartition des rôles, les problèmes de communication sont pratiquement exclus en amont. Vu le nombre croissant de participants et la criticité proportionnellement élevée, il faut augmenter le nombre de rôles exerçant un contrôle. Ce faisant, le processus devient certes plus formel : par exemple dans Crystal Orange, avec beaucoup d'équipes, il faut définir exactement l'interface. Cependant, les efforts qu'il faudra fournir sont aussi limités ici, tandis que des mesures efficaces peuvent être mises en œuvre en même temps pour assurer la qualité.

Importance pour la programmation[modifier]

Quiconque a besoin d'un maximum de liberté dans le développement agile de logiciels, trouve la solution avec Crystal. Cependant, il faut savoir aussi s'y prendre avec la liberté, ce qui requiert donc un degré considérable de discipline pour réussir avec cette méthode. En outre, il faut tenir compte du fait que le projet prévu est affecté à la couleur correcte au sein de la famille Crystal.

Référence[modifier]

Liens web[modifier]