Ich arbeite in einem kleinen Team in einem mittelständischen Unternehmen, von dem die meisten nicht an der Softwareentwicklung beteiligt sind. Ich bin der neueste und am wenigsten erfahrene Entwickler und hatte vor dem Start keinen beruflichen oder akademischen Hintergrund in Software, aber ich bin sehr zufrieden mit dem Respekt meiner Beiträge und dankbar, dass ich in einem so frühen Stadium meiner Karriere ernst genommen wurde.
Trotzdem habe ich das Gefühl, ich sollte mit dieser großzügigen Sendezeit mehr anfangen. Als Team scheinen wir Probleme zu haben, Dinge zu erledigen. Ich würde gerne etwas vorschlagen können, um die Situation zu verbessern, und ich denke, ich würde angehört werden, wenn es eine gute Idee wäre, aber ich weiß nicht, was ich vorschlagen soll.
Zu den Dingen, die ich als Probleme identifizieren kann, gehören:
- Die Spezifikation der anstehenden Aufgaben ist spärlich. Dies liegt zum Teil daran, dass das Management ein Engpass ist und wir nicht das Geld oder die Leute haben, um so viele detaillierte Anforderungen zu erarbeiten, wie wir möchten. Dies liegt zum Teil auch daran, dass die von uns entwickelte Software recherchierend ist und die genaue Methode erst klar wird, wenn sie demonstriert und zur Bestimmung ihrer Wirksamkeit verwendet wird.
- Der Lead Dev ist sehr angetan von dem, was er "Prototyping" nennt, bis zu dem Punkt, dass er in letzter Zeit darauf besteht, dass alles "Prototyping" ist, was für den Rest von uns so aussieht, als würde man schlechten Code schreiben und ihn den Modellbauern zum Spielen geben. Es ist nicht klar, was er in vielen Fällen von dieser Übung erwartet. Die "tatsächliche" Implementierung leidet dann daran, dass er darauf besteht, dass bewährte Verfahren zu viel Zeit für das Prototyping benötigen. Ich habe noch nicht einmal begonnen, diese verdrehte Logik zu entwirren, und ich bin mir nicht sicher, ob ich es versuchen möchte.
- Von den Modellbauern wird erwartet, dass sie uns alles über die gewünschte Methodik im Detail erzählen, und es wird absolut darauf vertraut, dass das, was sie herausbringen, theoretisch fehlerfrei ist. Dies ist kaum wahr, aber es werden keine Maßnahmen ergriffen, um diese Situation zu korrigieren. Niemand auf der Modellierungsseite äußert Bedenken in einer strukturierten Weise, auf die wahrscheinlich reagiert wird, und sucht auch keine Anleitung bei der Anwendung von Best Practices. Auch gegen ihre Passivität wird nichts unternommen.
- Ich habe schon früher versucht, TDD in das Team zu bringen, fand es aber schwierig, da es für mich neu ist und obwohl diejenigen, die meine Arbeit beaufsichtigt haben, bereit waren, es zu tolerieren, hat sich niemand anders begeistert. Ich kann nicht rechtfertigen, wie viel Zeit ich damit verbringe, mich zu suhlen und Features nicht fertigzustellen, daher wurde die Idee - im Moment - aufgegeben. Ich mache mir Sorgen, dass es nicht wieder aufgenommen wird, weil niemand gerne erfahren möchte, wie er seine Arbeit machen soll.
- Wir haben jetzt einen Server für die kontinuierliche Integration, der jedoch meist nur zur Durchführung mehrstündiger Regressionstests verwendet wird. Es wurde offen gelassen, dass es auch Unit- und Integrationstests mit vollständiger Abdeckung ausführen sollte, aber im Moment schreibt niemand sie.
- Jedes Mal, wenn ich das Qualitätsproblem mit dem leitenden Entwickler anspreche, erhalte ich eine Antwort auf den Effekt von 'Testfunktion A ist unkompliziert, Funktion B ist für den Benutzer viel wichtiger, aber zu schwierig zu testen, daher sollten wir die Funktion nicht testen EIN'. Ich habe wieder einmal keine Fortschritte gemacht, um diese Logik zu entwirren.
....Puh. Wenn ich es so formuliere, sieht es viel schlimmer aus als ich dachte. Ich nehme an, wie sich herausstellt, ist dies ein Hilferuf.