Frage

Wenn eine neue Version eines Rahmens oder Sprache angezeigt wird (zum Beispiel .NET 3.5, SQL2008), was Ansatz nehmen die Menschen zu, wenn zu übernehmen / aktualisieren?

Im Allgemeinen werden die Entwickler sagen, so bald wie möglich (sie wollen es in ihrem Lebenslauf und aus einer Perspektive Management ihnen geben, was sie wollen, bietet ein Motivationsschub), aber im Handel gibt es oft wenig Anreiz (wenige Kunden die neueste Version verlangen) und von eine Kostenperspektive (Retest, Ausbildung) gibt es oft eine abschreckende Wirkung.

Ich denke vor allem an „on-going“ Systeme und Projekte (wie in einem Softwarehaus), die existieren und Jahren entwickeln darüber, wo die unter „neue Projekte nutzen die neue Technologie“ Ansatz nicht funktioniert.

Sind die Menschen durch spezifische Anforderungen (die Notwendigkeit, eine neue Funktion zu nutzen, eine potenzielle oder bestehende Kunden anspruchsvolle Unterstützung für sie) angetrieben wird, tun sie es formal beurteilen (in diesem Fall, was sind die Kriterien) oder aktualisiere sie als eine Angelegenheit die Routine (in diesem Fall, wenn - Anströmkante gegen Ausbluten Flanke)?

Haben die Leute denken, dass nicht auf die neueste Version von etwas sein sollte technische Schulden und verwaltet als solche betrachtet werden?

Oder ist „wenn es nicht kaputt ist, repariere es nicht“ ein gültiger Ansatz?

War es hilfreich?

Lösung

Informieren Sie sich über Technical Debt . Dies ist eine einfache Kosten-Nutzen-Entscheidung.

Die „wenn es nicht kaputt ist, repariere es nicht“ ist eine gemeinsame Management-Politik, die sagt, „morgen Dollar sind nicht so viel wert, wie die heutigen, so planen nicht für zukünftige Verbesserungen.“ Schließlich technische Schulden akkumulieren bis zu dem Punkt, wo das Produkt nicht mehr entlang hinken kann.

Die häufigste Bruchstelle ist, wenn einige Stück der Infrastruktur wird nicht mehr unterstützt. Bis dahin ist inkrementale Änderung nicht möglich.

von Grund auf neu zu erfinden ist eine neue Kapitalanlage. vorhandenen Code Befestigung ist ein Aufwand. Die Konten Kraft-Management machen technisch verrückt Entscheidungen.

Im Falle von Open-Source-Software, erfordert es eine sorgfältige technische Management, da es keine offizielle „Unterstützung Sonnenuntergang“ Ankündigung von Oracle / Sonne. Bad technisches Management, führt natürlich zu technischem Konkurs.

Andere Tipps

Wir schauen auf die Unterstützung Lifecycle-Kosten . Wie lange die älteren Versionen unterstützt werden, und was kostet es? Plattformen wie Windows und Java sind in der Regel schnell zu bewegen, wie zu Mainframe-Umgebungen verglichen, und einen Teil der Kosten der Geschäftstätigkeit auf diesen Plattformen zu tun ist regelmäßigen Upgrades durchzuführen. In einer rationalen Welt, das ist!

Neue Versionen können Killer-Features, die wir brauchen - aber das ist selten in der Unternehmensentwicklung. Die wichtigsten positiven Verkaufsargumente neuer Versionen (im Gegensatz zu negativem Gegensatz wie abgelaufene Unterstützung) neigen zu sein mehr Entwickler Effizienz , die nur schwer zu messen ist. Gegen das, wie Sie die Kosten für die Umschulung anzeigen, müssen in Betracht gezogen werden, nicht nur für die ersten Entwickler, sondern entscheidend ist, für die Wartung. In jedem Upgrade neigen einige Anwendungen hinter als zu kritisch in den Ruhestand gelassen werden, und zu teuer / fragile zu aktualisieren. Im Laufe der Zeit haben die Nummer von Plattformen und Versionen, die Sie steigt technische Gesamtverschuldung (unabhängig von ihrem Alter) zu unterstützen.

Ein weiteres Kriterium, um neue Versionen für die Aktualisierung (die Sie beachten) ist die Fähigkeit, ziehen und halten Mitarbeiter . Mit der aktuellen wirtschaftlichen Phase, das spielt die zweite Geige, aber noch nicht völlig ignoriert werden kann. Sie wollen mindestens ein Gewürz von enthusiastischen und sachkundigen Entwickler haben.

Ich denke, die Killer-Frage ist, ob Ihre App langfristig überleben werden, wenn Sie nie die Plattform / Sprache Version aktualisieren. Wenn Sie denken, es kann nicht, können Sie auch früher aktualisieren, statt später, da es nur härter werden wird.

Denken Sie darüber nach, wie lange Ihre App aktiv weiterentwickelt werden sollen, bis Sie eine volle Rewrite benötigen. Wenn Sie es noch nie umschreiben wollen, würde ich ständig aktualisieren. Überlegen Sie, wie schwierig es wird der beste Entwickler zu finden, wenn Sie in einer veralteten Technologie arbeiten. Überlegen Sie, wie neue Rahmen / Sprach-Features beschleunigen könnte Ihren Entwicklungsprozess auf lange Sicht, für ein bisschen kurzfristig Schmerzen.

Wenn Sie wirklich brauchen, um. .NET 1.0 war beschissen, 1.1 war ein nettes Upgrade, aber Web-Entwicklung mit VS2003 war nicht so glatt. Dinge mit VS2005 verbessert und .NET 2.0 - und ich sehe noch viele Entwickler und Unternehmen stehen zu .NET 2.0. Frühere Versionen waren so frisch, Version 2.0 war reif tech. Also, wenn Sie mit 1.1 zufrieden waren, warum sollten Sie ein Upgrade? Wenn Sie mit 2.0 jetzt glücklich sind, warum ein Upgrade auf 3.5 oder 4.0?

Wenn die Vorteile eines Upgrades (mehr Funktionen, oder ein Bugfix Sie benötigen) überwiegen die Risiken / Kosten beteiligt (Neuemissionen, brechen vorhandenen Code).

Wenn Sie für Microsoft-basierte Plattformen entwickeln, wie ein Windows Forms-App für Windows oder ASP.NET Webapp für Windows Server ist die schöne Zeit zu migrieren für jeweils zwei Hauptversionen von OS.For Beispiel, wenn Ihre Anwendung entwickelt wurde, für Windows 2000, sollten Sie auf Vista migrieren, obwohl XP vernachlässigt werden kann. In ähnlicher Weise kann, wenn sie entworfen wurden, für XP SP2, Sie sicher Vista ignorieren und Ziel Win 7. Normalerweise Microsoft bricht nie (oder selten bricht) inkrementelle OS-Updates. So eine App auf dem heutigen Betriebssystem ausgeführt wird auf jeden Fall auf dem nächsten laufen. Aber nie auf der einen danach. (Es wenn läuft wie kann Geld $ M machen ???)

Quelle: Selbst ... Windows Developer für mehr als 5 Jahre)

Ich bin in der Aktualisierung so bald wie möglich Lager (obwohl ich einen Monat warten könnte, nachdem eine neue Version für alle Fälle für nicht erfasste Ausgaben kommen). Es gibt ein paar Dinge, die Sie brauchen, zu denken:

1. Sicherheits Releases

Viele der Menschen, die mir sagen, wenn es nicht kaputt ist, repariere es nicht auch die gleichen Leute, die ihre zwei Augen schließen würde, wenn Sicherheits-Patches frei zu bekommen. Denken Sie Equifax.

Für mich ist es eine ethische Verantwortung, zumindest auf Sicherheit unterstützte Versionen eines Rahmens. Wir schulden es unseren Kunden, ihre Daten zu schützen.

2. Anziehendes & Halte Talent

Es gibt viel Gerede darüber, wie die Programmiersprache oder Rahmen verwendet keine Rolle spielt. Aber in meiner Erfahrung, der sauberste Code und Design für einen Web-App sind in der Regel von den Menschen geschrieben, die leidenschaftlich über die Rahmenbedingungen und Programmiersprache verwendeten aufgrund ihrer Erfahrung und Know-how mit.

Diese Leute sind unwahrscheinlich, lange bleiben um oder Ihr Unternehmen beitreten, wenn Sie auf eine sehr alte Version bleiben. Bitte denken Sie an Ihre Entwickler Glück.

3. Neuere, einfachere Wege durch die neuere Version angeboten

Sehr oft neuere Versionen eines Rahmens etwas schwer in der Vergangenheit sehr viel einfacher. Wenn wir nicht aktualisieren, verpassen wir die guten neuen Pakete / Funktionen aus und wir unseren Code in der alten frustrierenden Weise schreiben zu wissen, gibt es einen viel einfacheren Weg, um die gleiche Funktion zu erreichen. Und wenn es Zeit für ein Upgrade kommt, können wir am Ende mit wieder zu ändern, um die neuen Art und Weise. Also, warum nicht aktualisieren und die neue bessere Art und Weise nutzen und weniger Zeit verschwenden?

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