- Agiler Workflow
- Agile Organisation
- Menschen in einer agilen Arbeitswelt
- Kundenzentrierung
- Agile Produktentwicklung
- Standards und Regularien
- Prinzipien und Grundsätze
- Agile Evolution
Die Erfüllung von Standards wie z. B. Automotive SPICE® und ISO26262 (Functional Safety) erfordert eine Anpassung agiler Planungs- und Qualitätssicherungselemente. Es ist eine Überprüfung agiler Vorgehensweisen in Bezug auf die relevanten Prozessziele und die Prozessergebnisse notwendig.
So muss der Kunde im Sinne agiler Vorgehensmodelle in der Interpretation von Standards nicht zwangsläufig gleich der Endkunde sein, sondern könnte auch ein Unternehmensinterner Kunde sein. Und kontinuierliche Auslieferung von Software bedeutet nicht tägliche Updates in Maschinen oder Fahrzeugen.
Wichtig ist jedoch, dass bei Anpassungen agiler Vorgehensmodelle die agilen Werte gewahrt bleiben. So muss z. B. nach einem Scrum-Sprint nicht zwingend immer gleich Software ausgeliefert werden, aber werthaltige Ergebnisse. Werthaltig ist ein Ergebnis dann, wenn es für den gedachten Zweck sinnvoll nutzbar ist.
Da Standards- und Regularien häufig branchenspezifisch sind, sollen hier nachfolgend auf spezifische Themen zu einzelnen Standards eingegangen werden, wie beispielsweise „Agile Prinzipien und ISO26262“. Einer allgemeinen Darstellung des Themas „Agilität“ in der jeweiligen Branche widmen wir uns in Agile in Branchen.
Anmerkung zu den Agilen Prinzipien aus Sicht der ISO26262 und der Umsetzbarkeit in automotiven Serienprojekten: Hierbei handelt es sich um eine Interpretation der Agilen Prinzipien durch den Arbeitskreises „Agile Softwareentwicklung bei sicherheitsrelevanten Systemen“ der Themenplattform Automotive des ZVEI.
Die deutsche Version der agilen Prinzipien sind im nachfolgenden Text jeweils als blaue Überschriften dargestellt (siehe auch http://agilemanifesto.org/iso/de/principles.html).
Der „Kunde“ ist nicht automatisch der Endkunde. Customer interpretieren wir als Stakeholder, was interne Kunden, Standards und Normen wie ASPICE und ISO26262 einschließt.
„Kontinuierliche Auslieferung wertvoller Software“ bedeutet: „Kontinuierliche Lieferung von wertvollen Ergebnissen“ (und nicht nur Software). „Wertvoll“ ist, wenn das Ergebnis für den gedachten Zweck sinnvoll nutzbar ist.
„Kontinuierliche Auslieferung“ bedeutet nicht, dass automatisch „täglich“ Software in Fahrzeugen im Feld aktualisiert wird.
„Kontinuierliche Auslieferung“ ist nur in Verbindung mit „wertvoll“ zu sehen. Bei „wertvoll“ ist der für die gedachte Nutzung des Ergebnisses benötigte Mindestreifegrad zu berücksichtigen; eine Regelung kann durch eine “Definition of Done” und Akzeptanzkriterien erfolgen.
„Heisse Anforderungsänderungen willkommen“ bedeutet, dass eine Organisation/Projekt darauf ausgerichtet ist mit Änderungen umzugehen. Es bedeutet nicht, dass jederzeit Änderungen bedingungslos umgesetzt werden.
Ein stringenter Prozess für die Behandlung von Änderungsanträgen ist erforderlich. Das ermöglicht die Auswirkungen von Änderungsanträgen hinsichtlich der relevanten Stakeholder zu beurteilen.
Prozesse und Strukturen sind so zu definieren, dass ein Projekt in der Lage ist, späte Änderungen kontrolliert umzusetzen.
Änderungen sind im Backlog einplanen und entsprechend der Sprintplanung umsetzen. Dazu gehört auch eine transparente Kommunikation an den Kunden.
Siehe Punkt 1 für eine Beschreibung zu „wertvolle Software“. “Software” bedeutet hier wieder alle Arten von Ergebnissen.
Das Bevorzugen kurzer Zyklen führt zu einer Lieferung kleinerer, aber sinnvoll für die geplante Verwendung nutzbarer Ergebnispakete (Delta) innerhalb der Entwicklungskette. Dadurch können Ergebnisse frühzeitig bestätigt oder Korrekturmaßnahmen rechtzeitig ergriffen werden.
Eine geplante Integration aller Teilergebnisse in einem Projekt verbunden mit einem Integrationstest ist notwendig und wird nicht automatisch durch „kontinuierliche Auslieferung“ geleistet.
Kontinuierliche fachübergreifende und problemorientierte Zusammenarbeit im Sinne des Projektergebnisses. Z.B. nicht jeder Entwickler soll seine eigene Interpretation der ISO26262 vornehmen, sondern auf die entsprechenden Experten zugehen.
In Übereinstimmung mit ISO26262 Band 2 Kapitel 5 und 6 („Safety Culture“).
Gebe so viel Vertrauen wie möglich an das Team. Prüfe so viel wie notwendig im Sinne der besonderen Sorgfaltspflicht.
Diese Aussage bedeutet nicht, dass sich alle Mitglieder eines Teams in einem Raum befinden müssen.
Entwicklungsrelevante Information sind nachvollziehbar zu dokumentieren.
„Funktionierende Software“ ist im Sinne von Punkt 1 „wertvolle Software“ zu verstehen.
Im Kontext der ISO26262 ist „funktionierend“ hier nicht auf den einfachen Nachweis der spezifizierten Funktion reduzieren, sondern dass eine gewisse Robustheit vorliegt sowie ein vorhersehbarer Fehlgebrauch abgesichert ist.
In Übereinstimmung mit ISO26262 Band 2 Kapitel 5 und 6 („Safety Culture“). Für die Entwicklung sicherheitsrelevanter Software/Systeme braucht es Mitarbeiter, die nicht ständig überlastet sind.
Zu „technische Exzellenz“ und „gutes Design“ siehe entsprechende Prinzipien und Empfehlungen der ISO26262, z.B. Design Prinzipien wie „Einfachheit“ (Simplicity).
Übereinstimmung zwischen agilen, und lean Prinzipien sowie der ISO26262. Bearbeite das, was im Sinne der Arbeitsaufgabe notwendig ist. Vermeide Verschwendung, vermeide unnötige und doppelte Arbeit.
Diese Aussage gilt im Rahmen des von außen an das Team herangetragenen Qualitätsanspruchs und der Erwartungen der Stakeholder (siehe Punkt 1).
Bei der Umsetzung von Änderungen ist eine Begründung zu nennen, dokumentierte Umsetzung von Änderungen.
Zur Vermeidung von lokaler Optimierung stelle „Leitplanken“ für ein Team auf, anhand derer es die Grenzen seiner Selbstoptimierung erkennt. Bei Änderungsvorschlägen, die über diese „Grenzen“ hinausgehen, ist eine Bewertung im Sinne der Gesamtorganisation notwendig, z.B. um sicherzustellen dass eine gewisse Mindestsorgfaltspflicht eingehalten wird.