Développement efficace d'application logicielle

1 776 vues

Publié le

- Efficacité et productivité
- Taille du logiciel
- Résultats de productivité
- Pratiques observables

Présenté le 14 mai 2008 à une midi-conférence du CRIM

Publié dans : Technologie, Business
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 776
Sur SlideShare
0
Issues des intégrations
0
Intégrations
15
Actions
Partages
0
Téléchargements
70
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Développement efficace d'application logicielle

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

×