Frage

Zum Beispiel wäre es unglaublich gefährlich sein, es Software für Avionik zu tun?

Beachten Sie, ich nicht ganz verstehen Agile.

War es hilfreich?

Lösung

Ich habe auf Air-Traffic-Control-Systemen gearbeitet Verwendung eines im wesentlichen Prozess Wasserfall, und diese Projekte auf jeden Fall von agilen Praktiken profitiert haben könnten. Ich mag es nicht, darüber nachzudenken, wie viel von diesem Code gearbeitet „durch Zufall“, ohne jede Art von Einheit-Ebene automatisierte Regressionstests. Und die Anforderungen-up-front Sache ist, etwas von einem roten Hering. Zwar trifft es zu, dass die Luft- und Raumfahrt-Systeme wahrscheinlich so nahe wie Sie haben Set-in-Stein Anforderungen Front nach oben zu bekommen, Sie noch Argumente über die Bedeutung von mehrdeutigen Anforderungen haben, die nur auftauchen, wenn das System sollte in der Abnahmeprüfung sein. Oder Sie haben Durchsatz Fragen, die niemand hatte in Betracht gezogen, dass spät im Spiel auftauchen, weil die Big-Bang-Integration. Test-First-Spike-Lösungen, die kontinuierliche Integration, Paar-Programmierung -. Ich denke, alle diese Projekte verbessert hätte ich gearbeitet

UPDATE: Nicht vergessen, wie oft die „Design-Dokumente“ einen Haufen Lüge bis zum Ende des Projektes waren, weil das Design notwendigerweise im Angesicht der Realität entwickelt. Agile erkennt die Tatsache, aufkommender Design, das genauso real in Wasserfall-Projekten wie in jedem anderen, anstatt Sie das Design direkt vor jemals Code zu schreiben beginnen zu bekommen, so zu tun versuchen.

Andere Tipps

Ich arbeite in der Luft- und Raumfahrt (Satelliten speziell), und wir verwenden, um einen Hybrid-Ansatz, weil wir zwei unterschiedliche Anliegen konfrontiert: reale Anforderungen und Geschäftsprozesse Anforderungen

.

Wir verwenden einen Wasserfall-ish Ansatz für Satelliten Anforderungen und kritische Abschnitte, da Änderungen an den Satelliten sind langsam und selten, und vermasseln es ist schlecht.

Aber für die sie ständig ändernden Geschäftsprozesse nutzen wir einen agilen-ish Ansatz, weil wie sie fliegen die Sonde ständig aufgrund von Kundenanforderungen ändern. Vermassele es bedeutet, im schlimmsten Fall erhält der Anwender nicht-as-schöne Ergebnisse.

Ich habe nicht genug Erfahrung auf diesem Gebiet (außer einem Benutzer der Luftfahrtsysteme) meine eigene wirklich unabhängige Meinung zu bilden. Doch all die Dinge, die ich über die kritischen Systeme lesen Sie, welche die beste Erfolgsbilanz führt mich, dass Wasserfall zu glauben, tatsächlich der beste Weg ist. Es ist möglich, weil die Menschen bereit sind, für den zusätzlichen Abfall des Einfrierens Anforderungen, um die Sicherheit zu fördern zu ermöglichen. Trade-offs sind ein bisschen anders in diesem Fall, denke ich.

Bestimmung der Anwendbarkeit von Agile Praktiken im Zusammenhang mit Mission und Leben Kritische Systeme

Agile Eignung Filter

Kurz gesagt, gibt es keine „Agile“ Programmierung. Es gibt eine Reihe von Praktiken. Einige eignen sich besser als andere, aber im Allgemeinen kann jedes Projekt wird von einigen der Praktiken profitieren.

Die größten Bereich Menschen sind in der Regel befasst sich mit Modellierung und Architektur. Es gibt viele Teams gibt agile Praktiken mit - zum Beispiel, ich weiß, die Mitglieder der Fun3d Team mit der NASA - sie nutzen agile Praktiken und mit Dingen wie Space Shuttle Unterstützung beschäftigen

.

Es gibt mehrere Gruppen da draußen gewidmet diese Art von Arbeit - so ist es möglich. Sie müssen nur Ihre Risiken bewusst sein -. Wie jede andere Methode

Agile sollte ein disziplinierter Prozess sein. Was auch immer Ihr Prozess, Sicherheitsfragen in diesem Fall sollten vorne in Angriff genommen werden. Ich sehe nicht, wie in Iterationen liefere ein kontinuierliches Build-System, Programmierer Brennraten zu berechnen, mit Sitzungen stehen, mit dem Kunden aktiv engagiert, etc würde Sicherheit negativ beeinflussen.

Es gibt viele Überlegungen. Die erste ist, was Ihre Sicherheitskritikalität ist. Wenn Ihre Antwort „A“ oder „B“ (und wirklich „A“), dann absolut nicht. Sie kommt nicht mit Agile tun Form oder Form in anyway. Es gibt sehr strenge Coding-Standards, Dokumentationsstandards und Prozessstandards von Stufe A Mittels Software (mein Hintergrund von etwa 15 Jahren). Dazu gehören:

  • Voll up / down Rückverfolgbarkeit.
  • Vollzweigüberdeckung.
  • Vollständige Multi-bedingte Abdeckung.
  • Grundlagen buchstabiert von DO-178B sind: SRD, SDD, SCI, SCMP, SDP, TQP, SCI ...

Also nicht nur tun, müssen Sie Ihren Code, Design und Anforderungen bescheinigt, aber Sie haben auch Werkzeugsätze, Compiler, automatisierte Testausrüstung zertifizieren und so weiter.

Kurz gesagt, es ist wirklich keine leichte Aufgabe und es wird nicht mit einem kleinen Team durchgeführt werden. Ebenso sind Schnittstellen wirklich solide und sehr spezifische sowie statisch. Ändern Schnittstellen erfordert in der Regel Koordination mit 3+ Unternehmen (Airframe Herstellung, Vender 1 sprechen 2 bis Vender).

In aller Ehrlichkeit, ein 12-Leitungscode ändern kann nach oben Kosten auf 170.000 $. Natürlich kann eine Codeänderung 500 Zeilen wird $ 190.000 sein. Kurz gesagt, es ist ein großer Prozess-Overhead mit Stufe zugeordnet A-Code (viel weniger mit Stufe B, noch weniger mit C und sehr wenig mit Stufe D) macht kleine Iterationen sehr teuer; dh. es kostet viel Geld ein voll getankt und eine kleine Änderung auf 777 fliegen lassen zu testen. Auch Systemtestlabors großer Verkehrsflugzeuge eine Burn-Rate von $ 10.000 haben / Tag.

Zum Beispiel: Stufe A: HUD, Schubumkehrer, Power Systems, FADEC (Motorsteuerung) Stufe B: Sekundärschaltlogik, Vocal Kommunikationssysteme. Stufe C: In Flugdatenverbindungen. Stufe D:. In Flight-Entertainment-Systemen

Stufe D und vielleicht Stufe C, könnten Kandidaten für Agile sein.

Ich denke, das hängt davon ab, wie sich die Sicherheitsanforderungen in den Prozess integriert. Wenn sie ein zusätzlicher Satz von Tests sind, das ist nichts, was im Widerspruch zu agiler Programmierung ist. Ich denke, dass agile Methoden können Ihnen helfen, sichere Software zu produzieren, weil agile Projekte sind in der Regel von höherer Qualität als Wasserfall-Projekte. Wichtig wird sein, dass die zusätzliche Qualitätssicherung auch für die agilen-Methoden im Einsatz installiert ist.

Aber wenn die Sicherheitsanforderungen an das Gebäude-Verfahren angewandt werden, dass im Gegensatz zu agilen Methoden sein kann.

Eigentlich gibt es eine Variation des Wasserfall-Modells das V-Modell genannt, das zum Beispiel durch IEC61508 begünstigt wird. Es ist Wasserfall-Art-of, aber mit Vorschriften für die Wieder Iteration (n) des Grundprojektzyklus. Der Hauptzweck der Wieder Iterationen sind in diesem Fall mit Fragen in verschiedenen Stadien im Prozess erkannt zu behandeln. Die Grundidee ist, dass die später auf der Straße ein Problem auftritt, nehmen die weiter hinten in Ihrem Prozess müssen Sie gehen kümmern und die Auswirkungen Ihrer Änderungen zu überprüfen.

So ist es nicht wirklich agile, aber ...: -)

Sie könnten den agilen Ansatz verwenden, aber der erste Durchgang wäre die Sicherheit und Sicherheitsaspekte umfassen müssen, oder zumindest für sie zur Verfügung stellen, so dass Sie sich nicht in den Fuß schießen und das Ganze Umschreiben enden. Aber ich stimme mit Brian, sie ist wahrscheinlich besser für solche Projekte des Wasserfall-Ansatz.

Auf Eurostar Konferenz 2009 Gittie Ottosen sprach darüber, wie sie in ihrem Unternehmen agiler tun. Was beeindruckend ist, dass dieses Unternehmen Systematische wird Erstellung von Software für Luft-Handwerk, Militär usw. Sie tun es, unter Beachtung mit CMMI 5, ISO 9001 und AQAP 150 und 2110. Also ich denke, agiles kann auf Systeme mit hohen Vorschriften angewandt werden. Vielleicht versuchen, die Präsentation zu sehen, und versucht, weitere Informationen von ihm zu bekommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top