Kurzvorstellung anlässlich der Abschlusspräsentation des Softwaretechnikpraktikums an der Universität Karlsruhe WS 2008/2009 im Hause ec4u

Seit 2008 arbeite ich als Entwickler bei ec4u. Im Jahr 2007 habe ich mein Informatikstudium an der Uni Karlsruhe abgeschlossen. Im Wintersemester 2003 habe ich auch an dem SWT-Praktium teilgenommen.

Die Teilnahme an und die Erfahrungen aus dem SWT-Praktikum sind wertvoll und praktisch. Das Programm des Praktikums zeigt reale Softwareentwicklung. Softwaretechnik ist ein Fach unhängig von der eingesetzten Technologie und Sprache. Egal welches Projekt Ihr später macht, Ihr werdet fast immer den gleichen Entwicklungsprozess erleben, wie Ihr ihn in diesem Praktikum erlebt habt.

Mein heutiger Arbeitsalltag: Wie ist die Entwicklung organisiert, welche Werkzeuge werden eingesetzt? Der Project Manager macht die Anforderungsanalyse und Spezifikation. Project Manager und Architekt machen den Entwurf und die Aufgabenaufteilung. Die Entwickler entwerfen die Teilkomponenten und implementieren diese. Die Tester machen die Systemtests für die Abnahme. Bei auftretenden Problemen im Betrieb arbeiten Entwickler und Berater gemeinsam an einer Lösung.

Bei der Entwicklung von unserem Produkt C4 praktizieren wir Agile Softwareentwicklung. Wir benutzen SVN als Versionsverwaltungswerkzeug. Visio ist im Einsatz für die UML-Diagramme. Eclipse und Visual Studio werden für Codierung und Debugging genutzt. Mercury Quality Center verwenden wir als Projektmanagement- und Qualitätssicherungssystem. Die Aufgabenverteilung, Zeitaufwandsschätzungen, Zeitverbrauch und die neuen Anforderungen oder entdeckte Fehler werden alle darin angezeigt und deren Bearbeitung verfolgt. Alle Entwickler und der Project Manager haben damit Überblick über den Ablauf der Entwicklung. JUnit und NUnit werden für die Testgetriebene Entwicklung eingesetzt. Unittests helfen nicht nur beim Debugging, sondern auch beim Refactoring.

Mit der Kontinuierlichen Integration können wir das Zusammenspiel verschiedener Komponenten überprüfen. Für diesen Zweck setzen wir CruiseControl ein. Mit CruiseControl kann unser Code stündlich und täglich automatisch kompiliert werden. Tägliche Builds werden nachts erstellt („Nightly Build“). Durch diese Maßnahme wird sichergestellt, dass der neu entwickelte oder überarbeitete Quellcode richtig in die Software integriert wird. Die Funktion „Copy and Paste“-Check haben wir auch in CruiseControl eingebaut, um die Qualität des Quellcodes zu sichern. „Wiederverwenden statt Kopieren“ ist eine wichtige Disziplin in der Programmierung. Mercury haben wir für die Automatisierungstest bei der Abnahme im Einsatz.

Jedes der obengenannten Tools kann einen Teil oder Phasen der Softwareentwicklung abbilden.

Kommunikation und Zusammenarbeit spielen bei der Softwareentwicklung die wichtigste Rolle. Wenn man von einem Problem lange aufgehalten wird, sollte man um Hilfe bitten. Meine Kollegen sind sehr nett und hilfebereit. Sie unterstützen mich immer, wenn ich irgendwas nicht allein schaffen kann. Wenn ein Problem trotzdem nicht gelöst werden kann, dann sollte man rechtzeitig Produkt Manager informieren. Er kann entweder weiterhelfen oder wird den Ablauf neu koordinieren, damit der Projektablauf nicht gefährdet wird.