développement efficace d'application logicielle
DESCRIPTION
- Efficacité et productivité- Taille du logiciel- Résultats de productivité- Pratiques observablesPrésenté le 14 mai 2008 à une midi-conférence du CRIMTRANSCRIPT
© CRIM 2008 1
Développement efficace d'application logicielle
Présenté par Sylvie TrudelConseillère senior, CRIM
Présenté à Montréal, le 14 mai 2008Présenté à Québec, le 21 mai 2008Midi-conférences du CRIM
© CRIM 2008 2
Contenu
Efficacité et productivité Taille du logiciel Résultats de productivité Pratiques observables Références
© CRIM 2008 3
Efficacité et productivité
Évoluer du qualitatif au quantitatif
© CRIM 2008 4
Indicateurs de performance
Date de livraison
Coûts/effort
Productivité
Qualité/contenu
© CRIM 2008 5
Efficacité et productivité : concepts
Productivité finale = Sorties / Entrées
Coût unitaire = Entrées / Sorties
Maturité du processus de gestion : Qualitatif Quantitatif
ProcessusEntrées Sorties
Ressources
© CRIM 2008 6
Productivité de projet logiciel
Forte corrélation entre: Taille et effort Taille et temps écoulé
Productivité finale = Taille / Effort
Coût unitaire = Effort / Taille Taux de livraison = Taille / Temps
Effort
Taille
Temps
Taille
© CRIM 2008 7
Estimation de projet logiciel : concepts
Estimer l’effort de base
Taille Effort préliminaire
Estimer les risques
Risques Effort contingenté
Ajouter les autres coûts
Autres coûts Coûts estimés
© CRIM 2008 8
Taille du logiciel
De la taille physique à la taille fonctionnelle
© CRIM 2008 9
Historique de la taille fonctionnelle
1979 ‘84 ‘86 ‘90 ‘94 ‘99 ‘04‘97‘91 ‘98 ‘03‘02 ‘05 ‘07
Avant 1979, mesure de la taille physique avec le # lignes de code
Albrecht, 1ère méthode de mesure de taille fonctionnelle
Formation d’IFPUG
Albrecht v2,appellation des
« Points de fonction »
Symons Mark II
Function Points
IFPUG v3.0
IFPUG v4.0
Abran propose les FFP comme
extension à IFPUG
IFPUG v4.1
IFPUG: International Function Point Users GroupCOSMIC: Common Software Measurement International Consortium
Mark IIISO 20968
Formation de
COSMIC
COSMIC v2.2ISO 19761
IFPUG v4.2ISO 20926
NESMA v2.1ISO 24570
COSMIC v3.0
© CRIM 2008 10
Taille fonctionnelle du logiciel
Quantification de la taille du logiciel à partir des exigences fonctionnelles de l’utilisateur Exigences = spécifications comportement
exemple: cas d’utilisation Excluant exigences techniques et de qualité
c’est-à-dire non fonctionnelles Se mesure tôt dans le cycle logiciel
© CRIM 2008 11
Normes ISO/IEC relatives à la mesure de taille fonctionnelle
Cadre normatif de basedes mesures de taille fonctionnelle
14143-1Définition des
concepts
14143-2Évaluation de la conformité avec
14143-1
14143-3Vérification des
méthodes
14143-4Modèles de référence
14143-5Détermination des
domaines fonctionnels
14143-6Guide de sélection
de méthode
Processus de mesure15939
Processus de mesure en génie logiciel
Méthodes de mesurede taille fonctionnelles
19761
COSMIC
20926
IFPUG 4.1
20968
Mark II
24570
NESMA
© CRIM 2008 12
La méthode COSMIC
Nouvelle génération de mesure de taille fonctionnelle
Cofondée par des québécois Norme nationale au Japon Traduit ou en voie de l’être dans 12 langues Guide de mesure gratuit en français (v2.2)
http://www.gelog.etsmtl.ca/cosmic-ffp/manual.html Unité de mesure: pfc (point de fonction COSMIC)
© CRIM 2008 13
Les mouvements de données
Données
Processus fonctionnel 1
Logiciel à mesurer Matériel de stockage
Écritures (C)
Lectures (L)
Processus fonctionnel 2
Processus fonctionnel n
…
Acteurs
Utilisateurs ou autres systèmes
Matériel d’entrée/
sortie
Entrées (E)
Sorties (S)
Entrées (E)
Sorties (S)
Fro
ntiè
re‘Interfaces’ ‘Infrastructure’
© CRIM 2008 14
Autres indicateurs avec la taille
Densité des défauts= # anomalies / taille
Coût relatif des correctifs= effort correctif /taille
Facteur d’échelle préliminaire/final= taille fin / taille début
Taille des modifications= valeur absolue de la taille affectée
© CRIM 2008 15
Résultats de productivité
Quelques exemples québécois, canadiens et internationaux
© CRIM 2008 16
Exemples de mesures de productivité: en heures/pfc
0
10
20
30
40
50
60
70
80
A B C D E F
1,5 26
1212
40
77
Organisations québécoises
4,68,5
16,6
Q1 Q3Médiane
BD internationale de projets ISBSG
Projets VB et VB.NET
© CRIM 2008 17
Corollaires
Augmentation de la productivité chez toutes les organisations qui la mesurent Certaines l’ont triplé: 6 h/pfc 2 h/pfc
Identification des ambiguïtés aux exigences fonctionnelles Réduction importante du travail à refaire
Comparaison de productivité avec des projets de même nature ailleurs dans le monde
Permettre de quantifier l’amélioration des processus
© CRIM 2008 18
Pratiques observables
Entre le noir et le blanc, il y a toutes les teintes de gris…
© CRIM 2008 19
Préoccupations et directives
Budget Date de livraison
Qualité Contenu à valeur ajoutée Productivité
© CRIM 2008 20
Processus et outils
Processus en cascades Description textuelle
lourde Outils disparates, peu
intégrés
Processus itératif Description graphique
légère (BPMN, TQM, etc) Outils intégrés de
collaboration
Architecture
Analyse
Design
Program.
Test
Architecture
Analyse Design
Program.Test
Livraison
© CRIM 2008 21
Méthodologie et documentation
Méthodologie de 20 ans+ Améliorations rares,
ponctuelles Documentation lourde,
dogmatique, peu gérée Bilans de projet
comptables
Méthodologie Agile (Scrum, TDD)
Améliorations mensuelles Documentation réfléchie,
améliorée et gérée Rétrospectives régulières
Architecture
Analyse
Design
Program.
Test
© CRIM 2008 22
Équipes et leadership
Structure hiérarchique et/ou matricielle
Groupe de développement éloigné des utilisateurs
Peu d’importance sur les connaissances du domaine
Spécialistes en héros Rôles et responsabilités
flous Chevauchements
Structure d’équipes autogérées
Utilisateurs intégrés à l’équipe de développement
Importance accordée aux connaissances du domaine
Généralistes en équipe Rôles et responsabilités
clairs Définis et appliqués
© CRIM 2008 23
Valeurs
Secrets et mensonges Respect des budgets Individualisme et CYA Traditionalisme
Transparence Respect des compétences Travail d’équipe Innovation
© CRIM 2008 24
Gestion de projet et gouvernance
Gros projets non morcelés Tendance à regrouper des
petits projets en projets plus gros
Favoriser des phases de plus de 6 mois
Mécanismes décisionnels en comités de plus de 8 personnes
Information mal communiquée au personnel
Suivis mensuels Gouvernance déficiente ou
absente
Gros projets morcelés Pour obtenir des projets de
taille gérable plus facilement Favoriser la livraison itérative
courte (2-4 sem) Mécanismes décisionnels
alignés sur l’imputabilité des rôles
Personnel informé chaque jour Suivis quotidiens
Gouvernance amorcée ou assurée
Architecture planifiée et maintenue
© CRIM 2008 25
Exigences, tests et assurance qualité
Architecture et analyse Financement global du
projet fixé avant de rédiger les exigences
Exigences fonctionnelles et solution organique entremêlées
Tests escamotés Effort dépensé sur les
devis d’essais mais pas suffisant sur l’exécution
Environnement insuffisants
Assurance qualité = tests
Phase de développement d’exigences
Rédaction budgétée séparément, souvent à l’heure
Exigences fonctionnelles exprimées dans le langage des utilisateurs
Fonctionnalités alignées sur les processus d’affaires
Tests systématiques Intégration continue Environnement contrôlé
Assurance qualité Processus appliqué!
© CRIM 2008 26
Références
© CRIM 2008 27
Références
Méthode COSMIC – ISO 19761http://www.gelog.etsmtl.ca/cosmic-ffp/ Manuel de mesure en français et autres langues Articles, présentations et études de cas
Base de données internationale de projets ISBSG*
http://www.isbsg.org/ Normes ISO http://www.iso.org
*ISBSG: International Software Benchmarking Standards Group