2009-07-27 10 views
8

Pracuję nad nowym projektem i używamy całkiem niezłego stosu. NHibernate, Spring, MVC ... lista jest długa.Techniki trzymania projektów na najnowszej wersji

Jedną z rzeczy, które zauważyłem, jest to, że w ciągu 6 miesięcy od rozpoczęcia mamy nową wersję NHibernate, nowa wersja zewnętrznego zestawu narzędzi kontrolnych i Windows 7 jest na horyzoncie.

Mieliśmy problemy, zanim utknięcie na starej wersji technologii kosztowało nas drogo, więc zastanawiam się, jakie są niektóre techniki, które możemy wykorzystać, aby zapewnić, że nasze przejścia do najnowszych wersji rzeczy są tak bezbolesne, jak to możliwe?

Odpowiedz

8

Zgadzam się z innymi komentarzami tutaj na temat częstej aktualizacji. Jeśli poczekasz za długo, wystarczy, że zauważysz to w wydajności projektu.

Sposób, w jaki to robimy, jest następujący.

  • Jeden osoba w zespole, dostaje ostatnią wersję, i zapewnia, że ​​wszystkie testy.
  • Osoba ta aktualizuje, co dll/narzędzia mają zostać zaktualizowane.
  • Dokumentuje również aktualizację.
  • Zbuduj cały kod wprowadź niezbędne zmiany, aby go zbudować
  • Uruchom wszystkie testy, upewnij się, że działają.
  • Ręczny test dym UI
  • Wysłać informację do reszty zespołu z doc uaktualniania
  • zameldowanie/upewnij się, że opiera się na serwerze kompilacji

ten sposób robimy nie stracić produktywność zespołu podczas uaktualnienie. Zauważ, że byłoby to znacznie trudniejsze bez testów jednostkowych.

10

Po prostu spraw, aby był priorytetem i ulepszaj go w miarę upływu czasu. Jeśli będziesz na bieżąco z najnowszą wersją, będzie mniej zmian łamania niż wtedy, gdy musisz aktualizować 5 wersji na raz.

Być może utwórz oddział i wykonaj testową aktualizację do bety, abyś wiedział o nadchodzących problemach, gdy ta wersja RTM (jeśli używasz betas, jest dla ciebie problemem).

+1

Zarządzanie zmianami za pośrednictwem oddziałów jest zdecydowanie opcją. – lomaxx

4

„update wcześnie, często aktualizować”

jeśli czekać będzie coraz trudniej więc umieścić wysoki priorytet na aktualizację systemu. Deweloperzy zazwyczaj lubią być na krawędzi, więc nie będą mieli nic przeciwko, kluczowym wyzwaniem jest sprzedać ten pomysł kierownictwu.

Zawsze dobrze jest robić krok po kroku, gdy aktualizujesz narzędzie jeden po drugim. Wtedy łatwiej jest też wrócić do starszej wersji. Metoda Big bang jest trudniejsza i wiele rzeczy może pójść nie tak.

Bądźmy realistami, każda aktualizacja będzie kosztowała Twój czas, a także Twój zespół, aby przejść do nowej wersji narzędziowej, ale po pewnym czasie zespół uczy się radzić sobie z tym i poziom stresu przy zmianie wersji jest znacznie mniejszy.

+0

To jest dobre w teorii, ale jak upewnić się, że nie wprowadzasz problemów wcześnie i często? – lomaxx

+1

@lomaxx: jeśli nie przetestujesz aktualizacji, masz gwarancję późniejszego wprowadzenia problemów. Wprowadzanie zmian to po prostu część testów i kontroli jakości. To proste i powinno być częścią twojego procesu. –

1

Mówiąc z punktu widzenia zarządzania, nie aktualizuj, chyba że istnieje ku temu ważny powód. Musisz przyjrzeć się, co ulepszenie przynosi Twojemu projektowi.Jeśli nie ma żadnych korzyści z aktualizacji, nie rób tego. Oczywiście nie jest to reguła twarda i szybka, ale większość zespołów, które znam, nie ma czasu na aktualizowanie systemów bez powodu, są one zbyt zajęte żądaniami funkcji i poprawkami. Polecam pracę w modernizacji na podstawie następujących kryteriów:

  1. Nowa wersja działa [istotnie] szybciej lub bardziej sprawnie i twoi klientów/klienci będą widzieć tę poprawę lub zmniejszy swoje immanentne potrzeb sprzętowych.
  2. Zostały dodane funkcje , które Ty lub Twoi klienci chcą i mogą uzyskać [natychmiastową] zaletę.
  3. Ulepszenie zabezpieczeń dla zabezpieczenia Usterka wpływająca na bieżącą lub przyszłą architekturę.
  4. Przyczyny licencji/wsparcia. Jeśli po zakończeniu obowiązywania umowy jesteś , prawdopodobnie będziesz chciał wykonać ostateczną wersję , aby przejść do ostatniej wersji oprogramowania , którą masz prawo do , a nadal masz dostęp do aktualizacji . Alternatywnie, jeśli jesteś na tak starej wersji oprogramowania , że znalezienie dokumentacji pomocniczej jest trudne, a następnie konieczna jest aktualizacja .
  5. Niektóre aspekty projektu, nad którym pracujesz , są bezpośrednio modyfikowane przez oprogramowanie, które może być zaktualizowane do wersji . Jeśli już masz zamiar pracować z nim i testować , prawdopodobnie jest to dobry czas na aktualizację i [prawdopodobnie] nie doda znacznego obciążenia do projektu .
  6. Główne zmiany. Jeśli Twój projekt lub oprogramowanie, na którym opiera się , uległy poważnym zmianom, to prawdopodobnie jest dobrym momentem na dodanie aktualizacji do swojego planu projektu w wersji . Duże zmiany oznaczają trudniejszą ścieżkę aktualizacji i powinny być przedstawione na podstawie harmonogramu, a nie , w przeciwieństwie do konieczności założenia buta w ostatniej chwili ze względu na wymaganą poprawkę lub ulepszenie.

szczególne powody, aby nie upgrade:

  1. oprogramowania, montaż i testowanie regresji kosztuje. Stąd potrzeba przekonującego powodu do aktualizacji.
  2. Nowe oprogramowanie często jest błędne lub ma nieznane "funkcje". Z tego powodu wiele osób decyduje się pozostać jedną wersją najnowszej wersji.
  3. Nowsze wersje często mogą działać wolniej niż w poprzednich wersjach, dotyczy to zwłaszcza małych aktualizacji i poprawek.
  4. Problemy z kompatybilnością. Ulepszenia się psują, lepiej jest pomijać jak najwięcej przyrostowych aktualizacji, aby uniknąć aktualizacji, które łamią kompatybilność, kompatybilność, która może zostać naprawiona w następnej aktualizacji.

Polecam utrzymując listę wszystkich programów, że projekt wykorzystuje wraz z ich wersji i dacie ostatniej aktualizacji (wraz z innych ważnych informacji, takich jak informacje o licencji, wspierać informacji, etc.). Oceniaj każdy element na tej liście raz w roku, aby upewnić się, że nie przegapisz żadnych aktualizacji, które pasują do powodu aktualizacji, które mogłeś przegapić. Oprogramowanie na tej liście ze starą wersją/datą i nowszą wersją może być zachętą wystarczającą do przekonania kierownictwa, że ​​należy dokonać aktualizacji.

Powiązane problemy