Sarah Haselbauer (Akquinet tech@spree GmbH)
Softwareentwickler/innen sind eine besondere Spezies. Sie probieren gern Neues aus. Oft entscheidet sich ein Projekt relativ spontan für oder gegen den Einsatz bestimmter Tools. Die Entscheidung basiert nicht selten eher auf einem simplen, kurzen Antesten verschiedener Alternativen statt auf einem dokumentierten Variantenvergleich anhand vorher definierter Kriterien. Vielen Projekten fehlt die Zeit, sich erst ein vollständiges Konzept für die Entwicklungsinfrastruktur zu überlegen und umzusetzen, und dann mit der eigentlich Entwicklungsarbeit zu beginnen. Meist stehen hier nur eine zügige Bereitstellung eines Version-Control-Systems und die Konfiguration der Entwicklungsumgebungen im Vordergrund. Weitere Tools fügen die Mitglieder häufig erst bei akutem Bedarf im späteren Projektverlauf hinzu. Im Unternehmenskontext führt das ab einer gewissen Anzahl von Projekten zwangsläufig zu einer defragmentierten, nicht mehr oder nur noch schwer wartbaren Infrastruktur. Neben den etablierten Sourcecodeverwaltungsansätzen (CVS, SVN, Git, Mercurial, etc.) sind eine Reihe von Open-Source-Tools zum Bug-Tracking, zur kontinuierlichen Integration, zur Dokumentation und zum Qualitätsmanagement mittlerweile eine äußerst gute Alternative zu Closed-Source-Varianten. Je nach individuellen Rahmenbedingungen eines Unternehmens können ein oder mehrere Kombinationsvarianten von Tools wie Artifactory, Sonatype Nexus, Jenkins, Atlassian Bamboo, Atlassian JIRA, trac, Sonatype Sonar, Redmine und Co. optimal sein. Supported Self-Administration beschreibt wie ein Unternehmen eine passende Kombination finden kann und welche unternehmenskulturellen Aspekte bei einer Einführung von oder einer Migration auf neue Systeme entscheidend sind. Die Bezeichnung Supported Self-Administration benennt gleichzeitig den Leitgedanken aller darauf ausgerichteten Maßnahmen. Als unterstützter Freiraum wird eine Entwicklungsinfrastruktur verstanden, die auf eine möglichst hohe Eigenverwaltung der einzelnen Projekte setzt, aber gleichzeitig wartbar und skalierbar bleibt. Unterstützte Selbstverwaltung setzt auf die Empfehlung von Best Practises in einer Entwicklungsinfrastruktur ohne den einzelnen Projekten zwingend deren Anwendung vorzuschreiben. Die Akquinet tech@spree GmbH zeigt am eigenen Beispiel, dass das Konzept Supported Self-Administration realisierbar ist. Dort dienen RedHat- und Ubuntu-Systeme mittlerweile als Unterbau für ein Kombination aus Nexus, Jenkins, JIRA, Confluence und Sonar.
Über den Autor Sarah Haselbauer: Sarah Haselbauer organisiert die Entwicklungsinfrastruktur bei akquinet tech@spree. Sie unterstützt Projekte beim Aufbau nahtloser Prozesse zur Überführung des Quellcodes in auslieferbare Produkte und betreut die Hauptsysteme der Entwicklungsinfrastruktur. Ihr Schwerpunkt liegt auf der Harmonisierung von administrativen, organisationalen Zielen und den Interessen der Entwickler. Sie hält einen B.Sc. in Wirtschaftsinformatik und einen M.Sc. in Information Systems. In ihrer täglichen Arbeit kombiniert sie Erfahrungen aus verschiedensten Bereichen wie SOA, Prozessmanagement und Softwarearchitektur sowie technischem Know-How aus den Bereichen Softwareentwicklung und Administration.