Software Engineering in Start-ups: Top oder Flop?

Software Engineering in Start-ups – Chaos und Bugs statt Struktur und Qualität? Zu diesem Thema lud der Arbeitskreis Quality Management des Bitkom Mitte April nach Potsdam ein. Das Ziel war ein Austausch zwischen etablierten Unternehmen der ITK-Branche und Start-ups.

Dabei ging es insbesondere um die Frage, wie chaotisch Start-ups Software entwickeln und welchen Stellenwert Qualitätsmanagement für sie hat. Der örtliche Rahmen war dem Thema angemessen: das Hasso-Plattner-Institut für Softwaresystemtechnik (HPI), das schon zahlreiche Gründungen in der IT-Branche unterstützt hat.

Kompromisslose Qualität

Bereits die erste Präsentation der jungen HPI-Ausgründung Valsight ließ das von traditionellen IT-Unternehmen vielleicht erwartete Chaos vermissen. Valsight entwickelt Finanzsoftware für Großunternehmen und hat definierte Prozesse und klare Richtlinien. Bevor mit der Entwicklung begonnen wird, müssen Storys oder Features nicht nur auf Nutzen und Machbarkeit überprüft, sondern ausreichend detailliert spezifiziert werden. Hier punktet Valsight bereits mit deutlich höherer Qualität gegenüber Unternehmen, die aus falsch verstandener Agilität Spezifikation vernachlässigen und unreife Ideen spontan in Code umsetzen. Dadurch überzeugt Valsight auch mit höherer Produktivität, da es weniger Fehlinterpretationen und Korrekturaufwand gibt.

Der nachfolgende Entwicklungsprozess zeichnet sich dadurch aus, dass es keine personelle Trennung zwischen Programmierung und Tests gibt, sondern dass Entwickler ihre Artefakte zunächst selbst testen und sich hinsichtlich der Qualität in der Verantwortung sehen. Unterstützt werden sie durch automatisierte Tests, insbesondere Codeanalysen und automatisch im Browser ausgeführte Testskripte, sowie einem finalen manuellen Test am Ende einer Release-Entwicklung.

Nach meiner Einschätzung hat Valsight damit alles richtig gemacht, denn Qualität lässt sich nicht durch große Testteams in eine Anwendung hineintesten. Sie entsteht durch das Qualitätsbewusstsein und die Verantwortung der Entwickler. Das Ausführen von Testfällen können Automaten ohnehin schneller erledigen – sind sie doch vollkommen ermüdungsfrei (trotz ständiger Wiederholung und Nachtarbeit…). Bei der Planung und Steuerung setzt Valsight auf Kanban, was das Start-up bei der Abarbeitung der Anforderungen unabhängig von einer festen Zeittaktung sowie von Timeboxes macht. Dabei ermöglicht das Pull-Prinzip eine maximale Flexibilität in der Priorisierung und Ressourcenplanung. Für mich erscheint die Arbeitsweise von Valsight nicht als Chaos, sondern als eine ideale Kombination vieler Best Practices.

Wie technologieaffin kann eine Bank sein?

Faszinierend war auch die Darstellung der solarisBank. Das FinTech-Start-up besitzt eine Banklizenz, erfüllt die regulatorischen Anforderungen der Bankenaufsicht und arbeitet an einer Zertifizierung seines Informationssicherheitsmanagementsystems nach ISO 27001 – hier in etwa hören die Gemeinsamkeiten mit einer klassischen Bank jedoch auch schon auf. Die solarisBank bietet der digitalen Wirtschaft über APIs Zugänge zu Banking-Plattformen und damit verbundenen Dienstleistungen für Konten- und Zahlungsverkehrslösungen, Compliance- und Treuhand-Lösungen, Working-Capital-Finanzierungen sowie Online-Kredite. Aus IT-Sicht bemerkenswert ist der absolut kompromisslose und moderne Technologiestack. Während für viele Banken der Wechsel von COBOL zu Java eine Herausforderung war oder noch ist, entwickelt die solarisBank polyglott in Sprachen wie Ruby, Elixir und Erlang – und ist jederzeit bereit, auf andere Sprachen zu wechseln, wenn dies vorteilhaft erscheint.

Die Entwicklung der sehr kleinteiligen Komponenten (man spricht vom „Lego Brick Approach“) ist testgetrieben und wird von kleinen, spezialisierten Teams durchgeführt. Sie interagieren mit Hilfe von Confluence und dem Instant-Messaging-Dienst Slack. Das Projektmanagement wird durch die webbasierte Software Trello unterstützt, die Versionsverwaltung durch GitHub, zur kontinuierlichen Integration wird die Plattform CircleCI verwendet und zur Testautomation das Framework Extensive Testing. Zur Bereitstellung der Anwendungen in virtuellen Containern setzt das solaris-Team die Software Docker ein. In der Gesamtschau ein gut gewähltes Instrumentarium, mit dem die Synthese aus Virtualisierung, produktiver und qualitativ hochwertiger Softwareentwicklung sowie Konformität mit den strengen regulatorischen Anforderungen der Finanzbranche gelingt.

Das Software Engineering ist top

Selbstverständlich kann man die Darstellung einzelner Start-ups nicht verallgemeinern. Ich muss jedoch feststellen, dass mir „Chaos und Bugs“ bisher eher bei großen Unternehmen begegnet sind. Vielleicht auch, weil gerade für Start-ups technische Innovationen, Produktivität (schnelle Time-to-Market) und Qualität überlebenswichtig sind. Sie wissen offensichtlich, was bei vielen etablierten Playern in Vergessenheit geraten ist: Anforderungen müssen vor der Implementierung detailliert und interpretationsfrei spezifiziert werden. Außerdem haben die Start-ups erkannt, dass permanentes und intensives Testen vom Automaten wesentlich besser erledigt werden kann als vom Menschen.

Teilen Sie meine Einschätzung oder haben Sie gegenteilige Erfahrungen mit Start-ups gemacht?

 

Bildquelle: Shutterstock

Hinterlassen Sie eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.