Qualitätsanalyse und Teammanagement in...

Post on 07-Sep-2019

1 views 0 download

transcript

Qualitätsanalyse und Teammanagement inOpen-Source-Projekten

Andreas Tille

CLT 2012

Chemnitz, 17. März 2012

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 1 / 31

1 Wie kann man beurteilen, ob ein FLOSS-Projekt zum scheiternverurteilt ist

2 GSoC - Teammetrics

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 2 / 31

Quelle: Fail - O - Meter

Folien sind im wesentlichen Übersetzung vonHow to tell if a FLOSS project is doomed to FAILInspiriert durch Untersuchung von Chromium, doch späterverallgemeinertOffensichtliche Ausnahmen: Linux KernelAusnahmen funktionieren, weil sie klein begannen und dieCommunity mit dem Code wachsen konnteGroße Komplexität erfordert eine große CommunityDer Versuch ein hochkomplexes Projekt zu starten macht esaußerordentlich schwer, eine funktionierende Community zuentwickeln

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 3 / 31

Quelle: Fail - O - Meter

Folien sind im wesentlichen Übersetzung vonHow to tell if a FLOSS project is doomed to FAILInspiriert durch Untersuchung von Chromium, doch späterverallgemeinertOffensichtliche Ausnahmen: Linux KernelAusnahmen funktionieren, weil sie klein begannen und dieCommunity mit dem Code wachsen konnteGroße Komplexität erfordert eine große CommunityDer Versuch ein hochkomplexes Projekt zu starten macht esaußerordentlich schwer, eine funktionierende Community zuentwickeln

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 3 / 31

Quelle: Fail - O - Meter

Folien sind im wesentlichen Übersetzung vonHow to tell if a FLOSS project is doomed to FAILInspiriert durch Untersuchung von Chromium, doch späterverallgemeinertOffensichtliche Ausnahmen: Linux KernelAusnahmen funktionieren, weil sie klein begannen und dieCommunity mit dem Code wachsen konnteGroße Komplexität erfordert eine große CommunityDer Versuch ein hochkomplexes Projekt zu starten macht esaußerordentlich schwer, eine funktionierende Community zuentwickeln

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 3 / 31

Quelle: Fail - O - Meter

Folien sind im wesentlichen Übersetzung vonHow to tell if a FLOSS project is doomed to FAILInspiriert durch Untersuchung von Chromium, doch späterverallgemeinertOffensichtliche Ausnahmen: Linux KernelAusnahmen funktionieren, weil sie klein begannen und dieCommunity mit dem Code wachsen konnteGroße Komplexität erfordert eine große CommunityDer Versuch ein hochkomplexes Projekt zu starten macht esaußerordentlich schwer, eine funktionierende Community zuentwickeln

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 3 / 31

Quelle: Fail - O - Meter

Folien sind im wesentlichen Übersetzung vonHow to tell if a FLOSS project is doomed to FAILInspiriert durch Untersuchung von Chromium, doch späterverallgemeinertOffensichtliche Ausnahmen: Linux KernelAusnahmen funktionieren, weil sie klein begannen und dieCommunity mit dem Code wachsen konnteGroße Komplexität erfordert eine große CommunityDer Versuch ein hochkomplexes Projekt zu starten macht esaußerordentlich schwer, eine funktionierende Community zuentwickeln

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 3 / 31

Quelle: Fail - O - Meter

Folien sind im wesentlichen Übersetzung vonHow to tell if a FLOSS project is doomed to FAILInspiriert durch Untersuchung von Chromium, doch späterverallgemeinertOffensichtliche Ausnahmen: Linux KernelAusnahmen funktionieren, weil sie klein begannen und dieCommunity mit dem Code wachsen konnteGroße Komplexität erfordert eine große CommunityDer Versuch ein hochkomplexes Projekt zu starten macht esaußerordentlich schwer, eine funktionierende Community zuentwickeln

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 3 / 31

Größe

Quellcode > 100MB [+5]Quellcode sogar komprimiert > 100MB [+5]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 4 / 31

Größe

Quellcode > 100MB [+5]Quellcode sogar komprimiert > 100MB [+5]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 4 / 31

Quellcodeverwaltung

Kein öffentliches Quellcoderepository (svn, git, . . . ) [+10]Öffentliches Quellcoderepository, aber

Kein Webviewer [+5]Keine Dokumentation für neue Nutzer wie es zu nutzen ist [+5]Selbstgeschriebene Quellcodeverwaltung für diesen Code [+30]Diese Quellcodeverwaltung wird nicht wirklich genutzt [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 5 / 31

Quellcodeverwaltung

Kein öffentliches Quellcoderepository (svn, git, . . . ) [+10]Öffentliches Quellcoderepository, aber

Kein Webviewer [+5]Keine Dokumentation für neue Nutzer wie es zu nutzen ist [+5]Selbstgeschriebene Quellcodeverwaltung für diesen Code [+30]Diese Quellcodeverwaltung wird nicht wirklich genutzt [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 5 / 31

Quellcodeverwaltung

Kein öffentliches Quellcoderepository (svn, git, . . . ) [+10]Öffentliches Quellcoderepository, aber

Kein Webviewer [+5]Keine Dokumentation für neue Nutzer wie es zu nutzen ist [+5]Selbstgeschriebene Quellcodeverwaltung für diesen Code [+30]Diese Quellcodeverwaltung wird nicht wirklich genutzt [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 5 / 31

Quellcodeverwaltung

Kein öffentliches Quellcoderepository (svn, git, . . . ) [+10]Öffentliches Quellcoderepository, aber

Kein Webviewer [+5]Keine Dokumentation für neue Nutzer wie es zu nutzen ist [+5]Selbstgeschriebene Quellcodeverwaltung für diesen Code [+30]Diese Quellcodeverwaltung wird nicht wirklich genutzt [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 5 / 31

Quellcodeverwaltung

Kein öffentliches Quellcoderepository (svn, git, . . . ) [+10]Öffentliches Quellcoderepository, aber

Kein Webviewer [+5]Keine Dokumentation für neue Nutzer wie es zu nutzen ist [+5]Selbstgeschriebene Quellcodeverwaltung für diesen Code [+30]Diese Quellcodeverwaltung wird nicht wirklich genutzt [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 5 / 31

Quellcodeverwaltung

Kein öffentliches Quellcoderepository (svn, git, . . . ) [+10]Öffentliches Quellcoderepository, aber

Kein Webviewer [+5]Keine Dokumentation für neue Nutzer wie es zu nutzen ist [+5]Selbstgeschriebene Quellcodeverwaltung für diesen Code [+30]Diese Quellcodeverwaltung wird nicht wirklich genutzt [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 5 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bauen des QuellcodesKeine Dokumentation zum Bauen aus den Quellen [+20]Dokumentation existiert, funktioniert aber nicht [+10]Quellcode ist konfiguriert:

mit einem handgeschriebenen Shellscript [+10]durch Editieren von Textkonfigurationsdateien [+20]durch manuelles Editieren von Headerdateien [+30]

Quellcode ist nicht konfigurierbar [+50]Quellcode baut:

nur mit etwas Anderem als GNU Make [+10]nur mit proprietären Werkzeugen [+50]nur mit einem eigens erstellten Werkzeug [+100]

Es existieren keine Tests für das Resultat [+5]

Java hat andere Eigenschaften hinsichtlich des Bauens:Kein Standardbauwerkzeug (Ant, Maven, Gradle) [+10]Laufzeitbestandteile mit maschinenabhängigen Teilen [+5]Es existieren keine Tests für das Resultat [+20]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 6 / 31

Bündelung mit anderen unabhängigen Projekten

Sourcecode beinhaltet fremde Projekte, von denen es abhängt[+20]

Fremder Sourcecode muß zuerst gebaut werden, bevor eigenerCode gebaut werden kann [+10]Der eingebundene Fremdcode wurde sogar modifiziert [+40]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 7 / 31

Bündelung mit anderen unabhängigen Projekten

Sourcecode beinhaltet fremde Projekte, von denen es abhängt[+20]

Fremder Sourcecode muß zuerst gebaut werden, bevor eigenerCode gebaut werden kann [+10]Der eingebundene Fremdcode wurde sogar modifiziert [+40]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 7 / 31

Bündelung mit anderen unabhängigen Projekten

Sourcecode beinhaltet fremde Projekte, von denen es abhängt[+20]

Fremder Sourcecode muß zuerst gebaut werden, bevor eigenerCode gebaut werden kann [+10]Der eingebundene Fremdcode wurde sogar modifiziert [+40]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 7 / 31

Bibliotheken

Code baut nur statische Bibliotheken [+20]Code baut auch zur dynamischen Bibliothek doch ohneVersionierung [+20]Code versucht nicht die vorhandenen Systembibliotheken zubenutzen [+20]

Für Java:

Code enthält maschinenabhängige Teile [+5]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 8 / 31

Bibliotheken

Code baut nur statische Bibliotheken [+20]Code baut auch zur dynamischen Bibliothek doch ohneVersionierung [+20]Code versucht nicht die vorhandenen Systembibliotheken zubenutzen [+20]

Für Java:

Code enthält maschinenabhängige Teile [+5]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 8 / 31

Bibliotheken

Code baut nur statische Bibliotheken [+20]Code baut auch zur dynamischen Bibliothek doch ohneVersionierung [+20]Code versucht nicht die vorhandenen Systembibliotheken zubenutzen [+20]

Für Java:

Code enthält maschinenabhängige Teile [+5]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 8 / 31

Bibliotheken

Code baut nur statische Bibliotheken [+20]Code baut auch zur dynamischen Bibliothek doch ohneVersionierung [+20]Code versucht nicht die vorhandenen Systembibliotheken zubenutzen [+20]

Für Java:

Code enthält maschinenabhängige Teile [+5]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 8 / 31

Installation auf dem Zielsystem

Installation zu /opt oder /usr/local [+10]Es fehlt ein „make install“ [+20]Code funktioniert nicht außerhalb des Quellcodeverzeichnisses

[+30]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 9 / 31

Installation auf dem Zielsystem

Installation zu /opt oder /usr/local [+10]Es fehlt ein „make install“ [+20]Code funktioniert nicht außerhalb des Quellcodeverzeichnisses

[+30]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 9 / 31

Installation auf dem Zielsystem

Installation zu /opt oder /usr/local [+10]Es fehlt ein „make install“ [+20]Code funktioniert nicht außerhalb des Quellcodeverzeichnisses

[+30]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 9 / 31

Seltsame Codeeigenschaften

Code benutzt Windows Zeilenvorschübe ("DOS formatiert") [+5]Code hängt von speziellen Compilereigenschaften ab [+20]Code hängt von speziellen Compilerfehlern ab [+50]Code hängt von Microsoft Visual Irgendwas ab [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 10 / 31

Seltsame Codeeigenschaften

Code benutzt Windows Zeilenvorschübe ("DOS formatiert") [+5]Code hängt von speziellen Compilereigenschaften ab [+20]Code hängt von speziellen Compilerfehlern ab [+50]Code hängt von Microsoft Visual Irgendwas ab [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 10 / 31

Seltsame Codeeigenschaften

Code benutzt Windows Zeilenvorschübe ("DOS formatiert") [+5]Code hängt von speziellen Compilereigenschaften ab [+20]Code hängt von speziellen Compilerfehlern ab [+50]Code hängt von Microsoft Visual Irgendwas ab [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 10 / 31

Seltsame Codeeigenschaften

Code benutzt Windows Zeilenvorschübe ("DOS formatiert") [+5]Code hängt von speziellen Compilereigenschaften ab [+20]Code hängt von speziellen Compilerfehlern ab [+50]Code hängt von Microsoft Visual Irgendwas ab [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 10 / 31

Kommunikation

Neue Versionen werden nicht auf Mailingliste angekündigt [+5]Projekt hat keine Mailingliste [+10]Projekt hat kein Fehlerverfolgungssystem [+20]Projekt hat keine Webseite [+50]Projekt ist „SourceForge Vaporware“ [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 11 / 31

Kommunikation

Neue Versionen werden nicht auf Mailingliste angekündigt [+5]Projekt hat keine Mailingliste [+10]Projekt hat kein Fehlerverfolgungssystem [+20]Projekt hat keine Webseite [+50]Projekt ist „SourceForge Vaporware“ [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 11 / 31

Kommunikation

Neue Versionen werden nicht auf Mailingliste angekündigt [+5]Projekt hat keine Mailingliste [+10]Projekt hat kein Fehlerverfolgungssystem [+20]Projekt hat keine Webseite [+50]Projekt ist „SourceForge Vaporware“ [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 11 / 31

Kommunikation

Neue Versionen werden nicht auf Mailingliste angekündigt [+5]Projekt hat keine Mailingliste [+10]Projekt hat kein Fehlerverfolgungssystem [+20]Projekt hat keine Webseite [+50]Projekt ist „SourceForge Vaporware“ [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 11 / 31

Kommunikation

Neue Versionen werden nicht auf Mailingliste angekündigt [+5]Projekt hat keine Mailingliste [+10]Projekt hat kein Fehlerverfolgungssystem [+20]Projekt hat keine Webseite [+50]Projekt ist „SourceForge Vaporware“ [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 11 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Releases und VersionierungKeine typische Versionierung (Major, Minor) [+10]Grundsätzlich keine versionierten Releases [+20]Überhaupt keine Releases [+50]Releases als Attachments in Webforum Posts [+100]Releases nur im .zip Format [+5]Releases nur im OSX .zip Format [+10]Releases nur im .rar Format [+20]Releases nur im .arj Format [+50]Releases nur in selbsterfundenem Archiv-Format [+100]Release entpackt nicht in versioniertes Verzeichnis (z.B.glibc-2.4.2/) [+10]Release entpackt nicht in Verzeichnis (z.B. glibc/) [+25]Release entpackt in zahlreiche Verzeichnissebenen (z.B.home/johndoe/glibc-svn/tarball/glibc/src/) [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 12 / 31

Geschichte

Abspaltung eines anderen Projektes [+10]Hauptentwickler sind nicht im Mutterprojekt involviert [+50]Vor der freien Veröffentlichung war der Code proprietär für

1-2 Jahre [+10]3-5 Jahre [+20]6-10 Jahre [+30]10+ Jahre [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 13 / 31

Geschichte

Abspaltung eines anderen Projektes [+10]Hauptentwickler sind nicht im Mutterprojekt involviert [+50]Vor der freien Veröffentlichung war der Code proprietär für

1-2 Jahre [+10]3-5 Jahre [+20]6-10 Jahre [+30]10+ Jahre [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 13 / 31

Geschichte

Abspaltung eines anderen Projektes [+10]Hauptentwickler sind nicht im Mutterprojekt involviert [+50]Vor der freien Veröffentlichung war der Code proprietär für

1-2 Jahre [+10]3-5 Jahre [+20]6-10 Jahre [+30]10+ Jahre [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 13 / 31

Geschichte

Abspaltung eines anderen Projektes [+10]Hauptentwickler sind nicht im Mutterprojekt involviert [+50]Vor der freien Veröffentlichung war der Code proprietär für

1-2 Jahre [+10]3-5 Jahre [+20]6-10 Jahre [+30]10+ Jahre [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 13 / 31

Geschichte

Abspaltung eines anderen Projektes [+10]Hauptentwickler sind nicht im Mutterprojekt involviert [+50]Vor der freien Veröffentlichung war der Code proprietär für

1-2 Jahre [+10]3-5 Jahre [+20]6-10 Jahre [+30]10+ Jahre [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 13 / 31

Geschichte

Abspaltung eines anderen Projektes [+10]Hauptentwickler sind nicht im Mutterprojekt involviert [+50]Vor der freien Veröffentlichung war der Code proprietär für

1-2 Jahre [+10]3-5 Jahre [+20]6-10 Jahre [+30]10+ Jahre [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 13 / 31

Geschichte

Abspaltung eines anderen Projektes [+10]Hauptentwickler sind nicht im Mutterprojekt involviert [+50]Vor der freien Veröffentlichung war der Code proprietär für

1-2 Jahre [+10]3-5 Jahre [+20]6-10 Jahre [+30]10+ Jahre [+50]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 13 / 31

Lizensierung

Code enthält nicht in jeder Datei Lizensbedingungen [+10]Code enthält widersprüchliche Lizensbedingungen [+20]Code enthält keine Bemerkung zur beabsichtigen Lizens [+30]Code enthält keine Kopie des Lizenstextes [+50]Code hat keine Lizens [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 14 / 31

Lizensierung

Code enthält nicht in jeder Datei Lizensbedingungen [+10]Code enthält widersprüchliche Lizensbedingungen [+20]Code enthält keine Bemerkung zur beabsichtigen Lizens [+30]Code enthält keine Kopie des Lizenstextes [+50]Code hat keine Lizens [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 14 / 31

Lizensierung

Code enthält nicht in jeder Datei Lizensbedingungen [+10]Code enthält widersprüchliche Lizensbedingungen [+20]Code enthält keine Bemerkung zur beabsichtigen Lizens [+30]Code enthält keine Kopie des Lizenstextes [+50]Code hat keine Lizens [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 14 / 31

Lizensierung

Code enthält nicht in jeder Datei Lizensbedingungen [+10]Code enthält widersprüchliche Lizensbedingungen [+20]Code enthält keine Bemerkung zur beabsichtigen Lizens [+30]Code enthält keine Kopie des Lizenstextes [+50]Code hat keine Lizens [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 14 / 31

Lizensierung

Code enthält nicht in jeder Datei Lizensbedingungen [+10]Code enthält widersprüchliche Lizensbedingungen [+20]Code enthält keine Bemerkung zur beabsichtigen Lizens [+30]Code enthält keine Kopie des Lizenstextes [+50]Code hat keine Lizens [+100]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 14 / 31

Dokumentation

Code hat keinen Changelog [+10]Code hat keine Dokumentation [+20]Webseite hat keine Anwendungsbeispiele [+20]Webseite hat keine Dokumentation [+30]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 15 / 31

Dokumentation

Code hat keinen Changelog [+10]Code hat keine Dokumentation [+20]Webseite hat keine Anwendungsbeispiele [+20]Webseite hat keine Dokumentation [+30]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 15 / 31

Dokumentation

Code hat keinen Changelog [+10]Code hat keine Dokumentation [+20]Webseite hat keine Anwendungsbeispiele [+20]Webseite hat keine Dokumentation [+30]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 15 / 31

Dokumentation

Code hat keinen Changelog [+10]Code hat keine Dokumentation [+20]Webseite hat keine Anwendungsbeispiele [+20]Webseite hat keine Dokumentation [+30]

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 15 / 31

Maß für den wahrscheinlichen Mißerfolg

0 Perfekt! Alle Zeichen stehen auf Erfolg!5-25 Scheint OK, auch wenn manche Aspekte

verbesserungswürdig sind.30-60 Babies beginnen zu weinen wenn der Code

heruntergeladen wird.65-90 Kätzchen sterben wenn der Code heruntergeladen wird.

95-130 Achtung, Achtung, das Schiff beginnt zu sinken.135+ Der Code ist so kaputt, er könnte seine eigene Reality

TV show haben

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 16 / 31

Maß für den wahrscheinlichen Mißerfolg

0 Perfekt! Alle Zeichen stehen auf Erfolg!5-25 Scheint OK, auch wenn manche Aspekte

verbesserungswürdig sind.30-60 Babies beginnen zu weinen wenn der Code

heruntergeladen wird.65-90 Kätzchen sterben wenn der Code heruntergeladen wird.

95-130 Achtung, Achtung, das Schiff beginnt zu sinken.135+ Der Code ist so kaputt, er könnte seine eigene Reality

TV show haben

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 16 / 31

Maß für den wahrscheinlichen Mißerfolg

0 Perfekt! Alle Zeichen stehen auf Erfolg!5-25 Scheint OK, auch wenn manche Aspekte

verbesserungswürdig sind.30-60 Babies beginnen zu weinen wenn der Code

heruntergeladen wird.65-90 Kätzchen sterben wenn der Code heruntergeladen wird.

95-130 Achtung, Achtung, das Schiff beginnt zu sinken.135+ Der Code ist so kaputt, er könnte seine eigene Reality

TV show haben

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 16 / 31

Maß für den wahrscheinlichen Mißerfolg

0 Perfekt! Alle Zeichen stehen auf Erfolg!5-25 Scheint OK, auch wenn manche Aspekte

verbesserungswürdig sind.30-60 Babies beginnen zu weinen wenn der Code

heruntergeladen wird.65-90 Kätzchen sterben wenn der Code heruntergeladen wird.

95-130 Achtung, Achtung, das Schiff beginnt zu sinken.135+ Der Code ist so kaputt, er könnte seine eigene Reality

TV show haben

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 16 / 31

Maß für den wahrscheinlichen Mißerfolg

0 Perfekt! Alle Zeichen stehen auf Erfolg!5-25 Scheint OK, auch wenn manche Aspekte

verbesserungswürdig sind.30-60 Babies beginnen zu weinen wenn der Code

heruntergeladen wird.65-90 Kätzchen sterben wenn der Code heruntergeladen wird.

95-130 Achtung, Achtung, das Schiff beginnt zu sinken.135+ Der Code ist so kaputt, er könnte seine eigene Reality

TV show haben

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 16 / 31

Maß für den wahrscheinlichen Mißerfolg

0 Perfekt! Alle Zeichen stehen auf Erfolg!5-25 Scheint OK, auch wenn manche Aspekte

verbesserungswürdig sind.30-60 Babies beginnen zu weinen wenn der Code

heruntergeladen wird.65-90 Kätzchen sterben wenn der Code heruntergeladen wird.

95-130 Achtung, Achtung, das Schiff beginnt zu sinken.135+ Der Code ist so kaputt, er könnte seine eigene Reality

TV show haben

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 16 / 31

Teil II: GSoC - Teammetrics

Erster Teil Code-orientiert, zweiter Teil Team-orientiertWer ist im Team?Wer verließ das Team?Hat ein Team genug Mitglieder?Wächst oder schrumpft ein Team?Ursachenanalyse

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 17 / 31

Teil II: GSoC - Teammetrics

Erster Teil Code-orientiert, zweiter Teil Team-orientiertWer ist im Team?Wer verließ das Team?Hat ein Team genug Mitglieder?Wächst oder schrumpft ein Team?Ursachenanalyse

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 17 / 31

Teil II: GSoC - Teammetrics

Erster Teil Code-orientiert, zweiter Teil Team-orientiertWer ist im Team?Wer verließ das Team?Hat ein Team genug Mitglieder?Wächst oder schrumpft ein Team?Ursachenanalyse

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 17 / 31

Teil II: GSoC - Teammetrics

Erster Teil Code-orientiert, zweiter Teil Team-orientiertWer ist im Team?Wer verließ das Team?Hat ein Team genug Mitglieder?Wächst oder schrumpft ein Team?Ursachenanalyse

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 17 / 31

Teil II: GSoC - Teammetrics

Erster Teil Code-orientiert, zweiter Teil Team-orientiertWer ist im Team?Wer verließ das Team?Hat ein Team genug Mitglieder?Wächst oder schrumpft ein Team?Ursachenanalyse

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 17 / 31

Teil II: GSoC - Teammetrics

Erster Teil Code-orientiert, zweiter Teil Team-orientiertWer ist im Team?Wer verließ das Team?Hat ein Team genug Mitglieder?Wächst oder schrumpft ein Team?Ursachenanalyse

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 17 / 31

Einfacher Ansatz: Aktivität auf der Mailingliste

2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

010

020

030

040

050

060

0 Andreas T 2879Charles P 1073Karsten H 474Mathieu M 361Steffen M 360David P 315Olivier S 193Nelson A. de O 191Sebastian H 169Michael H 123

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 18 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

GSoC: Erweiterte Beobachtung

Wer trägt mehr als nur durch „Schwatzen“ beiCode BeiträgeStatistik über abgeladene PaketeStatistik über gelöste Fehler

Größere FlexibilitätTeams in KonfigurationsdateienBessere Handhabung von SPAM + RobotsBessere NamenszuordnungPrinzipiell nicht auf Debian begrenzt

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 19 / 31

Zweck des Teams erfüllt

Debian Women →

↓ Portierung Arm Portierung Amd64

2004 2005 2006 2007 2008 2009 2010 2011 2012

020

4060

8010

012

014

0

Erinn C 259Helen F 238Christian P213Miriam R 179Clytie S 143Amaya 117Michelle K 109Margarita M 92Jutta W 84Steve L 83

1998 2000 2002 2004 2006 2008 2010 2012

050

100

150

200

250

Martin M 927Philip B 614Wookey 323Jim P 254Lennart S 236Adam C Powell I 233Luke Kenneth Casson L225Martin G 211Peter N 194Riku V 190

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

010

020

030

040

050

060

070

0

Lennart S 1915Goswin von B1477Francesco P 433Kurt R 422Hans.J. U 365Jo S 271Javier K 254Frederik S 253Harald D 212Hamish M 201

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 20 / 31

Dominiert durch eine PersonDebian i18n

1997 2000 2002 2004 2006 2008 2010 2012

020

040

060

080

010

0012

00

Christian P 5348Clytie S 677Frans P 398Helge K 295Eddy P 289Michael B 277Javier Fernández.Sanguino P 235Jens S 235Denis B 228Martijn van O 218

Debian Live

2006 2007 2008 2009 2010 2011 2012

010

020

030

040

050

060

070

0

Daniel B 3007Ben A 301Marco A 275Richard N 174Chris L 169Jordi P 166Tzafrir C 159Michal S 146Justin P 130Otavio S 113

Openoffice Mailingliste

2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

020

040

060

080

010

0012

00 Rene E 7647Chris H 1045Bjoern M 321Jan.Hendrik P 303Jérôme W 295Jim W 125Nadav K 62Martin K 61Josh T 61Tim R 56

Openoffice Commits

2005 2006 2007 2008 2009 2010 2011 2012

010

000

2000

030

000

4000

050

000

6000

0 Rene E 192630Chris H 20245Martin K 17001Matthias K 7562Chris C 1451Bjoern M 290Rail A 168Ben F 87Nelson A. de O 65Mirco B 19

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 21 / 31

Verwaiste und nicht funktionierende Projekte

Debian Junior →

↓ Debian Enterprise Debian Lex

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

020

4060

8010

0

Ben A 434Andreas T183Pat M 29Andrew S 29Sam H 27Hilaire F 27Bill K 24John G 22Rudy G 20Ron J 16

2007 2008 2009 2010 2011 2012

05

1015

Russ A 17Andreas T 15Guido G 15Jesús M. N11lee 7Stephen M 6CJ F 6Torsten W 5Geoff C 4Stefan M 4

2003 2004 2005 2006 2007 2008 2009 2010 2011

05

1015

20

Jeremy M 28Andreas T 27ter 23Lexlist 18Barbara F 18Mechtilde S15Johannes J 15Diego Z 11Ken W 10David C J 9

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 22 / 31

Wichtige Projekte - Übernahme der ProjektleitungDebian Kernel

2004 2005 2006 2007 2008 2009 2010 2011 2012

020

040

060

080

010

0012

0014

00

maximilian a3849Ben H 3776Sven L 2052Bastian B 1541Horms 1531Jonathan N 1316Moritz M 1312dann f 1276Martin M 703Frans P 464

Debian New Maintainer

2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

010

2030

4050

6070

Martin M 202Joerg J 182Craig S 145Enrico Z 143Christoph B 97Marc HE B 89Aníbal Monsalve S 88Brian N 74Cyril B 65Gunnar W 56

Debian Release

1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

020

040

060

080

010

00

Steve L 3326Luk C 2432Adam D. B 2281Julien C 1496Adeodato S 1437Marc HE B 1274Andreas B 884Philipp K 796Christian P 718Mehdi D 648

Debian X

1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

050

010

0015

0020

0025

00

Julien C 7368Brice G 5145Branden R3993Cyril B 3578David N 2857Michel D 2204Timo A 1016Daniel S 953Thomas D 848Sean F 539

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 23 / 31

Projektleiter übernimmt andere Aufgabe (Ocaml Team)Mailingliste

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

010

020

030

040

050

060

070

0

Stefano Z 2593Sven L 2415Jérôme M 809Ralf T 680Sylvain Le G 670Stéphane G 611Samuel M 558Sven L.1 320Julien C 251Mehdi D 246

Commits

2003 2004 2005 2006 2007 2008 2009 2010 2011

010

020

030

040

050

0 Stefano Z 1374Samuel M 1305Sylvain Le G1098Ralf T 530Sven L 400Romain B 318glondu.guest 185Mike F 175Enrico T 168Thomas P 150

Paketuploads

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

050

100

150

Stefano Z 585Stéphane G 454Samuel M 427Ralf T 357Sylvain Le G329Romain B 280Sven L 202Mehdi D 166Mike F 78Enrico T 44

Behobene Fehler

2000 2001 2002 2003 2004 2005 2007 2008 2009 2010 2011 2012

050

100

150

200

Sylvain Le G307Samuel M 280Stéphane G 187Stefano Z 187Ralf T 178Sven L 112Mehdi D 101Romain B 42Mike F 33Julien C 24

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 24 / 31

Diskussion unterrepräsentiert (Pkg-Games)Mailingliste

2006 2007 2008 2009 2010 2011 2012

050

100

150

200

250

300

Gonéri Le B492Eddy P 460Miriam R 238Bruno K 199Paul W 189Cyril B 188Alexander S137Gerfried F 130Bas W 128Moritz M 127

Commits

2006 2007 2008 2009 2010 2011 2012

020

040

060

080

0

Miriam R 1558Gonéri Le B 1526Paul W 1154Jon D 901Andres M 775Gerfried F 709bddebian.guest 679Ansgar B 658Bruno Fuddl K 636Eddy P 521

Paketuploads

2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

020

4060

80

Barry d 176Sam H 173Gonéri Le B161Michael K 146Miriam R 138Gerfried F 126Bruno K 115Clint A 94Evgeni G 83Ansgar B 78

Behobene Fehler

2000 2001 2002 2003 2004 2005 2007 2008 2009 2010 2011 2012

020

4060

8010

0

Barry d 209Gonéri Le B208Sam H 128Paul W 99Miriam R 92Marco R 90Gerfried F 86Bruno K 84Ansgar B 79Bas W 74

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 25 / 31

Mißverhältnis Diskussion - Code (Debian GIS)Mailingliste

2004 2005 2006 2007 2008 2009 2010 2011 2012

050

100

150

200 Francesco P. L947

Paolo C 461Hamish 399Petter R 248Steve H 190alex b 105Paul W 101Silke R 96Jon S 87Markus N 82

Commits

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

020

040

060

080

0

Francesco P. L 2851David P 529Andreas P 307Petter R 235Fabio T 194Giovanni M 159Alan B 127Paul W 125Jean.Francois D 125Antonio V 112

Paketuploads

2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

020

4060

80

Francesco Paolo L383David P 128Petter R 36Fabio T 34Andreas P 25Sylvestre L 23Peter S G 15Alastair M 10Giovanni M 9Youhei S 9

Behobene Fehler

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

020

4060

80

Francesco Paolo L419Andreas P 67David P 66Fabio T 32Petter R 25Sylvestre L 24Giovanni M 24Peter S G 13Paul W 12Stephen F 10

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 26 / 31

Gespaltenes Team (Debian Multimedia)Mailingliste 1

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

020

4060

Free E 171Junichi U 110Joost Yervante D 98tim h 94Daniel J 79Felipe S 71guenter g 68Eric Dantan R 54Jack O 37Mike O 34

Mailingliste 2

2007 2008 2009 2010 2011 2012

010

020

030

040

050

060

0

Reinhard T 1800Fabian G 1159Jonas S 972Felipe S 698Alessio T 668Adrian K 508Jaromír M 305Hans.Christoph S 284Christophe M 262Andres M 235

Commits

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

050

010

0015

0020

0025

00

Alessio T 6271Reinhard T 2021Jonas S 1297Jaromír M 878Adrian K 755Fabian G 708Andres M 599Benjamin D 591Hans.Christoph S 569Felipe S 560

Behobene Fehler

2003 2004 2005 2007 2008 2009 2010 2011 2012

050

100

150

200

Alessio T 421Reinhard T 321Sam H 241Adrian K 182Benjamin D 158A M 122Jonas S 116Free E 93Christophe M 85Fabian G 66

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 27 / 31

„Gesundes“ Team (Debian Med)User Mailingliste

2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

010

020

030

040

050

060

0 Andreas T 2879Charles P 1073Karsten H 474Mathieu M 361Steffen M 360David P 315Olivier S 193Nelson A. de O 191Sebastian H 169Michael H 123

Commits

2005 2006 2007 2008 2009 2010 2011 2012

020

040

060

080

010

00

Andreas T 2812Charles P 2775Mathieu M 1242Steffen M 961David P 538Olivier S 510Steven M. R 396Aaron M. U 251Thorsten A 184Laszlo K 134

Paketuploads

2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012

050

100

150

200

Andreas T 651Charles P 410Steffen M 301Mathieu M 155Steve M. R 96Aaron M. U 79Thorsten A 38Olivier S 38Dominique B 38Philipp B 33

Behobene Fehler

2001 2002 2003 2004 2005 2007 2008 2009 2010 2011 2012

020

4060

80

Andreas T 300Charles P 157Mathieu M 87Steve M. R 52Olivier S 45Aaron M. U 33Steffen M 28Dominique B 25Philipp B 13Nelson A. de O 10

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 28 / 31

Quellen und weiterführende Literatur

How to tell if a FLOSS project is doomed to FAILGSoC Metrics working groupDebian Teams Activity MetricsOpen Advise. What We Wish We Had Known When We Started

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 29 / 31

Quellen und weiterführende Literatur

How to tell if a FLOSS project is doomed to FAILGSoC Metrics working groupDebian Teams Activity MetricsOpen Advise. What We Wish We Had Known When We Started

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 29 / 31

Quellen und weiterführende Literatur

How to tell if a FLOSS project is doomed to FAILGSoC Metrics working groupDebian Teams Activity MetricsOpen Advise. What We Wish We Had Known When We Started

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 29 / 31

Quellen und weiterführende Literatur

How to tell if a FLOSS project is doomed to FAILGSoC Metrics working groupDebian Teams Activity MetricsOpen Advise. What We Wish We Had Known When We Started

Andreas Tille (CLT 2012) Qualitätsanalyse und Teammanagement Chemnitz, 17. März 2012 29 / 31

This talk is available at

http://people.debian.org/˜ tille/talks/

Andreas Tille <tille@debian.org>