Agile Softwareentwicklung
Als Agile Softwareentwicklung werden Entwicklungsprozesse und Methoden bezeichnet, die grösstmögliche Flexibilität und eine schnelle Projektumsetzung ermöglichen. Mit Methoden wie Scrum und Kanban soll neben der Optimierung des Arbeitsflusses auch das Risiko des Scheiterns möglichst klein gehalten werden.
Suchen Sie Agile Softwareentwickler für Ihr Projekt oder für eine Beratung? Wir helfen Ihnen gerne professionelle, agile Entwicklungteams für die Realisierung Ihrer Lösung zu finden.
Agile Development mit Kanban und Scrum – FAQ
Was ist Agile Softwareentwicklung?
Agile Softwareentwicklung ist der Überbegriff für einen Softwareentwicklungsprozess, bei dem Methoden wie Scrum und/oder Kanban angewandt werden, die grosse Flexibilität und schnelle Projektumsetzung ermöglichen. Zudem soll damit das Risiko des Scheiterns eines Softwareprojektes oder einer Produktentwicklung minimiert werden.
Wichtige Prinzipien sind dabei die frühe und kontinuierliche Auslieferung von Software in kurzen Zeitspannen und übersichtlichen Blöcken, die tägliche Zusammenarbeit der wichtigen Beteiligten, Einfachheit sowie selbstorganisierte Teams.
Welche Vorteile hat Agile Softwareentwicklung?
Gegenüber den klassischen Vorgehensmodellen wie dem V-Modell (Wasserfallmodell) ist die Agile Entwicklung flexibler und schlanker und kommt mit kürzeren Entwicklungszyklen aus. Das Risiko, dass das System zum Zeitpunkt der Einführung von den äusserlichen Gegebenheiten schon wieder überholt ist, ist geringer.
Welche Nachteile hat Agile Softwareentwicklung?
Konsequentes agiles Entwickeln im Team kann anstrengend sein, da tägliche Kommunikation zwischen den definierten Rollen essentiell ist und die Zyklen sehr kurz getaktet sind. Bei Auftragsentwicklung durch externe Partner kann zudem die Vertragsgestaltung und Preisfindung sehr anspruchsvoll sein. Festpreise sind schwierig, wenn die genaue Funktionalität im Detail erst während der Projektlaufzeit definiert wird. Es gibt jedoch Methoden, auch zu einem Agilen Festpreis zu kommen, damit Projekte kalkulierbar bleiben.
Was sind Agile Methoden für die Softwareentwicklung?
Die häufigsten Methoden, die im Zusammenhang mit Agiler Softwareentwicklung zum Einsatz kommen, sind Scrum und Kanban. Scrum ist die etwas komplexere Methode, bei welcher der Umgang mit Rollen, das Anforderungsmanagement mit User Stories, Backlog, die Aufwandschätzung (Planning Poker) und der Umgang mit Problemen (Impediment Backlog) genau definiert sind. Kanban hingegen fokussiert sich auf den Arbeitsfluss und auf die Begrenzung der Anzahl an Aufgaben in Bearbeitung, um so den maximalen Durchfluss zu erzielen.
Wie erfolgt die Aufwandschätzung bei Agiler Softwareentwicklung?
Der Hauptunterschied zur Aufwandsabschätzung bei agiler Entwicklung im Vergleich zu klassischen Verfahren liegt darin, dass nicht mehr der Aufwand für im Detail definierte Funktionen geschätzt wird, sondern nur noch deren Komplexität. Dies hat den Vorteil, dass bei einer leichten Änderung der Funktion, die Komplexitätsabschätzung nicht ständig verändert werden muss. Bei den agilen Schätzverfahren wird das gesamte beteiligte Entwicklungsteam miteinbezogen.
Wie funktioniert ein Agiler Festpreis?
Insbesondere bei externen Entwicklungsprojekten möchten viele Auftraggeber mit einem fest definierten Projektpreis planen, um damit einerseits finanziell die Kontrolle zu bewahren und andererseits aber auch den Auftragnehmer in die Pflicht zu nehmen, ein Projekt zu vereinbarten Kosten und im gegebenen Zeitrahmen fertig zu stellen. Beim agilen Festpreis werden nach einer initialen Projekt- & Testphase die Kosten und der Termin definiert und mit dem Kunden ein Vorgehen zur Steuerung in einem gewissen Rahmen vereinbart.
Wie geht Agile Softwareentwicklung mit Scrum?
Scrum funktioniert in einem selbstorganisierten Team ohne Projektleiter, bei dem trotzdem gewisse Rollen fest definiert sind. Der Scrum-Master kümmert sich um die Einhaltung des Prozesses und den Prozessablauf. Der Product Owner definiert und priorisiert die Anforderungen und arbeitet direkt mit den Entwicklern zusammen. Man arbeitet in Sprints, d.h. Entwicklungszyklen von ein bis vier Wochen. Anhand eines Produkt- und Sprint-Backlogs und kurzen täglichen Standup-Meetings werden die Arbeitspakete definiert und abgearbeitet. Als weiteres Hilfsmittel für die Entwickler und Teammitglieder kann ein Kanban-Board helfen.
Wie funktioniert Agile Softwareentwicklung mit Kanban?
Kern der Softwareentwicklung mit Kanban ist die Verwendung eines Whiteboards, im Idealfall sogar physisch an der Wand, welches den Entwicklungszyklus anhand von Kolonnen enthält (z.B. Backlog, In Progress, Test, Deployment, Livetest). Die Entwicklungsaufgaben werden dabei in übersichtliche Schritte aufgeteilt und mit Post-it’s im Backlog aufgeklebt und Schritt für Schritt durch die verschiedenen Stufen geschleust. Der Fokus liegt dabei auf dem Arbeitsfluss und der Beseitigung von möglichen Hindernissen.
Was versteht man unter DevOps und was hat das mit Agil zu tun?
Bei DevOps geht es darum die sogenannte "Wall of Confusion" zwischen Entwicklung und Betrieb zu schliessen, damit kein wichtiges Applikations-Know-how bei der Übergabe in den regulären Betrieb verloren geht. Es handelt sich dabei weder um eine Methode noch um ein Framework, sondern setzt auf der Ebene Kommunikation & Organisation an. Ein DevOps-Team ist interdisziplinär zusammengesetzt und trägt die Verantwortung für eine Produkt über den gesamten Lifecycle. Es ist die logische Weiterführung eines agil entwickelten Projektes.
Firmenverzeichnis
Hier gehts zum Anbieterverzeichnis mit mehr als 4'900 Einträgen.
Fakten und Zahlen zu Gryps
- 50'000 KMU-Kunden
- 4'900 geprüfte Anbieter aus der Schweiz
- 110 Produkte und Dienstleistungen
- 14 Jahre Markterfahrung
Brauchen Sie Hilfe bei Ihrer Beschaffung?
Unsere KMU-Einkaufsexperten freuen sich auf den Kontakt mit Ihnen und beantworten gerne Ihre Fragen.
Sandro Weber
Leiter Kundenberatung