Sollte ein Unternehmen die Verwendung einer einzigen Architektur in allen Entwicklungsanstrengungen durchzusetzen?

StackOverflow https://stackoverflow.com/questions/541341

Frage

Ich weiß, es ist eine etwas rhetorische Frage, aber ich mag Meinungen hören, die diese Lehre unterstützen oder ablehnen, da es wird mir helfen, einen besseren Fall in meiner Bitte bauen nicht die diktierten Lösung zu verwenden.

Ein wenig Hintergrund: Ich entwickle und eine große, ausgereifte Anwendung (VFP für die Benutzeroberfläche, Oracle PL / SQL für die mittleren und hinteres Ende) halten, die streng im Hause verwendet wird. Ich habe meinen Vorgesetzten über Umschreiben der UI in C # gefragt, aber ich habe gehört, dass alle zukünftigen Entwicklungsbemühungen in Java / Frühjahr zu tun sind. Ich habe erklärt, dass der Aufwand von einer Desktop-Anwendung auf eine Web-Anwendung gehen wäre deutlich größer ist als einfach zu C # migrieren. Ich habe auch erklärt, wie die ganze UI würde eine große Redesign unterzogen werden muß, um den Übergang zu einem Web-Browser zu machen. Schließlich erklärte ich, dass diese Anwendung nur im Haus verwendet wird, so gibt es nicht so viel Nutzen, indem eine Web-Architektur an seinem Platz zu Gunsten eine externe Anwendung erhalten würde im Gegensatz realisiert wäre. Leider haben meine Argumente sie nicht beirren.

Ein Teil von mir ist versucht, das Umschreiben in Java zu kapitulieren und versuchen, nur so kann ich die Erfahrungen sammeln, aber ich fürchte, es ist eine Katastrophe eines Projekts sein könnte, die vervierfachen die Zeit und Mühe nehmen, dass eine Migration auf C # würde erforderlich.

Ich verstehe, dass es Vorteile sind eine Abteilung Unterstützung nur eine einzige Sprache zu haben, aber für mich fühlt es sich wie wir Schrauben sind versucht, mit einem Hammer in fahren.

Also, was sind die positiven und negativen eines Unternehmens eine einheitliche Lösung für alle Entwicklungsanstrengungen mit? Auch dann, wenn jemand sich in einer ähnlichen Situation befinden, in der Sprache ihrer Wahl trotz aller praktischen Gründe für die Wahl abgelehnt wird?

War es hilfreich?

Lösung

ich mit Ihnen und Rob Wells einig, dass es eine schlechte Idee ist, eine einzige Architektur Lehre zu erzwingen. Das einzige, was in diesem Fall funktionieren könnte, ist eine Analyse der Kosten für jede Lösung (Java Vs. C #) und machen eine Präsentation, um sie mit den tatsächlichen Zahlen und schlüssige Beweise zu tun. Sie können auch zu sehen, versuchen, ob es irgendwelche Fallstudien sind. Wenn sie nicht verfügbar sind, können Sie sehen, ob ein anderes Unternehmen etwas ähnliches getan hat, seine Auswirkungen studieren und dass Ihr Management davon zu überzeugen, verwenden. Das heißt, das mehr Arbeit sein kann als Codierung in Java (Kidding :)). Ich wünsche Ihnen viel Glück in Ihrem Management zu überzeugen.

Andere Tipps

Um fair zu sein, als die Frage etwas von einem Strohmann Argument angegeben ist. Natürlich ist die Antwort nicht , wenn wir buchstäblich die „Ganz gleich, die Kosten“ Zustand nehmen.

Bearbeiten : OP die „egal, die Kosten“ Formulierung entfernt hat, gilt der Rest meiner Antwort sollte noch though.

Das heißt, in der Regel der Grund für eine einzige Architektur Durchsetzung ist es, Kosten zu sparen. Sie wollen, dass jeder ihre Bemühungen in diese Architektur zu widmen. Wenn diese Architektur die meisten Probleme, passt sie umgehen, kann diese ihre Kosten senken. Die Frage ist dann: Ist die Ersparnisse der Durchsetzung einer Architektur lohnt sich die Kosten für die es gelegentlich für Probleme bei der Verwendung, wo es nicht angemessen ist?

Es werden viele Fälle, wo die Antwort noch nicht, aber ist nicht schwarz-weiß, es hängt davon ab, was Ihr Unternehmen tut, wo Ihr Kern compentency liegt und welche Projekte sie bei der Entwicklung wirklich interessiert sind.

Nein.

Das wie das Gehen zu einem Architekten sein würde, der mit Beton nur funktionieren kann.

Sie können nur eine einzige Lösung für alle Problemräume überlagern.

Edit: Wohlgemerkt, es wäre sehr schwer zu überzeugen, jede Verwaltung sein, dass sich lohnt ROI aus dem Umschreiben eines reifen System kommen

.

Eine Architektur der Regel nicht auferlegt wird ein Projektteam das Leben leichter zu machen, so, wenn Sie Java / Frühjahr verwendet haben, bevor es zu einem bestimmten Kosten zu Ihnen kommen geht.

Eine Auswahl an Java und Webapps ist nicht unbedingt nur um eine einzige Sprache.

Es gibt viele Gründe, warum das Unternehmen eine einzige Architektur Mandat kann. Sie müssen die Gründe verstehen, warum Ihr Unternehmen damit und den Wert für das Unternehmen zu tun, getan hat.

Die Gründe dafür können sein könnte

  • Mit nur in einer Expertise Zug Menschen zu halten Sprache und Werkzeugkette
  • macht es leichter, Leute zwischen den Projekten zu bewegen, da die Technik ähnlich ist.
  • die Wartung erleichtert, da Mitarbeiter später auf der Anwendung arbeiten müssen, um mehrere Sprachen nicht kennen.
  • mit Nicht-Tools kaufen (IDEs, Refactoring Browser usw.) für mehrere Sprachen
  • macht es einfacher zu bedienen Nicht-Windows-Desktops
  • Die Reduzierung der Betriebskosten für die Anwendung unterstützt (zum Beispiel keine Notwendigkeit für Desktop-Installationen, oder die Anzahl der Technologien durch Reduzierung sie wissen müssen)
  • )
  • IT Director ist Schmiergelder von Java-Tools-Anbieter bekommen

So gibt es Vorteile, sowie die Kosten, in der Architektur übernehmen. Sie müssen zeigen, dass Sie zumindest verstehen, die Vorteile und den Fall machen, warum Sie Ihre bevorzugte Sprache an diesem Projekt mit Corporate Sinn macht.

Warum denken Sie, es wird eine Katastrophe sein? Was macht Java so eine schlechte Passform für die Rewrite? Sie müssen vorsichtig sein, Sie kommen über nicht als jemand, der eine bevorzugte Sprache hat und nur schlechte Mund Dinge, die Sie noch nicht kennen.

Die Begrenzung der Wahl der „sanktioniert“ Architekturen macht Sinn, wenn Sie Wartungskosten berücksichtigen. Das macht es leichter, Menschen zu bewegen oder sogar ganze Teams zwischen den Projekten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top