Offshore-Fehlerbehebung


11

Wenn ein potenzieller Arbeitgeber Ihnen sagen würde, dass er "Fehlerbehebungen ausgelagert hat, weil Entwickler es hassen, Fehler zu beheben", was würden Sie denken? Was könnten Ihre Bedenken sein?


1
Entwickler hassen es, Fehler zu beheben? Ich denke, es ist mehr so, dass sie es hassen, einen zuverlässigen Weg zu finden, um den Fehler zu reproduzieren , wofür Tester da sind. Wenn Sie Fehlerbehebungen auslagern, können Sie auch das gesamte Entwicklungsteam auslagern. Niemand versteht den Code so gut wie die Person, die ihn selbst geschrieben hat .
Rob

1
Klingt nach einer schrecklichen Idee.
Andres F.

1
@AndresF. +1. Dies schafft eine Umgebung, in der Entwickler einfach Mist an die Wand werfen und hoffen, dass er klebt. Ist das nicht ihr Problem, wenn nicht, oder?
MrFox

Antworten:


25

Das Beheben unserer eigenen Fehler macht uns tatsächlich zu einem besseren Entwickler . Und es ist ein ziemlich angenehmer Moment für mich. Besonders wenn sie nett gemeldet werden.

Wenn sie Fehler nicht beheben möchten, liegt das Problem woanders.

Ich vermute, das Problem ist, wie Fehler vom Management oder noch schlimmer wahrgenommen werden, durch schlechte Entwurfsentscheidungen und / oder keine (Einheits-) Tests, was zu einer schmerzhaften Fehlerbehebung führt.

Das Outsourcing von Fehlerbehebungen wird die Sache wahrscheinlich noch schlimmer machen.

Entwickler könnten versucht sein, die Qualität zu verringern. Wen interessiert das? Einige Offshore-Leute sind da, um ihr Chaos zu beseitigen.

Bis die Offshore-Leute die Onshore-Leute ersetzen.


lol Sie erschrecken gerne die Leute dontcha
Aditya P

@Aditya: hier ist nichts beängstigend, genau das passiert bei meinem letzten Arbeitgeber. Die Offshore-Leute hatten die ganze Zeit genug davon, Fehler zu beheben, und ihr Manager (Amen für ihn) begann, Schulungen anzubieten. Irgendwann waren sie gut genug, um einfache Refaktoren, Aufräumarbeiten usw. zu starten. In der Zwischenzeit änderte sich im Hauptbüro nichts. Ich kann sehr leicht sehen, dass die Offshore-Leute im nächsten Jahr den größten Teil der Arbeit erledigen werden und die Leute im Hauptbüro ... na ja ... nur schade, dass sie den Zug nicht kommen sahen ;-P
Newtopian

15

Geh , lauf weg ... schnell und schau niemals zurück ...

Ich habe für eine solche Firma gearbeitet, sie dachten, sie wären schlau,

  • Hey, wir haben alle diese Fehler, aber unsere Senioren beschweren sich, dass sie zu viel Zeit damit verbringen, Fehler zu beheben.

  • Lassen Sie uns ein Offshore-Büro eröffnen und die anderen sich darum kümmern.

für einen Manager, der nach einem wirklich guten Plan klingt und die Entwickler waren endlich frei, sich der interessanteren Aufgabe zu stellen, das nächstbeste zu schaffen !!

ho ... aber warte ...

Nach zwei Jahren wechselten sie von einem Team von 5 Entwicklern in ihrem Hauptbüro, das alles erledigte, zu einem Team von 2 Entwicklern, die neue Dinge erstellen, und einem Team von 30 Mitarbeitern, die Fehler finden und beheben.

Weißt du was? Das Bugfixing-Team hat Probleme, sie können nicht mithalten.

Dies machte die "Senioren" für ihre eigenen Fehler völlig unerklärlich. Das Schlimmste noch, weil alles so weit weg passiert ist, hat das Management es auch nicht bemerkt und die Codequalität ist von einem bereits miserablen Qualitätsniveau SEHR schnell gesunken.

Als ich ging, eröffneten sie bereits zwei weitere Büros für Bugfixer und können immer noch nicht hinter dem jetzt einzigen Entwickler mithalten, der sie erstellt. Sie denken tatsächlich, es liegt daran, dass die neuen Leute nicht klug genug sind ...

Also ja, von nun an, wenn eine Firma sagt, dass sie ihre Fehlerbehebung an ein Büro in Übersee ausgelagert hat, vertraue mir ... ich renne ... schnell.

Dies ist die Verwaltungsmethode für Papiertüten .

Stellen Sie sich auf eine Eisenbahn, warten Sie, bis ein Zug kommt, wenn Sie ihn sehen, legen Sie eine Papiertüte über Ihren Kopf und ... POOF .. Zug weg !!. Magie !


9

Es klingt nach einer guten Idee, wenn das Unternehmen jemand anderen bezahlt, um mein Chaos zu beseitigen, es sei denn, ich erwarte, dass ich den "sauberen" Code nehme und neue Funktionen hinzufüge. Und wenn sie es so vermasselt haben, dass sie es nicht reparieren können, werden Sie das Debuggen debuggen.

Es ist nicht wünschenswert, nicht angemessen entschädigt zu werden, weil zusätzliche Entwickler eingestellt werden müssen.

Es ist kontraproduktiv, unverhältnismäßig viel Zeit damit zu verbringen, die anderen Entwickler zu schulen, wenn Sie es selbst hätten beheben können.

Ein Teil von mir ist der Meinung, dass diejenigen, die Probleme verursachen, diejenigen sein sollten, die sie beheben, oder es gibt keinen Anreiz, Fehler zu vermeiden.


6

Sind die Entwickler nicht daran interessiert, aus ihren Fehlern zu lernen? Können Sie Fehler ohne spezifisches Domänenwissen beheben, und verfügt der Outsourcing-Partner über dieses Wissen? Der Fixierungsteil ist meistens der einfachste, es ist der Analyseteil, der die Zeit in Anspruch nimmt. Aus meiner Sicht ist es eine dumme Entscheidung.


6

Wenn ein potenzieller Arbeitgeber Ihnen sagen würde, dass er "Fehlerbehebungen ausgelagert hat, weil Entwickler es hassen, Fehler zu beheben", was würden Sie denken? Was könnten Ihre Bedenken sein?

Ich würde weit, weit, weit weg rennen. Ein Entwickler ist immer, immer, immer dafür verantwortlich, seine eigenen Fehler zu beheben. Das Essen von Hundefutter ist ein Grundprinzip guter Technik.

Darüber hinaus ist die Fehlerbehebung ebenso wichtig wie die Entwicklung. Ich meine, Entwicklung ist Code schreiben, testen und debuggen / reparieren.

Was ich von dieser Firma bekomme, ist, dass sie die Fehlerbehebung als eine Aufgabe zweiter Klasse behandelt. Das an sich ist ziemlich beunruhigend und ich würde ihre Arbeitsqualität (und damit auch ihr Arbeitsumfeld) sehr in Frage stellen. Beunruhigender ist, dass sie Arbeit für sie an Arbeitnehmer vor der Küste delegieren, was für sie zweitklassige Arbeit ist. Das ist beunruhigender. Es ist klar, dass in ihrem Konstruktionsprozess eine soziale Schichtung verankert ist.

Ein Fehler wird immer durch eine Änderung verursacht, und in der Regel liegt der Fehler in der Verantwortung desjenigen, der die Änderung eingeführt hat. Wer könnte besser als der Urheber die Natur des Fehlers und seine Lösung verstehen?

Wie kann sichergestellt werden, dass der ursprüngliche Autor dem Offshored-Ingenieur zur Verfügung steht, wenn er weltweit delegiert wird?

Wird er überhaupt verfügbar sein und den Offshored-Ingenieur zurücklassen, der nur einen Rückstand an Fehlern und Fristen hat, aber keine Unterstützung von der Metropole ? Welche Art von Fehlerbehebung könnte eine Person möglicherweise erhoffen? Wer behebt seine Fehler? Und was hindert die Entwickler der Metropole daran, über die Fehlerbehebung post mortem zu lernen?

In allen Bereichen gibt es Arschlöcher. Dies gilt insbesondere für Software. Da dies unvermeidlich ist, besteht Ihre einzige Möglichkeit darin, mit Arschlöchern zu arbeiten , die mehr wissen als Sie oder die Dinge richtig machen. Diese Firma scheint dieser Beschreibung nicht zu entsprechen.

Kurz gesagt, lauf weg.


2
"Darüber hinaus ist die Fehlerbehebung genauso wichtig, vielleicht sogar wichtiger als die Entwicklung." Ich weiß, was Sie dort meinen, aber ich würde sogar sagen: Ich kann eine solche Zweiteilung nicht ergründen. Die Fehlerbehebung ist ein wesentlicher Aspekt der Entwicklung.
Dan Ray

1
@ Dan - yep, deine Aussage ist weitaus korrekter. Eine solche Zweiteilung besteht nicht.
Luis.espinal

4

Erwarten sie wirklich, dass eine Reihe von Offshore-Nachwuchsentwicklern in der Lage sind, eine Reihe von Code für leitende Entwickler zu reparieren? Es ist, als würde eine Krankenschwester alle Neuroligisten überprüfen und sie dort wiederholen, wo er Fehler gemacht hat. SCHLECHTE IDEE!


3

Ich wäre besorgt darüber, wie gut ihre Mitarbeiter den Code kennen, den sie entwickeln.
Ich würde mich auch fragen, warum es genug Fehler gibt, um die damit verbundenen zusätzlichen Kosten zu rechtfertigen. Ich würde mir auch Sorgen um die langfristige Zukunft des Unternehmens machen. Es gibt viele Artikel im Internet, in denen behauptet wird, dass diese Unternehmen denselben Code für mehrere Projekte verwenden, selbst in derselben Branche.

Das Beheben von fehlerhaftem Code ist Teil des Prozesses zum Schreiben von Code. Dadurch können Sie besser verstehen, was Sie vor 6 Monaten falsch gemacht haben. Sie machen also nicht denselben Fehler, wenn ein anderer Entwickler Ihre Fehler behebt, wie können Sie dies verhindern? Fehler immer wieder auftreten?


3

Das klingt vage nach meinem vorherigen Arbeitgeber, mit Ausnahme des "potenziellen Arbeitgebers". Sie haben Entwickler durch Abrieb verloren und zu viele verloren, um vorhandene Produkte zu unterstützen, während sie neue Funktionen hinzugefügt haben, die aufgrund von Änderungen in Gesetzen und Vorschriften erforderlich sind (60% der Einnahmen des Büros stammen aus einem VB6-basierten Produkt, und MS hat angegeben, dass die VB6-Laufzeiten wird in keinem zukünftigen Betriebssystem verteilt, so wird es sein, als Vista herauskam - ein verrücktes Durcheinander, um Dinge zu reparieren). Die Machthaber wollen das Unternehmen bald an die Öffentlichkeit bringen, deshalb hungern sie alle nach Ressourcen, damit die Bilanz besser aussieht als sie ist. Offshore-Einstellungen sind also der einzige Weg, um dem Markt auf dem Markt zu bleiben.

Aufgrund meiner Erfahrungen heißt es in dem Zitat, dass Ihr potenzieller Arbeitgeber billig ist.


+1 für den schlechtesten Job aller Zeiten. Es hört sich so an, als hätten sie nicht genug von diesen Einnahmen für das Projekt verwendet.
Ramhound

mit Ausnahme des "potenziellen Arbeitgebers" -Bits <LOL
Greg B

Ich bemerke den Satz "früherer Arbeitgeber". Herzliche Glückwünsche.
David Thornley

@ Ramhound, David, Greg, es war ein besserer Ort, als ich anfing, ich verließ den Ort Ende Dezember (kurz nach meinem 5. Geburtstag). Seit meiner Einstellung wurde niemand eingestellt, und in den letzten zwei Jahren haben 6 Entwickler gekündigt. Der letzte, der abreiste, war seit 11 Jahren dort.
Tangurena

3

Es kommt darauf an, was sie unter "Beheben von Fehlern" verstehen. Wenn dies Fehler während des Entwicklungs- / Testzyklus behebt, ist es sehr seltsam, dass dies die Aufgabe der ursprünglichen Entwickler ist. Wenn sie andererseits bedeuten, dass sie die Wartung eines freigegebenen Produkts ausgelagert haben, ist dies nicht ungewöhnlich und nichts, worüber ich mir Sorgen machen würde.


Guter Punkt, niemand sonst hat sich diesen Winkel vorgestellt.
Greg B

@ Greg & Steve - Ich glaube nicht, dass es wichtig ist, ehrlich zu sein. Wenn sie Fehler in einer Release-Version beheben, wie können diese Korrekturen jemals in den Test-Build integriert werden, wenn die Entwickler die Fehlerbehebungen nicht selbst schreiben?
Ramhound

Wenn die Fehlerkorrekturen in die Quellcodeverwaltung eingecheckt sind, können sie leicht von einem anderen Team in eine andere Niederlassung integriert werden. Es ist überhaupt keine große Sache.
Steve

Sie machen einen guten Punkt, obwohl ich dieses Szenario nur dann wirklich genehmigen würde, wenn die Anwendung ein Legacy-System ist, das nicht mehr aktiv entwickelt wird, sondern aus irgendeinem Grund funktionsfähig bleiben muss. Sagen wir eine neue Generation, die eine komplette Umschreibung der fraglichen ist.
Newtopian

2

Ich habe die Erfahrung gemacht, dass das Einbringen eines externen Teams nachträglich ungefähr so ​​viel Zeit in Anspruch nimmt wie das Beheben eigener Fehler - diese müssen auf den neuesten Stand gebracht und in den Entwicklungsprozess einbezogen werden. Und dann kontinuierlich auf dem Laufenden gehalten. Koordination ist schwieriger als das Schreiben von Code.


1

Wenn ich an einer Codebasis arbeiten möchte, möchte ich die Gewissheit haben, dass jeder mit Commit-Berechtigungen einigermaßen kompetent ist. Dies schließt zum Beispiel einige Menschen in Indien ein, aber nicht diejenigen, die normalerweise ausgelagert sind.

Darüber hinaus befinden sich die meisten meiner Fehler in komplizierteren Codeabschnitten, und diese sind diejenigen, die der Offshore-Programmierer am wenigsten versteht, bevor er eine Fehlerbehebung anwendet.


1

Diese Richtlinie existiert in einigen Unternehmen tatsächlich unbewusst. Ich arbeite für einen Outsourcer. Ich und meine Kollegen sind kompetentere Programmierer als die Leute vor Ort. Sie bitten uns, ihnen den Umgang mit Werkzeugen usw. beizubringen. Die andere Seite davon ist, dass wir Probleme in ihrem Code schneller erkennen als sie.

Im Allgemeinen befinden sich die Programmierer des Clients physisch im selben Gebäude wie zumindest einige der Benutzer, sodass sie mit größerer Wahrscheinlichkeit einen Kontext erhalten, der nicht über Hemisphären hinweg reicht. Wir finden, dass es gut funktioniert. Der fehlende Teil für mich ist, dass sie unseren Code nicht überprüfen. Wenn der Vertrag endet, können sie einige Überraschungen oder Fragen haben, nicht aufgrund von schlechten Praktiken unsererseits, sondern nur aufgrund der üblichen Probleme, die Sie haben, wenn das Projekt eines anderen übernehmen.

Auf jeden Fall bin ich froh, dass es in unserem Fall keine offizielle Richtlinie ist, da ich denke, dass dies die Programmierer vor Ort dazu bringen würde, kaum mehr als BAs zu sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.