Nicht im Projektteam, aber gebeten, Änderungen am Code vorzunehmen – wie kann ich mich davor schützen, zum Sündenbock für irgendwelche Probleme zu werden?

Ich arbeite als Auftragnehmer und Entwickler an einem Kundenstandort im Kundenteam. Das Arbeitsumfeld ist politisch sensibel.

Ein anderes Vertragsunternehmen gewann die Entwicklungsarbeit des gesamten Projekts, und ich bekam keine Entwicklungsrolle in diesem Projekt. Als ich das Projektmanagement fragte, sagten sie, dass sie, da sie das Projekt gewonnen haben, die Entwicklungsarbeit leisten müssten und dass der Manager mir eine andere Rolle geben werde. Gemäß meiner neuen Rolle muss ich die Anwendung mit Hilfe der Überwachungstools überwachen und melden, wenn ich Probleme gefunden habe.

Kürzlich hat mich der technische Leiter gebeten, von mir gemeldete Probleme zu beheben, indem ich Codeänderungen vornehme. Gerne übernehme ich diese Arbeit. Aber ich fürchte, wenn ich anfange, die vom Vertragsunternehmen verursachten Probleme zu beheben, und etwas Schlimmes passiert, wird das Vertragsunternehmen mich zum Sündenbock machen oder mich beschuldigen.

Ich habe die Erfahrung gemacht, dass die Mitarbeiter dieses Beratungsunternehmens andere beschuldigen, ohne eine tiefere Analyse durchzuführen. Ich möchte nicht beschuldigt und zum Sündenbock gemacht werden.

Wie kann ich dem technischen Leiter meine Angst ausdrücken und mich vor dem potenziellen Risiko schützen, beschuldigt zu werden?

Erster Schritt: Der Manager hat Sie anderweitig zugewiesen. Der technische Leiter kann das nicht ändern, außer indem er durch den Manager geht. Sprechen Sie also mit dem Manager darüber, ob Sie diese Arbeit annehmen sollten. Arbeiten Sie darüber hinaus mit einem Change-Control-System wie Subversion, Jazz oder Git? Wenn ja, wer welche Änderungen vorgenommen hat, wird nachverfolgt, und er kann Ihnen keine Vorwürfe machen, es sei denn, er kann nachweisen, dass Ihre Änderung das Problem verursacht hat. (Einige Leute nennen diese „Schuldkontrollsysteme“ genau aus diesem Grund.)
Hallo, ich habe versucht, Ihren Beitrag etwas lesbarer zu machen - die Sprache war etwas ungewöhnlich. Hoffe, das ist in Ordnung.
Könnten Sie auch einige Punkte klären? Was ist ein „kontaktierendes Unternehmen“? Was meinen Sie mit „Umwelt ist politisch sensibel“? In welchem ​​Verhältnis stehen Sie zum „Tech Lead“? Ist er/sie Ihr Vorgesetzter? Dein Kollege? Vom Auftraggeber? Oder arbeitet er/sie im Projektteam?
Kann der technische Leiter Ihnen einen Haftungsverzicht unterzeichnen? Kann der Kunde dasselbe tun? Wenn Sie eine dieser beiden Fragen mit "nein" beantworten. Dann tu es nicht. Was, wenn du morgen mit dem Bus zur Arbeit fährst und der freundliche Busfahrer plötzlich will, dass du den Bus fährst (weil er gehört hat, dass du einen Gewerbeführerschein hast). Die Antwort wäre immer noch "nein". Du hast keinen Vertrag, um diesen Bus zu fahren. Sie haben nicht denselben Arbeitgeber. Sie haben keine Versicherung, um dieses bestimmte Fahrzeug zu fahren. Sie werden nicht dafür bezahlt, dieses bestimmte Fahrzeug zu fahren. Also warum um alles in der Welt würdest du es überhaupt in Erwägung ziehen?!!

Antworten (4)

Wie kann ich dem technischen Leiter meine Angst ausdrücken und mich vor dem potenziellen Risiko schützen, beschuldigt zu werden?

Sie sollten den Lead daran erinnern:

Als ich das Projektmanagement fragte, sagten sie, dass sie, da sie das Projekt gewonnen haben, die Entwicklungsarbeit leisten müssten und dass der Manager mir eine andere Rolle geben werde.

Ihre neue Aufgabe besteht darin, die Qualität des Produkts zu verbessern, indem Sie Fehler finden. Wenn Sie anfangen, Entwicklungsarbeit zu leisten, die unter ihren Vertrag fällt, könnten Sie dafür haftbar gemacht werden und nicht sie.

Sie schützen also Ihren Kunden, indem Sie diese Arbeit nicht tun. Wenn Sie dies tun, wird es für sie sehr schwierig, das andere Unternehmen an ihren Vertrag zu halten, und es könnte sehr teuer werden.

Abschließend sollten Sie betonen, dass die Rolle des „Fehlerfindens“ nicht mit der „Fehlerbehebung“ identisch ist und den Entwicklungsprozess verwirrend oder schwierig machen könnte, selbst wenn sie sich nicht um Vertragsfragen kümmern. Qualitätssicherung sollte nicht Entwicklung sein, und Entwicklung sollte keine Qualitätssicherung sein.

Zu deinem akuten Problem:

Aber meine Angst ist, wenn ich damit beginne, die vom Vertragsunternehmen verursachten Probleme zu beheben, wenn etwas Schlimmes passiert, macht mich das Beratungsunternehmen zum Sündenbock oder gibt mir die Schuld.

Lassen Sie Ihre Fixes von jemandem des Vertragsunternehmens überprüfen. Gehen Sie zu Ihrem technischen Leiter und PM und lassen Sie ihn jemanden im Team des Vertragsunternehmens finden, der so hoch wie möglich ist, und ihn bitten, sich zur Verfügung zu stellen, um Ihren Code zu überprüfen. Stellen Sie sicher, dass Sie gründliche Überprüfungen von ihnen erhalten und nicht nur Ihre Korrekturen durchwinken, und dass die Überprüfungen rechtzeitig erfolgen. Lassen Sie sich von Ihrem TL und PM verfolgen, wenn dies nicht der Fall ist. Wenn etwas schief geht, ist der Rezensent genauso am Haken wie Sie.

Längerfristig:

Ich habe die Erfahrung gemacht, dass die Mitarbeiter dieses Beratungsunternehmens professionell andere beschuldigen, ohne eine tiefere Analyse durchzuführen.

Es hört sich so an, als gäbe es in diesem Team ein toxisches Arbeitsumfeld, das repariert werden muss. Auch das ist die Verantwortung Ihres TL und PM. Insbesondere wenn jemand das nächste Mal zu Unrecht beschuldigt wird, bringen Sie Ihren TL dazu, dem nachzugehen, um herauszufinden, was tatsächlich passiert ist, unter dem üblichen Vorwand, dafür zu sorgen, dass es nicht wieder passiert.

+1 dafür, dass der Code überprüft und genehmigt wurde, aber ich würde empfehlen, jemanden im Unternehmen dazu zu bringen, ihn zu genehmigen (möglicherweise zusätzlich zu den anderen Auftragnehmern). Das Unternehmen hat das letzte Wort bei der Genehmigung und so sind die Mitarbeiter des Unternehmens immer auf dem Laufenden.

Einige einfache Schritte:

  1. Gehen Sie so schnell wie möglich zu Ihrem Vorgesetzten. Nach dem, was Sie sagen, sieht es so aus, als ob das Unternehmen seine Fehler vertuschen möchte.
  2. Nehmen Sie keine Korrekturen vor, bis Ihr Vorgesetzter zugestimmt hat.
  3. Wenn Sie die Genehmigung erhalten, dokumentieren Sie alle Änderungen und speichern Sie Kopien des von Ihnen geschriebenen Codes, falls sie weitere Änderungen vornehmen und versuchen, Ihnen die Schuld zu geben.
  4. Wenn Sie vom Vorgesetzten genehmigt werden, lassen Sie alle Änderungen, die Sie vorgenommen haben, von jemandem aus dem Unternehmen als „getestet und genehmigt“ abzeichnen und genehmigen.

Die einfache Antwort ist Tests. Dafür ist ein automatisiertes Test-Framework gedacht, um sowohl neuen/aktualisierten Code zu validieren als auch nachgelagerte Fehler zu erkennen, die durch Änderungen bei der Integration verursacht werden.

Schreiben Sie Tests zum aktuellen Code (zumindest für die Bereiche, die Sie ändern werden), um die aktuelle Funktionalität zu demonstrieren und/oder das aktuelle Problem hervorzuheben, das Sie beheben werden. Wenn es bekannte Abhängigkeiten gibt, können Sie Tests schreiben, um zu zeigen, dass es vorher/nachher funktioniert.

Wenn Sie jetzt den festen/neuen Code schreiben, fügen Sie Tests hinzu, um dies zu überprüfen

Wenn danach etwas schief geht, können Sie zeigen, dass es nicht Ihre Änderung war.

Sie müssen das Hinzufügen von Tests in alle Schätzungen einbeziehen, wenn Sie derzeit keine automatisierten Tests verwenden, um die Zeit zu berücksichtigen.

Tests sind immer eine gute Sache, aber diese technische Lösung reicht möglicherweise nicht aus, um ein im Grunde politisches Problem zu lösen. Beispielsweise könnte eine Funktionsänderung, die alle Tests besteht, immer noch als unzulässige Änderung der Geschäftslogik oder -funktionalität angefochten werden.
Aber eine Feature-Änderung ist etwas anderes, bei so etwas würde das Beratungsunternehmen die Hände waschen. Das OP sagt: "Ich habe erlebt, dass die Mitarbeiter dieses Beratungsunternehmens andere beschuldigen, ohne eine tiefere Analyse durchzuführen", was impliziert, dass sie bei Auftreten eines Fehlers sagen werden: "Nicht unsere Schuld, da das OP den Code geändert und es getan hat", die Tests helfen zu beweisen das ist nicht der Fall.