ABC Company Conference
Unsubscribe
Banner_VXW_Text

„Probleme sind Gelegenheiten
zu zeigen, was Du kannst.
(Unbekannt)

Newsletter im Juni 2022:

Persönliches Networking? Ganz bestimmt! 
Das größte Problem von Embedded Software ist 
- Software für Fehler schreiben
- Keine Embedded Software ohne Fehler
- Ein neuer Weg zur Qualitätssicherung von IoT Geräten
- Feedback-Schleife für kontinuierliche Verbesserung


Liebe Kundin, Lieber Kunde,


Das gute Gespräch unter Branchenkolleginnen und -kollegen, der gewinn-bringende neue Geschäftskontakt, jede Menge Trends und Inspirationen für Ihr Business: Das gibt es nur auf Messen und Kongressen vor Ort. 

Persönliches Networking? Ganz bestimmt!
 
Die embedded world ist die globale Plattform der Embedded Community. Nachdem die Messe letztes Jahr „nur“ online veranstaltet wurde, ist die embedded world 2022 (21. bis 23.06.) dieses Jahr wieder live und mit vollem Publikum in Nürnberg.

Unsere Partner erwarten Sie, um Ihnen alle Belange Ihres neuen Embedded Projektes zu beantworten: SEGGER finden Sie auf Stand 4-278, RAZORCAT auf Stand 4-552.

Der Eintritt zur embedded world 2022 ist wieder bei Vorabregistrierung kostenlos.




Das größte Problem von Embedded Software ist ...
Embedded Software-Entwickler stehen heute vor vielfältigen Problemen und Herausforderungen. Eines der größten und am wenigsten angesprochenen Themen ist, dass Entwickler ihre Software unter der Annahme erstellen, dass nichts schief gehen wird!

Das ist eine sehr blauäugige Herangehensweise, zumal wir alle die Realität kennen.
 
Software unter der Annahme zu schreiben, dass nichts schief geht, ist nichts weiter als funktionaler Prototypen-Code, der ohne Probleme in einer kontrollierten Laborumgebung ausgeführt wird. In der Praxis sieht vieles aber ganz anders aus.





Software für Fehler schreiben

Um Software zu schreiben, die mit Fehlern umgehen kann, müssen die Entwickler ihren
 Denk-Ansatz zur Software ändern. Anstatt sich darauf zu fokussieren, dass alles funktionieren wird, müssen die Entwickler einen gegenteiligen Denk-Ansatz finden, und herausfinden, was schiefgehen kann, und was nicht funktionieren könnte. 

Mit dieser Denkweise fragt sich ein Entwickler bei jeder Codezeile: "Was kann schief gehen?"

Dadurch können vielfältige Probleme identifiziert werden:
  • Mögliche unendliche Schleifen,
  • Hardwarefehler,
  • Probleme mit dem Kommunikationsprotokoll,
  • Einen falschen Code-Zweig verwenden,
  • und vieles andere.
Wenn ein potenzielles Problem identifiziert wurde, kann der Entwickler in der Software Maßnahmen ergreifen, um das Problem zu erkennen und effektiv damit umzugehen.

Zu viele Entwickler schreiben Software für den Erfolg, ohne zu überlegen, was alles schief gehen kann. Sie gehen davon aus, dass das ausgelieferte Produkt im Feld genauso gut funktioniert wie auf dem Labortisch.

Das Ergebnis ist nicht nur Software mit einem niedrigeren Qualitäts-niveau, sondern auch Software, deren Entwicklung möglicherweise teurer ist und später auf den Markt kommt, als ursprünglich geplant, Software, die Nacharbeit notwendig macht, um Fehler zu beseitigen, die erst später in der Praxis entdeckt werden.

Auf der Webseite meines Kollegen Jacob Beningo finden Sie viele wertvolle Denkanstöße und Konzepte, die Ihnen helfen werden, Ihre Entwicklungen zu verbessern und zu beschleunigen




Keine Embedded Software ohne Fehler
 
Es gibt keine Embedded Software, die nicht mit Fehlern im Code ausgeliefert wird. Durchschnittlich 5 Prozent aller während der Entwicklung „eingebauten“ Fehler lassen sich nicht überprüfen und gelangen schließlich im Produktions-Code zu den Kunden – trotz hohem Verifizierungsaufwand.

Dies können u.U. Hunderte von Fehlern im ausgelieferten Produkt sein. Sie können praktisch beliebig viel Zeit und Geld für die Überprüfung aufwenden, und werden feststellen, dass der Aufwand für das Auffinden der letzten verbleibenden Fehler exponentiell ansteigt.

Der IoT-Trend erhöht die Test-Herausforderungen weiter, bietet aber auch Abhilfe. IoT ermöglicht ein automatisches Feedback vom Feld, das Sie sofort auf übersehene Fehler aufmerksam machen kann. Auf diese Weise können Sie Fehler schnell erkennen und beheben und ein Over-the-Air-Update (OTA) mit korrigierter Firmware bereitstellen – hoffentlich noch bevor die meisten Ihrer Kunden überhaupt ein Problem bemerkt haben.

Der IoT-Trend bietet zwar OTA-Updates als potenzielle Abhilfe, aber Entwickler können auch nur die Fehler beheben, die ihnen bekannt sind. Hierfür ist ein automatisches Feedback vom ausgelieferten Produkt essentiell

Percepio DevAlert ist eine bahnbrechende Lösung für IoT-Geräteentwickler, die ein sofortiges Bewusstsein für reale Probleme in der Gerätesoftware und eine visuelle Trace-Diagnose für eine schnelle Lösung bietet.




Ein neuer Weg zur Qualitätssicherung von IoT Geräten
Der Code ist bei der ersten Veröffentlichung selten perfekt. Es ist sehr üblich, dass einige Probleme bestehen bleiben, wie z. B. übersehene Fehler, gelegentliche Verzögerungen und Leistungsprobleme oder Funktionen, die für die Benutzer schwer zu verstehen sind. Da immer mehr Geräte über eine IoT-Cloud-Konnektivität verfügen, können Entwickler erfahren, wie sich ihre Software im realen Einsatz verhält.

Dies ermöglicht datengestützte Produktverbesserungen und die schnelle Aufdeckung verbleibender Probleme. Je früher Sie diese beheben können, desto weniger Kunden sind davon betroffen. Die aktualisierte Software kann als sicheres Over-the-Air (OTA)-Update über Dienste von führenden IoT/Cloud-Anbietern verteilt werden.

Percepio DevAlert ist ein Cloud-basierter Monitoring-Dienst, der es Entwicklern von Gerätesoftware leicht macht, jeden interessanten Zustand zu melden, wie z.B. einen Fehler, eine Warnung oder einen Timeout-Zustand. Dieser Service kann sowohl für Systemtests als auch für den Einsatz beim Kunden verwendet werden und liefert den Entwicklern innerhalb von Sekunden nach dem ersten Auftreten ein automatisches Feedback aus der Praxis.

Die mitgelieferte Diagnose beinhaltet einen kompakten Software-Trace für Percepio Tracealyzer, der die Zeitachse der Software-Ereignisse kurz vor der Meldung des Problems enthält. Dies gibt den Kontext des Problems wieder, der oft entscheidend für das Verständnis und die Behebung des Problems ist.




Feedback-Schleife für kontinuierliche Verbesserung
Dieser Ansatz schafft eine Feedback-Schleife, die eine schnelle kontinuierliche Verbesserung ermöglicht - ein Eckpfeiler der beliebten DevOps-Methodik. Die von DevAlert bereitgestellte Überwachung ermöglicht die vollständige Integration von DevOps in die Entwicklung von Embedded/IoT-Software. Auf diese Weise können Sie Ihre Software nach der ersten Veröffentlichung schnell verbessern und ein sehr gutes Produkt entwickeln, das die Konkurrenz übertrifft.

Ohne automatisches Feedback aus der Bereitstellung sind Sie darauf angewiesen, dass die Endbenutzer Probleme melden. Es kann sehr lange dauern, bis ein solcher Bericht die Entwickler erreicht. Außerdem sind Sie darauf angewiesen, dass die Kunden ausreichend detaillierte Informationen liefern, um das Problem zu identifizieren und zu lösen.

Eine vage Fehlermeldung wie "es stürzt mehrmals am Tag ab" kann wochenlanges Rätselraten erfordern, um eine wahrscheinliche Ursache zu finden, und selbst dann wissen Sie nicht, ob Sie wirklich das richtige Problem gelöst haben. Es können Monate oder sogar Jahre vergehen, bis das Problem endlich behoben ist, wenn überhaupt, und in dieser Zeit sind viele Kunden betroffen.

Stellen Sie sich vor, wie viel Frustration bei den Kunden (und Zeit für die Fehlersuche) durch automatische, sofortige Benachrichtigungen direkt an das Entwicklerteam beim ersten Auftreten des Problems und mit detaillierten Diagnosen, die zeigen, was passiert ist, eingespart werden kann.

Interessiert mehr zu erfahren? Lesen Sie hier.




Endlich Sommer. Die Pandemie ist im Großen und Ganzen hinter uns. Jetzt fehlt mir nur noch ein Ende des Konfliktes in der Ukraine, um wieder mit frohem Mut in die Zukunft zu blicken. 


Herzlichst,  Ihr
Marian A. Wosnitza



„Probleme kann man niemals mit derselben
Denkweise lösen, durch die sie entstanden sind.
(Albert Einstein)