Upload
frederick-lussier
View
3.463
Download
0
Embed Size (px)
DESCRIPTION
La méthode Agile du CMMI est TSP/PSP.
Citation preview
# 1
Méthode Agile du CMMI®
Personal Software Processms / Team Software Processms
++
03 / 08 / 2011 V. 04
+
Alcyonix - Conseil en amélioration de processus
ms Personal Software Process, PSP, Team Software Process, et TSP sont des marques de service de Carnegie Mellon University.® Capability Maturity Model, et CMMI sont enregistrés auprès du U.S. Patent and Trademark Office par Carnegie Mellon University.
# 2
Qu'est-ce que Agile
Qu'est-ce que le CMMI®
PSP/TSPms : la méthode Agile du CMMI®
TSP /PSPms : Résultats des organisations
Sommaire++
+Alcyonix - Conseil en amélioration de processus
PSP/TSP in concert with process improvement activities will accelerate organization maturity.
John D. Vu, The Boeing Company, 2001
Used TSP to cut defects in half and establish data baseline to improve future planning
efforts
Jim Sartain
Over 20,300 major defects found prior to Test through TSP ; unit test defects dropped from
25 per KLOC to 7 per KLOC
Jeffrey Smith (Coach TSP Microsoft IT)
++
# 3
Agile – Manifesto
" Nous avons trouvé une voie améliorant le développement logiciel en réalisant ce travail et en aidant les autres à le faire. De ce fait nous avons déduit des valeurs communes. "
Le manifeste Agile est constitué de 4 valeurs et de 12 principes fondateurs.
Les quatre valeurs fondamentales Agiles sont :Davantage l’interaction avec les personnes que les processus et les outils;
Davantage un produit opérationnel qu’une documentation pléthorique;
Davantage la collaboration avec le client que la négociation de contrat;
Davantage la réactivité face au changement que le suivi d'un plan.
Que signifie mettre en application AgileUn changement des valeurs de l’organisation;
Utiliser 1 ou plusieurs méthodes ou techniques.
Alcyonix - Conseil en amélioration de processus
http://agilemanifesto.org/
++
SQLI, fournisseur d'innovation - Nom du document # 4
Concepts Agiles Typiques
Développement itératif, incrémental et adaptatif qui livre de la valeur;
Implication active du client;
Intégration continue;
Planification par vagues;
Livraison fréquente et de courte durée d’applications fonctionnelles;
Changement est vu comme un avantage compétitif;
Test en premier et puis code;
Attention continue de l’excellence technique et la qualité de la conception;
Ingénierie inverse naturelle (code propre);
Équipe autonome, engagée et autodirigée;
Collaboration/Communication directe des membres de l’équipe;
Plus de savoir faire que le savoir être.
++
SQLI, fournisseur d'innovation - Nom du document # 5
Critiques / Malentendus
Client n’a pas le temps (planification, réunions, tests);
Fréquentes relâches = perception de la mauvaise qualité du produit;
Agile est orienté fonctionnalités, les éléments non fonctionnels sont durs à décrire dans un story;
Impossible de monter un devis avec une évaluation réaliste des efforts;
Négociations contractuelles difficiles;
Moyen pour soutirer de l’argent des clients par le manque de définition de livrables;
Manque de structure, de processus et de documentation nécessaire;
Conception du logiciel insuffisante;
Demande trop de changement culturel dans les organisations;
Peut être très inefficace « reprise de code »;
Peut augmenter le risque sur la portée du projet dû au manque des détails des exigences;
Manque de discipline;
Manque de définition des rôles;
Demande des développeurs expérimentés. Plusieurs web pages.McBreen, P. (2003). Questioning Extreme Programming. Boston, MA: Addison-Wesley. ISBN 0-201-84457-5.Boehm, B.; R. Turner (2004). Balancing Agility and Discipline: A Guide for the Perplexed. Boston, MA: Addison-Wesley. ISBN 0-321-18612-5.
++
# 6
CMMI
CMMI est un modèle pas un processus ou une norme.
Il décrit les caractéristiques des processus efficaces.
Que signifie mettre en application CMMI ?
C’est de définir et implémenter vos processus, méthodes et techniques basés sur les définitions du modèle.
Alcyonix - Conseil en amélioration de processus
2
5
4
3
Innovation et déploiement organisationnelsAnalyse causale et résolution
Performance du processus organisationnelGestion de projet quantitative
Développement des exigencesSolution techniqueIntégration de produitVérificationValidationFocalisation sur le processus organisationnelDéfinition du processus organisationnelFormation organisationnelleGestion de projet intégréeGestion des risquesAnalyse et prise de décision
Gestion des exigencesPlanification de projetSurveillance et contrôle de projetGestion des accords avec les fournisseursMesures et analyseAssurance qualité processus et produitGestion de configuration
++
SQLI, fournisseur d'innovation - Nom du document # 7
Historique du PSP / TSP
Watts S. Humphrey - Standard Engineering Institute (SEI)
CMM v1.1 introduit en 1991
Répondre aux questions :Comment déployer le CMM dans ma petite organisation (ma crainte est que CMMI est trop « lourd » pour nous) ?
Comment garder ma flexibilité et réactivité (ma crainte est que d’écrire et implémenter une série de processus transformera mon organisation en bureaucratie) ?
Comment puis-je déployer les principes de CMMI sur une plus petite une échelle, projet par projet (ma crainte est qu’un budget d’implémentation du CMMI à l'échelle de l'organisation va tuer l'initiative) ?
PSP introduit en 1994
TSP introduit en 2000
Depuis plusieurs refonte pour satisfaire aux contraintes d'affaires
++
SQLI, fournisseur d'innovation - Nom du document # 8
Équipe de sport
Les logiciels sont développés par des équipes ;
La compétence de l’individu et de l'équipe, la discipline, et l'engagement détermine le résultat ;
Pour améliorer la performance de l'organisation, vous devez améliorer la performance des équipes et pour cela vous devez améliorer la performance des membres de l'équipe.
Membres d’équipe, c’est :Être motivé ;
Négocier ses propres engagements ;
Faire le suivi de ses plans ;
Être dédier à l’excellence, à la haute qualité ;
Être confiant en ses capacités ;
Avoir une discipline de travail.
Ce dont le membre d’équipe a besoinDes objectifs qui le challengent ;
La confiance des managers ;
Le support des managers ;
Un feedback (encouragement) sur sa performance ;
Un environnement.
++
# 9
PSPms/TSPms processus Agile du CMMI
Le TSP guide une équipe autodirigée de développeurs disciplinés par le PSP, dans la réalisation d’un produit, en appliquant le coaching et le leadership.
Le PSP est une méthode de travail conçue pour une utilisation individuelle qui s‘emploie à organiser, autocontrôler et améliorer la manière dont vous travaillez.
1 à 10 équipesde 2 à 20 membres
Juste assez de processus à une équipe pour couvrir les bonnes pratiques du modèle CMMI à un niveau 5.
Alcyonix - Conseil en amélioration de processus
++Qualifier l’individu pour devenir membre d’une équipe ;
Apprendre à suivre un processus et mesurer, estimer, prévoir, et suivre son travail.
SQLI, fournisseur d'innovation - Nom du document # 10
Compétences du développeur
Gestion des exigences Gestion des processus Développement cyclique Estimation et planification Suivi des tâches Conception saine Gestion de la qualité Test Revue Analyse de code (Code propre) Données/mesures personnelles Auto-amélioration
Chaque personne est différente.Un membre d’équipe discipliné est plus efficace et efficient.
Une attention continue à l'excellence technique et à la qualité de la conception améliore l'agilité.
TDD XUnit, FIT/Fitness Programmation en binôme Techniques d’estimation Agile
++
SQLI, fournisseur d'innovation - Nom du document # 11
Équipe de projet
Dirige ses projets;
Prends ses engagements;
Effectue le meilleur travail;
Est plus créative et innovatrice;
Dispose de ses processus et de son plan;
Est dédié à l’excellence et au succès;
Résout activement les problèmes et les conflits;
Communique ouvertement.
Chef de groupe
Resp. client
Resp. des tests
Resp. TI
Resp. de l’implémentation
Resp. de la conception
Resp. qualité
Resp. des processus
Resp. de la planification
etc.
Les meilleures architectures, spécifications et conceptions sont issues d'équipes qui s'auto-organisent.
La méthode la plus efficace de transmettre l'information est une conversation en face à face.
Bâtissez le projet autour de personnes motivées. Donnez leur l'environnement et le soutien dont elles ont besoin, et croyez en leur capacité à faire le travail.
Les gens de l'art et les développeurs doivent collaborer quotidiennement au projet.
# 11
++
SQLI, fournisseur d'innovation - Nom du document # 12
Équipes performantes
PSP : IndividuelCompétences
TSP: ÉquipeOrganisation
TSP : ÉquipeGestion
Établissement des objectifs Assignation des rôles Ajustement des processus Plans intégrés & nivelés
Communication Coordination des ressources Suivi du projet Analyse des risques
Gestion des processus Mesures de la performance Estimation & planification Gestion qualité
Le TSP construit des équipes performantes à partir des individus
++
Cycle de développement
Cycle de développementCycle de
développementCycle de
développement
Cycle de développement
Cycle de développement
SQLI, fournisseur d'innovation - Nom du document # 13
Itérations
Les cycles TSP peuvent être implémentés en phase et/ou en courte itération
Chacun des cycles TSP débute avec une activité de lancement ou de relancement et se termine par une activté de post mortem
La durée d’un cycle TSP est de quelques semaines à quelques mois
DéveloppementDéveloppement
Leçons apprisesNouvelles demandesChangement dans l’équipeNouveaux objectifsNouveaux risques
Leçons apprisesNouvelles demandesChangement dans l’équipeNouveaux objectifsNouveaux risques
Produit IntermédiaireProduit Intermédiaire
Exigence du cycle, Stratégie d’équipeEstimation, Raffinement des plans projet, Processus , Engagement, Plan détaillé du cycle courant
Exigence du cycle, Stratégie d’équipeEstimation, Raffinement des plans projet, Processus , Engagement, Plan détaillé du cycle courant
Produit finalProduit final
Les processus agiles promeuvent un rythme de développement soutenable. Commanditaires, développeurs et utilisateurs devraient pouvoir maintenir le rythme indéfiniment.
Reconnaître que les conditions du projet changeront dans le temps.
À intervalle régulier, l'équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son comportement dans ce sens.
Le changement est accepté, même tardivement dans le développement. Les processus agiles exploitent le changement comme avantage compétitif pour le client.
Préparation du lancement
Préparation du lancement
Objectifs de l’organisationExigences sommaires
Objectifs de l’organisationExigences sommaires
++
SQLI, fournisseur d'innovation - Nom du document # 14
Activité de lancement
Le lancement TSP est un atelier faisant participer tous les membres de l'équipe (développeur, non développeur, le client et le management)
Le coach TSP guide l’équipe durant cet atelier
L'atelier de lancement accélère la coalition de l’équipe:
Une compréhension commune du travail à effectuer
Un accord sur la façon d’effectuer le travail
Un engagement à un plan d'équipe
Un soutien du management sur le plan
But: Établir la meilleure stratégie et les processus pour atteindre les objectifs
Un plan prêt a être exécuté le lendemain
La simplicité - l'art de maximiser la quantité de travail à ne pas faire - est essentielle.
Un logiciel fonctionnel est la meilleure unité de mesure de la progression du projet
Quoi Comment Quand Qui Qualité Si
Objectifs du projetConception haut niveau“Backlog” prioriséLivrablesEstimation des livrablesEstimation des stories
StratégieProcessusBesoinsRègles d’engagement
Plan du projetCalendrierRythme
Attribution des rôlesDisponibilitéAttribution des tachesPlan détaillé du cycle
Plan qualitéCritères “Done”
Risque & MitigationPlans alternatifs
++
TestExécution des tests d’intégration, de non
regression et fonctionnels
SQLI, fournisseur d'innovation - Nom du document # 15
Adaptation à Agile
Plan
Test & Conception
Revue et Inspection conception
Code
Revue et Inspection Code
Analyse de code
Exécution des tests
PostMortem
Gu
ide
P
SP
Exigences & SpécificationsExigences du client, Exigence
techniques, Story, Test d’acceptation, ‘Backlog’ priorisé
Conception et Architecture de haute niveau
Modèles conceptuels, Ébauche des interfaces, Scénario, Cas
d’utilisation, ...
Relâche 1 Rel. 2 Rel. n
Itération1 Itération 2
...
...
Rencontre périodique du statut du projet
ValidationExécution des tests
d’acceptation
Intégration continue
DéploiementPréparation,
Démonstration et installation
Livrer fréquemment une application fonctionnelle, toutes les deux semaines à deux mois, avec une tendance pour la période la plus courte.
Notre première priorité est de satisfaire le client en livrant tôt et régulièrement des logiciels utiles.
Cyc
leRencontre debout
journalière
EnvironnementSalle de travail, Serveurs,Intégration continue, Outils de développement,
Machines de tests, Processus, standards, Formation, ...
Itération 3
ArchitectureVision de l’équipe de
l’architecture
++
SQLI, fournisseur d'innovation - Nom du document # 16
Exemple de rapport - valeur acquise
Graphiques réels obtenus à partir des outils PSP/TSP fournis ; basé ici sur des données anonymes.
++
SQLI, fournisseur d'innovation - Nom du document # 17
Exemple de rapport - Défauts
Graphiques réels obtenus à partir des outils PSP/TSP fournis ; basé ici sur des données anonymes.
++
SQLI, fournisseur d'innovation - Nom du document # 18
Exemple de rapport – Performance du Processus
Graphiques réels obtenus à partir des outils PSP/TSP fournis ; basé ici sur des données anonymes.
++
SQLI, fournisseur d'innovation - Nom du document # 19
Exemple de rapport
Graphiques réels obtenus à partir des outils PSP/TSP fournis ; basé ici sur des données anonymes.
++
SQLI, fournisseur d'innovation - Nom du document # 20
Ils l’utilisent
++
SQLI, fournisseur d'innovation - Nom du document # 21
Adhérance aux valeurs Agiles (1/2)
Personnes et interaction plutôt que processus et outilsLe TSP soutient que l’individu est la clé pour obtenir un produit de qualité et les interactions efficaces des membres sont nécessaires au succès de l'équipe :
Les lancements de projet créent des équipes soudées ;
La communication et le feedback sont essentiels pour supporter l’équipe ;
Les équipes définissent leurs propres processus lors du lancement ;
Le partage du leadership dans l’équipe améliore l’interaction ;
Logiciel fonctionnel plutôt que documentation complèteLa stratégie est décidée lors du lancement (nombre d’itérations, cycle de vie, etc) et s’assure d’obtenir un produit de qualité dès le début :
La documentation doit faciliter les revues et le partage d'informations ;
Les équipes TSP déterminent le niveau de la documentation produit basé sur les normes de l’organisation, les exigences du client, et des attributs du système ;
L’équipe accomplit les exigences et les objectifs qu’elle reçoit.
Karen Smiley, Papers comparing agile to TSP, TUG 2003 presentation
++
SQLI, fournisseur d'innovation - Nom du document # 22
Adhérance aux valeurs Agiles (2/2)
Collaboration avec le client plutôt que négociation de contratL'étude des exigences du client est l’accent du TSP :
La présence du client ou de son représentant est requise lors du lancement et des relancements du projet ;
La collaboration avec le client est soutenue par le rôle du « Responsable client ».
Réagir au changement plutôt que suivre un planLes équipes TSP prévoient les changements:
Périodiquement relançant et replanifiant toutes les fois que le plan n'est plus un guide utile ;
Ajuster/Améliorer les processus de l'équipe ;
Ajouter de nouvelles tâches à mesure qu’elles sont découvertes ; retirer les tâches qui ne sont plus nécessaires ;
Dynamiquement, rééquilibrer la charge de travail d'équipe au besoin pour finir plus rapidement ;
Identifier et gérer les risques.
Karen Smiley, Papers comparing agile to TSP, TUG 2003 presentation
++
SQLI, fournisseur d'innovation - Nom du document # 23
Quelques donnéesMesures Avec TSP
MoyenneMin - Max
Projet Typique
System test defects (defects/KLOC)
0.40 to 0.9
15
Released defects (defects/KLOC)
0.060 to 0.2
7.5
System test effort(% of total effort)
4%2% to 7%
40%
System test schedule (% of total duration)
18%8% to25%
40%
Duration of system test (days/KLOC)
0.50.2 to 0.8
51 to 7.7
Unit Test - cost of quality 17%4% to 38%
50%
Project schedule error 6%-20% to 27%
180%
The Team Software Process (TSP) in Practice: A Summary of Recent Results CMU/SEI-2003-TR-014 and CMU/SEI-2000-TR-015
7.5
6.24
4.73
2.28
1.050.06
0
1
2
3
4
5
6
7
8
Def
ects
/KL
OC
CMMLevel 1
CMMLevel 2
CMMLevel 3
CMMLevel 4
CMMLevel 5
TSP
Defect Density of Delivered Software
We developed a 450 KLOC business operating system in 55 000 hours. We delivered it on time. The customer reported 17 bugs for a total defect density of 0.038 bugs/KLOC.
Gerardo López, Towa, CEO & President
TSP Symposium 2008
Mesures Moyenne
Productivity improvement 78%
1/3 des projets n’ont pas de défaut
++
SQLI, fournisseur d'innovation - Nom du document # 24
Quelques données
Microsoft Corporation 2006
Gain d’opportunité après 4 Gain d’opportunité après 4 projets:projets:
2624 hours2624 hours+ $90,783+ $90,783
Gagné 1150 heures lors des phases de test.
Gagné 427 heures grâce à l’amélioration de la productivité.
Gagné 1047 heures et 90,783 $us grâce à un produit de
haute qualité.
++
SQLI, fournisseur d'innovation - Nom du document # 25
Quelques données
Intuit a rapporté une réduction des appels de support sur le produit QuickBooks 2007 sauvant ainsi plus de 20M$us.
Savings
Reqts Design Implement Test
Processus traditionnel
Équipe TSP
Reqts Design Implement Test
++
SQLI, fournisseur d'innovation - Nom du document # 26
PSP/TSP implémente CMMI
La durée par niveau CMMI est de 1½ à 2 ans.
Navair et ais avec le PSP/TSP2.5 ans pour le passage du niveau 1 à 4,
Au lieu de 6 ans.
Plusieurs projets pilotes au Mexique et au USA.
TSP is 5-6σ capability
(Honeywell SEPG
presentation, march 2000)
Symposium TSP 2009
++
SQLI, fournisseur d'innovation - Nom du document # 27
État du TSP
Méthode de travail pour tous;
Atout dans description de postes;Microsoft IT, Intuit, etc
Outil open sourcehttp://processdash.sourceforge.net/
Certification possible en 2010;
PSP/TSP 100% CMMI (2010);
PSP/TSP (CERT) produit hautement sécuritaire est disponible;
PSP/TSP – Services (à venir).
27
ABBAdobeAISBechtelBoeingBlackBerryCensus BureauDavis SystemsDFASEDS-SDRC
EricksonFujifilmHelsanaHitashi Soft EngineeringHoneywellIBMIntuitKPMGLockheedMicrosoft ITMotivaNASA Langley
Northrop GummanOracleQuarkSoftRaytheonSamsungSofttekSunTeradyneToshibaUSAF: Hill AFBUSN: NAVAIRVicarious Visions...
Everybody uses TSP, software developers, testers as well as artists and sound technicians. Do you know how to count defects made by an artist?
Dan Wall, VP Production Methods & TSP Coach chez Vicarious Visions
Gradué PSPGradué PSP
++PSP/TSP livre des produits que les clients aiment sans avoir sa présence continuelle.
PSP/TSP forme des équipes Agile en se souciant des individus et de son environnement.
PSP/TSP fournit le minimum de processus pour qu’une équipe soit hautement performante.
PSP/TSP contribue à l’amélioration continue des compétences des individus et de l’équipe.
PSP/TSP est pour tous les membres de l’équipe (Développeur et non-développeur).
PSP/TSP couvre les pratiques CMMI.
PSP/TSP livre des produits de haute qualité en améliorant la productivité.
PSP/TSP est moins collégial.
PSP/TSP est plus orienté données et plan que les autres méthodes.
PSP/TSP met moins d’accent sur les techniques de développement (Test automatisé, Stories, XUnit, etc) mais contribue à leur utilisation.
SQLI, fournisseur d'innovation - Nom du document # 28
Conclusion
++
SQLI, fournisseur d'innovation - Nom du document # 29
Merci de votre attention
Alcyonix offre l’implémentation PSP/TSP
Formation
Implémentation
Lancement
Accompagnement
29
Questions - Discussions
Frédérick Lussier ([email protected])
Conseiller senior/Senior Consultant
---> "SEI-Certified PSP Developer"
---> "SEI-Authorized Instructor for PSP“
---> “Certified SCRUM Master”
ALCYONIX Inc. ( www.alcyonix.com )
Groupe SQLI (www.sqli.com)
--->"Software Engineering Institute (SEI) Partner"
Tel.: +1 450 653-3533 Fax: +1 (514) 221-2018
Cell: +1 418 262 4175
http://www.sei.cmu.edu/tsp/index.cfm