Zahlen über Zahlen
Lines of Code (Quelltextzeilen)
In der folgenden Übersicht werden die physischen Quelltextzeilen (Spalte SLOC) eines jeden Teilprojektes (Spalte Directory) dargestellt.
- Code: Select all
SLOC Directory SLOC-by-Language (Sorted)
78502 OpenEstate-Impl java=78431,sh=71
31569 OpenEstate-Tool-Agency java=31470,php=99
22481 OpenEstate-Tool java=22435,sh=46
9728 OpenEstate-Tool-Calendar java=9728
4559 OpenEstate-Tool-Agency-Addons java=4559
4394 OpenEstate-Tool-Contacts java=4394
2162 OpenEstate-Tool-Contacts-Addons java=2162
Gruppiert nach verwendeten Programmiersprachen bedeutet dies:
- Code: Select all
Totals grouped by language (dominant language first):
java: 153179 (99.86%)
sh: 117 (0.08%)
php: 99 (0.06%)
Wenn das Programm richtig gerechnet hat, besteht die OpenEstate-API zur Zeit aus 153.395 physischen Quelltextzeilen. Der Löwenanteil davon wurde in Java programmiert (99,86%).
Kostenmodell
Unter Verwendung des 'Constructive Cost Model' (COCOMO) kann aus den Quelltextzeilen der betriebswirtschaftliche Aufwand für ein Softwareprojekt dieser Größenordnung abgeschätzt werden.
- Code: Select all
Total Physical Source Lines of Code (SLOC) = 153,395
Development Effort Estimate, Person-Years (Person-Months) = 36.84 (442.13)
(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months) = 1.66 (19.88)
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Total Estimated Cost to Develop = $ 4,977,109
(average salary = $56,286/year, overhead = 2.40).
Die geschätzten Gesamt-Entwicklungskosten für ein Projekt der aktuellen Größenordnung von $ 4.977.109 (US-Dollar) sind schon erstaunlich. Es ist jedoch anzumerken, dass im COCOMO der komplette Software-Entwicklungsprozess (vom Reißbrett bis zur Inbetriebnahme) berücksichtigt wird. Die OpenEstate-API (bzw. das ImmoTool) hat kein solches 'starres Konzept'. Viel mehr handelt es sich um einen 'stetig wachsenden' Entwicklungsprozess, der offen für Einflüsse von Außen ist.
Anmerkungen, Schlussfolgerungen & Interpretationen
Die Anzahl der Quelltextzeilen ist kein Maß für die Qualität eines Programmes
Die Qualität einer Software kann nicht mit Quelltextzeilen gemessen werden. In Wikipedia wird der Sachverhalt wie folgt beschrieben:
Computerprogramme können aus nur wenigen Dutzend bis zu hunderten von Millionen Programmzeilen bestehen. Der Umfangs eines Programmes muss nicht zwangsläufig Rückschlüsse auf die Komplexität des Programms erlauben, da die Zählweise der Zeilen nicht einheitlich ist und das Ergebnis außerdem von der Formatierung des Quelltextes, der Programmiersprache und anderen Faktoren abhängt. Je nach Zählweise sind insbesondere Rückschlüsse auf die investierte Arbeitszeit meistens sinnfrei.
Das ImmoTool stellt weniger als 50% des gesamten Quelltext-Umfangs dar
Das ImmoTool (inkl. Add-Ons) belegt mit 74.893 Zeilen weniger als 50% des gesamten Projektes. Die andere Hälfte wird allein von der Bibliothek 'OpenEstate-Impl' in Anspruch genommen. In diesem Teilprojekt sind die Lese- & Schreibfunktionen für die verschiedenen Immobilienformate (OpenEstate, OpenImmo, IS24, etc.) programmiert worden. Diese große Zahl verdeutlicht den Entwicklungsaufwand für solche vermeintlich selbstverständlichen Funktionen und erklärt vermutlich auch, warum die meisten Softwarelösungen nur wenige Immobilienformate unterstützen.

Der Umfang des Projektes wird in den Zahlen nur unvollständig erfasst
Das Analyseprogramm verarbeitet nur die Quelltextdateien und leitet unter verschiedenen Annahmen (Lohnkosten, 152 Arbeitsstunden pro Monat, etc.) den Gesamtaufwand des Projektes ab. Dies stellt aber nur einen Bruchteil des gesamten Projektes dar. Verschiedene wichtige Aspekte bleiben unberücksichtigt:
- Übersetzungsarbeit
- Dokumentation im Wiki
- Support / Betreuung der Anwender
- Spezifikation von OpenEstate in XML & SQL
- Organisation der internen Abläufe / Entwicklung von Hilfsprogrammen
Wer trägt nun die Kosten am OpenEstate-Projekt?
Die im COCOMO errechneten Kosten kann man sicherlich je nach Sichtweise höher oder niedriger ansetzen. Dennoch verdeutlicht diese Zahl, dass eine Softwareentwicklung in dieser Größenordnung für ein betriebswirtschaftlich agierendes Unternehmen durchaus ein wirtschaftliches Risiko darstellen kann. Hier wird der enorme Vorteil eines gemeinschaftlich entwickelten Projektes deutlich. Jeder Anwender, Supporter, Übersetzer, Sponsor & Entwickler trägt seinen Teil zur 'Wertsteigerung' des Projektes bei - eine klassische Win-Win-Situation.