Da Du diesen Text hier liest, bist Du offensichtlich genau so ein Nerd wie wir. Komm zu uns und bewerbe Dich bei ///\/ DevBoost: https://devboost.com/karriere (https://api.devboost.com)

3 Schritte zur Optimierung der Software-Produktentwicklung

In diesem Artikel möchten wir Euch am Beispiel unseres des Robotics Startups TEDIRO die Inhalte der von uns durchgeführten Optimierung einmal im Detail vorstellen.

von Tobias Nestler, Lesezeit: 8 Min.

Kommen wir mit einem neuen Kunden in Kontakt, so gilt es zu Beginn unserer Zusammenarbeit, dessen Produkt sowie die Potentiale zur Optimierung seiner Produktentwicklung genau zu verstehen. Gemeinsam mit dem Entwicklungsteam des Kunden analysieren wir den aktuellen Stand sowie die Performance der Softwareentwicklung, identifizieren relevante Engpässe der Produktentwicklung und erarbeiten eine Roadmap mit konkreten Handlungsempfehlungen. Gelingt deren Umsetzung, steht einer performanten Produktentwicklung sowie einem zufriedenen Entwicklungsteam nichts mehr im Weg.

In diesem Artikel möchten wir Euch am Beispiel des Robotics Startups TEDIRO die Inhalte der von uns durchgeführten Optimierung einmal im Detail vorstellen.

Das Robotics Startup TEDIRO

Das Robotics Startup TEDIRO hat sich zum Ziel gesetzt, mittels des weltweit ersten, mobilen Therapie- und Diagnostikroboters zur schnelleren Mobilisierung von Patienten in Akut- und Rehakliniken beizutragen. Die hohen Anforderungen an Behandlungsqualität, steigende Dokumentationsaufwände, hoher Zeit- und Kostendruck sowie Fachkräftemangel bringen Kliniken heutzutage zunehmend an ihre Grenzen. Mittels einer mobilen Roboterplattform unterstützt TEDIRO die physiotherapeutische Arbeit für eine Vielzahl von Therapieformen und sorgt so für erhebliche Erleichterung im Klinikalltag.

Die Produktvision überzeugte nicht nur die ersten Investoren, sondern bescherte dem TEDIRO Team bereits zahlreiche Auszeichnungen (u.a. Gewinner IQ Innovationspreis, Top 50 Startups in 2021).

Bild 1: Der Roboter übernimmt das Gangtraining an Unterarmgehstützen. Auf dem Bild ist ein Demonstrator zu sehen, der als Grundlage für ein neues Design dient, welches sich aktuell in der Entwicklung befindet. Bildnachweis © TEDIRO

Herausforderungen der Robotics Produktentwicklung

Der Aufbau eines Produktes bzw. einer Plattform für medizinische Robotics-Applikationen ist für das Entwicklungsteam von TEDIRO mit zahlreichen technischen Herausforderungen verbunden. So gilt es, auf Ebene der medizinischen Anwendung Computer-Vision-basierte KI einzusetzen, diese in die Navigations- und Steuerungskonzepte des Roboters zu integrieren sowie Web-Anwendungen zur Administration der Anwendungen und des Roboters zu verzahnen.

Der Entwicklungsprozess sowie die zugehörige Entwicklungsinfrastruktur müssen den hohen Anforderungen für Medizinprodukte genügen, da in sensiblen Umgebungen und mit sensiblen Patientendaten gearbeitet wird. Die Produkte von TEDIRO unterliegen Zertifizierungen, welche eine hohe Produktqualität, aber auch Prozesssicherheit, Datenschutz und Nachverfolgbarkeit einfordern. 

Für TEDIRO ist es daher unabdingbar, Mechanismen und Automatismen zur Sicherung der Softwarequalität aufzubauen sowie die Entwicklungsprozesse und die Produkt-Roadmap so auszugestalten, dass die o.g. Anforderungen adressiert werden. Gleichermaßen erfordert die Markterschließung eine möglichst hohe Agilität.

Zielstellung unserer Zusammenarbeit war es daher, einen klaren Fokus für die weitere Ausgestaltung des Entwicklungsprozesses und den Ausbau des Produktteams zu erlangen.

Was gilt es zu tun?

Doch wie genau muss man sich diese Art der Analyse vorstellen und welche Ergebnisse können Softwarehersteller wie TEDIRO erwarten? Um Euch diese Frage zu beantworten, gehen wir im Folgenden auf den Ablauf und die Inhalte der durchgeführten Analyse ein.

Prinzipiell erfolgt die Erarbeitung aller Inhalte im Zusammenspiel mit dem Entwicklungsteam am konkreten Produkt. Hierbei durchlaufen wir je nach Produktkomplexität in einem bzw. mehreren Workshops die folgenden drei Schritte:

1. Domäne und Produkt (Das Richtige tun):

Erarbeitung eines gemeinsamen Verständnisses zum optimalen Produkt und zur Produktstrategie.

2. Optimierungshebel (Es auf die Richtige Weise tun):

Analyse der kundenspezifischen Produkt- und Softwareentwicklung (Ist-Stand, Zielzustand), Identifikation von spezifischen Engpässen (tatsächliche Blocker, Optimierungshebel) sowie Sammlung von konkreten Lösungsideen (Aktionen).

3. Umsetzungsplan (Es zur Richtigen Zeit tun):

Priorisierung einer kundenspezifischen Roadmap aus Maßnahmen zur Adressierung der Engpässe.

Um Insellösungen zu einzelnen ggfs. prominenten Teilproblemen (z.B. „Wir müssen mehr UI Tests automatisieren“) zu vermeiden, gilt es die im linken Bereich von Bild 2 aufgeführten vier Analyseschwerpunkte gemeinsam mit dem Team systematisch zu analysieren. Haben wir diesen ganzheitlichen Blick auf den Status Quo, können wir die wirklichen Engpässe erkennen (z.B. zu viel Business Logik im Frontend) und können die richtigen Maßnahmen ableiten (z.B. Refactoring).

Bild 2: Die vier Analyseschwerpunkte

In den folgenden Abschnitten schauen wir uns die vier Analyseschwerpunkte genauer an.

Das „Big Picture“

In der Regel kennen wir Euer Produkt und Eure Produktstrategie noch nicht. Auch für Euch ist es nützlich, Euch zu Beginn einer Optimierung Eure Produktbestandteile und Eure mittel- bis langfristige Produktstrategie zu vergegenwärtigen.

In einem ersten Schritt erheben wir daher was Euer Produkt macht, welches fachliche Problem es löst und wer die Nutzer sind. Haben wir dieses fachliche Verständnis aufgebaut, schauen wir uns an, wie das Produkt technisch realisiert ist. Wir diskutieren hierfür die Zerlegung und Architektur Eures Softwaresystems. Es gilt darüber hinaus den benutzten Technologiestack (Entwicklung und Betrieb) sowie signifikante Drittsysteme zu erfassen.

Abschließend betrachten wir gemeinsam die aktuelle Produkt-Roadmap. Welche Ziele und Meilensteine in der Weiterentwicklung Eures Produktes sind Euch besonders wichtig zu erreichen? Ein klares Verständnis der Produktvision und der Alleinstellungsmerkmale helfen in der späteren Priorisierung von Maßnahmen.

Teams und Verantwortlichkeiten

Die Aufgabenverteilung und Zusammenarbeit im Team beeinflussen maßgeblich die Qualität und Effektivität des Entwicklungsprozesses und damit die Geschwindigkeit sowie die Güte der Produktentwicklung. Es sind die Team-Architektur (Topologie), Aufgaben und Verantwortlichkeiten, sowie Konventionen und Formate zur Zusammenarbeit zu erfassen. Darauf aufbauend erstellen wir eine Übersicht, wie Teams im Entwicklungsprozess interagieren und das Optimierungspotential. Dieses kann z.B. in der Zuordnung von Aufgaben und Verantwortungen liegen, methodische Lücken, Unklarheiten oder Herausforderungen im Prozess oder der Zusammenarbeit aufdecken oder mangelnde Expertise oder Ressourcen identifizieren.

Dokumente und Entwicklungsartefakte

Softwareentwicklungsteams erzeugen zur Weiterentwicklung von Software vielfältige Entwicklungsartefakte (Dokumente, Code, Daten). Diese steuern zum einen den Entwicklungsprozess und manifestieren zum anderen den eigentlichen Wert eines Softwareproduktherstellers. Sie erlauben daher einen guten Einblick in die Effizienz und den Reifegrad verschiedener Phasen der operativen Softwareentwicklung.

In Bezug auf die Artefakte in der Anforderungserfassung würden wir Euch beispielsweise die folgenden Fragen stellen:

  • Werden Anforderungen schriftlich festgehalten?
  • Sind Anforderungen an einer zentralen Stelle leicht zu finden?
  • Sind Anforderungen auf einheitliche Art und Weise beschrieben (z.B. gleicher Umfang und gleiches Abstraktionsniveau)?
  • Sind die Akzeptanzkriterien für Anforderungen klar und präzise?

Ähnlich zu diesen Fragen bewerten wir Euren Umgang mit Dokumenten und Artefakten in Design, Entwicklung, Buildautomatisierung, Qualitätssicherung, Auslieferung und Betrieb Eures Softwareproduktes. So analysieren wir, ob wichtige Dokumente oder Daten fehlen und ob es ein einheitliches Verständnis zu Struktur und Umfang der erstellten Dokumente (Konventionen/Guidelines) gibt. Wir diskutieren identifizierte Lücken und können bewerten, ob alle Dokumente aktuell und damit aktiv gepflegt und genutzt werden.

Werkzeuge und Entwicklungsinfrastruktur

Werkzeuge sollen das Leben des Teams vereinfachen. Sie übernehmen repetitive Prozesse und ermöglichen wiederholbare Durchführung. Sie unterstützen und fördern die Kommunikation und bilden Prozesse ab. Für unterschiedliche Phasen in der Softwareentwicklung werden unterschiedliche Werkzeuge verwendet. Häufig gibt es viele verschiedene Tools, die ähnliche Aufgaben erfüllen. Zielstellung der Analyse ist es, die verwendeten Werkzeuge zu erfassen, ihren Einsatz und Einfluss zu bewerten und Stellen, an denen Tools fehlen, zu identifizieren.

Bild 3: Entwicklungsphasen

Zu den in Bild 3 aufgeführten Entwicklungsphasen erheben wir die vorhandenen Tools:

  • Implementierung (Versionsverwaltung, Implementierungsstack, IDEs, Aufgabenverwaltung)
  • Qualitätssicherung (Test-Werkzeuge, CI-Server, Code-Analyse)
  • Auslieferung (Provisionierung / Orchestrierung, Fleet-Management)
  • Betrieb (Virtualisierung, Monitoring, Identity- & Access-Management)
  • Phasenübergreifend (Kommunikation, Zeiterfassung, Projektmanagement, Controlling, Dokumentenverwaltung, Wissensmanagement, Kollaboratives Arbeiten)

Wir können nun erkennen, ob es Aufgaben gibt, für die keine passenden Werkzeuge bekannt bzw. benutzt werden oder Aufgaben, bei denen bspw. Uneinigkeit zu den zu verwendenden Werkzeugen besteht. Auch identifizieren wir Werkzeuge, die nicht gut funktionieren oder veraltet sind.

Doch wie entsteht nun die Roadmap zur Optimierung?

Haben wir alle vier Analyseschwerpunkte gemeinsam betrachtet, ergeben sich eine Menge von Herausforderungen und möglichen Lösungsideen. Was uns jetzt jedoch noch fehlt, ist ein priorisierter Ablaufplan. Wir müssen daher in einem nächsten Schritt festlegen, womit angefangen werden soll und welche Problemlösungen den größten Optimierungshebel versprechen.

In einem ersten Schritt definieren wir zu den gesammelten Herausforderungen oder Lösungsansätzen konkrete Action Items. Ein Action Item ist hierbei eine konkret ausführbare und abschließbare Aufgabe, welche zur Lösung beiträgt und einer Person zuordenbar ist. Anschließend werden die Action Items in verschiedene Themenbereiche eingeordnet (siehe Bild 4) und innerhalb der Themenbereiche nach inhaltlichen Abhängigkeiten sortiert.

Bild 4: Engpässe und Optimierungen

Die Themenbereiche bauen aufeinander auf, d.h. dass Engpässe in vorgelagerten Themenbereichen die Weiterentwicklung der nachgelagerten Themenbereiche blockieren. Kurzum: Es macht wenig Sinn, über Werkzeuge der Testautomatisierung nachzudenken, wenn die Architektur der Anwendung noch gar nicht für die Implementierung aussagekräftiger Tests aufgestellt ist.

So ergibt sich systematisch eine klare Priorisierung der Action Items. Die Roadmap ist fertig. Die identifizierten Aufgaben können nun entsprechend der Priorisierung (nacheinander) und der Befähigung/ Verantwortung (parallel) verteilt werden. Wichtig zu beachten: Eine zu frühe Bearbeitung von nachgelagerten Aufgaben verzögert die Wirksamkeit und gefährdet die Ergebnisqualität.

Fazit TEDIRO

TEDIRO erlangt letztendlich den erforderlichen Schwerpunkt auf die zentralen Aspekte der bevorstehenden Weiterentwicklung und Skalierung seiner Produktentwicklung. Das Entwicklungsteam kann die Erkenntnisse der Analyse sowie die konkreten Handlungsempfehlungen der Roadmap in seine eigene Planung überführen.  

Christian Sternitzke, Geschäftsführer und Co-Founder von TEDIRO, zieht folgendes Fazit: „Die Workshops von DevBoost sind methodisch exzellent und waren voll auf unsere Situation fokussiert. Im Ergebnis haben wir nun konkrete Maßnahmen für die wesentlichen Stellschrauben zur Skalierung unserer Produktentwicklung.“

Neben der Weiterentwicklung des Entwicklungsprozesses und dem Ausbau des Entwicklungsteams stehen natürlich vor allem zahlreiche neue Produktfeatures auf der Roadmap, welche die Therapien in Kliniken maßgeblich verändern werden. Das umfasst weitere Anwendungen in der Orthopädie, Neurologie und Kardiologie sowie auch in der Pflege.

Möchtest Du Dir ebenfalls ein solch detailliertes Bild über konkrete Handlungsmöglichkeiten in der Optimierung Eurer Produktentwicklung verschaffen? Dann lass uns gern in einem ersten Gespräch Deine Fragen klären.

Was kannst Du nun tun?

Sprich mit einem Experten.

Beratungsgespräch vereinbaren
Zuletzt bearbeitet am 15.07.2024

Beitrag teilen

Folge DevBoost

/half-hearted-attempt-at-accessibility-sorry