Logiciel Libre & qualité - cetic.be · 1 Logiciel Libre & qualité Alain RENAULT Grégory SERONT...

27
1 Logiciel Libre Logiciel Libre & qualité & qualité Alain RENAULT Grégory SERONT 11 sept 03 Logiciel Libre & Qualité 2 Alain RENAULT Cetic (2001) Responsable des projets Qualité • micro-évaluation évaluations OWPL accompagnements en entreprise FUNDP (1998-2001) Laboratoire de Qualité Logicielle Expériences diverses (1989-1998) Présentation Présentation

Transcript of Logiciel Libre & qualité - cetic.be · 1 Logiciel Libre & qualité Alain RENAULT Grégory SERONT...

11

Logiciel LibreLogiciel Libre & qualité& qualité

Alain RENAULTGrégory SERONT

11 sept 03 Logiciel Libre & Qualité 2

Alain RENAULT

Cetic (2001)Responsable des projets Qualité

• micro-évaluation

• évaluations OWPL

• accompagnements en entreprise

FUNDP (1998-2001)Laboratoire de Qualité Logicielle

Expériences diverses (1989-1998)

PrésentationPrésentation

22

11 sept 03 Logiciel Libre & Qualité 3

Objectif de l’exposéObjectif de l’exposé

Comment évaluer la qualitédes projets OpenSource ?

OpenSource ? Qualité

11 sept 03 Logiciel Libre & Qualité 4

OpenSource ?OpenSource ?

tt

33

11 sept 03 Logiciel Libre & Qualité 5

tt

OpenSource ?OpenSource ?

11 sept 03 Logiciel Libre & Qualité 6

Qualité : « Aptitude d'un ensemble de caractéristiques intrinsèques à satisfaire des exigences »

Exigence : « Besoin ou attente formulés, habituellement implicites, ou imposées »

Source : ISO-9000:2000

Qualité ?Qualité ?

44

11 sept 03 Logiciel Libre & Qualité 7

Qualité :

« Aptitude d'un ensemble de caractéristiques intrinsèques à satisfaire des besoins ou attentes formulés, habituellement implicites, ou imposées »

Source : ISO-9000:2000

Qualité ?Qualité ?

11 sept 03 Logiciel Libre & Qualité 8

Quid ?Quid ?

Comment évaluer la qualitédes projets OpenSource ?

OpenSource ? Qualité

55

11 sept 03 Logiciel Libre & Qualité 9

OpenSourceOpenSource

11 sept 03 Logiciel Libre & Qualité 10

Caractéristique qualité :

« Caractéristique intrinsèque d'un produit, d'un processus ou d'un système relative à une exigence »

Source : ISO-9000:2000

Qualité ?Qualité ?

66

11 sept 03 Logiciel Libre & Qualité 11

Développeurs autonomes• Compétence / maturité ?• Qualité des pratiques ?

Caractéristiques OpenSourceCaractéristiques OpenSource

???

11 sept 03 Logiciel Libre & Qualité 12

Développeurs = utilisateur• Évolutivité ?• Documentation ?• Debugging ?• Caratéristiques principalement implicites

Caractéristiques OpenSourceCaractéristiques OpenSource

77

11 sept 03 Logiciel Libre & Qualité 13

Disponibilité du codeQualité du code

• Code plus « propre »• Refactoring • Absence de spyware et d’œufs de Pâques

Motivation / disponibilité des développeursDisponibilité / stabilité de la communautéCapacité de leadershipIntégration des demandes explicites

Caractéristiques OpenSourceCaractéristiques OpenSource

11 sept 03 Logiciel Libre & Qualité 14

tt

☺☺

ββ

Caractéristiques OpenSourceCaractéristiques OpenSource

88

11 sept 03 Logiciel Libre & Qualité 15

Qualité :

« Aptitude d'un ensemble de caractéristiques intrinsèques à satisfaire des besoins ou attentes formulés, habituellement implicites, ou imposées »

Source : ISO-9000:2000

Qualité ?Qualité ?

11 sept 03 Logiciel Libre & Qualité 16

Le développeur / leaderLes développeurs de la communautéLes « clients » potentiels

Les parties intéresséesLes parties intéressées

99

11 sept 03 Logiciel Libre & Qualité 17

Les « clients » potentiels• Client / acheteur• Client / support• Client / utilisateur

Les parties intéresséesLes parties intéressées

11 sept 03 Logiciel Libre & Qualité 18

Les « clients » potentiels• Client / acheteur coût minimum• Client / support facilité, aide, support disponible• Client / utilisateur fonctionnalités, convivialité

Les parties intéresséesLes parties intéressées

1010

11 sept 03 Logiciel Libre & Qualité 19

http://www.openforumeurope.org/

11 sept 03 Logiciel Libre & Qualité 20

Le développeur / leader• Argument marketing• Recherche de support• Désintérêt

Les parties intéresséesLes parties intéressées

1111

11 sept 03 Logiciel Libre & Qualité 21

Les développeurs de la communauté• Recherche de gratification intellectuelle• Recherche de gratification sociale• Désintérêt, générosité• Méritocratie

Les parties intéresséesLes parties intéressées

11 sept 03 Logiciel Libre & Qualité 22

Motivation / disponibilité des développeursDisponibilité / stabilité de la communautéCapacité de leadership

Gestion du projetGestion du projet

???

1212

11 sept 03 Logiciel Libre & Qualité 23

Evaluer la qualité d’un projet OpenSource :Point de vue processusPoint de vue produit

Evaluation de projetEvaluation de projet

11 sept 03 Logiciel Libre & Qualité 24

ProjetsProjets « « ClassiquesClassiques »»

1313

11 sept 03 Logiciel Libre & Qualité 25

Activités TransversalesActivités Transversales

Gestion de configurationGestion des changementsGestion de projetGestion de la documentationGestion de la qualité

11 sept 03 Logiciel Libre & Qualité 26

OpenSourceOpenSource

1414

11 sept 03 Logiciel Libre & Qualité 27

OpenSourceOpenSource

11 sept 03 Logiciel Libre & Qualité 28

Activités TransversalesActivités Transversales

Gestion de configurationGestion des changementsGestion de projet / leadershipGestion de la documentationGestion de la qualité

1515

11 sept 03 Logiciel Libre & Qualité 29

Modèle Modèle OpenSourceOpenSource

CVSCVS

SRCSRC

Bug/Bug/

IssueIssue

TrackingTracking

ForumForum

V0.1bV0.1bV0.2bV0.2b

V0.2V0.2

11 sept 03 Logiciel Libre & Qualité 30

Evaluation des processus d’un projet OpenSource ?

• Modèles de processus traditionnels ?CMM / SPICE / OWPL

• Modèle de processus propre tenant compte du contexte OpenSource

Grille de caractérisation et d’évaluation du contexteAccès aux données sur le contexte !??

Evaluation de processusEvaluation de processus

1616

11 sept 03 Logiciel Libre & Qualité 31

IndicateursIndicateurs

Growth - of developer/contributor baseGrowth - of user base (non-developers)Number of contributorsDeveloper activity - and is it visible?Openness of project - allows others into the development processOpenness of project - communicates/indicates progressQuality of documentation - web site, changelogs, manualsNumber of discussion/mailing list postsNumber of websites discussing/linkingNumber of downloadsNumber of page viewsNumber of other projects basing their project on itNumber of commercial entities basing their business on itAdoption and support/investment from commercial entities - ranges from lip service to actual direct supportRate of stable releaseNumber of bugs reported/resolved - robust under unexpected uses - stability (# of bugs reported dependent on project popularity)

11 sept 03 Logiciel Libre & Qualité 32

IndicateursIndicateurs

Community Size : 5Last message posted : 11-27-2003Answers per Message : 5Response Time per Message : 6h 45 minProject Age : 5 yearsForum/Mailing List Age : 2 yearsTurn Over : 25%/yearConfiguration Management : yesDesign Specification : noSoftware Requirements Specification : noUser Documentation : noDeveloper Documentation : yes

1717

11 sept 03 Logiciel Libre & Qualité 33

ExempleExemple

11 sept 03 Logiciel Libre & Qualité 34

ExempleExemple

1818

11 sept 03 Logiciel Libre & Qualité 35

Facteurs de succèsFacteurs de succès

Active marketing/promotion of project -an evangelist is helpful?Nice WebsiteWillingness of founders to grant commit access to othersAcceptance of ideas/viewpoints of others - and incorporate if appropriateArchitecture of the project prevents coordination problems - embedded scripting language, plug-in architectureLeadership - technically proficient (a good programmer?)Leadership - personableUsefulness of software - fills a niche or is better than currentCompetent technical core of developersA sense of communityStabilityDocumentation and supportSex appeal - allows creativity and growth, excitement about the software and end product, some attraction.Ownership by developer communityCommunication among developersCommunication to user communityOpen Development CycleLow Barrier to entry for developers - easy to get inRedundant Developer rolesClear dispute resolution mechanism - not a management hierarchyNo Flat organizationUser base size

11 sept 03 Logiciel Libre & Qualité 36

Evaluation des produits d’un projet OpenSource ?

ISO 9126 : Software Engineering – Product quality

Modèle de qualité du produit logiciel• Caractéristiques internes et externes• Caractéristiques à l’utilisation

Métriques à mettre en place

Evaluation de produitEvaluation de produit

1919

11 sept 03 Logiciel Libre & Qualité 37

Caractéristiques internes/externesCaractéristiques internes/externes

11 sept 03 Logiciel Libre & Qualité 38

Caractéristiques à l’utilisationCaractéristiques à l’utilisation

2020

11 sept 03 Logiciel Libre & Qualité 39

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

11 sept 03 Logiciel Libre & Qualité 40

FAE : Failure Analysis Efficiency

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

2121

11 sept 03 Logiciel Libre & Qualité 41

SCCC : Software Change Control Capability

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

11 sept 03 Logiciel Libre & Qualité 42

FA : Functional Adequacy

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

2222

11 sept 03 Logiciel Libre & Qualité 43

CD : Completeness of Description

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

11 sept 03 Logiciel Libre & Qualité 44

TT : Task Time

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

2323

11 sept 03 Logiciel Libre & Qualité 45

FS : Functional Size

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

11 sept 03 Logiciel Libre & Qualité 46

SF : Skill Factor

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

2424

11 sept 03 Logiciel Libre & Qualité 47

SPA : Similar Product Amount

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

11 sept 03 Logiciel Libre & Qualité 48

Forked ??

OpenSource Software Evaluation - O.S. project 1

0

5

10

15

20

25

30

35

FAE SCCC FA CD TT FS SF SPA

Quality Indicators

Rat

ing

Evaluation des caractéristiquesEvaluation des caractéristiques

2525

11 sept 03 Logiciel Libre & Qualité 49

tt

ββ

Passer à l’OpenSource ?Passer à l’OpenSource ?

11 sept 03 Logiciel Libre & Qualité 50

Connaître les critères d’acceptationsTenir compte des modèles de qualitéTenir compte des exigences des autres parties intéressées (des acteurs de la communauté) Tenir compte du cycle d’innovation

Passer à l’OpenSource ?Passer à l’OpenSource ?

2626

11 sept 03 Logiciel Libre & Qualité 51

Cycle d’innovationCycle d’innovation

11 sept 03 Logiciel Libre & Qualité 52

Cycle d’innovationCycle d’innovation

2727

11 sept 03 Logiciel Libre & Qualité 53

Pour conclure …Pour conclure …

Comment évaluer la qualitédes projets OpenSource ?

OpenSource ? Qualité

11 sept 03 Logiciel Libre & Qualité 54

[email protected]

[email protected]

Merci de votre attention !Merci de votre attention !