Scrum - Agile Software Development

Warum Scrum nach Lehrbuch in der Embedded-Welt nicht funktioniert

Um im Embedded-Umfeld erfolgreich agil zu entwickeln, müssen neben den Scrum-Grundlagen die Besonderheiten des komplexen Zusammenspiels von Hardware und Software von der Planung bis zum Test berücksichtigt werden. MicroConsult ScrumBedded * verspricht hier als maßgeschneiderte Lösung Erfolg.

Besonderheiten bei der Planung

Bei Embedded-Projekten legt man für gewöhnlich im Vorfeld eine grobe Architektur fest. Entwickelt man für Single- oder Multicore-Prozessoren? Wieviel Cores werden dabei benötigt? Und wie hoch ist die ungefähre Leistungsfähigkeit des Ziel-µControllers? Geht es um ein Bare-Metal- oder um ein RTOS-basiertes Design? Kommt dabei eine generische Produkt-Plattform zum Einsatz?  Entsteht ein Einzelprodukt, oder entwickelt man ein Teil einer Produktfamilie?

Erst wenn diese Fragen zufriedenstellend beantwortet und die zugehörigen Eckdaten festgelegt sind, ist es für das  Expertenteam sinnvoll, mit den Entwicklungssprints und so mit der agilen Entwicklungsmethodik zu beginnen.

Besonderheiten agiler Entwicklung von Embedded-Systemen

Bild 1: Besonderheiten agiler Entwicklung von Embedded-Systemen

Agile Embedded-Rollen

Zu den klassischen Scrum-Rollen wie Product Owner, Scrum Master und Scrum Team kommen in der Embedded-Entwicklung noch viele weitere Rollen hinzu, darunter Hardware-Entwickler, System-Architekt, Entwickler von Low-Level-Treibern, Gesamtsystem-Tester, Anwenderdoku für das Gesamtsystem, Gesamt-Projektleiter sowie Produktmanager.

Agile Rollen in der Entwicklung von Embedded-Systemen

Bild 2: Agile Rollen in der Entwicklung von Embedded-Systemen

Zu jeder dieser einzelnen Rollen sollten Schnittstellen bestehen, die in der agilen Entwicklung angepasst werden müssen. Ohne diese Anpassungen entstehen zu große Reibungsverluste, und oft führt das zum Scheitern des kompletten agilen Ansatzes. Hier ist Überzeugungsarbeit zu leisten und gegenseitiges Vertrauen zu schaffen, um gemeinsam den Erfolg der agilen Entwicklung zu ernten.

Herausforderungen im agilen Test

Das agile Testen im Embedded-Umfeld ist eine besonders harte Nuss. Hier hilft nur eine Dual-Targeting-Strategie, die das Testen einerseits auf der Entwicklungsplattform (1) und andererseits in der Target-Umgebung (2) zum Ziel hat.

Scrum - Embedded-Systemtest

Bild 3: Embedded-Systemtest

Die zeitliche Synchronisierung der potentiell lieferbaren Produktinkremente am Ende der Sprints mit der Versionierung der Target-Plattform (inklusive Evaluierungsboards, Pilot-Hardware, Produktversion, Bugfixes in der Hardware, etc.) ist ebenso wichtig wie das Festlegen des Umfangs von hardwareabhängigen Tests. Ein kontinuierlicher Systemtest, in den inkrementell weitere Funktionalität einfließen kann, stellt die ideale Konstellation dar.

Bauen Sie sich Ihr agiles Entwicklungsframework nach Maß

Scrum-Entwicklung nach Lehrbuch funktioniert in den wenigsten Fällen. Doch das Rad neu zu erfinden ist auch keine Lösung. Übernehmen Sie aus bestehenden Frameworks so viel wie notwendig, doch gleichzeitig auch so wenig wie möglich. Das Sammeln von eigenen Erfahrungen ist in der Embedded-Entwicklung essentiell.

Sie müssen ja nicht auf der grünen Wiese beginnen: Die wichtigen Begriffe, Zusammenhänge und Methoden, die maßgeblich zur Gestaltung, Umsetzung und Optimierung von Scrum im Entwicklungsprozess für Embedded-Systeme in Ihrem Unternehmen beitragen, vermittelt unsere dreitägige Scrum-Schulung: “Scrum in der agilen Entwicklung von Embedded-Systemen”.

Wir begleiten Sie gerne mit weiteren Schulungen, Prozess-Workshops und Projekt-Consulting rund um die Themen Agil und Scrum.


*Auf die Frage, ob unsere Kursteilnehmer in den agilen MicroConsult-Trainings Seminaren bereits agil entwickeln, bekomme ich sehr oft die Antwort: „Ja, schon irgendwie – aber nicht so richtig“. Es gibt dafür einen eigenen Begriff „ScrumBut“, der genau dieses Stadium bei der Einführung agiler Entwicklung beschreibt.

Um die Besonderheiten der agilen Entwicklung in der Embedded-Welt zu beschreiben, haben wir bei MicroConsult in Analogie zu ScrumBut den Begriff „ScrumBedded“ eingeführt. Er umfasst mit einem Wort die Erweiterungen des standard Scrum-Frameworks um die Erstellung der System-Grobarchitektur, System-Stories, Synchronisationspunkte zwischen Software- und Hardware-Entwicklung, die erweiterten Rollen wie z.B. den System-Architekten und den Umgang mit dem Hardware-Bottleneck, der durch die gleichzeitige Entstehung von SW und HW besonders beim Testen schwierig ist. ScrumBedded steht damit im Mittelpunkt der agilen MicroConsult-Seminare.“


Weiterführende Informationen

MicroConsult Fachwissen zum Thema Agil & Scrum

MicroConsult Training & Coaching zum Thema Agil & Scrum

Veröffentlicht von

Remo Markgraf

Remo Markgraf

Remo Markgraf ist Senior Management Consultant bei der MicroConsult GmbH. Neben Begeisterung für Innovation und Leidenschaft für Embedded-Systeme verfügt er über langjährige Projekt- und internationale Führungserfahrung in Softwareentwicklung, Systems Engineering, Projekt-, Produkt-, Innovations- und Business Development Management sowie dem technischen Vertrieb.