Mitarbeiter

Ein typisches Java-Projekt bei ConceptPeople

Das Telefon klingelt. Einer unserer Kunden sucht Unterstützung für die Umsetzung seiner neuen Software-Lösung. Gesucht wird ein Java-Entwickler, der sich mit REST-Services, Spring, JPA und Oracle-Datenbanken auskennt. Schön wären auch Kenntnisse in AngularJS, das ist allerdings nicht so wichtig. Wichtig ist allerdings, dass unser Mitarbeiter mit der Fachabteilung sprechen kann und auch bei der Erstellung der Konzepte unterstützt. Das fachliche Know-how aus dem Fondsgeschäft muss sich unser Mitarbeiter schnell aneignen können. Die Fachabteilung des Kunden steht gern für Fragen zur Verfügung.

Der Kunde sucht einen erfahrenen Mitarbeiter, da von den insgesamt fünf Teammitgliedern bereits zwei Berufseinsteiger sind. Unser Mitarbeiter soll die Augen offen halten und bei Bedarf coachen.

Das Projekt findet in den Büroräumen des Kunden in Hamburg-Winterhude statt. Zunächst sind 3 Monate für den Einsatz geplant, das Gesamtprojekt ist jedoch auf 10 Monate geschätzt, sodass ein längerer Einsatz wahrscheinlich ist.

Wir bieten dem Kunden einen erfahrenen Kollegen an, der sich im Spring/JPA-Umfeld sehr gut auskennt, der in den letzten zwei Projekten reichlich Erfahrungen mit REST-Services sammeln konnte und der Know-how in vielen Web-Technologien mitbringt. Dass der Kollege bislang nur erste Erfahrungen mit AgularJS in einem privaten Projekt gesammelt hat und dass er in diesem Bereich über keine Erfahrungen aus dem professionellen Umfeld verfügt, ist mit dem Kunden abgesprochen. Ebenso ist mit dem Kunden abgesprochen, dass unser Mitarbeiter in zwei Monaten einen Urlaub von zwei Wochen geplant hat.

Der Projektstart

Eine Woche nach dem Anruf ist unser Mitarbeiter beim Kunden und wird in die Infrastruktur eingewiesen. Danach gibt es ein Kick-Off-Meeting, in dem die zu erstellende Software skizziert wird. Im Anschluss daran trifft sich das Team und plant das weitere Vorgehen. Aufgaben werden verteilt und los geht’s..

Nach zwei Tagen hat das Team das nötige fachliche Know-how, um mit der Umsetzung der Software zu beginnen. Parallel wurde bereits die Entwicklungsumgebung eclipse und die Versionsverwaltung git eingerichtet. Die gradle-Konfigurationen sehen auch schon gut aus. Der Entwicklungsprozess wird permanent an die eigenen Bedürfnisse angepasst. Nach einer Woche läuft der Continuous Integration Server Jenkins. Ein erster prototypischer Use-Case von der AngularJS-Oberfläche über die REST-Services bis in die Datenbank funktioniert. Die Grundlagen sind gelegt.

Der Projektalltag

In die Software wird in den nächsten Wochen mehr und mehr Funktionalität integriert. Das Projekt wird agil mit Scrum umgesetzt, wobei der Kunde sich für eine Sprintlänge von drei Wochen entschieden hat. Das gesamte Team steht in engem Kontakt mit der Fachabteilung, da einige Anforderungen technologisch so nicht umsetzbar sind. Andere Anforderungen lassen sich durch einen anderen Aufbau der AngularJS-Oberflächen eleganter lösen. Die Backlog-Items werden angepasst und neu priorisiert.

Die Testabdeckung des Projekts kommt über 70 Prozent nicht hinaus, da es kein Framework für den Test von Dateioperationen gibt. Nach und nach wird ein Testframework entwickelt, um auch die Dateioperationen testen zu können. Die Testabdeckung steigt und einige bisher unbekannte kritische Fehler werden aufgedeckt.

Bei der Bearbeitung einer Anforderung wird plötzlich festgestellt, dass die aktuelle Architektur eine Umsetzung der Anforderung unmöglich macht. Die Architektur muss einem Refactoring unterzogen werden. Nach einem Tag und einer halben Nacht ist das Refactoring abgeschlossen, allerdings schlagen noch etliche Tests fehl. Der Grund dafür: Die Auswirkungen des Refactorings wurden an einer Stelle nicht berücksichtigt. Dieses Problem ist nach zwei weiteren Stunden erledigt. Alle Tests laufen wieder. Weiter geht’s.

Die erste Auslieferung

Der erste Meilenstein steht vor der Tür. Die Webanwendung ist in der ersten Version fertig implementiert und wird an die Fachabteilung zum Testen ausgeliefert. Im weiteren Verlauf werden dann die Bugs gefixt und die gesamte Batch-Verarbeitung implementiert.

Am Abend nach der Auslieferung lädt der Kunde das Team zum Projektessen ein. Zwei Kollegen aus der Fachabteilung sind auch dabei und berichten, dass ihre Kollegen einen positiven ersten Eindruck von der Anwendung haben. So kann's weitergehen...