Christian, bei diesem Projekt kamen agile Methoden und Microservices zum Einsatz. Was verbirgt sich dahinter?

Da sich die Business-Vision von smide auch erst langsam über die Zeit geformt hat, war es entscheidend, dass wir mit dieser Dynamik in der Architektur und der Umsetzung mitgehen konnten. Aus diesem Grund haben wir von Beginn an in kurzen Iterationen jeweils ein weiteres Inkrement der Lösung entworfen, entwickelt und auch in Produktion gebracht, spätestens alle zwei Wochen. Das war natürlich kein gradliniger Prozess - wir haben immer wieder bereits gebaute Funktionen verändert und verbessert, um sie den neu gewonnenen Erkenntnisse aus dem echten Leben anzupassen. Um dabei auch die Architektur und Struktur des Systems noch im Griff behalten zu können, haben wir dieses nach fachlichen Kriterien in mehrere stark unabhängige Teilsysteme oder Microservices zerlegt. Beide Ansätze waren für den Erfolg von smide absolut entscheidend.

Stimmt es, dass bei INNOQ die Grenzen zwischen IT- und Business-Beratung verschwimmen? Wie gehst Du damit um?

Ja, das sehe ich auch so, und persönlich finde ich das sehr spannend. Darüber hinaus ist dies schlicht notwendig, wenn wir unseren Kunden zum Erfolg verhelfen wollen. Auch im digitalen Zeitalter geht es nicht nur um hippe Technologien, sondern darum, das Geschäft, die relevanten Ziele und Randbedingungen zu kennen. Da der Kunde - gerade bei einem Start-Up - diese Sicht oft auch noch nicht zu 100% hat, helfen wir mit kritischen Fragen und alternativen Ideen aktiv mit, diese zu gestalten. Bei smide waren wir daher je nach Situation in unterschiedliche Rollen geschlüpft: mal Coach oder Sparring Partner, mal Software-Spezialist, oft aber auch Vermittler - zum Beispiel zwischen E-Bike-Herstellern, externen Lieferanten, smide und anderen Stakeholdern. Um unseren Kunden zu helfen, übernehmen wir selbstverständlich die notwendige Verantwortung, auch über die Programmierung hinaus.

Für die Nerds unter uns: Was war technologisch spannend an dem Projekt?

Auch wenn es wie gesagt nicht primär um Technologien geht, so gibt es dennoch einige Aspekte zu erwähnen. Für smide sind zum Beispiel historische Daten und Ereignisse sehr wichtig, um diese für neue Geschäftsmodelle nutzen zu können. Daher setzen wir einen Apache Kafka-Cluster ein, der als ideale Basis die gesamte Ereignishistorie vorhalten kann, damit sie bei Bedarf ausgewertet oder für neue Funktionen benutzt werden kann. Dann natürlich die Umsetzung des Gesamtsystem als mehrere Microservices, welche ebenfalls Kafka für die Kommunikation über fachliche Ereignisse untereinander benutzen und so sehr stark voneinander entkoppelt sind. Die grosse Anzahl von einzelnen Services bedingt natürlich eine automatisierte Test- und Deployment-Pipeline und eine geeignete Container-Umgebung für den Betrieb, in unserem Fall ein Kubernetes-Cluster.