Design Driven Development - Agilität und Qualität im Software-Engineering
Presentation 60'
Abstract
Design Driven Development (D3) als Kombination von Design by Contract (DbC) und testgetriebener Entwicklung (TDD) hat das Potenzial, Qualität und Agilität in der Softwareentwicklung zum Nutzen des Kunden miteinander in Einklang zu bringen.
Die testgetriebene Entwicklung (TDD) bildet im Bereich der agilen Softwareengineering-Techniken eine wichtige Kernpraktik. Im Zuge der immer fortschreitenden Etablierung agiler Prozessmodelle im Allgemeinen, bekommt TDD in letzter Zeit vermehrt Aufmerksamkeit bei Softwareentwicklern.
Ähnlich verhält es sich mit Design by Contract (DbC): Von Bertrand Meyer im Rahmen der Programmiersprache Eiffel bekannt gemacht, blieb der Methodik auf Grund von technischen Beschränkungen lange der Durchbruch verwehrt. In der jüngeren Vergangenheit rückt Design by Contract durch leitungsfähigere Hardware und Werkzeugunterstützung wieder stärker in das Blickfeld der Softwareentwickler (vergl. beispielsweise Miscrosoft CodeContracts).
Die generelle Frage, die sich daraus für die Softwareentwicklung ergibt, lautet: Können sich die zwei Ansätze ergänzen, sind sie – zumindest teilweise – redundant oder stehen sie hingegen konträr zueinander?
Eine der zentralen Fragen zum möglichen Zusammenwirken von TDD und DBC ist:
Lässt sich die explorative, induktive Herangehensweise von TDD mit dem analytischen, deduktiven Ansatz von Design by Contract verbinden? Behindern die sich die Methoden gegenseitig oder können sie sich wechselseitig unterstützen?
Dieser Vortrag berichtet über Erfahrungen mit Design Driven Development auf den Ebenen People, Methods und Tools. Anhand eines realistätsnahen Java-Beispiels wird mit Hilfe des D3-Explorers demonstriert, wie Design Driven Development sowohl die Effektivität als auch die Effizienz im Software-Engineering verbessert.
Speaker
Hagen Buchwald
Über den Speaker
Hagen Buchwald:
Hagen Buchwald ist ein Diplom-Wirtschaftsingenieur von der Universität Karlsruhe und bildete von Oktober 2008 bis September 2011 im Zuge eines Lehrauftrags am KIT die angehenden Wirtschaftsingenieure im Paradigma des Objektorientierten Software-Engineerings aus. Er ist seit 1994 in der IT Industrie tätig und hat als Vorstand eines IT-Beratungsunternehmens viel Erfahrung in der Konzeption und Durchführung von Software-Projekten für Banken und Versicherungen aufgebaut. Seit Oktober 2011 verstärkt er das Vorstandsteam der andrena objects ag, Karlsruhe bei der Umsetzung der Vision, dass Software Made in Germany zum Qualitätsbegriff werden kann, wenn es gelingt, die Stärken des deutschen Ingenieurdenkens auf das Software-Engineering zu übertragen. Die Kombination von Test Driven Development und Design by Contract für Agile Vorgehensmodelle könnte solch ein Schritt sein.