Frage

Diese Frage hat hier bereits eine Antwort:

Nach meiner Erfahrung ist es nützlich, ein wenig zu verbringen, um Pläne für ein Projekt zu skizzieren, bevor sie in Code einsteigen. Diese Planung umfasst normalerweise die Auswahl von Frameworks/Tools, Schreibanforderungen und -erwartungen und Mockups.

Normalerweise mache ich dies jedoch nur für ernsthafte Projekte, nicht so sehr für einmalige oder kurzlebige Versuche.

Ich würde interessieren, wie viel Zeit Sie für die Planung/Entwerfen von Projekten verbringen, bevor Sie mit der Codierung beginnen. Tun Sie es für jedes Projekt oder nur für die "ernsthaften"?

War es hilfreich?

Lösung

Es hängt stark vom Projekt ab.

Wenn das Projekt auf einer bereits geschriebenen Spezifikation basiert (z. B. eine binäre Datendateispezifikation), ist möglicherweise nicht viel Design beteiligt.

Wenn das Projekt hoch spekulativ oder forschungsorientiert ist, kann ich mehr Zeit damit verbringen, einen Wegwerfcode zu schreiben, um ein Design zu formulieren, als wenn ich ein Design im Voraus erstellen werde.

Wenn das Projekt groß ist, muss mehr über die Architektur auf hoher Ebene nachdenken.

Andere Tipps

So viel wie es braucht

Um das Projekt, das Modell, die Risiken und die Unbekannten zu verstehen

Besonders die Risiken und Unbekannten

Wir verwenden Scrum bei meinem Job, also würde ich sagen, dass Sie mindestens genug Design darüber nachdenken müssen, um Ihre Benutzergeschichten in Aufgaben zu zerlegen. Sie brauchen eine ziemlich gute Vorstellung davon, was erforderlich ist, um Aufgaben zu schreiben. Denken Sie daran, dass der Schlüssel darin besteht, sie so zu schreiben jemand anderes könnte theoretisch die Implementierung durchführen. Normalerweise fache ich die kleinen Details (z. B. welchen Algorithmus) in die Zeitschätzung für meine Aufgaben. Wenn ich nur noch recherchieren muss, werde ich das zu seiner eigenen Aufgabe machen.

Beim Umgang mit einem Epos (einem Projekt, das mehrere Sprints dauert) bin ich viel freier mit dem, was ich "Design" nenne. Das Design in diesem Fall beinhaltet normalerweise eine grobe Skizze der grundlegenden Architektur und eine Handvoll Benutzergeschichten, die ich erwarte. Es ist keine Cowboy -Codierung, aber es ist auch kein strenger Designprozess (denken Sie an traditionelles Wasserfallmodell). Es wird etwas auftauchen (eine Anforderungen ändert sich oder ein A-HA-Moment), das das Spiel irgendwo in der Straße verändert. Ich versuche nicht zu viel Zeit in etwas zu investieren, das wahrscheinlich herausgeworfen oder stark modifiziert wird.

Der berühmte Jamie Zawinski sagte in dem Buch "Codierer bei der Arbeit" etwas in der Art von ... Es ist besser, gerade genug Zeit zu verbringen, um etwas zu codieren, das wir verwenden können, und dann von dort aus gehen. Abhängig vom Projekt und dem Wettbewerb, wenn Sie zu viel Zeit damit verbringen, zu planen und darüber nachzudenken, wie man etwas in einem bestimmten Zeitrahmen gibt, werden Ihre Konkurrenten dem Spiel voraus sein und es wird ein großer Verlust.

Ich stimme dem jedoch nicht unbedingt zu, aber Sie müssen ihm Anerkennung für das geben, was er erreicht hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top