18.3.22
Digitalisierung
Agile

Digitale Produkt­entwicklung: Warum Software­dienstleister heute mehr leisten müssen als nur Programmieren

Sebastian Betzin, CTO generic.de software technologies AG

Software­lösungen zu entwickeln, startet nicht erst beim Coding und endet auch nicht mit der Übergabe des Quellcodes – zumindest nach unserer Auffassung. Als Entwicklungs­partner großer und mittel­ständischer Unter­nehmen aus dem Maschinen- und Anlagen­bau, der produzierenden Industrie und dem Bau­sektor blicken wir auf über 20 Jahre Erfahrung in der Entwicklung von Individual­software zurück. Speziell die letzten Jahre haben dabei eines gezeigt: Software­entwicklung muss als ganz­heitlicher Prozess verstanden werden. Unser CTO Sebastian Betzin verrät im Interview, wie die neue Aus­richtung des Unter­nehmens genau aussieht und was in der Software­entwicklung heut­zutage wirklich wichtig ist.

„Einfach ein vorgefertigtes Lastenheft abzuarbeiten und in Code zu gießen, funktioniert heute nicht mehr. Dabei wird zwar ein Produkt rauskommen, aber mit hoher Wahrscheinlichkeit nicht das, was das Unternehmen wirklich braucht.“
(Sebastian Betzin, CTO generic.de)

Sebastian, warum ist ganzheitliche Software­entwicklung heute so wichtig?

Sebastian Betzin: Unsere Welt wird immer komplexer – speziell im industriellen Umfeld. Durch die Digitalisierung haben wir schier unendlich viele Möglich­keiten, Prozesse neu zu gestalten und Abläufe zu optimieren. Hier immer den Überblick zu bewahren und am Ball zu bleiben, ist ein Ding der Unmöglichkeit – zumindest, wenn man auf sich allein gestellt ist. Als Entwicklungs­partner wollen wir deshalb nicht mehr erst dann zum Einsatz kommen, wenn es ums Programmieren geht, sondern schon viel früher im Entwicklungs­prozess ansetzen. Einfach ein vorgefertigtes Lasten­heft abzuarbeiten und in Code zu gießen, funktioniert heute nicht mehr. Dabei wird zwar ein Produkt rauskommen, aber mit hoher Wahr­scheinlichkeit nicht das, was das Unter­nehmen wirklich braucht.

Welche Vorteile ergeben sich durch eine ganz­heitliche Betreuung?

Sebastian Betzin: Je früher es ein gemeinsames Verständnis der Produkt­vision gibt, desto eher können wir bei der Ideen­findung und der Anforderungs­definition mitarbeiten. Und damit die Produkt­entwicklung von Grund auf mitplanen. Es geht schließlich nicht darum irgendein Software­produkt zu entwickeln, sondern das richtige Produkt – für das Unter­nehmen und die späteren Anwender:innen. Dafür müssen wir beantworten können, welche User welche Aufgaben zu erfüllen haben, welche Daten sie dafür brauchen und wie sie die Software bestmöglich bei ihrer Arbeit unterstützt. Sind diese grund­legenden Fragen geklärt, produzieren wir auch sehr viel effizienter und können das Software­produkt dadurch schneller zur Marktreife bringen. Gleich­zeitig entwickeln wir durch diese tiefe Verankerung ein ganz­heitliches Verständnis des Produkts, des Kunden und der Branche. Wir sprechen da von Domänen­wissen. Und das ist elementar für den Betrieb, den Support sowie für mögliche Weiter­entwicklungen der Lösung.

„Es geht schließlich nicht darum irgendein Software­produkt zu entwickeln, sondern das richtige Produkt – für das Unter­nehmen und die späteren Anwender:innen.“
(Sebastian Betzin, CTO generic.de)
Ganzheitlicher Ansatz der Softwareproduktentwicklung bei generic.de  

Erfinden, erforschen, entwickeln, erhalten – Wie würdest Du unseren Ansatz erklären?

Sebastian Betzin: Beim Erfinden geht es uns darum, gemeinsam mit dem Kunden anhand seines Business Case und seiner groben Vision eine funktionierende Produk­tidee auszuarbeiten. Oder – falls es diese bereits gibt – die Idee zu prüfen und zu validieren.

Anschließend unterstützen wir unsere Kunden dabei, die Produkt­idee in die richtigen Bahnen zu lenken. Das bezeichnen wir als Erforschen. Man könnte es auch geführtes Requirements Engineering nennen, wobei das zu kurz greift. Vielmehr ist es tatsächlich eine Art Forschungs­reise, in der wir das Unternehmen und vor allem die späteren User kennen und verstehen lernen wollen. In dieser Phase ist verstärkt unser UX-Team involviert. Sie nehmen die Anwender:innen unter die Lupe, analysieren ihre Arbeits­prozesse und entwickeln mit diesem Wissen erste Click­dummies – also klick­bare Oberflächen-Designs der Lösung. Unsere Solution Architects schauen sich hingegen die technische Seite an und konzipieren die Software-Architektur. Die initialen Arbeiten sind damit abgeschlossen, wobei wir unsere Kunden in den folgenden Projekt­phasen natürlich weiter „erforschen“.

Entwickeln umschreibt die agilen Prozesse, die notwendig sind, um das Produkt tatsächlich entstehen zu lassen – also das Coding, Testing und das UI-Design. Dabei arbeiten wir mit unseren Kunden im inter­disziplinären Projekt­team zusammen. Wir definieren also bspw. die speziellen Anforderungen für ein Feature, setzen diese in Code und UI um und testen das ganze gemeinsam. Unsere Software­entwickler:innen arbeiten dabei nach den Prinzipien und Praktiken des Clean Code Developments. Das ist ein Werte­system, das darauf ausgelegt ist, nach­haltigen Quell­code zu schreiben. Wir sprechen da auch von hoher innerer Software­qualität: Je klarer und lesbarer der Code geschrieben und je höher die Test­abdeckung ist, desto besser kann er zukünftig verändert, angepasst oder erweitert werden – und desto lang­lebiger ist das Software­produkt.

Das spielt uns schließlich auch beim Erhalten in die Karten. Hier dreht sich nämlich alles um den Betrieb und die Weiter­entwicklung des Produkts. Speziell hier kommt unsere DevOps Arbeits­weise zum Tragen: wir verbinden die Disziplinen Development und Operations also. Und klar: je sauberer und modularer der Quell­code aufgebaut ist, desto schneller und günstiger sind auch neue Features implementiert.

Das ist für uns der goldene Weg der digitalen Produkt­entwicklung. Zumindest momentan. Man weiß schließlich nie, was morgen kommt.

Vielen Dank, Sebastian.

No items found.

Weitere Artikel

No items found.