KADEV09: Karlsruher Entwicklertage 2009 – Montag

Entwicklertag in Karlsruhe: 22.06.2009: VKSI Tag

Nach der Ankunft in Esslingen direkt in das freundliche Gebäude der Silverstroke AG. Glücklicherweise funktionierte die Registrierung einfach und schnell. Nach den ersten Minuten dann auch schon die ersten Bekannte getroffen und über die Wehen des Scrum-Prozesses diskutiert.

Im Laufe des Tages konnte ich immer wieder interessante Gespräche führen und mich mit vielen anderen Teilnehmern austauschen.

Sehr interessant war die Keynote von Jens Coldewey und die nachfolgende Podiumsdiskussion.

In seiner Keynotes “Software Engineering Heute” stellt Jens Coldewey 7 Thesen sowie das Ergebnis seiner letzten Umfrag vor.

7 Thesen

1) Softwareentwicklung ist Ingenieurstätigkeit
Definition des VDI ist jedoch problematisch:
– definierte Ausbildung > aber eine Vielzahl unterschiedlicher Angebote
– Stand der Technik > ändert sich jedoch ständig und schnell
– Best Practices > schwierig, wenn sich vieles ständig ändert

2) Softwareentwicklung ist Entwicklung (und keine Produktion)
– Softwareentwicklung ist nicht tyloristisch
– Anforderungen sind fast immer unscharf
– Entwicklung basiert auf Versuch und Irrtum / Experimenten
– Produktionsansätze sind unbrauchbar

3) Software ist komplex
– im Spannungsfeld zwischen deterministischen und chaotischen Systemen
– Verhalten ist oft überraschend und nicht vorhersehbar
– Forderung: Änderung an erzeugten Produkten und eingesetzten Prozessen muss möglich sein.

4) Softwareentwicklung basiert auf einer Kette von Entscheidungen
– Entscheidungen müssen zu einem optimalen Zeitpunkt getroffen werden
– zu früh/spät -> hohe Folgekosten

5) Softwareentwicklung ist iterativ und inkrementell
– seit Garmisch bekannt
– ein Grund: Komplexität und Unsicherheit
– Neues (Änderung Rahmenbedingung) ist nicht die Ausnahme sondern die Regel
– entscheidender Faktor: Architektur des Systems, diese muss Änderungen unterstützen -> wesentliche Forderung: Änderbarkeit

6) Softwareentwicklung ist Kommunikation
– Kommunikation dominiert Softwareentwicklung
– soziales Problem
– organisatorisches Problem
– selten rein technisches Problem
– “leader’s framework for decission making”
– unklare Vorgaben -> selbstorganisierende Teams
– Entwicklungsteam muss Wirtschaftlichkeit bewerten können

7) Softwareentwicklung ist Handwerk
– impliziertes Wissen, basierend auf Erfahrung, nicht beschreibbar
– Code als das Material für den Software-Ingenieur
– lebenslanges Lernen -> jahrelang
– Schüler, Geselle, Meister
– lernen am lebenden System
– lernen und arbeiten in Gruppen

In der darauf folgenden Podiumsdiskussion wurden die These aufgegriffen und kontrovers diskutiert. Interessant auch die Frage, welche Anforderungen heutige Informatik-Absolventen erfüllen sollen und wie die Universitäten dies unterstützen sollen.