Techniken, um Ihre Projekte auf der neuesten Version zu halten

8

Ich arbeite an einem neuen Projekt und wir verwenden einen ziemlich schönen Stapel. NHibernate, Spring, MVC ... die Liste geht weiter.

Eine Sache, die mir aufgefallen ist, ist, dass wir in den sechs Monaten seit unserer Gründung eine neue Version von NHibernate herausgebracht haben, eine neue Version eines Control Toolkits von Drittanbietern, und Windows 7 ist am Horizont.

Wir hatten schon mal Probleme, wo uns das Hängenbleiben an einer alten Version einer Technologie teuer zu stehen kam. Ich frage mich, welche Techniken wir verwenden könnten, um sicherzustellen, dass unsere Übergänge zu den neuesten Versionen der Dinge so aussehen so schmerzlos wie möglich?

    
lomaxx 27.07.2009, 13:24
quelle

4 Antworten

8

Ich stimme den anderen Kommentaren hier bezüglich der Aktualisierung oft zu. Wenn Sie zu lange warten, ist es genug Arbeit, dass Sie es in der Projektproduktivität bemerken werden.

So machen wir das.

  • Eine Person im Team, erhält die neueste Version und stellt sicher, dass alle Tests ausgeführt werden.
  • Diese Person die Upgrades was auch immer DLLs / Tools upgraden sollen
  • Er dokumentiert auch das Upgrade.
  • Erstellen Sie den gesamten Code, um notwendige Änderungen für den Build zu erstellen
  • Führen Sie alle Tests aus und stellen Sie sicher, dass sie ausgeführt werden.
  • Manueller Rauchtest der Benutzeroberfläche
  • Senden Sie Informationen zum Rest des Teams mit dem Upgrade-Dokument
  • Einchecken / sicherstellen, dass es auf dem Build-Server erstellt wird

Auf diese Weise verlieren wir während des Upgrades nicht die Produktivität des Teams. Beachten Sie, dass dies ohne Komponententests viel schwieriger wäre.

    
Shiraz Bhaiji 27.07.2009, 13:46
quelle
10

Machen Sie es einfach zur Priorität und aktualisieren Sie es. Wenn Sie mit der neuesten Version auf dem neuesten Stand sind, werden weniger Änderungen vorgenommen als wenn Sie jeweils 5 Versionen aktualisieren müssen.

Vielleicht erstellen Sie eine Verzweigung und führen eine Testaktualisierung für betas durch, damit Sie über bevorstehende Probleme bei der Verwendung dieser Version von RTMs informiert sind (wenn Sie Betas verwenden, ist dies ein Problem für Sie).

    
Garry Shutler 27.07.2009 13:26
quelle
4

"Früh aktualisieren, oft aktualisieren"

Wenn Sie warten, wird es immer schwieriger, also legen Sie großen Wert auf die Aktualisierung des Systems. Entwickler sind meist auf dem neuesten Stand, so dass sie sich nicht allzu sehr stören. Die Hauptaufgabe besteht darin, diese Idee an das Management zu verkaufen.

Es ist immer gut Schritt für Schritt Ansatz, wo Sie ein Tool nach dem anderen upgraden. Dann ist es auch einfacher, wenn Sie zu einer älteren Version zurückkehren müssen. Big Bang Ansatz ist schwieriger und viele Dinge können schief gehen.

Lasst uns realistisch sein, jedes Update kostet Sie Zeit und auch Ihr Team muss auf die neue Tooling-Version umsteigen, aber nach einiger Zeit lernt das Team damit umzugehen und der Stress beim Wechsel der Versionen ist viel geringer.

    
Perica Zivkovic 27.07.2009 13:28
quelle
1

Aus der Sicht des Managements sollte kein Upgrade durchgeführt werden, es sei denn, es gibt einen zwingenden Grund. Sie müssen sich ansehen, was das Upgrade für Ihr Projekt bedeutet. Wenn das Upgrade keine Vorteile bietet, tun Sie es nicht. Offensichtlich ist dies keine feste Regel, aber die meisten Teams, die ich kenne, haben keine Zeit, die Systeme ohne Grund zu aktualisieren. Sie sind zu beschäftigt mit Feature-Anfragen und Bug-Fixes. Ich empfehle, in Upgrades auf folgender Basis zu arbeiten:

  1. Die neue Version wird ausgeführt [signifikant] schneller oder mehr effizient und Ihr Kunden / Kunden werden dies sehen Verbesserung oder es wird Ihre reduzieren immanente Hardware-Bedürfnisse.
  2. Funktionen wurden hinzugefügt, dass Sie oder Ihre Kunden / Kunden wollen und können nehmen [sofortiger] Vorteil von.
  3. Sicherheitsverbesserung für eine Sicherheit Fehler, der sich auf deine aktuelle oder unmittelbare Zukunft Architektur.
  4. Lizenz- / Support-Gründe. Wenn du bist Am Ende deines Vertrages dann du werde wohl das Finale machen wollen Springe zur letzten Version des Software, zu der Sie berechtigt sind während du noch Unterstützung für die Aktualisierung. Alternativ, wenn Sie eingeschaltet sind so eine alte Version der Software das finde unterstützende Dokumentation denn es ist schwer, dann zu aktualisieren ist sicherlich gefragt.
  5. Ein Aspekt des Projekts, der Sie sind Die Arbeit wird direkt von beeinflusst die Software, die sein könnte aktualisiert. Wenn du schon gehst damit arbeiten und testen die Funktionalität ist es wahrscheinlich ein gute Zeit für ein Upgrade und [wahrscheinlich] wird keine signifikante Last hinzufügen Projekt.
  6. Wesentliche Änderungen. Wenn dein Projekt oder die Software, auf die es sich stützt haben dann große Veränderungen erfahren ist wahrscheinlich eine gute Zeit, um das hinzuzufügen Update (s) in Ihren Projektplan. Wesentliche Änderungen bedeuten mehr schwieriger Upgrade-Pfad und sollte sein Persude auf einer geplanten Basis eher als dass man in letzter Minute wegen einer notwendigen Reparatur oder Verbesserung beschuht werden muss.

Spezielle Gründe, die nicht zu aktualisieren sind:

  1. Software-, Installations- und Regressionstests kosten Geld. Daher die Notwendigkeit für einen zwingenden Grund für ein Upgrade.
  2. Neue Software ist oft fehlerhaft oder hat unbekannte "Eigenschaften". Aus diesem Grund entscheiden sich viele für eine Version hinter der neuesten Version.
  3. Neuere Versionen können oft langsamer sein als frühere Versionen, dies gilt insbesondere für kleine Updates und Patches.
  4. Kompatibilitätsprobleme. Durch Upgrades werden die Dinge kaputt gemacht. Es ist besser, so viele inkrementelle Upgrades wie möglich zu überspringen, um Updates zu vermeiden, die die Kompatibilität beeinträchtigen und die Kompatibilität, die beim nächsten Update behoben werden kann.

Ich empfehle, eine Liste aller von Ihrem Projekt verwendeten Software zusammen mit ihrer Version und dem letzten Upgrade-Datum zu führen (zusammen mit anderen wichtigen Informationen wie Lizenzinformationen, Support-Informationen usw.). Bewerten Sie jedes Element auf dieser Liste einmal im Jahr, um sicherzustellen, dass Sie keine Updates verpassen, die einem Grund für ein Upgrade entsprechen, das Sie möglicherweise verpasst haben. Software auf dieser Liste mit einer alten Version / Datum und einer neueren Version kann Anreiz genug sein, das Management davon zu überzeugen, dass ein Upgrade durchgeführt werden sollte.

    
pdavis 27.07.2009 15:25
quelle

Tags und Links