Agile Softwareentwicklung & weitere Entwicklungsmethoden
Sie suchen agile Softwareentwickler oder Softwareentwicklerinnen für Ihr Projekt oder für eine Beratung? Gryps arbeitet mit professionellen, agilen Entwicklungsteams für die Realisierung Ihrer Lösung zusammen. Zudem finden Sie hier eine Übersicht über verschiedene Entwicklungsmethoden.
Unsere KMU-Einkaufsexperten wählen basierend auf Ihren Anforderungen bis zu 3 passende Anbieter aus, die Ihnen Offerten für die Softwareentwicklung unterbreiten. Füllen Sie dazu den Fragebogen aus.
Gryps vermittelt seit 2010 Anbieter von Produkten und Dienstleistungen – unabhängig, einfach und kostenlos.
In der Schweiz sind vor allem zwei Entwicklungsmethoden verbreitet: agile Softwareentwicklung und das Wasserfallmodell. Aber auch andere Methoden wie das Spiralmodell sind anzutreffen. Hier eine erste Übersicht über die einzelnen Software-Entwicklungsmethoden.
Agile Softwareentwicklung
Die agile Softwareentwicklung, auch agile Development, ist besonders bei Projekten mit dynamischen Anforderungen beliebt. Die kurzen Entwicklungszyklen – sogenannten «Sprints» – mit iterativem Ansatz und die enge Zusammenarbeit zwischen dem Entwicklungsteam und dem Auftraggeber oder der Auftraggeberin erlauben eine schnelle und flexible Anpassung an neue Herausforderungen. Beispiele von agilen Methoden für KMU sind Scrum und Kanban.
Vorteile der agilen Softwareentwicklung
- Schlanker Prozess mit kurzen Entwicklungszyklen.
- Fehler lassen sich früh erkennen.
- Geringes Risiko, dass die Software zum Zeitpunkt der Einführung bereits wieder von äusserlichen Gegebenheiten überholt ist.
- Regelmässige Kommunikation zwischen Auftraggeber oder Auftraggeberin und dem Entwicklungsteam.
Nachteile der agilen Softwareentwicklung
- Konsequentes agiles Entwickeln im Team kann anstrengend sein, da eine tägliche Kommunikation zwischen den definierten Rollen essenziell ist und die Zyklen sehr kurz getaktet sind.
- Bei der Auftragsentwicklung durch ein externes Entwicklungsteam kann die Vertragsgestaltung und Preisfindung sehr anspruchsvoll sein. Festpreise sind schwierig, wenn die genaue Funktionalität im Detail erst während der Projektlaufzeit definiert wird.
Scrum
Scrum funktioniert in einem selbstorganisierten Team ohne Projektleiter oder Projektleiterin, 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 Entwicklerinnen und Entwicklern zusammen. Man arbeitet in Sprints 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 Entwicklerinnen, Entwickler und Teammitglieder kann ein Kanban-Board helfen.
Kanban
Kern der Softwareentwicklung mit Kanban ist die Verwendung eines Whiteboards, im Idealfall sogar physisch an der Wand, das den Entwicklungszyklus anhand von Kolonnen enthält (zum Beispiel Backlog, In Progress, Test, Deployment, Livetest). Die Entwicklungsaufgaben werden dabei in übersichtliche Schritte aufgeteilt und mit Post-its 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.
Wasserfallmodell / V-Modell
Beim Wasserfallmodell oder V-Modell sind die einzelnen Phasen der Entwicklung klar voneinander getrennt. Jede Phase, von der Planung über die Entwicklung bis zur Implementierung, wird nacheinander abgeschlossen. Diese Entwicklungsmethode eignet sich deshalb vor allem für Softwareprojekte, in denen die Anforderungen klar definiert sind und sich im Laufe des Projekts voraussichtlich nicht ändern.
Vorteile des Wasserfallmodells
- Strukturierter Ablauf.
- Klare und transparente Planung.
- Kosten und Zeitrahmen lassen sich vorab definieren.
Nachteile des Wasserfallmodells
- Weniger Flexibilität als bei der agilen Methode.
- Bei nachträglichen Änderungen ist mit einem hohen Aufwand zu rechnen.
Spiralmodell
Für grosse, komplexe Softwarelösungen eignet sich das Spiralmodell als Entwicklungsmethode. Es ist eine Kombination aus der agilen Softwareentwicklung und dem Wasserfallmodell: Die Entwicklung erfolgt schrittweise und durchläuft mehrere «Spiralen». Dabei setzt sich jede Spirale aus Phasen wie Planung, Risikobewertung, Entwicklung und Testen zusammen.
Vorteile des Spiralmodells
- Hohe Flexibilität.
- Risiken lassen sich frühzeitig erkennen und minimieren.
Nachteile des Spiralmodells
- Die Iterationen und ständigen Risikobewertungen kosten Zeit und Geld.
- Für KMU mit kleinerem Softwareprojekt weniger geeignet.
DevOps
DevOps vereint Softwareentwicklung (Development) und IT-Betrieb (Operations), um die Software schneller und effizienter bereitzustellen. Die Methode ist eher als Kultur zu verstehen, die Automatisierungen sowie die kontinuierliche Integration (Continuous Integration) und Lieferung (Continuous Delivery) der Software fördert. Automatisiert werden etwa das Testen von Codeänderungen oder die Überführung der Software in die Produktionsumgebung, sobald sie die Tests der Staging-Umgebung besteht. Die DevOps-Kultur eignet sich für KMU, die ihre Software kontinuierlich aktualisieren oder regelmässig neue Versionen veröffentlichen möchten.
Vorteile von DevOps
- Schnelle Bereitstellungszyklen und verkürzte Markteinführungszeit.
- Hohe Qualität bei der Softwarebereitstellung.
- Verbesserte Zusammenarbeit.
Nachteile von DevOps
- Der Aufwand kann zu Beginn aufgrund des hohen Automationsgrads und dem benötigten technischen Know-how hoch sein.
Lean Development
Entwicklungsteams, die nach dieser Methode vorgehen, vermeiden unnötige Prozesse und legen Wert auf schnelle Ergebnisse. Mit Lean Development führen die Teams regelmässig Optimierungen durch und fokussieren sich auf die wesentlichen Softwarefunktionen, die den Endkundinnen und Endkunden einen echten Mehrwert bieten.
Vorteile von Lead Development
- Verkürzte Markteinführungszeit.
- Kostenersparnis, da sich die Entwicklung auf das Wesentliche konzentriert.
- Optimierungen werden schnell umgesetzt (iterativ).
Nachteile von Lead Development
- Die strenge Priorisierung der wesentlichen Funktionen kann herausfordernd sein.
- Es ist möglich, dass wichtige Funktionen übersehen werden.
Aufwandschätzung bei der agilen 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 einbezogen.
Mehr allgemeine Informationen zu Software-Dienstleistern und zur externen Softwareentwicklung finden Sie auf unserer Übersichtsseite.
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
Häufig gestellte Fragen
Agile Softwareentwicklung ist der Überbegriff für einen Softwareentwicklungsprozess, bei dem Methoden wie Scrum und 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.
Die häufigsten Methoden, die im Zusammenhang mit agiler Softwareentwicklung zum Einsatz kommen, sind Scrum und Kanban. Scrum ist die etwas komplexere Methode, bei der 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 den maximalen Durchfluss zu erzielen.
Bei DevOps geht es darum die sogenannte «Wall of Confusion» zwischen IT-Entwicklung und IT-Betrieb zu schliessen, damit kein wichtiges Applikations-Know-how bei der Übergabe in den regulären Betrieb verloren geht. DevOps ist weder eine Methode noch ein Framework, sondern setzt auf der Ebene Kommunikation und Organisation an. Ein DevOps-Team ist interdisziplinär zusammengesetzt und trägt die Verantwortung für ein Produkt über den gesamten Lebenszyklus. Es ist die logische Weiterführung eines agil entwickelten Projekts.
Insbesondere bei externen Entwicklungsprojekten möchten viele Auftraggebende mit einem fest definierten Projektpreis planen, um damit einerseits finanziell die Kontrolle zu bewahren und andererseits den Auftragnehmer oder die Auftragnehmerin in die Pflicht zu nehmen, ein Projekt zu vereinbarten Kosten und im gegebenen Zeitrahmen fertigzustellen. Beim agilen Festpreis werden nach einer initialen Projekt- und Testphase die Kosten und der Termin definiert und mit dem Kunden oder der Kundin ein Vorgehen zur Steuerung in einem gewissen Rahmen vereinbart.
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