In Ihrem aktuellen Projekt gibt es viel Legacy Code mit wenigen Tests. Bugfixes führen endlos zu weiteren Bugs, und Änderungen sind nur mit sehr viel Aufwand möglich. Ohne das Sicherheitsnetz durch Tests bleibt Ihre Softwareentwicklung nahezu stehen. Wir zeigen Ihnen wie sie Test Driven Development (TDD) und Acceptance Test Driven Development (ATDD) in ein bestehendes Projekt einbringen. Durch die dabei enstehende automatisierte Testsuite streichen Sie Folgefehler aus Ihrem Projektvokabular. Änderungen in Ihrem Projekt sind um Faktoren schneller. Erleben Sie etablierte Praktiken die Sie in Ihrem Projekt erfolgreich einsetzen können.

Diese Präsentation zeigt auf, wieso ein Big Bang Rewrite keine Lösung ist. Stattdessen zeige ich, wie kontinuierlich Funktionalität geliefert wird und trotzdem die Code Basis Stück für Stück verbessert werden kann.

Dazu stelle ich vier Vorgehensweisen vor um Funktionalität einzubauen (“Just hack it”, TDD, ATDD, external extension) und eine Methode zum Umbau von Legacy Code. Daraus resultiert eine Code Basis, welche durch Akzeptanztests und Unit Tests abgedeckt ist, um zukünftige Features schnell einbauen zu können, ohne etwas Bestehendes kaputt zu machen. Der Fokus liegt dabei auf der Methodik und nicht auf einzelnen Refactorings.

Urs Enzler bbv Software Services AG, Schweiz

Urs Enzler hat an der ETH Zürich Informatik studiert. Neben seiner Haupttätigkeit als Softwarearchitekt bei bbv Software Services AG unterstützt er Unternehmen bei der Einführung agiler Entwicklungsmethoden wie Scrum oder Test-driven Development. Er referiert auf Konferenzen und Tagungen in der Schweiz und in Deutschland über agile Softwareentwicklung und -architektur. Er bloggt auf www.planetgeek.ch und www.bbv.ch/blog.

@ursenzler folgen