So ziemlich alle Antworten wurden hier und anderswo an zahlreichen Orten zum Tode gesagt. Oder zumindest habe ich es zu Tode gehört. Lernen Sie Ihre IDE, lernen Sie schneller zu schreiben, verwenden Sie Frameworks, verwenden Sie die Codegenerierung usw. usw. Ja, natürlich werden diese Dinge helfen, und ich bezweifle, dass es viele Programmierer gibt, die alle beherrschen. Aber als Programmierer, der diese Fragen stellt und Websites wie Stack Overflow häufig besucht , kannten Sie diese Dinge bereits . Wolltest du nur, dass sie hier wiederholt werden, oder wolltest du nur ein bisschen Luft schnappen?
Aber was wäre, wenn wir diesen Zustand erreichen könnten? Ich meine, beherrschen Sie all diese Vorschläge? Was würde dann passieren? Gut. Ich vermute, dass sich die Zeit noch weiter verkürzen wird. Und wieder kehren wir zu einer Wahrnehmung von Qualität zurück. Ich meine, unser Handwerk hat sich definitiv weiterentwickelt und ist im Laufe der Jahrzehnte immer produktiver geworden. Aber hat die Qualität in dieser Zeit zugenommen (natürlich mit Ausnahme der ersten Jahre)?
Meine Antwort ist einfach: Qualitätssoftware braucht Zeit ! Sie können nur einen gegen den anderen tauschen (Qualität / Geschwindigkeit). Aber ja, wir alle wissen, dass wir nicht ehrlich sind, inwieweit dieser Kompromiss häufig das schnelle Ende der Skala erreicht. Und wir sind in Projekten von Anfang an noch größere Lügner!
Ich sage, dass Sie hier nicht schuld sind. Das Problem ist die Wahrnehmung der Menschen, wie lange hochwertige Software dauern sollte. Wir täuschen uns in der Überzeugung, dass wir in der Lage sind, Qualitätssoftware nach den Zeitplänen unserer Manager oder sogar nach unseren Schätzungen zu erstellen. Wir machen keine Qualitätssoftware . Wir schreiben Software, die manchmal in bestimmten Ecken einer Anwendung mit Qualitätsblitzen funktioniert.
Was können wir dagegen tun? Wir können unsere Chefs nicht einfach davon überzeugen, dass wir die Investition in jedes unserer Projekte verdoppeln oder verdreifachen müssen. Ich sage mit gutem Beispiel vorangehen. Erstellen Sie ein wirklich großartiges Stück Software als Nebenprojekt. Nehmen Sie sich Zeit und gehen Sie keine Kompromisse ein. Achten Sie währenddessen darauf, wie Sie Fortschritte machen. Notieren Sie sich die scheinbar nicht zusammenhängenden Aufgaben, für die Sie unerwartet viel Zeit aufgewendet haben, und prüfen Sie, ob Sie dies rechtfertigen können. Vergleichen Sie dies mit allen anderen Projekten, an denen Sie gearbeitet haben. Sein brutal ehrlichmit dir selbst und allen Aspekten dieser Analyse. Können die zusätzlichen Dinge, die Sie mit Ihrer Qualitätssoftware getan haben, in "echten" Projekten bei der Arbeit vernachlässigt werden? Aber vielleicht ist Ihr Versuch gescheitert. Was war der Grund? Warst du gelangweilt und hast dich nur beeilt, um die Kernfunktionen zu erledigen? Ich habe so etwas noch nicht selbst gemacht, weshalb ich diesen Gedanken mit einigen Zweifeln beende - aber ich beabsichtige, es wirklich zu versuchen. Ich werde Sie auf dem Laufenden halten :).
Schließlich denke ich, dass die meisten (wenn nicht alle) Leistungsbewertungen verdreht und außerordentlich manipulativ sind. Sie können Qualität und Geschwindigkeit nicht auf 100% drosseln. Ihr Chef sollte Sie anhand eines Standards bewerten, der von der Organisation festgelegt wird. Der Standard der Organisation in Bezug auf den Kompromiss zwischen Qualität und Geschwindigkeit. Stellen wir uns vor, OrangeSoft Inc. erwartet 33% Qualität und 66% Geschwindigkeit. Wenn Sie also Code schreiben, der vielleicht ein Drittel der Testeinheiten enthält, sollten Sie dies aber mit Geschwindigkeit und verkürzter Lieferzeit wieder gutmachen. (Dies sind ziemlich grobe Analogien, aber Sie verstehen es). Stattdessen schreibt Bob Code extrem schnell, ist aber notorisch fehlerhaft. Bei seiner Leistungsbeurteilung erhält er also 3/5 für Qualität und 5/5 für Geschwindigkeit. Carol hingegen schreibt den Code viel langsamer, produziert aber deutlich weniger Bugs. Sie bewertet die Qualität mit 5/5, die Geschwindigkeit mit 3/5. In jedem Fall werden Bob und Carol bei ihrer Gehaltserhöhung angedockt. Kann jeder Mitarbeiter ein perfektes Ergebnis erzielen? Ist das fair?