Wie gehe ich mit Ad-hoc-Einstellungen um?

13

Ich bin vor zwei Monaten einem Entwicklerteam von sechs beigetreten. Die Leute sind nett, alles ist gut. Aber immer mehr beobachte ich eine Ad-hoc-Denkweise. Dinge werden schnell behoben, auf Kosten der zukünftigen Verwendbarkeit, es gibt nur wenige Tests und zwei Personen gaben erfreut zu, dass sie das Wissen lieber in ihrem Kopf herumtragen, als es aufzuschreiben.

Wie gehe ich damit um? Ich würde gerne mit gutem Beispiel vorangehen, aber die Zeit ist begrenzt - ich mag es , das Zeug zu entwerfen und tatsächlich umzusetzen. Aber ich fürchte, die Ad-hoc-Denkweise infiziert mich und anstatt nach Klarheit und Einfachheit in Design und Code zu streben - was nicht einfach zu etablieren ist - werde ich in eine endlose Spirale von Hacks auf Hacks hineingezogen - was nicht Außenseiter können sich entkoppeln - nur aus Gründen des Zeitplans und des Managements.

Rotian
quelle
1
Ich schlage einen Drop-Kick vor, um die Erinnerungsfähigkeit zu beeinträchtigen. Dokumentation ist unerlässlich für ein langlebiges System ... auch wenn es nicht formal ist.
Rig
14
Willkommen bei der Softwareentwicklung!
Yannis
@YannisRizos, nein nein nein! ;)
Rotian
4
@ Rotian Dies ist fast erforderlich zu lesen: joelonsoftware.com/articles/fog0000000332.html . Ein bisschen veraltet, aber immer noch eine großartige Ressource und wahrscheinlich eine Antwort für sich.
K.Steff
Im weiteren Sinne empfehle ich "Onkel Bob" 's / Clean Code / und / The Clean Coder /. Ich stimme nicht mit allem überein, was er in diesen Büchern sagt, aber sie sind sehr gut zum Nachdenken. Sie haben mir bestimmt die Augen geöffnet !
Michael Scott Shappe

Antworten:

10

Sie kennen bereits einen Teil der Antwort: Sie müssen mit gutem Beispiel vorangehen. Sie müssen sich auch damit abfinden, dass Ihre "Führung" möglicherweise ignoriert wird, dass Ihre Kollegen die Dinge weiterhin so tun, wie sie es immer getan haben - entweder weil es den Chef glücklich macht oder weil sie selbst Wert auf Zweckmäßigkeit legen langfristige Wartbarkeit.

Am Ende müssen Sie Ihre Ergebnisse für sich selbst sprechen lassen. Haben Sie eine Frist von drei Tagen verpasst, aber dem QA-Team mindestens so viele geplante Testtage erspart, weil Sie Ihre Entwicklung getestet haben und sie größtenteils wie geplant funktioniert? Das ist ein Gewinn.

Wenn Sie jedoch nicht mindestens ein gewisses Maß an Management-Buy-in für diese Art von Kompromiss haben, befinden Sie sich einfach in einem falschen Umfeld und müssen ein Umfeld finden, das den bewährten Praktiken förderlich ist. Schlechte Praktiken machen sich zur Gewohnheit. Je eher Sie sich behaupten oder zu einem Arbeitsumfeld mit besseren Praktiken wechseln können, desto besser.

Michael Scott Shappe
quelle
Ich freue mich über Ihre Antwort. Ich schätze, du kennst meine Umgebung ziemlich gut - ich werde versuchen, härter zu arbeiten - und wenn ich keine Rolle bekomme, werde ich mich nach etwas anderem umsehen.
Rotian,
2
+1. Seien Sie die Veränderung, die Sie in Ihrem Team sehen wollen. Setzen Sie den Standard.
Scott C Wilson
2
+1, wenn die Ergebnisse für sich sprechen. Das kombiniert mit dem Vorbild ist der beste Weg, positive Veränderungen zu bewirken. Die Leute wollen natürlich einen guten Job machen (die meisten jedenfalls), und wenn sie sehen, dass jemand bessere Ergebnisse erzielt als sie, fragen sie wahrscheinlich nach dem Geheimnis. Und sie hören oft zu, wenn sie von sich aus gefragt werden, als wenn sie unaufgefordert benachrichtigt werden.
Erik Dietrich
@Rotian Natürlich nicht Ihre spezifische Umgebung, aber ja, ich war dort und habe das getan. Das Schlimmste war zu der Zeit, dass ich nicht einmal ganz verstand, wie schlimm es war. Ich wusste nur, dass auf einer tiefen Ebene etwas auf subtile Weise nicht stimmte, und entschied schließlich, dass das ausreichte, um herauszukommen. Erst in den letzten Jahren konnte ich auf bestimmte Praktiken hinweisen, die sie hätten tun sollen (oder nicht hätten tun sollen).
Michael Scott Shappe
1

Nichts?

Ich meine, es gibt geschäftliche Zeitbeschränkungen. In Ihrem Szenario ist die Markteinführung möglicherweise wertvoller als die künftige Benutzerfreundlichkeit.

Wenn Sie ein einfacher Programmierer sind, ist es nicht wirklich Ihre Aufgabe, Standards zu setzen und sich mit der Produktarchitektur zu befassen (insbesondere in 2 Monaten). Sie sollten sich bemühen, das Produkt so gut wie möglich zu verbessern (einschließlich Kulturwandel), jedoch nicht auf Kosten der Entfremdung Ihres Teams und / oder Ihres Chefs. Der neue Typ zu sein, der glaubt, es besser zu wissen, ist eine schnelle und einfache Möglichkeit, dies zu tun.

Ich würde fragen, warum du all diese schnellen Hackfixes machst. Liegt es an früheren schnellen Hack-Fixes? Es ist einfach genug, darauf hinzuweisen, dass, wenn die Dinge in erster Linie "richtig" gemacht wurden ...

Schlechte Programmierpraktiken führen letztendlich zu konkreten Schmerzen. Wenn die Leute glauben, dass sie es nicht tun, müssen Sie nur warten.

Telastyn
quelle
1
Soweit ich weiß, besteht das Problem nicht darin, dass diese Personen aus Zeitgründen Ad-hoc-Korrekturen vornehmen. Das Problem ist, dass sie es nicht als technische Schuld ansehen, die irgendwann in der Zukunft zurückgezahlt werden sollte. Es ist wie beim Springen: Man kann eine Weile ohne die Unterstützung der Erde auskommen, aber man sollte besser bereit sein, zu landen.
9000,
@ 9000: Das OP sagt, es ist aus Gründen des Zeitplans und des Managements, also vermute ich (hoffe ich), dass es hauptsächlich Zeitdruck ist. Es ist nicht ungewöhnlich, die eigentliche Arbeit in der Softwareentwicklung zu unterschätzen.
Telastyn
1
Ich stimme zu, dass schlechte Praktiken zu konkreten Schmerzen führen. Aber konkreter Schmerz führt nicht immer zu den Veränderungen, die man in einer rationalen Welt erwarten würde. Aus Erfahrung kann ich Ihnen sagen, dass es Manager gibt, die nicht aus diesen Schmerzen lernen und nicht kommen, um die richtigen Praktiken zu fördern. Sie werden einfach weiter durcheinander kommen, denn um etwas anderes zu tun, müssten sie sich gegen IHRE Chefs stellen, um dafür einzutreten, dass sie Zeit damit verbringen, es "richtig" zu machen, wozu sie nicht immer bereit sind.
Michael Scott Shappe
@UncleMikey: Natürlich. Aber wenn Ihre Manager zu ineffektiv sind, um die Dinge angemessen zu planen, können Sie nur sehr wenig tun.
Telastyn
@ 9000 und Telastyn - ja, ich denke beides - eine gewisse Unkenntnis über die Tatsache, dass eine Sache wie die technische Verschuldung tatsächlich existiert, kombiniert mit einer Umgebung, die aus verschiedenen Gründen (sei es Zeit, Gewohnheit usw.) zu Problemumgehungen anregt.
Rotian