2009-04-01 5 views
5

Idealerweise wollen Sie einen Zeitplan, der entgegenkommend und flexibel ist, aber wenn es darum geht, die Rechnungen zu bezahlen und in einem Geschäft zu arbeiten, das ist selten ein Luxus-Programmierer haben.Programmierung in einer Krise

Ich hatte das Glück, die Gnade von Steve McConnell und Frederick Brooks zu haben, mir zu sagen, was zu tun ist, wenn ich mein Projekt vermasseln möchte und ich ihre Arbeit ernst nehme.

Und doch gibt es immer noch Zeiten, in denen Ihr Rücken gegen die Wand steht und Sie die Arbeit beschleunigen müssen. Was sind "Tweaks" für Ihren Prozess, mit dem Sie die Zustellung beschleunigt haben, ohne dabei Abstriche bei der Qualität zu machen? Ist das überhaupt möglich?

Ich denke, dass das Lernen von guten Praktiken von höherem Wert ist als das Erlernen des eigentlichen Codes, damit kein "besserer Coder" antwortet. Das ist eine gegebene.

Antwort

2

Ordnen Sie meine Aufgaben in einer Liste von kleinen unabhängigen Aufgaben (oder Aufgaben, bei denen die Abhängigkeiten in der Reihenfolge bereits erledigt sind) an. Dann setz dich einfach hin und räume eine Aufgabe von meinem Teller nach der anderen ab. Alles, wo ich mich mit jemand anderem koordinieren muss, eine Frage stellen usw., wird nach vorne gestoßen; Ich sitze einfach und codiere ohne Ablenkungen, bis ich an einen Ort komme, an dem ich eine Art von externer Interaktion brauche. Dann beschäftige ich mich mit meiner gesamten Koordination mit anderen Leuten, umplane und so weiter in einem Stapel und gehe dann wieder in die direkte Codierung.

Auch priorisieren und schneiden Sie alles, was optional ist. Wenn Sie die benötigten Sachen rechtzeitig fertig haben, gehen Sie zurück zu den optionalen Sachen, aber tun Sie zuerst, was absolut notwendig ist. Dies kann leicht gelockert werden, wenn Aufgaben im richtigen Kontext einfacher durchzuführen sind, aber insgesamt die optionalen Teile auf ein Minimum beschränken.

Oh, und machen Sie diese Beurteilung nicht, während Sie programmieren. Wenn Sie programmieren, nehmen Sie einfach eine Aufgabe von Ihrer Liste, tun Sie es und gehen Sie zur nächsten über. Wie ich schon sagte, stapeln Sie alle nicht-kodierenden Arbeiten in Stücke, so dass es Ihre Kodierung nicht verlangsamt.

Jedenfalls mache ich das, wenn ich gegen eine Wand stehe. Nicht sicher, wie gut es für jeden anderen funktioniert.

4

JPGs sind schneller als HTML-Seiten

+0

haha! BRILLANT! – jerebear

+0

und es funktioniert auch, nur nicht sehr gut – MrTelly

+0

nicht stören Programmierung HTML, verwenden Sie einfach die Designer jpg Mock-up und erstellen Sie eine Karte für die anklickbaren Bereichen. – MrTelly

2

Normalerweise Funktionen und Arbeitselemente schneiden die beste Art und Weise ist eine enge Frist einzuhalten.

Sie können versuchen, Codierung zu eilen, aber Sie werden fast immer später dafür bezahlen - Sie werden viel mehr Zeit verbringen Debugging und Stabilisierung der gehetzten Code als Sie an erster Stelle gespeichert.

1

Eigentlich denke ich, viele Programmierer und Organisationen haben eine Menge niedrig hängenden Früchte. Stellen Sie sicher, dass Sie Ihre Zeit produktiv nutzen, wissen Sie, wie Sie die Qualität entsprechend anpassen, nicht "Goldplattieren", was Sie verlangen, etc.

Profilieren Sie die Prozesse Ihrer Organisation. Was ist der Engpass, der Sie verlangsamt? Kontextwechsel (d. H. Multitasking) ist oft ein echter Produktivitätskiller.

Ich nehme an, das Problem damit ist, dass, wenn Ihr Rücken gegen die Wand ist, organisatorische Verbesserungen wie diese für sich selbst Luxusgüter erscheinen, obwohl sie Ihnen wirklich dabei helfen können, Ihre Arbeit zu beschleunigen.

3

Ohne Abstriche bei der Qualität sind Ihre besten Optionen die gleichen, die besten Optionen, die Sie haben, wenn Sie keine Zeit brauchen: Vermeiden Sie unnötige Ablenkungen, konzentrieren Sie sich auf die wichtigste Arbeit, erhalten Sie bessere Hardware und entlasten Sie Ihre Arbeit angemessen entlasten.

1

Die größte Hilfe (für mich) zwingt mich, jede einzelne Aufgabe abzuschließen, bevor ich zu einer anderen übergehe. Wenn ich einige Bugs aus libfoo herausholen oder sogar libfoo schreiben muss, um mit dem nächsten Schritt fortzufahren, zwinge ich mich, bei dieser Aufgabe zu bleiben, dann die nächste, dann die nächste.

Die meiste Zeit, dass ich mich in einem Knirschen befinde, ist es, weil ich zu viel von einem Grashüpfer war, herumspringend von Sache zu Sache.

Heute Morgen setzte ich mich hin und zwang mich, eine Reihe von Komponententests zu schreiben, anstatt an der zu testenden Bibliothek zu arbeiten. Es hat gesaugt, aber jetzt sind sie fertig, und ich kann wirklich Segel durch die Fertigstellung meiner Bibliothek.

0

Ich würde vorschlagen, GTD oder so etwas wie es vor Sie in der Crunch bekommen lernen, ein Knirschen, wenn überhaupt möglich ist und dann zu vermeiden, verwenden, wenn Sie müssen, nur um es zu tun, durch die Krise zu bekommen. Geh in die Zone und halte durch.

+0

Ehrlich zu Gott, ich bin seit einigen Jahren "halbwegs" durch dieses Buch. – jerebear

+0

Ich habe das Buch nie gelesen. Die Technik ist sehr effektiv (im Grunde ist es wie ein intelligenter OS-Scheduler) und sehr einfach, so dass ich nie eine Notwendigkeit für das Buch sah. – MarkusQ