Das haben wir alle schon durchgemacht:
- Ihr Projekt ist fehlgeschlagen oder wurde abgebrochen.
- Der Code, an dem Sie tagelang gearbeitet haben, wurde von Ihrem Team abgelehnt.
- Das Designmuster, das Sie dem Team vorgestellt haben, hat für Chaos gesorgt.
- Jeder ignoriert Ihre Ideen.
Meine Frage ist, wie ein Programmierer am produktivsten mit solchen entwicklungsbedingten Fehlern umgeht.
Antworten:
Die Softwareentwicklung ist sehr anfällig für Projektfehler, und je nach Schweregrad wird dies am besten vom Management gehandhabt.
Viele Projekte sind gescheitert und viele weitere scheitern. Machen Sie sich also Notizen! Erfahren Sie, warum Ihr Projekt fehlgeschlagen ist, damit Sie beim nächsten Mal nicht dieselben Fehler machen. Sie lernen viel mehr aus Ihren Fehlern als aus Ihren Erfolgen.
Speichern Sie Ihre Arbeit (für später). Es gibt zwei Möglichkeiten: (a) Es ist zum Kotzen, und die Tatsache, dass mehrere Personen auf die gleiche Weise geantwortet haben, ist ein Hinweis darauf. Menschen mögen im Allgemeinen nicht, was sie nicht verstehen. Vielleicht ist es besser, es zu zeigen, wenn die Zeit reif ist ODER an einem anderen Ort mit einer anderen "Kultur"
Es ist wahrscheinlich eine schlechte Idee, ODER die Kultur ist nicht auf Ihr Denken abgestimmt. Entweder an einen Ort ziehen, der Ihre Kultur unterstützt, oder Ihre Idee erneut kritisch bewerten (objektiv ohne Ihre eigene Vorurteile) -> ist meine Idee wirklich so gut? <- Töte dein Ego
Seien Sie ehrlich, Sie haben Ihr Bestes gegeben, aber es stellte sich nicht heraus, wie Sie es geplant hatten. Es ist vielleicht besser, als Team von vorne zu beginnen oder aus den Fehlern im Design zu lernen und voranzukommen.
quelle
Sie sind keine Misserfolge - sie sind Erfahrungen
Sie lernen und wachsen aus Ihren Erfahrungen, indem Sie darüber nachdenken, wie sie Sie gefühlt haben und ob Sie mehr von diesem Gefühl wollen.
Wenn es eine schlechte Erfahrung ist (wie diese Liste, die Sie angeboten haben), sollten Sie das damit einhergehende schlechte Gefühl vermeiden (vorausgesetzt, Sie sind nicht so dickhäutig, dass Sie sich nicht um die Auswirkungen Ihrer Handlungen kümmern).
Alles in allem, lassen Sie sich nicht zu sehr auf den Vergleich mit anderen ein, sie haben genauso viel Mühe, alles durchzuarbeiten wie Sie .
quelle
quelle
Du baust etwas.
Für mich (ich glaube nicht, dass es für alle geeignet ist) ist das Bauen von etwas (Comics, Zeichnungen, kleine Spiele, alles), ein bisschen Selbstvertrauen aufzubauen, um wieder gegen das Scheitern anzukämpfen. Es könnte auch eine gute Möglichkeit sein, Ihre Wut oder Bitterkeit oder Gefühle in Bezug auf das Scheitern auszudrücken, aber auf "konstruktive" Weise.
Das funktioniert bei mir sowieso.
quelle
Nun, du hast gefragt :) Einer nach dem anderen:
Das ist kaum neu. Wir sind alle privat gescheitert, und wir haben alle gescheitert, wenn wir unsere Kollegen im Blick hatten. Das hat jeder erlebt, der eine Grund- und weiterführende Ausbildung absolviert hat.
Wenn ich keine Fehler machen kann und eine stabile Beschäftigung erwarte, sollten Sie erwägen, ein Memo an die Personalabteilung zu senden, in dem sie darüber informiert werden, dass Menschen von zukünftigen Überlegungen ausgeschlossen sind.
Mehrere Fehler in Folge bedeuten, dass Sie entweder unzumutbare Anforderungen und Spezifikationen haben oder nicht aus Ihren Fehlern lernen. Jedes Szenario erfordert sofortiges Handeln.
Es ist vorstellbar, dass sich viele Leute nur anmelden, um eine Anstellung zu finden, und dann einen Weg finden, um die Anforderungen zu erfüllen.
Das passiert. Wie bereits erwähnt, speichern Sie es. Mach es nochmal. Deshalb nennen wir es Arbeit. Ich denke, in diesem Fall haben Sie das Team wahrscheinlich nicht so sehr in das involviert, was Sie taten.
Es könnte auch sein, dass sich die Anforderungen gestern oder vor einer Stunde geändert haben. Dies sollte jedoch eine Ausnahme und keine Norm sein. Peer Review ist ebenso brutal wie hilfreich. Wenn Ihr Code ständig als "unzureichend" (oder so ähnlich) abgetan wird, sollten Sie mehr Zeit damit verbringen, sich Gedanken zu machen und andere einzubeziehen. Ich glaube, dass diese Frage in den meisten Teameinstellungen ein Trugschluss ist, es sei denn, das „Team“ ist alles andere als selbsterklärend.
Auch dies braucht Kontext. Wie lange warst du dort? Wie sehr vertrauen Ihre Hackerkollegen auf Ihre Fähigkeiten? Haben Sie darüber nachgedacht, dass Ideen, die für viele Menschen zu mehr Arbeit führen, JEDEN Grund zur Ablehnung auffordern könnten? Ich hatte einmal etwas entlassen, weil es nicht IPV6-fähig war, aber (ausschließlich) einen einfachen Domain-Socket auf dem Loopback-Gerät verwendete. Die Person, die es versenkt hat, konnte einfach keine Arbeit mehr erledigen.
Wie gut artikulieren Sie sich? Kannst du Freunde finden und Menschen beeinflussen?
Deshalb sollte Gewalt vermieden werden. Reden zu können ist keine Voraussetzung, um zuhören zu können. Keine weiteren Kommentare.
quelle
Oh Mann, das ist eine Menge, wenn du wirklich meintest, dass dir alles passiert ist!
WARNUNG : In vielen der folgenden Punkte haben Sie möglicherweise das Gefühl, dass ich Sie kritisiere und dass ich Sie für die Missgeschicke verantwortlich machen und externe Faktoren nicht berücksichtigen möchte. Ich nicht. Es ist nur so, dass Sie nicht viele Details angeben, und ich stelle nur Checklisten mit Maßnahmen zur Verfügung, die ergriffen werden müssen, um sicherzustellen, dass nichts schief geht. Ich weiß, dass ich selbst viele Fehler gemacht habe (jeder macht es) und wir werden nur besser, wenn wir daraus lernen. Und um daraus zu lernen, müssen wir anfangen, sie als Fehler zu betrachten und Verantwortung für das zu übernehmen, was auf unserer Seite schief gelaufen ist. Zur Hölle, übernimm die Verantwortung für das, was in anderen Teilen schief gelaufen ist, du kannst auch daraus lernen.
Ihr Projekt ist fehlgeschlagen
Sie können jetzt nicht viel tun, um dies zu mildern.
Sie können jedoch viel tun, um zu verhindern, dass sich das in Zukunft reproduziert. Ich würde vorschlagen, Ihre Projekt- und Zeitmanagementfähigkeiten zu verbessern.
Eines der Bücher mit dem besten Verhältnis ((gültige Ratschläge) / Seiten), das ich zu diesem Thema gelesen habe, obwohl es vielleicht nicht das beste ist, ist Rob Thomsetts Radical Project Management .
Sie spezifizieren nicht wirklich, was Ihr Projekt gescheitert ist, aber ich würde eine Kombination von Dingen annehmen, die zu einem Ungleichgewicht im üblichen Kosten / Zeit / Qualitäts-Dreieck geführt hat . In meinen Augen ist es der wichtigste Faktor, das Projekt und die Entwicklung zu leiten und dabei stets mit Ihren technischen Akteuren (Entwicklern und Testern), aber auch mit Ihren Stakeholdern in Kontakt zu bleiben. Viel zu viele Projekte scheitern, weil sie nicht auf Sponsoren oder Interessengruppen hören und sie nicht dazu drängen, sich in den Prozess einzubringen.
Wenn sie nicht beteiligt sind, können Sie nicht wissen, was sie wollen. Wenn Sie nicht wissen, was sie wollen, können Sie es nicht liefern. Wenn Sie es nicht liefern, werden sie unglücklich sein. Das ist ein Misserfolg. Wenn Sie Ihre Stakeholder nicht einbeziehen, sind sie von der Realität des Software-Engineerings abgekoppelt, was bedeutet, dass sie Ihre Probleme nicht verstehen. Wenn sie häufig mit Ihnen in Kontakt treten, haben sie einen besseren Überblick darüber, mit was Sie zu tun haben. Sie werden es besser verstehen, wenn Sie ihnen sagen, dass eine "kleine" [Lach-] Funktion Monate dauern wird. Sie können Ihrer Planung besser vertrauen, weil sie beim Aufbau geholfen haben. Ein Projekt kann nicht nur mit "Spezifikationen am Anfang, Entwickeln, Testen, Ausliefern am Ende" erfolgreich sein. Das tut es einfach nie. Sie könnten liefern, was in den Spezifikationen gefragt wurde,
Am wichtigsten ist es auch, eine Retrospektive zu machen und sicherzustellen, dass es kein Ego ist und kein Schuldspiel. Identifizieren Sie einfach Probleme.
Was Sie tagelang programmiert haben, wurde von Ihrem Team abgelehnt
Ich war in dieser Situation. Auch hier können Sie nicht viel tun, um dies zu mildern, außer:
Aber es gibt wieder Dinge, die Sie tun können, um diese Art von Situation zu verhindern:
Niemand hört in Ihrem Unternehmen auf Ihre Ideen
Nun, hier gibt es zwei Möglichkeiten, und wir werden uns beide ansehen:
Lassen Sie uns annehmen, dass sie schlecht waren (wieder einmal, dass es schwierig sein könnte, sich selbst darüber Gedanken zu machen und Ihre Idee einfach nur schlecht zu akzeptieren). Was tun Sie, um das zu ändern?
Ideen sind nur Ideen. Wenn Sie sie nur als Ideen vorschlagen und sie abgelehnt werden, verstehe ich nicht, warum Sie sich dabei schlecht fühlen würden. Wenn Sie jedoch auf sie einwirken, ohne jemanden zu benachrichtigen, und dann nur Ihre Ideen einreichen und sie abgelehnt werden, fühle ich offensichtlich die Frustration in der Zeit verschwendet. Und Ihre Manager tun das auch!
Vorausgesetzt, Ihre Ideen waren gut:
Das Designmuster, das Sie in Ihrem Team mit Gewalt eingeführt haben, hat ein Durcheinander verursacht
Ich bin auch ein bisschen überrascht von der Herangehensweise an sich. Sie mussten tatsächlich darauf drängen, ein Entwurfsmuster einzuführen? Das scheint ziemlich seltsam. Entweder ist bereits ein Muster vorhanden, oder Sie müssen einen Teil Ihrer Lösung entsprechend dem Muster umgestalten. Sie haben nicht schieben es , wie Sie würde die Annahme eines Rahmen oder Technologie (wie Menschen geschoben wirklich schwer XML überall zu haben, und jetzt wie Menschen drängen beginnen zu können , schreiben HTML5 in den großen hellen Buchstaben auf ihre Abdeckung des Geräts).
Warum musstest du pushen? Warum gab es Widerstand? Vielleicht war es gerechtfertigt.
Können Sie Beispiele nennen, die zeigen, dass dieses bestimmte Muster dazu beiträgt, die Codebasis in erheblichem Maße zu verbessern (z. B. indem es mit einem Beispiel für das Umgestalten auf Muster abgeglichen wird ) ?
Völlig abseits des Themas, aber daran dachte ich zuerst, als ich den Titel der Frage las, weil ich dachte, er beziehe sich auf Softwarefehler ... Ich hatte eine Software, die eine BlackHole-Klasse implementiert hat, um eine ganz besondere Art von Ausnahmen in einer der zu verwalten Komponenten. Es mag wie ein offensichtlich seltsamer und schmutziger Hack erscheinen (und ist es auch wirklich), aber die Benennung selbst war so hervorragend, dass wir alle es für eine ziemlich coole Art und Weise schätzten, mit einem Fehler umzugehen! :)
quelle
Schritt 1: Es ist in Ordnung, wütend zu werden!
Erstens ist es verständlich, verärgert oder wütend zu sein, wenn ein Fehler auftritt. Wenn sie jemandem in einer solchen Situation einen Rat geben, werden sie höchstwahrscheinlich nicht hören wollen, dass "Einfach darüber hinwegkommen und weitermachen" oder "Einfach als Lernmöglichkeit betrachten".
Tatsächlich denke ich, dass es gesund und produktiv sein kann, sich aufzuregen und Ihre Frustrationen zu lindern, vorausgesetzt, Sie tun dies privat oder mit einem Freund. Die Leute haben verschiedene Möglichkeiten, dies zu tun, aber ich denke, eine der produktivsten Möglichkeiten ist es, einen verärgerten falschen Brief zu schreiben (Wichtig! Schicken Sie diesen Brief an niemanden ). Erklären Sie Ihre Gefühle, z. B. warum Sie das Gefühl haben, dass alles, was passiert ist, ungerechtfertigt war.
Schritt 2: Nehmen Sie sich etwas Zeit, um sich zu beruhigen.
Stellen Sie sicher, dass Sie alles ausgedrückt haben, was Sie fühlen, und nachdem Sie Ihren Ärger abgelegt haben, nehmen Sie sich etwas Zeit, um sich zu beruhigen. Vielleicht brauchen Sie nur ein paar Minuten oder vielleicht ein paar Stunden.
Schritt 3: Überprüfen Sie, was in Schritt 1 passiert ist
An diesem Punkt werden Sie hoffentlich objektiver über die Situation nachdenken können. Wenn Sie einen Brief geschrieben haben, lesen Sie ihn sich selbst vor. Wenn Sie sich jemandem anvertraut haben, versuchen Sie sich zu erinnern, was Sie gesagt haben. Wenn Sie sich nur vorgestellt haben, jemanden anzuschreien, dann wiederholen Sie dies in Gedanken.
Ich schreibe oft einen Brief, wenn ich wütend bin, und dann, nachdem ich mich beruhigt habe, werde ich daran arbeiten, den Brief zu verfeinern, um klarer zu kommunizieren, was ich ursprünglich sagen wollte, bis ich zufrieden bin, dass jemand, der ihn liest, verstehen würde, was ich war Gefühl zu der Zeit.
Der Punkt ist, objektiv zu versuchen, herauszufinden, was Ihre Punkte waren. Haben sie einen Sinn ergeben? Vielleicht brauchen sie eine Klärung oder nähere Einzelheiten. Sind sie unbegründet? Wenn Sie sich objektiv in die Lage eines anderen versetzen würden, würden Sie die Punkte verstehen, die Sie gemacht haben? Würden Sie diesen Punkten zustimmen? Sie können diese Gelegenheit nutzen, um sich selbst zu bewerten. Was hast du gut gemacht Was hätten Sie besser machen können?
Schritt 4: Entscheiden Sie sich für eine Vorgehensweise
Gibt es etwas, das getan werden kann, um die Situation zu beheben oder zumindest zu verbessern? Nehmen Sie sich einen Moment Zeit, um zu überlegen, ob realistisch etwas getan werden kann, um die Situation zu beheben oder zu verbessern. Oft gibt es nicht, aber manchmal gibt es.
Wenn Sie an etwas schuld sind, ist dies möglicherweise so einfach wie eine formelle Entschuldigung an jemanden, in der Sie klar erklären, was schief gelaufen ist, was Sie getan haben, warum Sie es getan haben und was Sie tun werden, um es zu beheben oder zu verhindern die Zukunft.
Überlegen Sie sich als Nächstes, was Sie tun können, um die Zukunft zu verbessern. Was können Sie tun, um zu verhindern, dass dasselbe erneut passiert? Entscheiden Sie, was Sie erreichen möchten, und verwenden Sie das, was Sie aus Schritt 3 gelernt haben, um einen Plan für sich selbst zu erstellen.
Wenn alles andere fehlschlägt, versuchen Sie einen Neustart:
quelle