2009-04-02 7 views
1

Einige Entwickler, wenn sie eine Aufgabe erhalten, gehen direkt in die IDE und beginnen mit sehr wenig Design zu programmieren. Sie können eine Vorstellung davon haben, wo die Anwendung läuft, während sie codieren. Ich bin einer dieser Entwickler. Ich tue dies, weil ich das Gefühl habe, dass, wenn ich viel Zeit mit der Gestaltung meiner Anwendung verbringe, die Lieferzeit viel höher sein wird, als wenn ich einfach nur die Ideen in meinem Kopf vergesse und verarbeite. Meine Frage ist, wie wirkt sich das Anwendungsdesign auf die Lieferzeit des Projekts aus und hat es einen großen Vorteil gegenüber dem agilen Programmieren?Die Auswirkungen des Designs auf die Anwendungslaufzeit

Antwort

6

Geben Sie ein Beispiel, wenn Sie reisen möchten, Wenn Ihr Ziel in der Nähe oder in Ihrer Stadt ist, können Sie sofort beginnen. Wenn Sie in ein anderes Land reisen möchten, müssen Sie sich zuerst selbst verpacken.

Design ist für die Vorbereitung, ohne sie können Sie nicht zu weit gehen (oder in die falsche Richtung gehen).

+0

Ich würde Entfernung in der Reise hinzufügen bezieht sich auf die Größe im Projekt. Dies kann "Menge an Code", "Menge an Anforderungen" (denke an hohe Skalierbarkeitsanforderungen) oder "Teamgröße" (eine einfache App, aber es muss schnell erledigt werden, also wollen wir 15 Leute darauf setzen) –

+0

Auch Wenn Sie eine Menge Leute auf dem Weg mitbringen wollen, um Spaß zu haben, müssen Sie es organisieren, damit jeder zu Ihnen kommen kann. Eigentlich wie diese Allegorie. –

2

Es ist keine Schwarz-Weiß-Situation: Bei manchen Projekten ist es viel besser, hineinzuspringen und mit dem Programmieren zu beginnen, für manche ist es besser, eine umfassende Planung zu haben, für andere ist es nicht klar.

Wenn das Projekt klein und einfach genug ist, dass nur ein einziger Entwickler daran arbeitet, und wie man es baut, ist es offensichtlich genug, dass sie sich jeden Aspekt in seinem Kopf vorstellen können, dann können sie sehr gut hineinspringen und beginne zu entwerfen.

Die Notwendigkeit für eine umfassendere Planung kommt zustande, wenn Sie mehrere Entwickler haben oder wenn das Projekt groß und kompliziert genug ist, dass ein Entwickler nicht alles über seine Funktionsweise wissen kann, weil es zu kompliziert ist alle Aspekte davon in deinem Kopf.

2

Dieser Ansatz funktioniert nur dann wirklich gut, wenn Sie alleine arbeiten. Wenn Sie in einem Team von Menschen arbeiten müssen, ist es wichtig, einen guten Plan zu haben, damit alle anderen wissen, was Sie für das Endziel halten. Dies reduziert nicht die Kreativität, es ermöglicht Ihnen nur sicherzustellen, dass alle auf der gleichen Seite sind, und es reduziert die Möglichkeiten für Verwirrung. Dilbert on agile

2

Was Sie beschreiben, funktioniert nur gut, wenn Sie etwas gut verstanden und enthalten geschrieben. Wenn es ähnlich zu anderer Software ist, die Sie geschrieben haben, brauchen Sie kein neues Design, weil Sie das alte einfach wiederverwenden können. Wenn es jedoch etwas völlig Neues ist, wird das Design on the fly teuer. Du wirst feststellen, dass du zu viel von dem Code umgeschrieben hast oder schlimmer, mit einer schlechten Architektur, die dich verlangsamt. Wenn der Code erweiterbar sein soll, ist eine Vorausplanung erforderlich. Wenn Sie es benötigen, um mit Komponenten anderer Leute zu arbeiten, ist Vorausplanung notwendig.

0

Um nur einen Gedankengang zu Ihrem Gleichungsszenario hinzuzufügen, lassen Sie mich dieses kleine Stück hiernach beitragen: Ich arbeite in einem Unternehmen mit dem Namen YES INTERNATIONAL CORPORATION (www.yesintl.com.au) Manchmal passieren Entwickler haben vorher etwas entwickelt, in diesem Fall ist das Design schon im Kopf. Zum Beispiel habe ich in der Vergangenheit Datenbank-Lösungen entwickelt, was uns im Vergleich zu unserer Konkurrenz zu einem sehr schnell lieferenden Unternehmen macht, wenn ich mich hinsetze und anfange, ein Projekt zu entwickeln. Mehr Erfahrung wird Sie super perfekt machen, wie die Zeit vergeht ... Ich hoffe, das hilft ... Andy