codecentric

Agile Softwareentwicklung

AGILE SOFTWAREENTWICKLUNG IST MAINSTREAM!

So lautetet eine Meldung bei heise Anfang 2010 die sich auf eine Studie von Forrester Research stützt. Demnach arbeiten bereits 35% der 1.300 Befragten IT-Fachkräfte nach agilen Methoden und 46% iterativ. Weitere Zahlen von Forrester deuten sogar an, dass 84% der Befragten Scrum als agile Entwicklungsmethode einsetzen.

Für uns als codecentric AG ist das eine tolle Nachricht – seit vielen Jahren entwickeln wir unsere Projekte auf Basis agiler Methoden wie ScrumKanban oder XP und haben schon vielen Kunden geholfen selbst agiler zu werden.

WAS BEDEUTET AGILE SOFTWAREENTWICKLUNG?

Schlanke Konzeptionsphase, kurze Entwicklungszyklen und iteratives, inkrementelles Vorgehen stellen sicher, dass regelmäßig lauffähige Software in hoher Qualität entsteht.

 

NUTZEN UND AUSWIRKUNGEN VON AGILER SOFTWAREENTWICKLUNG

Ist agile Softwareentwicklung nur ein großer Hype oder steckt mehr dahinter? Gibt es vielleicht sogar einen echten Business Case? Anhand einer idealisierten Geschichte soll verdeutlicht werden, welche Chancen die Agilität bietet und warum sich ein Umstieg rechnet.

 

AGILE SOFTWAREENTWICKLUNG BENÖTIGT AGILE PRAKTIKEN!

Agile Entwicklung von Software erfordert hohe handwerkliche Fähigkeiten beim umsetzenden Team. Aus unserer Sicht ist es deshalb notwendig jede agile Methode mit einer Handvoll Praktiken zu kombinieren:

Die Automatisierung (Unit Tests) und Fachtests ist wichtiger Bestandteil der Definition of Done jeder Anforderung, die man in einem agilen Projekt umsetzt. Ohne Tests würden die Testaufwände mit der Zeit explodieren und die Wartung der Codebasis schwierig werden.

 

Epics und User Stories in einem Backlog zu pflegen und zu priorisieren. Story Points schätzen und verstehen lernen. Abnahmekriterien zu definieren und Mockups mit dem Fachbereich zur erstellen. Nur einige der Fertigkeiten, die man erlernen muss, um erfolgreich die Anforderungen in agilen Projekten zu pflegen.

 

Kollektives Eigentum der Codebasis, Refactoring, Testgetriebene Entwicklung, Pair Programming, Coding Standards und einfaches Design sind nicht nur wichtige Techniken, um in kurzen Zyklen Software auszuliefern, sondern erfordern in der Regel auch ein Umdenken in der Anwendungsentwicklung.