4 Stimmen

schnell und einfach vs. gutes Design

Was tun Sie, wenn Ihr Vorgesetzter möchte, dass Sie etwas auf die Schnelle einführen, und Sie wissen, dass es nach hinten losgehen wird?

Mein Vorgesetzter möchte, dass ich eine Webanwendung für einen Kunden entwickle, und zwar so schnell wie möglich. Dies ist die erste Webanwendung, die wir für diesen Kunden entwickeln, und ich denke, es ist wichtig, dass wir es richtig machen, damit wir darauf aufbauen können, wenn er uns zwangsläufig bittet, sie zu verbessern oder eine neue zu erstellen.

Ich würde gerne etwas Zeit damit verbringen, einen Rahmen einzurichten (selbst wenn es nur etwas Einfaches ist wie Streifen ), und die Konfiguration von Tomcat für die Verwendung von DBCP. Ich denke auch, dass wir css-Vorlagen verwenden und uns zumindest ein Minimum an Gedanken über die Präsentation und das Design der Anwendung machen sollten, da meiner Meinung nach nichts so unprofessionell aussieht wie eine schlecht gestaltete Webseite (es sei denn, es handelt sich um eine E-Mail mit wirklich schlechter Grammatik).

Das Problem ist nicht so sehr, dass wir unter Druck stehen, sondern eher, dass mein Vorgesetzter meint, er könne nicht rechtfertigen, dass er zusätzliche Stunden für etwas in Rechnung stellt, das er selbst nicht für notwendig hält. Sein "Mach es einfach so schnell wie möglich"-Ansatz ist schon ein paar Mal nach hinten losgegangen - einmal hat er mir zum Beispiel gesagt, ich solle den Code nicht für eine bestimmte Fehlersituation entwerfen, da es sehr unwahrscheinlich sei, dass sie auftritt, und als sie dann doch auftrat, gab es ein großes Chaos (das ich aufräumen musste).

Was soll ich also tun? Mache ich es wirklich "schnell und schmutzig"? Entscheide ich, dass der schnellste Weg der ist, es richtig zu machen und mich mit den Konsequenzen auseinanderzusetzen, wenn ich länger brauche als erhofft? Ein Teil des Problems besteht darin, dass ich in der Vergangenheit zwar schon Webentwicklungen durchgeführt habe, aber immer innerhalb eines bestehenden Rahmens, so dass die Einrichtung eines neuen Rahmens für mich eine Lernkurve bedeutet.

0 Stimmen

Können Sie den Titel bearbeiten? Ich bin mir nicht 100%ig sicher, worum Sie bitten... Obwohl ich vermute, dass das fehlende Wort "Eile" ist?

0 Stimmen

Ich habe nicht bemerkt, dass der Titel gekürzt wurde. Ich habe ihn in etwas Kürzeres geändert.

0 Stimmen

2voto

Wenn Sie mit "erster Webanwendung" einen Prototyp meinen, dann sollten Sie ihn wahrscheinlich schnell und schmutzig erstellen. Ihr Kunde möchte wahrscheinlich etwas sehen, bevor er sich zu etwas verpflichtet. Sie KÖNNEN jedoch schnell etwas machen, ohne es schmutzig zu machen. Wenn Sie sorgfältig darauf achten, wie Sie die Webanwendung entwerfen und schreiben, können Sie die Webanwendung wahrscheinlich im Handumdrehen in ein Kunstwerk verwandeln, nachdem Sie die erste Version veröffentlicht haben.

1voto

Doug T. Punkte 61739

Ich bin der Meinung, dass man manchmal Entscheidungen auf der Grundlage von Integrität treffen muss und sich nicht den Anforderungen der Zweckmäßigkeit beugen darf, oder nur, weil man von seinem Chef unter Druck gesetzt wird. Das heißt nicht, dass ich eine Antwort auf Ihre Frage habe, aber Sie müssen selbst entscheiden, was in dieser Situation, mit diesem Kunden, in Ihrem Unternehmen angemessen ist. Fragen Sie sich selbst:

  • Wie viel weiß Ihr Chef wirklich darüber, was der Kunde will?
  • Wissen Sie es besser als Ihr Chef? Ist Ihre Beziehung zum Kunden stärker?
  • Woher kommt der Druck, es schnell zu tun?
  • Ist dem Kunden klar, welche Kosten/Nutzen mit "quick and dirty" verbunden sind?
  • In welcher Art von Organisation arbeiten Sie? Würden Sie sich selbst eher als Berater (sehr nah am Kunden) denn als Angestellter betrachten oder andersherum?
  • Wie angesehen ist Ihr Chef (in Ihrem Unternehmen oder bei den Kunden)? Wie hoch ist das Ansehen von Ihnen?
  • Ist der Code wirklich wegzuwerfen oder wird er in Zukunft tatsächlich verwendet?

1voto

Kire Haglin Punkte 5892

Wenn es sich nur um eine Demo für einen Kunden handelt, halte ich eine schnelle Lösung für ausreichend, aber letztendlich ist es Ihre Aufgabe als Entwickler, zu protestieren, wenn Sie glauben, dass es nach hinten losgehen wird. Onkel Bob in Sauberer Code bringt es gut auf den Punkt:

"Was wäre, wenn Sie ein Arzt wären und einen Patienten hätten, der verlangte, dass Sie mit dem das alberne Händewaschen in der Vorbereitung auf die Operation, weil es weil es zu viel Zeit kostet? Offensichtlich ist der der Patient der Chef, und dennoch sollte der Arzt sollte sich unbedingt weigern, dem nachzukommen. Warum eigentlich? Weil der Arzt mehr weiß als der Patient über die Risiken der der Krankheit und der Infektion. Es wäre unprofessionell (geschweige denn kriminell) für den Arzt, dem Patienten entgegenzukommen Patienten.

Genauso unprofessionell ist es für Programmierer, sich dem Willen von Managern zu beugen Managern zu beugen, die nicht verstehen Risiken des Schlamassels nicht verstehen.

0 Stimmen

Diese Analogie funktioniert nicht wirklich gut. In diesem Fall ist es die Manager der der Arzt ist und der Programmierer ist eher der Arzthelfer. Der Assistent kann und sollte den Arzt auf alle Risiken und Nachteile hinweisen, die ihm einfallen, um ihm bei seiner Entscheidung zu helfen, aber letztendlich liegt die Verantwortung beim Arzt. Wenn Sie den Entscheidungen des Arztes, dem Sie assistieren, nicht trauen, ist es an der Zeit, einen anderen Arzt zu suchen.

0voto

Perry Neal Punkte 755

Einerseits sind Sie nicht unbedingt in alle Faktoren und den Druck, der auf Ihrem Chef lastet, eingeweiht. Vielleicht weiß er/sie, dass es sich um eine einmalige Sache handelt und Sie mit diesem Kunden keine weiteren Geschäfte machen werden.

Im Endeffekt werden Sie dafür bezahlt, das umzusetzen, was man Ihnen sagt. Ja, Sie sind dafür verantwortlich, die Vor- und Nachteile aufzuzeigen, aber letztendlich ist es deren Entscheidung.

Aber, um sicher zu gehen, dokumentieren Sie ALLES! Wenn die Leute anfangen, die Schuld auf sich zu nehmen, können Sie sich wenigstens absichern. (Das bringt vielleicht nichts, aber Sie sollten sich immer schützen.)

0voto

JB King Punkte 11972

Mein Rat wäre, zu sagen, dass es einen schnellen und schmutzigen Weg gibt, die Anforderungen innerhalb von X Tagen/Wochen/Monaten zu erfüllen, und dass, wenn es größere Erweiterungen oder Funktionen gibt, die Kosten für den Wechsel zu etwas Größerem anfallen, das die aktuellen Anforderungen erfüllen kann.

In diesem Zusammenhang ist die Idee von YAGNI zu erwägen, wenn der Kunde nicht mehr will als die Grundlagen, die er bei der ersten Implementierung wollte. Es stellt sich auch die Frage, wie viel von dem Rahmenwerk Sie in diesem ersten Durchgang aufbauen wollen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X