- Agiler Workflow
- Agile Organisation
- Menschen in einer agilen Arbeitswelt
- Kundenzentrierung
- Agile Produktentwicklung
- Standards und Regularien
- Prinzipien und Grundsätze
- Agile Evolution
Der agile, hoch iterative Entwicklungsprozess ist auf Geschwindigkeit, Durchsatz und Wert optimiert, um neue oder veränderte Funktionen schnell auf den Markt zu bringen. Zentrales Ziel ist die optimale Funktion für den Kunden in möglichst kurzer Entwicklungszeit zu erreichen. Innovationen werden ganzheitlich konzipiert: von der Idee oder der Anforderung bis zur Anwendung im Produkt. Die Innovation wird in einem kontinuierlichen Strom an den Kunden geliefert. Neue Features werden während der Integration analysiert und im Gesamtkontext getestet. Die Analyseergebnisse werden als Feedback zur Verbesserung der weiteren Entwicklung verwendet. Der Lebenszyklus des Produktes wird an die Kundenbedürfnisse und das Marktgeschehen adaptiv angepasst. Neue Funktionen werden abhängig von Kundenwünschen und technischen Möglichkeiten geliefert. Die funktionsorientierte Entwicklung fordert Prozesse für die Funktionsabprüfung und Funktionsfreigabe.
Der eigentliche Entwicklungsprozess ist von einer kontinuierlichen Feedback-Schleife geprägt. Die Hauptentwicklungsaufgaben werden in kleinere „ToDos“ aufgeteilt. Diese werden kontinuierlich „getrackt“. Es werden möglichst häufige Rückkopplungsprozesse eingesetzt. Bei der Systementwicklung wird auf allen Ebenen und somit in allen physikalischen Domänen (Mechanik, Elektronik und Elektrik) ein zyklisches/iteratives Vorgehen verwendet. Die Planungsphasen werden möglichst kurz angelegt und kontinuierlich den Markbedürfnissen angepasst. Anforderungen an „Safety – Funktionale Sicherheit“, „Security-Datensicherheit“ und/oder Branchen-Spezifischen Regulatorien werden in diesem Prozess kontinuierlich parallel zu den Hauptaufgaben berücksichtigt. Im Vordergrund steht der Kunde und die zu erreichende Funktion.
Agile Methoden sollen helfen die festgelegten/definierten agilen Prinzipien in der Praxis möglichst effizient umzusetzen. Aus grundsätzlichen Techniken für die Zielerreichung, wie beispielsweise „Task Boards, „Daily-Standup-Meetings“ und “User Stories“ haben sich Methoden entwickelt. Diese Methoden bedienen sich verschiedener Techniken und Werkzeuge. Methoden liefern die Gesamtstruktur um die agilen Prinzipien während der Entwicklung umzusetzen. Häufig in der Softwareentwicklung verwendete Methoden sind „Unified Process“, „Extreme Programming“, „Scrum“ oder auch „Kanban“. Mittlerweile werden auch zusammengesetzte Methoden auf Unternehmensebene eingesetzt.
Wie bereits weiter oben beschrieben werden Tools wie „User Stories“ oder „Task Boards“ verwendet um die Umsetzung während dem Entwicklungsprozess für alle beteiligten Entwickler möglichst einfach und strukturiert zu ermöglichen. Mittlerweile haben sich auch verschiedene Software-Pakete mit integrierten Toolsets am Markt durchgesetzt. Für die verschiedenen Phasen stehen entsprechende Werkzeuge bereit. Unterstützt wird das agile, verteilte Arbeiten durch sogenannte Co-Working-Areas oder auch gemeinsame Projektflächen. Diese Projektflächen können entweder in einem Unternehmen als ein physischer Raum existieren oder aber digital auf Plattformen eingerichtet sein. Auch Entwicklungsprojekte, welche über verschiedene Standorte in verschiedenen Ländern organisiert sind, können auf diese Art und Weise miteinander agile durchgeführt werden. Wichtig ist hierbei, dass alle Projektbeteiligten zu jederzeit Zugang zur „virtuellen/physischen“ Projektfläche haben.