Agil - was heißt das?

Im Kern geht es bei agiler Softwareentwicklung darum, die entstehende Software so schnell und so oft wie möglich vom Kunden bewerten zu lassen. Schließlich kann nur der Kunde beurteilen, was er wirklich benötigt. Anders als in der klassischen Vorgehensweise bietet agiles Vorgehen die Möglichkeit, noch während des Entwicklungsprozesses bereits definierte Anforderungen zu ändern und neue Anforderungen hinzuzufügen. Mehr zu agiler Softwareentwicklung

Automatisierter Build-Prozess

Unter dem Begriff Build-Prozess werden alle Aktivitäten zusammengefasst, die für die Produktion und Bereitstellung von lauffähiger Software notwendig sind. Dazu gehört das Kompilieren des gesamten Systems, das Testen der erstellten Software, das Einrichten der Datenbank, die Migration bestehender Daten, das Erstellen der Dokumentation in elektronischer Form, das Deployment auf einem Applikationsserver und ggf. projektspezifisches Weiteres. Mehr zum automatisierten Build-Prozess

Burndown & Burnup

In agilen Projekten wird der Fortschritt anhand erledigter fachlicher Anforderungen gemessen. Dieser Fortschritt wird über die Zeit in sogenannten Burndown- bzw. Burnup-Charts dargestellt. So kann man mit einem Blick einen Eindruck vom Zustand und dem Fortschritt des Projektes gewinnen und eine Prognose über den weiteren Projektverlauf erstellen.

Crystal

Bei Crystal handelt es sich um eine agile Methodenfamilie. Je nach Risiken, Projektgröße und den Stärken und Schwächer der Projektbeteiligten gibt Crystal den Rahmen vor, mit dem sich eine individuelle agile Methode zusammenstellen lässt. Mehr über Crystal

Eclipse Way

Als Eclipse Way wird der Entwicklungsprozess des Eclipse-Teams bezeichnet, das seit Jahren immer wieder pünktlich Software in erstaunlich hoher Qualität ausliefert. Und das, obwohl es sich um ein großes, weltweit verteiltest Team handelt. Mehr zum Eclipse Way

eXtreme Programming

eXtreme Programming (XP) stellt die bekannteste agile Methode dar und bietet sowohl Managementtechniken als auch Techniken auf der Team- und Programmierebene. Hervorzuheben sind insbesondere die testgetrieben Entwicklung als Teil des inkrementellen Designs und das Programmieren in Paaren. Mehr zu eXtreme Programming

Feature-Driven Development

Die agile Methode Feature-Driven Development (FDD) gibt klare Strukturen vor und verfügt über ein ausgeprägtes Rollenmodell. Sie ist deshalb besonders gut für klassische Organisationsstrukturen und große bzw. heterogene Projekte geeignet. Mehr zu Feature-Driven Development

Kanban

Kanban ist ein neuer Ansatz in der IT, der stark auf kurze Durchlaufzeiten, hohe Qualität und unternehmensweite Verbesserungen fokussiert. In Kanban werden Best Practices aus dem Lean Software Development, der Theory of Constraints und dem klassischen Risikomanagement miteinander kombiniert. Mehr zu Kanban lesen

Pair-Programming

Beim Pair-Programming sitzen stets zwei Entwickler vor einem Rechner. Während der Eine den Code schreibt, achtet der andere auf Fehler und denkt über Verbesserungen am Design nach. Was auf den ersten Blick wie Verschwendung von Ressourcen aussieht, erweist sich bei näherem Hinsehen als eine sehr effiziente Art des Programmierens und ein mächtiges Instrument des Qualitätsmanagements. Mehr zu Pair-Programming

Refactoring

Beim Refactoring wird der Code kontinuierlich „aufgeräumt“, um die Struktur der Software wieder herzustellen oder zu verbessern. Dabei ändert sich das äußere Verhalten der Software (die Funktionalität) nicht. Das Refactoring stellt eine der Königsdisziplinen der Programmierung von Qualitätssoftware dar. Mehr zu Refactoring

Scrum

Scrum stellt eine agile Managementmethode dar, die nur wenige einfache Prinzipien enthält und somit häufig gut als erster Schritt geeignet ist, um agile Methoden einzuführen. Eine wichtige Rolle spielt dabei der Scrum-Master, der das Entwicklerteam bei der Arbeit unterstützt und Blockaden jeder Art beseitigt. Mehr zu Scrum

Testgetriebene Entwicklung

Testgetriebene Entwicklung (engl. Test-Driven Development - TDD) ist eine agile Technik, bei der Tests benutzt werden, um die Erstellung des Codes zu leiten. Dadurch entstehen einfachere Entwürfe, die besser verständlich und leichter zu ändern sind. Außerdem sind durch die hohe Testabdeckung ideale Voraussetzungen für seiteneffektfreie Änderungen, Erweiterungen und Refactorings gegeben. Mehr über testgetriebene Entwicklung