La chaine de déploiement

written by jacques on July 1st, 2009 @ 10:58 AM

La chaîne de déploiement décrit dans le cadre du développement logiciel les logiques opérationnelles liées au développement par version d’une application

les 3 maillons indispensables de la chaîne

Votre chaine de déploiement est constituée à minima de:

  • l’environnement de réalisation, le domaine de travail de vos développeurs & graphistes,...
  • l’environnement de démo, le domaine de travail de vos chefs de projets
  • l’environnement d’exploitation, le domaine de travail de vos intégrateurs de contenu et de votre client

la logique de passage d’un environnement à l’autre

Il est important de comprendre que la logique de passage d’un environnement au suivant est sous la responsabilité des personnes de l’environnement en cours:

  • Décisionnel => Réalisation
    • la décision de mettre en réalisation un Pool de fonctionnalités est le choix tactique ou stratégique des décideurs
  • Réalisation => Démo
    • la décision de mettre une version de developpement de l’application en démo dépend des Développeurs et est basé sur leur connaissance de la version stable du code de l’application
  • Démo => Exploitation
    • la décision de mettre une version de démonstration de l’application en exploitation dépend des Chef de projet est basé sur leur analyse de la maturité avérée (recettage) du Pool de fonctionnalités de l’application

La chaîne de production ne s’arrête pas avant que le Pool soit vide

Il est important de comprendre que la logique de passage d’un environnement à l’autre ne doit JAMAIS être court-circuité sous peine de désorganisation de l’ensemble (phénomène d’aller retour en contresens entre les maillons de la chaîne)

Ceci est particulièrement vrai suite à la phase de Démo et d’Exploitation où apparaît la phase d’affinage:

  1. qui boucle sur l’environnement de Réalisation autant de fois que nécessaire
  2. qui est constitué:
    1. de correctifs
    2. mais aussi d’adaptation ergonomique et fonctionnel du Pool de fonctionnalités initial.

La phase d’affinage:

  1. Exclut que l’environnement Décisionnel lance un nouveau Pool de fonctionnalités dans l’environnement de Réalisation sous peine de court-circuitage
  2. Permet au Décisionnel de repenser le prochain Pool de fonctionnalités au regard des résultats du précédent affinage

En résumé:

  • Une bonne phase d’affinage détermine la qualité finale de la réalisation
  • D’un point de vue pratique un système de ticketing et de tableaux de bord ainsi qu’un système de versionning du code et de déploiement bien organisés sont essentiels pour correctement piloter la phase d’affinage

Pour aller plus loin

Voici, vu par un architecte logiciel, le sypnosys de la suite de la reflexion sur comment mettre en oeuvre la chaine de déploiement d’une application au sein de votre entreprise:

  1. les poncifs classiques du développement d’une application:
    1. le système de Milestones pour le contrôle décisionnel & l’affinage
    2. le test continu en appui feu de la phase de réalisation et du respect des normes
    3. L’homogénéité des environnements pour diminuer le risque d’exploitation
    4. Faire éclore à maturité les fonctionnalités de l’application sur l’environnement démo
    5. Déployer automatiquement un environnement sinon rien
    6. Corriger en cas réel: I want my data back !
  2. l’application de ces poncifs sur les outils opérationnels de votre infrastructure:
    1. de système de ticketing
    2. de versionning du code
    3. de système de déploiement
    4. de tableaux de bord
Article connexes:

Post a comment