Agile SoftwareentwicklungSchlank zum Erfolg agil = effizient | Unternehmensberatung Know-how-Transfer zu Vorgehensmodellen - Methoden - Werkzeugen |
Kennzeichen agiles Vorgehensmodell Risiken ASD Crystal DSDM FDD LD PP Scrum XP Prozess problem NUnit NAnt testen SW Programmierung Agile Requirements Engineering Vorlage Vorgang Änderungsanforderung Agilität Anwendungsentwickler Anleitung Schritte agile Softwareentwicklung CARE Definition agile Prozesse Erfahrung Anforderungsmanagement Aufbau Systemplanung Ergebnis Verfahren Aktivität Optimierung Abnahme Arbeitsablauf Kommunikation Mitarbeiter review personal Wissen Systementwicklung QS Programm agile manifesto plan activity Anforderungsdefinition Checkliste Qualität Unterschied Projektarbeit Produkt transformation Informatik Life-Cycle Projektstrukturierung Vorgehensweise standard Prinzipien Abfolge Prozessoptimierung Ablauf tutorial Konzept Informationssystem training consulting information workshop phase Nutzen Risiko Werkzeug Software-System Ist-Analyse Ablaufplan Zielsetzung CASE Computer Aided Software Engineering Objekt Funktionsanalyse professional Schulung Systemanforderung Arbeitspaket Reengineering Geschäftsprozess Arbeitsschritte Neuentwicklung Projektablaufplan Situationsanalyse guide Zielkonflikt Änderungsantrag Entwicklungsprozess BPM IDE Tester Rollenkonzept Ablaufplanung Funktionsmodell Zeitplanung Erläuterung Systemintegration Leitfaden Planung Pflichtenheft lernen MS Office Testkonzept parallel DV Zusammenfassung Grafik | Requirements Engineering Risiken DSDM CASE-Tool Verteilung Softwareentwicklung OO Doku Agile Manifesto Risiko Wartung Agile Requirements Dialog Verantwortungsbereich Arbeitsplanung Geschäftsprozess Prozessmanagement Produktentwicklung Arbeitsplanung skill Qualitätssicherung Aufteilung Stakeholder Transparenz Ist-Analyse Konzeption Abgrenzung modular Kennzahlen Kosten best practices Berater Benutzer Kompetenz transition Werkzeug Projektmodell Erklärung |
SIP - Strategische Informationssystemplanung GPM - Geschäftsprozess-Modellierung Anforderungsanalyse Anforderungsmanagement Problemanalyse / Schwachstellenanalyse Durchführbarkeitsanalyse / Wirtschaftlichkeitsanalyse Werkzeuge Requirements Engineering Evolutionäre / inkrementelle Vorgehen RUP - Rational Unified Process Agile Softwareentwicklung MDA - Model Driven Architecture Methode SA - Strukturierte Analyse Methode ESA - Essentielle System-Analyse Methode SD - Strukturiertes Design Methode ERM - Entity-Relationship-Modellierung Methode RM - Relationen-Modellierung Methode UML - Unified Modeling Language Werkzeuge Software Engineering Kapazitätsplanung / Ressourcenplanung Methode NuWA - Nutzwertanalyse Auswahl Requirements Engineering (CARE) Tool Auswahl Software Engineering (CASE) Tool Auswahl Projekt-Management (PM) Tool Informationssystem-Planung Kommunikationsanalyse Versicherung Organisation Prozessmodellierung und Ablauf-Organisation Rating Know-how-Transfer Software-Entwicklung Vorgehensmodell Analyse Vorgehensmodell mit Word-Dokumentation Simulation Tour de France (mit Download) | Unsere KompetenzAgile Software-Entwicklung | ||||
Als Antwort auf den Einsatz der schwergewichtigen Vorgehensmodelle der Anforderungsanalyse und der Anwendungsentwicklung wie zum Beispiel das V-Modell oder den Rational Unified Process (RUP) ist ein "agiles" Vorgehen in der Softwareentwicklung entstanden. Die agile Software-Entwicklung stellt
| weiterführende | ||||
Die Definition von Vorgehen und Methoden-Einsatz ist eine Zusammenfassung verschiedener agiler Methoden und Prozesse der Software-Entwicklung (ASD, Crystal, DSDM, FDD, LD, PP, Scrum, XP). Die Autoren zu diesen agilen Methoden sind:
Die Zusammenfassung dieser Methoden wurde durch das Agile Manifesto mit seinen nachfolgend hervorgehobenen zwölf Prinzipien festgelegt. Mit der Betonung der stetigen Auslieferung von bereits für den Auftraggeber nutzbaren Komponenten einer Anwendung entspricht die agile Methode dem inkrementellen Vorgehen in der Software-Entwicklung. |
Crystal - Agile Software Development DSDM - Dynamic Systems Development Method (engl.) FDD - Feature-Driven Development | ||||
1 |
Unsere höchste Priorität ist es, den Auftraggeber durch frühzeitige und kontinuierliche Auslieferung werthaltiger Software zufrieden zu stellen. | ||||
Wichtigsten Triebfedern für eine Softwareentwicklung, die sich agil nennen kann, sind laut Manifesto die Anforderungen (Requirements), die mit dem nächsten Release oder den nächsten Iterationen (als Zwischenschritte zu einem Release) umgesetzt werden sollen. Die Anforderungen werden für agile Projekte der Anwendungsentwicklung zeitnah in einem Anforderungskatalog zusammengestellt, um jede Änderung einer Anforderung oder auch zum geschnürten Paket passende neue Anforderungen berücksichtigen zu können (Agiles Requirements Engineering, Agile Anforderungsanalyse). Dabei spielt gemäß Manifest der Geschäftswert einer Anforderung die wichtigste Rolle bei der Priorisierung. | |||||
2 |
Begrüße sich ändernde Anforderungen, selbst spät in der Entwicklung. Agile Prozesse machen Änderungen als Wettbewerbsvorteil für den Kunden nutzbar. | ||||
Die Definition von "agil" bedeutet hier auch, dass der Erfolg der IV-Projekte an den Anforderungen des Kunden zum Zeitpunkt des Projekt-Ende gemessen wird und nicht am Inhalt eines Auftrags zum Projekt-Start. Es wird in der Prozess-Entwicklung keine Funktion als Bestandteil der Anwendung realisiert, die nicht explizit in einer Anforderung enthalten ist. Jede Funktion ist so einfach wie möglich zu realisieren - ohne Vorschau auf mögliche Erweiterungen. Das Agile Manifesto betont: Die einfache Lösung erfordert weniger Aufwand für die Erstellung und Darstellung, ist leichter zu verstehen und schneller an eine neue Anforderung anzupassen. Entsprechend schlank ist auch das zugehörige Prozessmodell gestaltet. | |||||
10 |
Schlichtheit - die Kunst des Weglassens - ist wesentlich. | ||||
Die Notwendigkeit, Ziele zu definieren sowie eine grobe Systemarchitektur zu entwerfen und den Rhythmus der Bereitstellung von Releases zu planen, gehört auch hier zur Methode. Die Iterationszyklen der Software-Entwicklung sind dabei bis auf wenige Wochen verkürzt. | |||||
3 |
Liefere lauffähige Software häufig aus, in Abständen von wenigen Wochen bis wenigen Monaten - je kürzer, desto besser. | ||||
Der auf der Basis der Systemarchitektur entstehende Software-Entwurf schließt neben der Entwicklung der neuen Pakete, Klassen und automatisch ausführbaren Test-Suiten auch das jeweilige Refactoring und Testen der bereits bestehenden Software-Einheiten mit ein. Die Implementierung soll gemäß Vorgehensmodell (möglichst täglich) neue ausführbare Komponenten entstehen lassen und in einen automatisierten Build- und Test-Prozess münden. | |||||
7 |
Lauffähige Software ist das wichtigste Maß für den Projektfortschritt. | ||||
Aus dem evolutionären und dem inkrementellen Vorgehen der Software-Entwicklung ist auch die enge Einbindung des Auftraggebers erhalten geblieben. Für das Prozessmodell "Agile Software-Entwicklung" legt die Agile Alliance im Manifesto jedoch noch größere Betonung auf die Zusammensetzung, Organisation und die Art der dauerhaften Zusammenarbeit in der Projektgruppe. | |||||
4 |
Fachliche Spezialisten und Entwickler müssen während des gesamten Projektes täglich zusammenarbeiten. | ||||
8 |
Agile Prozesse fördern eine andauernde Entwicklung. | ||||
9 |
Beständiges Achten auf ausgezeichnete Fertigkeiten und gutes Entwerfen verstärken die Agilität. | ||||
Die Rolle des Projektleiters für ein agiles Projekt der Anwendungsentwicklung verliert im Vorgehensmodell an Bedeutung. Das Projektteam ist auf ein gemeinsames Ziel eingeschworen, die Organisation der Detailarbeit wird gemeinschaftlich geplant. Der Aufwand für das IT-Projektmanagement soll sich reduzieren. | |||||
5 |
Baue Projekte um motivierte Individuen herum auf. | ||||
11 |
Die besten Architekturen, Anforderungen und Entwürfe gehen von selbstorganisierenden Teams aus. | ||||
12 |
In regelmäßigen Abständen denkt das Team darüber nach, wie es effektiver werden kann und verbessert dementsprechend das Verhalten. | ||||
Viele dieser Prinzipien dienen der Verminderung der Risiken in der Software-Entwicklung. Ein agiles Projekt der Software-Entwicklung ist aber nach dem Vorgehensmodell "Agile Manifesto" nur bei Einhaltung einiger Randbedingungen erfolgreich.
| |||||
Eine Software-Entwicklungsumgebung (SEU) bzw. Workbench, die alle Belange des Requirements Engineering und der agilen Software-Entwicklung unterstützt, wird zum Beispiel von microTOOL angeboten. Hier sind in der microTOOL Suite .NET alle notwendigen und wünschenswerten Komponenten für die agile Entwicklung zusammengestellt:
| |||||
Copyright © 2005 - 2018 | INffORUM bietet Ihnen Know-how-Transfer durch Beratung und Unterstützung bei der Einführung der agilen Softwareentwicklung (Vorgehensmodell und Methoden) und bei der Nutzung der microTOOL Suite .NET für Ihre IV-Projekte. Profitieren Sie in Ihrem IT-Projekt von den langjährigen Erfahrungen der INffORUM Berater. |