Cours 7.1 Flashcards
What is Software configuration management?
“Software Configuration Management (SCM)/Change Management is a set of activities designed to manage
change by IDENTIFYING the work products that are likely to CHANGE, […] MANAGING DIFFERENT VERSIONS of these work products, CONTROLLING the CHANGES imposed, and auditing and REPORTING ON THE changes made
Dans quel domaine du développement la gestion du changement s’applique?
La gestion C&C s’applique sur la totalité du développement, du changement des exigences au changement des tests.
Qu’est ce qu’un élément de configuration?
Document pour lequel on veut garder une trace de son état et des changements qui lui sont appliqués.
– Ex.: fichier de code source, document d’exigences, plan de projet.
Qu’est ce qu’un référentiel (repository)?
Ensemble structuré d’informations utilisées dans le cadre du
développement, de l’opération et de la maintenance d’un logiciel.
– Ex.: SVN, Git, Sharepoint, Drupal
Qu’est-ce qu’une base de code (codebase)?
Tout le code source rédigé par les programmeurs.
– Ex.: Le code source commis dans SVN ou Git, avec les fichiers de paramétrisation, les scripts,
etc. Le code généré automatiquement et les librairies utilisées n’en font pas partie.
Qu’est-ce qu’une base de référenc (baseline)?
Image figée dans le temps de l’état d’un ou plusieurs éléments de configuration.
– Ex.: Firefox version 28.0, Ubuntu 12.04 LTS.
Qu’est-ce qu’un espace de travail (workspace/environment)?
Espace privé possédant les applications,
ressources et droits d’accès nécessaires pour le travail du développeur et où celui-ci peut travailler de manière relativement isolée tout en pouvant communiquer aux autres ses changements.
– Ex.: Poste avec Eclipse et accès au référentiel Git pour le programmeur. Poste avec
OpenOffice et accès au référentiel Drupal pour l’analyste.
Qu’est-ce qu’une demande de changement (DDC, Change Request CR, Modification Request MR, ticket)?
Artéfact officiellement soumis pour documenter et suivre une demande de modification du logiciel.
– Ex.: Éléments (bug, issues) sur Bugzilla, Trac, Redmine ou Github.
– Les CR peuvent être correctifs (ex.: bugs), perfectifs (ex.: features) ou autres.
Quelles sont les actions principales de la gestion C&C?
• Identifier les artéfacts pour lesquels on veut garder une trace.
– Il n’est pas nécessaire de vouloir retracer tous les artéfacts, parce que ça
demande du temps, de l’espace, de la maintenance, etc.
• Établir les relations entre les artéfacts.
– Construire un ensemble structuré afin de facilement retrouver
l’information.
• Définir les mécanismes de versions.
– Qu’est-ce qui différencie une version release d’une version developer,
d’une version long term support, etc.
• Contrôler les changements.
– S’assurer que toute l’équipe reçoive les changements effectués.
• Gérer les requêtes de changements.
– Évaluer la validité de la requête, s’assurer qu’une requête valide mène à
des changements adéquats.
• Auditer la complétude.
– Est-ce qu’il manque des artéfacts ? Est-ce qu’il y a des artéfacts qu’on
trace pour rien ? Est-ce que des CR se perdent ? Obtient-on tous les CR
pertinents ?
Quels sont les mécanismes de gestion des changements dans les artéfacts?
• Suivi dans des outils CMS (Content
Management Systems).
– Outils intégrés, ex.: SharePoint, Liferay, etc.
– Outils génériques, ex.: wiki sur MoinMoin, site web
sur Drupal, etc.
• Suivi dans des outils dédiés à certains artefacts.
– Ex.: suivi des bogues sur Redmine, Jira, etc.
– Ex.: suivi des cas de tests sur HP Quality Center,
TestLink, etc.
• Suivi informel.
– Par exemple, avec une page au début du document
qui décrit les changements faits
SE RAPPELER DU MÉCANISME DE GESTION DES REQUÊTES DE CHANGMENT!!!
SE RAPPELER DU MÉCANISME DE GESTION DES REQUÊTES DE CHANGMENT!!!
Quels sont les trois types de défi de la gestion C&C?
• DÉFIS DE GESTION
– Gestion des personnes réticentes à utiliser correctement les
outils donnés.
• DÉFIS TECHNOLOGIQUES
– Pas de solution miracle
• Il faut combiner plusieurs outils.
– Impacts à long terme à Capacité de changer d’outils.
• Ex.: Passer de SVN à Git en conservant les commits.
– Communication entre les outils.
• Est-il possible de lier automatiquement le commit sur Git avec le
bogue documenté sur Tuleap, de tester avec les cas de test JUnit, et
de fermer la tâche sur Redmine?
• DÉFIS DE PROCESSUS
– Outils compatibles avec le cycle de vie et les activités.
– Idéalement, on réfléchit sur la meilleure manière de faire, et
on choisit les outils appropriés par la suite.
• Dans la réalité, il faut souvent faire avec les outils en place …
Bénéfices de la gestion C&C?
• Produit complet et exact.
• Environnement stable de développement.
• Changements effectués selon une approche
standardisée.
• Traçabilité identifiant : Pourquoi, quand, et par qui tout artéfact a été créé ou changé?
Quelle est l’approche de l’UPEDU pour la gestion du changement?
- Write CM Plan : Planifier la structure du Git/SharePoint, définir le processus de gestion des changements.
- Report on Configuration Status : Vérifie que le Git/SharePoint est toujours dans un état adéquat.
- Make Changes : Fait des changements dans les artéfacts du projet.
- Create Workspaces : Monter des environnements de développement, d’intégration, etc.
- Create Baselines : Monter une version complète du logiciel.
- Submit CR : Soumettre une demande de changement.
- Review CR : Évaluer une demande de changement.
- Confirm Duplicate or Rejected CR : Confirmer ou refuser une demande de changement.
- Update CR : Mettre à jour une demande de changement.