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

0voto

Brian Punkte 5676

Dies ist ein Fall, in dem Sie sich selbst verwalten müssen. Ihr Chef sieht nicht die Notwendigkeit, ein gutes Design zu implementieren, weil er nicht erkennt, dass es auf lange Sicht einfacher sein wird. Sie können ihn entweder jetzt überzeugen oder dafür sorgen, dass er das Problem erkennt, wenn die Änderungen länger dauern. Zumindest können Sie sein Denken über mehrere kleine Aufgaben hinweg so lenken, dass er mit der Zeit lernt, sich für gutes Design zu entscheiden.

0voto

Nicolai Punkte 3438

Denken Sie daran, dass Sie ein "professioneller Softwareentwickler" sein sollen. Die Zugehörigkeit zu einer Berufsgruppe bedeutet, dass man sich an einige Kodizes und Regeln hält. Das bedeutet, dass Sie Ihre Prinzipien nicht einfach aufgeben, nur weil das Management es Ihnen sagt.

Wenn Sie wirklich der Meinung sind, dass die Einrichtung eines Frameworks und die Verwendung von CSS-Vorlagen notwendig sind, um ein Produkt von angemessener Qualität zu liefern, dann bestehen Sie darauf, dies zu tun.

Stellen Sie sich vor, ein Bauingenieur würde von seinem Vorgesetzten aufgefordert, einen Brückenentwurf auf die Schnelle zu erstellen. Würde er das tun, selbst wenn er wüsste, dass der Entwurf von schlechter Qualität ist? Was wären die Konsequenzen für ihn persönlich und für den Beruf des Bauingenieurs?

Ich denke, wir als Software-Ingenieure müssen mehr Stolz auf unsere Arbeit zeigen und mehr berufliche Verantwortung zeigen.

0 Stimmen

Ich stimme mit der Analogie nicht überein. In vielen Fällen ist es durchaus vertretbar, etwas zu bauen, das "einfach funktioniert", vielleicht weil es sich um eine Demo oder einen PoC handelt, vielleicht weil es etwas ist, das wir im Laufe der Zeit iterieren können, vielleicht weil nichts Kritisches von der Qualität abhängt. Für die meisten Brücken treffen diese Bedingungen nicht zu.

0 Stimmen

...eine weitere Möglichkeit, Stolz auf unsere Arbeit zu zeigen, besteht darin, dass wir uns auch als Geschäftsleute sehen, nicht nur als Ingenieure. Wir können unseren Stolz zeigen, indem wir unsere technischen Aktivitäten in ihrem richtigen geschäftlichen Kontext sehen und uns entsprechend verhalten.

0voto

dkretz Punkte 36862

Ich würde "Q&D" als "Quick and Feature-Poor" interpretieren. Dreckig ist selten schnell, selbst bei einer Demo oder einem Proof of Concept. Was auch immer Sie für den Anfang tun, Sie werden es sowieso überarbeiten müssen. Geben Sie ihm einfach die verfügbare Zeit und konzentrieren Sie sich auf YAGNI und Minimum Sufficient Solution.

0voto

jcollum Punkte 39638

Ruby on Rails. Wenn das eine Option ist. Ich habe schon oft gehört, dass dies der schnellste Weg ist, um eine CRUD-Site zum Laufen zu bringen.

[Bearbeiten]

Der Aufbau eines eigenen Frameworks ist eine riesige Zeitverschwendung. Sie werden nicht in der Lage sein, in angemessener Zeit ein Framework von Weltklasse zu entwickeln. Erfinden Sie das Rad nicht neu. Ich habe schon viele Programmierer sagen hören: "Oh ja, das könnte ich soooo viel besser bauen." Sicher, aber könnten Sie es auch nur annähernd so gut in den 5-10 Stunden bezahlter Zeit bauen, die es Ihr Unternehmen kosten würde, es einfach zu kaufen? Unwahrscheinlich.

Wenn dies etwas ist, das in Ihrem Unternehmen häufig vorkommt, sollten Sie Ihren Chef davon überzeugen, dass Sie eine Standardlösung für das Problem "schnell und schmutzig, aber trotzdem anständig" finden können. Das bedeutet zwar jetzt mehr Zeit, spart aber in Zukunft Zeit.

[/edit]

0 Stimmen

Leider weiß ich nicht, Ruby on Rails, so gibt es wirklich eine Lernkurve für diese ein...

0 Stimmen

Sie sollten keine Lösungen vorschlagen, die Sie noch nie benutzt haben, das ist ein schlechter Rat (auch wenn er richtig ist).

0 Stimmen

Ich hätte MVC vorgeschlagen, aber das passt nicht zu seinem Problem. Ja, ich verstehe, was Sie meinen. Dennoch klang RoR wie etwas, das er nicht in Betracht gezogen hatte und das er in Betracht ziehen sollte.

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