Programmieren ist nicht nur Programmieren

Auch als Dualer Student entwickelt man schon früh an den Produkten der gicom mit, und das nicht nur an den internen Projekten. Doch geht es bei der Softwareentwicklung nicht immer „nur“ um‘s Programmieren. Es müssen zunächst Anforderungen gestellt werden. Dann wird geplant und das Geplante wird dokumentiert (die Lieblingsaufgabe eines Entwicklers 😉 ). Erst dann kann mit dem Programmieren angefangen werden. Um dieses Verfahren im Team zu vereinfachen, gibt es die agile Softwareentwicklung. Im Studium hatten wir im Fach „Requirements and Software Engineering“ bereits über agile Softwareentwicklung gesprochen, deshalb wusste ich schon theoretisch was mich erwarten wird. Nur die Ausführung war mir bisher noch nicht bekannt.

In der gicom setzen wir seit diesem Sommer Scrum als agile Softwaretechnik ein. Scrum unterstützt uns bei der Entwicklung für das aktuelle Release. Im Gegensatz zur herkömmlichen Entwicklung (z.B. nach dem Wasserfallmodell) wird bei Scrum viel Wert auf Planung, Dokumentation und Absprachen in kurzen, regelmäßigen Zyklen gelegt.

Als ich in diesem Sommer mit meiner langen Praxisphase (die über 6 Monate geht) begonnen habe, wusste ich noch nicht genau was mich erwartet. Als ich dann gehört habe, dass ich an der Weiterentwicklung beteiligt bin, habe ich mich natürlich gefreut. Für die Weiterentwicklung wurden mehrere Teams gebildet, die jeweils für verschiedene Themenbereiche zuständig waren. So auch das Team, dessen Aufgabe ist, einen speziellen Prozess im Verhandlungsmanagement zu erweitern. Für das Modul „Verhandlungsmanagement“ habe ich bereits in meiner ersten Praxisphase etwas entwickelt, kannte mich also schon recht gut in dem Thema aus.

Zuerst waren viele Workshops mit dem Produktmanager nötig, in denen uns erklärt wurde, was unsere Aufgaben sein werden. Der Produktmanager ist für das Produkt insgesamt verantwortlich. Somit sorgt er dafür, dass die Teams unabhängig voneinander arbeiten, aber trotzdem füreinander und auch miteinander entwickeln. Es gab insgesamt drei Workshops, für die viel recherchiert werden musste. So war meine Aufgabe etwas über Prozesse und Funktionen im SAP-System herauszufinden. Nachdem wir die Recherchen vorgestellt haben war klar, dass wir für unsere Aufgabe leider nicht auf die SAP-Standardlösungen zurückgreifen können, sondern eine gänzlich neue Lösung entwickeln müssen. Nach den Workshops mussten wir alles Erarbeitete schriftlich festhalten. Das war dann der Beginn der Konzeptphase. Die Konzeptphase erstreckte sich über mehrere Wochen. Darin wurde geplant, geschrieben, Geplantes verändert und wieder neu geschrieben. Dies ging solange, bis das Konzept stand und vom Produktmanager genehmigt wurde. Jetzt durfte endlich entwickelt werden. Es gab viele Meetings, in denen wir erarbeitet haben, an welchem Punkt im Prozess wir gerade stehen. In der Entwicklungsphase habe ich dann zusammen mit einem anderen Teammitglied standardisierte Prozesse erstellt, die mit wenig Aufwand jeweils so verändert werden können, dass sie exakt den gewohnten Arbeitsabläufen unserer Kunden entsprechen. Sobald wir mit der Entwicklung fertig sind, geht es dann noch an das Testen und Dokumentieren der Anwendung.

Durch die agile Softwareentwicklung wird viel mehr miteinander kommuniziert. Das merkt man an den vielen regelmäßigen Meetings. In meiner ersten Praxisphase war mein Kalender noch so gut wie leer, etwa einmal pro Woche gab es vielleicht mal einen Termin. Doch in dieser Praxisphase gab es Zeiträume, in denen bis zu 5 Meetings in einer Woche stattgefunden haben. Diese gehen zwar meistens nicht länger als eine halbe Stunde, doch dadurch wird erreicht, dass jedes Teammitglied den gleichen Stand hat, auch wenn er für die Entwicklung in einem anderen Themenbereich zuständig war.

Das Projekt geht noch bis kurz vor Weihnachten. Bis dahin wird noch weiter entwickelt und natürlich auch fleißig getestet. Wenn es dann fertig ist, ist man stolz, was man im Team alles erreicht hat.

Autor: Tobias