Agile (Hardware-)Entwicklung

Martin Bosch

16/09/2017

Vor einiger Zeit bin ich gefragt worden, ob ich mich mit agiler Hardware-Entwicklung auskenne, oder ob wir sogar agile Hardware-Entwicklung betreiben und entsprechende Tools und Prozesse kennen. Wie jeder weiß, der in der Entwicklung tätig ist, ist „agil“ zurzeit in Mode und möglichst jede Entwicklungsabteilung und jedes Entwicklungsprojekt soll agil sein oder werden.

Was sind die Hoffnungen hinter dem Trend zur Agilität?

Wikipedia hat einen Artikel zur agilen Software-Entwicklung (https://de.wikipedia.org/wiki/Agile_Softwareentwicklung). Darin heißt es:

Das Ziel agiler Softwareentwicklung ist es, den Entwicklungsprozess flexibler und schlanker zu machen, als das bei den klassischen Vorgehensmodellen der Fall ist. Die agile Softwareentwicklung ist eine Gegenbewegung zu den oft als schwergewichtig und bürokratisch angesehenen traditionellen Softwareentwicklungsprozessen […].

Indem man ein Produkt agil entwickelt, hofft man den Entwicklungsprozess flexibler und schlanker zu machen, und damit also folgendes zu erreichen :

  • wertvollere Produkte
  • kürzere Entwicklungszyklen
  • frühe und kontinuierliche Wertschöpfung
  • lernende Organisationen
  • begeisterte Kunden und Mitarbeiter

aus https://www.it-agile.de/wissen/einstieg-und-ueberblick/was-ist-agile-produktentwicklung/, einer der ersten Treffer bei Google zu agiler Entwicklung

Diese Punkte können als Optimierung der drei Faktoren Kosten, Zeiteffizienz und Qualität betrachtet werden. Natürlich wünscht man sich eine Optimierung aller drei Faktoren, was nicht selten zu Widersprüchen führt.

Weiterhin besteht der  Wunsch, die Planung und die Spezifikation nicht schon zu Projektbeginn zu verfassen, sondern Planung- und Entwicklungsphase parallel verlaufen zu lassen. Besonders zu Beginn des Projektes gibt es offene Punkte, deren Bearbeitung erst während der Entwicklung des Projektes möglich wird. Manche Spezifikation erweist sich auch erst nach den Tests als unhaltbar und mit zunehmender Projektlaufzeit treten  umso mehr Änderungswünsche und Ideen treten auf. Beispielsweise kann man von ungefähr 5% Änderung der Anforderungen pro Monat ausgehen.  Der Wunsch, dass die Spezifikationen erst später definiert werden, ist also nachvollziehbar.

Ihr Ansprechpartner:
Dipl.-Ing. Martin Bosch, Gesellschafter, Hardware-Entwickler
E-Mail: bosch@medtech-ingenieur.de
Tel.:  +49 9131 691 241
 

Benötigen Sie Unterstützung bei der Entwicklung Ihres Medizingeräts? Wir helfen gerne! Die MEDtech Ingenieur GmbH bietet Hardware-Entwicklung, Software-Entwicklung, Systems Engineering, Mechanik-Entwicklung und Beratung aus einer Hand. Nehmen Sie Kontakt mit uns auf.

Kontakt aufnehmen


Schließlich zeichnet sich  agile Entwicklung durch frühere und häufigere Lieferung im Vergleich zur klassischen Entwicklung aus, was entsprechend frühere Untersuchungen und Rückmeldungen ermöglicht. Dies klingt erstmal sinnvoll. Das Problem bei vielen Projekten, die nicht perfekt laufen, ist aber nicht fehlende Rückmeldung oder späte Lieferung, sondern dass kritische und warnende Stimmen nicht gehört werden. Erfahrene Entwickler liefern wertvolle Meinungen, Vorschläge und Feedback zu den Produkten, aber sie müssen auch gehört werden. Werden die falschen Parameter gemessen oder wird den Entwicklern kein Gehör geschenkt, dann verpasst man das Feedback. Das erfordert viel Feingefühl und Aufmerksamkeit bei den Projektverantwortlichen.

Besonders interessant finde ich, wie die „agile“ Bewegung entstand. Daraus kann man dann auch auf die Anwendung in der Hardware und den eigenen Projekten schließen.

Das agile Manifest

Der Begriff „agil“ kommt aus der Software-Entwicklung und wurde bei einem Treffen von Software-Entwicklern in Utah im Jahr 2001 geprägt. Davor war der Begriff „lightweight“ für diese Prozesse und Methoden üblich, da klingt „agile“ natürlich besser. Wer möchte schon als  „Leichtgewicht“ bezeichnet werden? :). Agil klingt besser und diese Entscheidung hat sicher auch zur Verbreitung beigetragen. Die Entstehung ist sehr schön beschrieben auf der Web-Seite des agilen Manifests.

In ihrem Manifest haben die Teilnehmer hehre Ziele formuliert. Wenn man diese Ziele liest, dann wünscht man sich nichts anderes für jede Art von Entwicklung. Und da man diese Ziele nicht oft genug lesen kann und das agile Manifest außerhalb der Software-Szene vielleicht auch nicht so bekannt ist, werden sie hier nochmal aufgeführt:

Manifest für Agile Softwareentwicklung

Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen.
Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:

Individuen und Interaktionen mehr als Prozesse und Werkzeuge
Funktionierende Software mehr als umfassende Dokumentation
Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
Reagieren auf Veränderung mehr als das Befolgen eines Plans

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein.

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

© 2001, the above authors
this declaration may be freely copied in any form,
but only in its entirety through this notice.

 

Prinzipien hinter dem Agilen Manifest

Wir folgen diesen Prinzipien:

  • Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen.
  • Heisse Anforderungsänderungen selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen  Veränderungen zum Wettbewerbsvorteil des Kunden.
  • Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne.
  • Fachexperten und Entwickler müssen während des Projektes täglich zusammenarbeiten.
  • Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen und vertraue darauf, dass sie die Aufgabe erledigen.
  • Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht.
  • Funktionierende Software ist das wichtigste Fortschrittsmaß.
  • Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können.
  • Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität.
  • Einfachheit — die Kunst, die Menge nicht getaner Arbeit zu maximieren — ist essenziell.
  • Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams.
  • In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an.

 

Was bedeutet das für die Hardware-Entwicklung?

Lassen wir die Sätze kurz wirken und jeder kann sich überlegen, ob diese Prinzipien in seinem Projekt umgesetzt werden.

Grundsätzlich kann man in den Prinzipien das Wort Software auch durch Hardware (oder Mechanik, oder System) ersetzen. Natürlich hat Hardware oder auch Mechanik einige Besonderheiten, die sie von Software unterscheidet. Aber die meisten agilen Prinzipien sind allgemeingültig und auf jeden Fachbereich anwendbar. Jedes Entwicklungsprojekt wird davon profitieren und sollte diese Prinzipien beherzigen, egal ob man dann noch ein agil davorsetzt oder nicht. Der Punkt „Liefere funktionierende Software regelmäßig (…) und bevorzuge dabei die kürzere Zeitspanne“, kann auch in der Hardware- und Mechanik-Entwicklung beherzigt werden und gewinnt durch neue  Prototyp-Verfahren wie 3D-Druck und den Leiterplattenschnelldiensten an Bedeutung.

Schlussbemerkung

Um auf die Ausgangsfrage  zurückzukommen: Ja, wir kennen uns mit agiler Hardware-Entwicklung aus, und versuchen die Prinzipien des agilen Manifests in unserer Arbeit umzusetzen. Dasselbe würde ich jedem empfehlen, der selbst in Entwicklungsprojekten tätig ist.

Das wichtigste sind die Prinzipien; die Tools ändern sich. Ob man Kanban oder Scrum nutzt, wie schnell man die Leiterplatten bestellt und wieviel man in der Simulation entwickelt, darüber lässt sich streiten. Ich freue mich über Diskussion, Kommentare und eigene Erfahrungen mit Agilität in der Hardware-Entwicklung.

Viele Grüße,
Martin Bosch

 

Links:

[1] http://agilemanifesto.org


Geschrieben von Martin Bosch

Martin Bosch ist ein Vollblut Hardware-Entwickler, der seine Leidenschaft für Elektronik bei der MEDtech Ingenieur GmbH verwirklicht. Sein Fachgebiet umfasst die Entwicklung von Embedded Elektronik, speziell für medizinische Anwendungen. Dabei liegt sein Fokus auf dem Design von Leiterplatten und Schaltungen, die sowohl Mikrocontroller als auch analoge Schaltungstechnik integrieren. Diese kommen in einer Vielzahl von Geräten zur Anwendung, von Blutanalysegeräten bis hin zu Defibrillatoren.


Weitere Beiträge

  • 29/01/2025
  • Allgemein, Hardware, Testen

EinleitungUm bei der EMV Prüfung für die Zulassung neuer medizintechnischer Geräte das Risiko zu reduzieren machen wir gerne Vortests mit den Geräten in der Prototypen Phase. Aktuell unterstützen wir ...

Weiterlesen
  • 12/09/2024
  • Allgemein, Fertigung, Hardware, Qualität

Die Schnellen fressen die Langsamen – die Bedeutung der schnellen Prototypenfertigung in der Elektronikentwicklung Unsere Bestückungsmaschine erlaubt uns kleinere Chargen manuell und wesentlich schneller zu bestücken. In der Elektronikbranche ...

Weiterlesen
  • 21/08/2024
  • 3D Druck, Allgemein, Fertigung, Hardware

Im ersten Teil des Blogs haben wir uns mit den Fertigungstechniken des 3D Drucks beschäftigt. Im zweiten Teil geht es nun um das richtige Material, damit verbundene Regularien und ...

Weiterlesen
Cookie-Übersicht

Die Internetseiten der MEDtech Ingenieur GmbH verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.

Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.

Durch den Einsatz von Cookies kann die MEDtech Ingenieur GmbH den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.

Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird.

Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.

Weitere Informationen erhalten Sie in unserer Datenschutzerklärung.

Unbedingt notwendige Cookies

Dieses Cookie wird benötigt, um Ihre Cookie-Einstellungen zu merken und weitere Hauptfunktionen zur Verfügung zu stellen

Um Ihnen eine Auskunft über Ihre gespeicherten personenbezogenen Daten hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) geben zu können, benötigen wir einen Cookie, um Sie bei der Datenabfrage identifizieren zu können. Dieser Cookie muss aus Sicherheitsgründen deshalb aktiviert sein. Ein weiterer Cookie wird gesetzt, um diesen Banner nicht erneut anzeigen zu müssen.

Cookie-Name Beschreibung
PHPSESSID Name: PHP session
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wir benötigt, um Sie bei der Anfrage von personenbezogenen Daten identifizieren zu können. Das Cookie wird nur gesetzt, wenn Sie eine Anfrage hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) stellen.
Laufzeit: Sitzungsende
Kategorie: Unbedingt notwendige Cookies
moove_gdpr_popup Name: Cookie-Box Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wird benötigt, um Ihre Cookie-Einstellungen zu speichern, um den Cookie-Banner nicht erneut anzeigen zu müssen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
comment_author_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_email_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_url_9c90e388e3e1be4a6c594fa6ac8a3eec
Name: Kommentar Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Cookie wird angelegt, wenn Sie ein Kommentar auf MEDtech Ingenieur veröffentlichen wollen, um Sie als Autor identifizieren und den aktuellen Status Ihres Kommentars anzeigen zu können. Das Cookie enthält den angegebenen Namen. Das Cookie wird erst gesetzt, wenn Sie der Speicherung Ihrer personenbezogenen Daten zustimmen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
rmp-rate Name: RMP Rate
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie eine Bewertung eines Blogbeitrags mithilfe des Sternebewertungssystems abgeben. Ihnen wird eine anonymisierte ID zugewiesen, um zu erkennen, ob Sie einen Artikel bereits bewertet haben oder nicht. Das Cookie wird nur verwendet, um zu verhindern, dass mehrfache Bewertung abgegeben werden und erst gesetzt, wenn Sie auf einen Stern klicken.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
medtech-download-page Name: Download Page
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie den Landing-Page Prozess erfolgreich durchlaufen haben. Dies geschieht nur, wenn Sie einen Content-Download von unserer Website anstreben.
Laufzeit: 1/2 Jahr
Kategorie: Unbedingt notwendige Cookies