Projekte erfordern eine enge Zusammenarbeit mit dem Team und teilweise auch mit dem Kunden um ein Projekt zur Zufriedenheit aller Beteiligten abzuschließen.
Vieles erkennt ihr sicherlich aus Lfd 1 c + d.
- Projektplanung und Projektkoordination:
- Aufgabenverteilung: Das Team koordinieren und festlegen wer welche Aufgaben übernimmt.
- Zeitmanagement: Erstellen von Zeitplänen, das alle Projektphasen termingerecht abgeschlossen werden.
- Kommunikation:
- Interne Kommunikation: Regelmäßige Meetings im Team um den Fortschritt und etwaige Probleme zu besprechen.
- Externe Kommunikation: Bei einigen Projekten, z.B. im Kundenauftrag, ist es erforderlich sich mit dem Kunden abzustimmen und deren Feedback sowie Anforderungen zu berücksichtigen damit die Software ihren Erwartungen entspricht.
- Anforderungsanalyse:
- Kundenanforderung: Bei Kundenaufträgen ist es wichtig die Anforderungen des Kunden zu erfassen und zu analysieren, wie z.B. existierende Hardware, um maßgeschneiderte Software zu entwickeln. Ich habe z.B. mal ein Auftrag erhalten für bestimmte Industrie Handhelds eine Software zur Inventurerfassung für einen Kunden zu erstellen. Die Hardware, sowie das Anforderungsprofil des Userinterface war vorgeschrieben. Hier hatte ich also regelmäßig mit dem Kunden Kontakt.
- Dokumentation: Erstellen einer Dokumentation, welche für das Team und für den Kunden verständlich sind.
- Problemlösung und Support:
- Fehlerbehebung: Analysieren und Beheben von Problemen welche während und nach der Entwicklung auftreten.
- Kundensupport: Unterstützen der Kunden bei Installation, bei der Nutzung, bei Fragen und bei Problemen.
- Qualitätssicherung:
- Tests und Reviews: Durchführen von Tests und Code-Reviews, um so die Qualität der Software sicherzustellen. Qualitätssicherung ist für mich persönlich immer ein leidiges Thema gewesen. Als Softwareentwickler weiß ich wie ich die Software verwende, aber ein Außenstehender oder der Kunde drückt manchmal dorthin wo man es nicht vermutet. Mit der Berufserfahrung lernt man viele vermeidliche Fehler abzufangen (wie fehlerhafte eingaben, falsche Reihenfolge, etc.). Ich habe die Software immer einen Mitarbeitenden gegeben, welcher nicht an der Entwicklung beteiligt war. Oder habe Software getestet an deren Entwicklung ich nicht beteiligt war.
- Feedback-Schleifen: Einholen und Umsetzen von Feedback der Teammitgliedern, der Tester und der Kunden. Auch nach vielen Testen kommt es vor das z.B. das Userinterface nicht den Erwartungen des Kunden entspricht oder dem Kunden Fehler in der Software passieren welche bei internen Tests nicht vorgekommen sind. Diese müssen dann behoben werden. Teilweise kam es vor, das ich live am Telefon Änderungen im Programm vornahm und die Usability direkt mit dem Kunden vereinfachte oder Programmfehler behob.