Im Rahmen einer Überprüfung aller Stellenbeschreibungen hat mein Unternehmen beschlossen, Folgendes als Schlüsselergebnis aufzunehmen:
Die Entwicklung der Website wurde pünktlich, innerhalb der Spezifikation und fehlerfrei abgeschlossen
Angesichts der Tatsache, dass sich die Spezifikationen regelmäßig ändern, gibt es keinen formalen Änderungskontrollprozess und die Umgebungen sind, sagen wir, ein wenig unvorhersehbar. Wie realistisch und vernünftig ist dieser KPI?
terminology
Phil.Wheeler
quelle
quelle
Antworten:
"Fehlerfrei" ist viel zu subjektiv . Die "Unerfüllte Funktionsanforderung" eines Mannes ist der "Fehler" eines anderen Mannes. Etwas wie "Sollte im Wesentlichen den Designspezifikationen entsprechen" wäre angemessener. Ich habe noch nie gesehen, was Sie in einer Stellenbeschreibung beschreiben. Ich habe es für Auftragsarbeiten gesehen , aber nicht für Mitarbeiter.
quelle
Ich werde mich den meisten Antworten widersetzen und sagen, dass dies absolut vernünftig und realistisch ist.
Wird die gesamte Entwicklung pünktlich abgeschlossen sein? Natürlich nicht, nicht immer.
Wird die gesamte Entwicklung innerhalb der Spezifikation abgeschlossen sein? Sie möchten es hoffen, aber manchmal ist dies einfach nicht möglich und Sie müssen eine Abweichung von einer unmöglichen oder widersprüchlichen Spezifikation anzeigen.
Und wird jede Entwicklung fehlerfrei sein? Niemals .
Aber dafür ist ein KPI gedacht. Es ist etwas, das gemessen werden kann und anhand dessen Sie Leistung und Fortschritt verfolgen können.
Wenn sich die Spezifikationen regelmäßig ändern, es keinen formalen Änderungskontrollprozess gibt und die Umgebungen nicht vorhersehbar sind, ist es eine Herausforderung, diese Zahl nahezu "fehlerfrei" zu halten. Aber diese Herausforderung ist Ihre Aufgabe , und Sie werden sie hoffentlich ganz gut erledigen - und im nächsten Jahr sogar noch besser, wenn Sie mehr Übung darin haben, mit dem besonderen Chaos Ihres Unternehmens umzugehen.
Gegenfrage: Welche KPIs würden Sie einem Programmierer vorschlagen? Es ist eine schwierige Frage. Vieles, was wir tun, ist schwer zu messen.
quelle
Wenn es sich um eine Jobbeschreibung handelt, würde ich mir darüber keine Sorgen machen, da die Arbeit an fehlerfreiem Code Teil des Jobs eines typischen Programmierers ist (auch wenn wir ihn niemals erreichen können).
Als KPI ist es jedoch zu weitreichend, aber beschuldigen Sie nicht die Person, die es vorgeschlagen hat, wenn sie keine Programmierer sind. Erklären Sie einfach, dass diese Aussage ein Ziel festlegt, das für die Organisation möglicherweise unerwünscht ist. Das heißt, "fehlerfrei" ist ein extrem hoher Standard für Software, deren Lieferung ein Vermögen kosten würde. Erklären Sie, dass für ein gut ausgeführtes Softwareprojekt entschieden werden muss, ob es sich lohnt, für jeden Fehler wertvolle Entwicklerzeit aufzuwenden.
Hier ist ein Beispiel, das den Punkt gut macht.
Ein Programmierer stellt fest, dass unsere Software einen "Jahr 3000" -Fehler aufweist und nach dem 31. Dezember 1999 nicht mehr funktioniert. Es dauert 6-8 Monate, um das Problem zu beheben. Basierend auf dem KPI wird empfohlen, dieses Projekt zu übernehmen, obwohl es keinen wirklichen Wert für das Unternehmen hat.
Okay, dieses Beispiel ist ein wenig extrem, aber in jedem Softwareprojekt werden buchstäblich Dutzende kleiner Fehler entdeckt, die ebenfalls nicht den ROI generieren, der zur Behebung dieser Fehler erforderlich ist. Wenn der KPI stattdessen implizieren sollte, dass der Programmierer den Fehler überhaupt nicht einführt, erscheint es für JEDEN Mitarbeiter vernünftig, sich an den Standard zu halten, niemals einen Fehler bei der Ausführung seiner Arbeit zu machen?
quelle
Nein
Es ist nicht nur nicht angemessen, es ist lächerlich
Tests können nur das Vorhandensein von Fehlern nachweisen, nicht deren Fehlen. Daher müsste jedes Programm, das im Rahmen dieser Verpflichtung geschrieben wird, einen strengen Korrektheitsnachweis enthalten ... und eine 100% ige Testabdeckung
quelle
Natürlich ist es die Aufgabe und Verantwortung jedes Programmierers, fehlerfreien Code zu schreiben. Das ist eine durchaus vernünftige Erwartung. Wie können Sie ein professioneller Programmierer sein, wenn Sie Code veröffentlichen, der nicht funktioniert? Wie können Sie sich als professioneller Programmierer betrachten, wenn Sie Code veröffentlichen, von dem Sie nicht wissen, dass er funktioniert?
Wenn Sie einen Maler einstellen, erwarten Sie, dass er seine Arbeit gut macht. Sie erwarten, dass das Ergebnis seiner Arbeit fehlerfrei ist. Wenn es Fehler gibt, erwarten Sie, dass er die Verantwortung für diese Fehler übernimmt und sie kostenlos behebt. Was mehr ist, wenn die Fehler Sie Geld kosten, erwarten Sie, dass er Sie erstattet. Warum haben Sie diese Erwartungen? Weil der Maler ein Profi ist.
Programmierer lieben es, alle anderen für ihre Fehler verantwortlich zu machen. "Mein Programm hat Fehler aufgrund der Anforderungen oder des Zeitplans oder weil der Mond im 8. Haus ist." Aber es gibt wirklich niemanden, dem man die Schuld geben kann. Wenn Ihr Programm Fehler enthält, legen Sie diese dort ab.
Unser Beruf wird nie sein ein Beruf bis Programmierer erkennt , dass der Bock mit ihnen hält. Dass sie für die Qualität ihrer Programme verantwortlich sind.
Wissen Sie, warum Unternehmen Software-QS-Abteilungen eingerichtet haben? Weil Programmierer ihre Arbeit nicht machten! Programmierer haben so viel Mist veröffentlicht, dass Unternehmen ganz neue Abteilungen bilden mussten, um sie zu überprüfen.
Wie lang ist die Fehlerliste? Es ist professionell, Tausende von Fehlern in der Fehlerdatenbank zu haben? Ganz klar ist es nicht. Es ist ein Spiegelbild von schlechtem Benehmen, schlechter Disziplin und ehrlich gesagt Schande.
Wir werden niemals ein Beruf sein, bis wir erkennen, dass es unsere Aufgabe ist, dafür zu sorgen, dass die Qualitätssicherung nichts findet.
quelle
Leider klingt dies nur nach einer Möglichkeit für sie, "alle Grundlagen abzudecken", und wird eindeutig nicht empfohlen und führt wahrscheinlich nur zu Desillusionierung bei den Entwicklern.
Dies ist jedoch erst dann von Bedeutung, wenn Sie sehen, was sie mit diesem Text während des Überprüfungszeitraums tun. Überreagieren Sie also nicht zu schnell - am Ende des Tunnels kann es immer noch zu Vernunft kommen.
quelle
"Fehlerfrei" wie in "perfekt?" Wie in "geschrieben von Gott und den Engeln, nicht von Menschen?" (Wir sprechen hier von Programmlogik- und möglicherweise Hardwarelogikfehlern)
Ich kann nicht einmal über eine einzelne Codezeile ehrlich sagen, dass sie fehlerfrei ist. Das liegt daran, dass wir Menschen keine negativen Hypothesen beweisen können!
Das Beste, was ich sagen kann, ist, dass die Wahrscheinlichkeit eines Fehlers eine Zahl zwischen 0 und 1 ist. Ich erreiche diese Zahl durch gut oder schlecht definierte und gut oder schlecht verstandene Prinzipien für Softwareentwicklung und -tests. durch eine Zählung der fraglichen Quellensoftwarezeilen; durch das Verständnis, wie gut oder schlecht ich Kandidat, armer Köter, diese Prinzipien bei der Erstellung dieser Codezeilen anwende; und mehr.
Und ich kann dieses Verständnis nur als Wahrscheinlichkeit ausdrücken . Der Begriff "logikfehlerfrei" bedeutet also so gut wie nichts.
Wenn ich eine Anzeige für einen Softwareentwickler sehen würde, der "fehlerfreien" Code erstellt, würde ich ihn entweder sofort anwenden oder sofort ausführen: Das Unternehmen hat nicht viel darüber nachgedacht, wie es seine Software entwickelt, testet und liefert . Es wird also entweder eine großartige Gelegenheit oder ein endloser Albtraum sein.
Von jeder Software kann und muss ich jedoch leicht sagen, dass ich Code erwarte, der keine Fehler enthält, die außerhalb dieses blöden, trüben, logischen Materials liegen: Code, der ohne Fehler oder Warnungen kompiliert und verknüpft wird; das ist "gültiges HTML" oder "gültiges CSS"; JavaScript (sagen wir), das keine unerklärlichen Fehlermeldungen oder Browserfehler generiert. Diesen Teil kann ich einfach messen und in einem Diagramm in Schwarzweiß markieren.
Dieser Teil ist kinderleicht. Jeder kann tun , dass .
Hey, viel Glück bei deiner Suche :-)
quelle
Bin ich dumm oder bedeutet "Fehler" nicht "schwerwiegende Compiler-Nachricht in Höhe von nicht kompilierbarem Code"?
Nach dieser Definition ist es eine sehr vernünftige Anforderung ...
quelle