Solve beschäftigt rund 50 Ingenieur:innen und einer von ihnen ist Silvan Gacond. Seit 2016 arbeitet er als Software-Ingenieur und Projektleiter bei Solve und schloss in dieser Zeit zahlreiche Projekte erfolgreich ab. Mit seiner langjährigen Erfahrung weiss er auch, welche Hürden es zu überwinden gilt, damit der Kunde am Ende jenes Ergebnis erhält, welches er sich zu Beginn vorstellte. Wie geht man also ein Projekt richtig an? Silvan antwortet darauf: «Wir investieren bei Solve sehr viel in die Weiterbildung und werden dahingehend geschult, die richtigen Fragen nach den tatsächlichen Bedürfnissen der Stakeholder zu stellen. Ein Grossteil der Entwickler:innen haben beispielsweise an einem Event Storming Seminar teilgenommen. Anlässlich dieses Lehrgangs lernten wir, mithilfe eines Workshops, die Vorstellungen der Anspruchsgruppen für das Endprodukt zu konkretisieren. Nur in gemeinsamer, partnerschaftlicher Zusammenarbeit lässt sich ein Projekt zu einem guten Ergebnis führen, das sich möglicherweise über Monate oder sogar Jahre hinauszieht.»
Lieber Kunde, es braucht auch dich
Das Outsourcing für Softwareprojekte ist für die Kunden eine tolle Sache, denn sie sparen somit interne Ressourcen. Das bedeutet allerdings nicht, dass sie sich um das Projekt nicht mehr kümmern müssen. «Genau das ist der Zweck moderner Requirements-Engineering Techniken und agilen Projektmanagement Methoden. Ausserdem ist es wichtig, bereits von Beginn weg an die Architektur der Software zu denken, um diese zweckmässig zu entwickeln und zu dokumentieren» erklärt Silvan. «Dabei hilft z.B. die ISAQB-Ausbildung zum Software-Architekten (ISAQB = International Software Architecture Qualification Board). Wir waren am Schluss in der Lage, die Requirements des Kunden zu identifizieren. Das erreichen wir durch die richtigen Gesprächs- und Befragungstechniken und in Form von Workshops mit allen relevanten Stakeholdern. Es ist von entscheidender Bedeutung für den Projekterfolg, dass wir wirklich alle Interessensgruppen an einen Tisch bringen. Damit meine ich auch z. B. die Person, welche am Ende die Maschine bedienen muss oder diejenige, welche die Rechnung bezahlt. Es hat sich aus meiner Erfahrung heraus erwiesen, an dieser Stelle mehr Zeit zu investieren.» führt Silvan weiter aus. «In der Regel hat der Kunde bereits viele gute Ideen. Unsere Aufgabe besteht darin, diese zu konsolidieren, ihm den Weg aufzuzeigen und Milestones zu setzen. Generell ist es sehr hilfreich, dass wir nicht nach dem Wasserfall-Prinzip vorgehen, bei dem alle Anforderungen in einem Pflichtenheft von Beginn an festgehalten sind. Wir zeigen dem Kunden die Vorteile des agilen Ansatzes auf, bei dem auch noch im Lauf des Projektes neue Ideen und Anpassungen einfliessen können. Unsere Entwicklungsteams sind mit Requirements Engineering-Wissen gerüstet, sodass sie fundierte Software-Architekturentscheidungen treffen können, die auf den effektiven Bedürfnissen der Stakeholder basieren.»
Agilität ja, aber nicht um jeden Preis
Das agile Vorgehen bei Softwareprojekten hat viele Vorteile und die Kunden erfahren schnell, dass sich die Methode für einen Grossteil der Projekte bewährt. Manchmal müssen aber auch Kompromisse eingegangen werden. Silvan stellt klar: «Wir arbeiten regelmässig auch an Projekten in regulierten Branchen. Bei einem solchen Projekt können wir nicht nach einem dreiwöchigen Sprint wieder alles über den Haufen werfen. Häufig unterstützen wir in diesen Fällen das klassische Vorgehen mit agilen Methoden. Es gibt auch Kunden aus traditionelleren Branchen, die gegenüber agilen Projekten skeptisch sind. Darauf müssen wir selbstverständlich Rücksicht nehmen. Wir sind bei Solve nicht dogmatisch, wir versuchen jedoch den Kunden die Vorteile der agilen Welt aufzuzeigen.»
Wann ergibt eine Konzeptphase Sinn?
Bei umfangreichen Softwareprojekten treffen die Projektleiter häufig auf eine beinahe unüberschaubare Flut an Anforderungen und Ideen und sollten dem Kunden trotzdem eine Kostenschätzung abgeben. «In solchen Fällen versuchen wir den Kunden bei einem Beratungsgespräch vom Sinn einer Konzeptphase zu überzeugen.» erläutert Silvan. «Letztendlich geht es um eine Risikoabschätzung und dieses Vorgehen ist ganz im Sinne des Kunden. Ein Beispiel: Es soll ein Drittsystem über eine Schnittstelle eingebunden werden, über das ‘wie’ herrscht allerdings Unklarheit. Dafür braucht es fundierte Abklärungen über Fragen wie ‘erhalten wir Support’ oder ‘existiert eine vernünftige Dokumentation’. Wir investieren dafür zwar Zeit und diese wird dem Kunden auch verrechnet, aber das Risiko wird so auf ein Minimum reduziert und wir vermeiden negative Überraschungen. Unser Versprechen an den Kunden bei diesen Vorstudien ist Folgendes: Sollte er unzufrieden sein, erhält er die komplette Dokumentation sowie alle Informationen über die Ergebnisse und kann damit zum Wettbewerber gehen. Wir sind in dieser Beziehung absolut transparent. Es ist somit eine Art Rückversicherung für den Kunden. Allerdings ist ein solcher ‘Absprung’ noch nie vorgekommen», schliesst Silvan schmunzelnd.
Drei Fragen an Silvan:
Du bist als Softwareentwickler schon ein ‘alter Hase’ und kommst immer wieder in die Situation, dass Kunden zwar eine Idee haben, aber noch nichts wirklich Konkretes, was du direkt umsetzen könntest. Trotzdem möchten sie gerne eine Kostenabschätzung. Wie gehst du mit diesen Situationen um?
Meine erste Reaktion ist in der Regel: Ok, die Situation kennen wir und du bist nicht der Einzige mit dem Problem. Ich sehe es dann als meine Aufgabe, alle Interessensgruppen an einen Tisch zu bringen und am Ende alle deren Vorstellungen und Wünsche zu konsolidieren. Der Kunde muss das Gefühl erhalten, dass er bei uns gut aufgehoben ist und dass wir ihn jederzeit bei seinem Vorhaben unterstützen. Was ja letztendlich auch stimmt.
Welches sind die wichtigsten Voraussetzungen für ein erfolgreiches Softwareprojekt?
Um einen qualitativen, effizienten und wartbaren Code zu erstellen, müssen verschiedene Voraussetzungen geschaffen werden. Dabei wird neben den technischen Aspekten oft wenig Zeit in die strukturierte Erfassung und Aufarbeitung von Requirements investiert. Darauf wird aus meiner Sicht bei vielen Unternehmen noch zu wenig Wert gelegt. Wir können nur gute Qualität liefern, wenn wir die Anforderungen aller Stakeholder kennen. Das heisst, dass folgende Fragen beantwortet sind. Haben wir alle Stakeholder abgeholt? Haben wir sie richtig verstanden? Gibt es eine verständliche Dokumentation? Wer ist die Schnittstelle zu den Nutzern?
Zum Schluss noch eine ironisch gemeinte Frage: Was muss ein Software-Ingenieur tun, damit sein Projekt tatsächlich zum Himmelfahrtskommando wird?
Diese Frage lässt sich einfach beantworten: NICHT ZUHÖREN!