Embedded Software Engineering als Schlüsselkompetenz
Im Kern geht es um vernetzte kleine, große und sehr große intelligente Einheiten, die mit ihrer Umgebung interagieren und dabei Daten sammeln, verarbeiten und miteinander kommunizieren, um einen Nutzen zu erzeugen. Das können einerseits der intelligente Sensor in einem Gebäude und andererseits die Serverfarm sein, die Daten in unvorstellbaren Mengen sammelt und durch Algorithmen jagt. Dieses IoT-System verändert sich durch seine Vielzahl von immer neuen Interaktionsmöglichkeiten und Interaktionspartnern praktisch ständig und erzeugt so immer neue Chancen - aber leider auch Risiken.
Das heißt, wer im IoT-Spiel mitspielen will, muss nicht nur hohe Flexibilität und eine gesunde Risikobereitschaft mitbringen sondern vor allem in der Lage sein, effektiv Software zu entwickeln, die dieser Dynamik gewachsen ist. Und das geht für die eingesetzten Embedded-Systeme nur mit professionellem Software Engineering.
Flexibilität ist Trumpf
Da wir nicht wissen, welche neuen Chancen und Risiken in diesem IoT-Universum entstehen, spielt die Flexibilität der Unternehmen auf allen Ebenen eine Rolle. Auf der Ebene der Unternehmensleitung ist beispielsweise strategische Flexibilität und Offenheit für neue Geschäftsmodelle und Partnerschaften gefragt. In den Projekten gewinnt die agile Anpassung an neue Anforderungen und Rahmenbedingungen an Bedeutung. Beim Engineering kommt es darauf an, flexible System- und Softwarearchitekturen zu entwerfen und den Entwicklungsprozess immer mehr als Lern- und Veränderungsprozess zu begreifen.
Als Schulungsanbieter mit dem Schwerpunkt im Bereich Embedded Software Engineering liegt uns die Situation der Entwicklungs- und Projektteams besonders am Herzen.
Was könnte IoT für die Teams bedeuten?
Die Flexibilität einer Software wird einerseits durch ihre Architektur und andererseits durch die Art und Qualität der Implementierung (innere Qualität) bestimmt. Objektorientierung, Modellierung, Design Patterns aber auch Programmierprinzipien wie Clean Code und Standards wie MISRA gewinnen in diesem Zusammenhang noch mehr Bedeutung, als es heute schon der Fall sein sollte.
Bei der wachsenden Komplexität und dem gleichzeitigen Innovationsdruck wird es immer schwieriger werden, Neuentwicklungen direkt auf dem Mikrocontroller aufzusetzen und rechtzeitig am Markt zu platzieren, zumal es immer häufiger Multicore-Controller sein werden. APIs und Betriebssysteme sind wichtige Hilfsmittel, um hier schneller zum Ziel zu kommen ohne Funktionen selbst zu entwickeln, die so bereits verfügbar sind.
Gleichzeitig bieten moderne Controller mit ihrer Peripherie unendlich viele Möglichkeiten der Optimierung auf bestimmte Anwendungsfälle und Betriebssituationen, wie beispielsweise die gezielte Abschaltung von Funktionen, um bei mobilen Geräten Energie zu sparen.
Es gilt immer wieder, anhand der Qualitätsanforderungen und Wettbewerbsbedingungen zu entscheiden, was der Lösung mehr dient - hardwarenahe Programmierung oder Aufsetzen auf einer höheren Abstraktionsebene, Eigenentwicklung oder Lösung von der Stange? Die entscheidende Frage ist: Wie und wo lassen sich Alleinstellungsmerkmale am effektivsten umsetzen und sichtbar machen?
Im Prinzip war das schon immer so, doch die Rahmenbedingungen, die uns zwingen, alles noch schneller und besser zu machen, verschärfen sich durch IoT. Deshalb können wir es uns auch nicht mehr leisten, erst am Ende des Entwicklungsprozesses zu testen, ob das Ergebnis unseren Vorstellungen oder besser denen des Kunden entspricht.
Qualitätssicherung als kontinuierlicher Begleiter des Entwicklungsprozesses
Genauso wird die Änderung der Anforderungen zur Normalität des Entstehungsprozesses von Software. Wir müssen immer mehr davon ausgehen, dass wir viele Anforderungen erst im Laufe der Entwicklung erkennen oder diese durch veränderte Rahmenbedingungen neu entstehen. Damit wächst die Bedeutung von agilen Prozessen und Embedded Software Engineering Methoden sowie Entwicklungsumgebungen (Tools), die diese Dynamik abbilden können.
Learning by Doing but …
Wer dieser Dynamik gewachsen sein will, kann es sich nicht leisten, Programmiersprachen, Methoden, Architekturdesign, Projektmanagement und die Entwicklungsumgebung im Try-and-Error-Verfahren kennenzulernen. Zumal viele Designfehler, schlechte innere Qualität oder ungenutzte, aber nützliche Funktionen von Mikrocontrollern und Tools oft erst erkannt werden, wenn es zu spät ist oder Änderungen mit hohen Zusatzkosten oder Zeitverlusten bezahlt werden müssen.
Es ist wichtig, dass wir unseren Werkzeugkasten an Methoden, Tools und Prozessgestaltungsmöglichkeiten kennenlernen, bevor wir anfangen, Embedded-Systeme zu "basteln", denn darauf läuft es ohne eine gute Embedded Software Engineering Wissensbasis hinaus. Schulungen oder anderweitige professionelle Projektunterstützung machen zwar aus einem Einsteiger noch keinen Profi, aber doch jemanden, der weiß, worauf es ankommt und wie Professionalität tatsächlich aussieht und erreichbar ist.
Flexibilität im Embedded Software Engineering
Flexibilität entsteht vor allem durch Professionalität. Sie sorgt dafür, dass wir Risiken besser einschätzen können und Chancen gleich richtig nutzen oder zumindest sehr schnell dazulernen. Deshalb lohnt sich der systematische Einstieg ins Embedded Software Engineering.
Wir unterstützen Sie mit unseren Trainings- und Beratungsangeboten rund um das Embedded Software Engineering - im Präsenz- sowie im Live-Online-Format!
Training & Coaching zu den weiteren Themen unseren Portfolios finden Sie hier.
Embedded Software Engineering: Workshops
Darüber hinaus besteht die Möglichkeit, das Themenfeld Embedded Software Engineering auch in maßgeschneiderten Workshops zu behandeln. Sie werden auf die speziellen Bedürfnisse von Aufgaben, Projekten, Teams und Rollen zugeschnitten.
Senden Sie uns Ihre Fragen, Wünsche und Anforderungen! Zum Kontaktformular
Autor:
Dipl.-Ing. Peter Siwon ist freier Mitarbeiter bei MicroConsult. Er lernte die Projektarbeit im Laufe seiner beruflichen Entwicklung aus vielen Perspektiven kennen: Forschung, Entwicklung, Projektleitung, Vertrieb, Marketing und Geschäftsführung. Seit 2008 gibt er sein Wissen und seine Erfahrungen als Trainer, Coach, Lehrbeauftragter und Autor von Vorträgen, Kolumnen, Fachartikeln und Büchern weiter. Seine Vorträge und Seminare wurden bereits mehrfach ausgezeichnet. Sein Themenspektrum umfasst klassische, agile und systemische Projektmanagement-Ansätze, Kommunikation, Führung, Teamentwicklung und Konfliktlösung im Projektumfeld.