In den meisten Publikationen zum Thema Requirements liegt der Schwerpunkt auf den Management Aspekten. Viel diskutiert sind die Thema Erfassen und Verwalten von Requirements. Im nachfolgenden Blog arbeite ich heraus, welche wichtigen Aspekte immer wieder zu kurz kommen. Meine Betrachtungen starten mit der Definition von Requirement Engineering im Buch „Basiswissen – Requirement Engineering“ (Klaus Pohl, Chris Rupp). Weiterlesen
Schlagwortarchiv für: Software Engineering
IEC 61508, ISO26262, DO 178C, ISO 25119: Sind Ihnen diese Kürzel schon mal in Ihrem beruflichen Alltag begegnet? Falls ja, dann ist die Wahrscheinlichkeit hoch, dass Sie Funktionale Sicherheitsprojekte bereits in Ihrem Unternehmen durchführen oder dass Sie in näherer Zukunft in diesen Markt einsteigen werden.
Vielleicht haben Sie auch schon selbst die Erfahrung gemacht, bzw. zumindest davon gehört, dass insbesondere Software Projekte im Umfeld der Funktionalen Sicherheit nur mit sehr hohem Dokumentations- / Testaufwand durchführbar sind. Noch dazu sind solche Projekte sehr starr, ineffizient und unflexibel.
Kommt Ihnen eine solche Argumentation oder Erfahrung bekannt vor?
Insbesondere für Sie, aber auch für alle Anderen, möchte ich in diesem Blog aufzeigen das dies nicht so sein muss. Im Gegenteil, ich möchte Sie ermuntern dass Sie sinnlose Dinge aus Ihrem Entwicklungsprozess streichen und dafür eine für in sich schlüssige, auf Ingenieursprinzipien beruhende Vorgehensweise wählen. Weiterlesen
Im ersten Teil des Blogs habe ich den Begriff „Implizites Testen“ definiert und Ursachen dafür diskutiert.
Im zweiten Teil geht es nun um die Nachteile solcher Tests und um Lösungsansätze um möglichst diese Nachteile gar nicht erst entstehen zu lassen. Weiterlesen
In größeren sicherheitskritischen Projekten begegnet mir immer wieder mal der Ausspruch: „Naja, das Requirement A wird mit dem Test XY indirekt oder implizit nachgewiesen!“. Ist Ihnen das auch schon mal passiert? Haben Sie auch schon mal erlebt, was in späten Projektphasen passieren kann, wenn man viele Requirements indirekt getestet hat?
Der Blog definiert im Teil 1 den Begriff und er beleuchtet die Ursachen von Impliziten Testen. Weiterlesen
Das Buch „User Stories“ von Mike Cohn (ISBN 978-3-8266-5898-3) hat mich inspiriert, einmal mehr über den Bezug zwischen User Stories und Requirements nachzudenken. In der Software Entwicklung werden agile Methoden in den letzten Jahren oft bevorzugt eingesetzt. Die klassischen Vorgehensweisen, insbesondere das Wasserfallmodell und auch das V-Modell, scheinen etwas aus der „Mode“ zu kommen.
Konsequenter Weise werden damit User Stories gegenüber den „klassischen“ Requirements auch bevorzugt eingesetzt. Helfen die User Stories aber wirklich, bessere Software Qualität abzuliefern? Gibt es nicht auch viele Aspekte, bei denen es gar keine Unterschiede gibt? Weiterlesen
Spezifikation Architektur Requirement: Für immer mehr Systeme, gerade auch in der Industrieautomatisierung, müssen Forderungen der Funktionalen Sicherheit erfüllt werden. Für die Software Entwicklung ist dann in der Regel die Erfüllung der IEC61508 nachzuweisen.
Auf der anderen Seite stehen kommerzielle Anforderungen an das Produkt, welche das Entwicklungsbudget oft erheblich einschränken.
Die Lösung liegt dann in einem effizienten Entwicklungsprozess, der die sicherheits-relevanten Forderungen erfüllt. Eine Voraussetzung für eine erfolgreiche Umsetzung eines solchen Prozesses ist ein tiefgehendes Verständnis der Norm und eine klare Definition und gegenseitige Abgrenzung von Begriffen. Im nachfolgenden Blog beschäftige ich mich mit den drei Begriffen Spezifikation Architektur Requirement. Weiterlesen
Kennen Sie die folgende Situation? Ein Software Projekt wird neu gestartet und die einzelnen Aufgaben werden im Projektteam verteilt. Irgendwann sind (fast) alle Rollen vergeben, allerdings hat niemand an das Konfigurationsmanagement gedacht. Diese Rolle wird dann noch schnell dem Projektleiter zugeteilt, den, so die Annahme, da ist eh nicht viel zu tun und daher kann der Projektleiter diesen Job noch leicht nebenbei erledigen. Weiterlesen