De l’organisation et de la planification avec pmsiplan

Dans le monde de la gestion des logiciels, il existe un endroit redouté appelé « l’enfer des dépendances » (de l’anglais « dependency hell »). Plus votre système se développe et plus vous intégrez de composants dans votre logiciel, plus vous êtes susceptible de vous trouver un jour dans cette abîme de désespoir.

Semver.org

Les questions sous-jacentes sont souvent les suivantes :

  • Quel numéro de version retenir pour une brique logicielle dépendant elle-même de sous briques également versionnées ?
  • Comment gérer les montées de versions et breaking changes ?
  • Quand planifier une nouvelle version si les projets dont je dépends ne sont pas prêts ?

Pour pallier ces problématiques de release management, nous avons mis en place certaines bonnes pratiques :

  • Gestion de dépendances en utilisant RPM/Yum,
  • Semantic Versionning, pour pouvoir détecter rapidement les breaking changes,
  • un CHANGELOG.md dans chaque projet,
  • un UPGRADE.md si nécessaire.

En plus de ces pratiques, nous avons développé un outil sympa de gestion de release permettant :

  • au Release Manager d’avoir une vision rapide des dates de livraisons prévues pour chaque brique logicielle, et quelle version de chaque brique logicielle sera incluse dans une release ou quelle brique retarde la sortie de la release avec un petit diagramme de gant rapide pour la sortie de la release …
  • au Lead Dev de chaque brique de savoir quelles dépendances vont être mise à jour, de planifier la montée en version de ces dépendances et planifier la mise à jour de l’application dont il est le responsable.

Et comme nous sommes sympas chez PMSIpilot et qu’on aime bien l’open source, notre projet PMSIplan est désormais open sourcé sur github !
PMSIplan

 

Riad

Lead Developper Frontend @PMSIpilot, Computer Science Engineer (INSA Lyon, USTO Oran), Amateur photographer share about various topics: Web, Technology, ...

 

Laisser un commentaire