2011-01-03 15 views
7

Sono di fronte alla sfida di condurre due (attualmente) gruppi di sviluppo .NET separati con diverse strategie di sviluppo. Un gruppo si sta sviluppando su .NET Framework 2.0 (con forse alcune applicazioni su 3.5). L'altro gruppo adotta immediatamente qualsiasi nuovo framework che viene fuori, e inizia a codificare qualsiasi nuova applicazione con esso (sono in esecuzione 2.0-4.0 applicazioni). Per quest'ultimo gruppo, le applicazioni scritte in una versione precedente rispetto all'ultimo framework non vengono aggiornate..NET Framework - Quando eseguire l'aggiornamento?

Qual è l'attuale scuola di pensiero quando si tratta di un'azienda che sviluppa applicazioni Web su quando adottare un nuovo framework e se migrare applicazioni basate su versioni precedenti o meno rispetto al framework più recente? Anni fa il pensiero era aspettare fino a quando la tecnologia non diventasse mainstream - ma ora non sembra applicarsi molto con .NET.

risposta

3

(Quello che segue è la mia opinione personale, sulla base di aprox. 1 1/2 anni di esperienza con .NET nello stesso ambiente aziendale. Altri pareri possono certamente essere diverso dal mio.)

Probabilmente la cosa più importante considerare quali sarebbero le versioni di .NET Framework che i loro client hanno installato sulle loro macchine.

Ad esempio, il nostro client principale al lavoro ha installato .NET 3.5 e Silverlight 3 su tutte le macchine (> 5.000). Mentre ci piacerebbe molto sviluppare rispetto ai framework della versione 4, questa non è veramente un'opzione finché il personale IT del cliente non deciderà di implementare questi framework. (Ci aspettiamo che ciò accada alla fine intorno alla metà del 2011. Ma il client ha molte macchine, quindi le cose richiedono sempre più tempo di quanto vorresti: sono ancora in esecuzione Windows Vista su tutte le macchine desktop. In altre parole: i grandi clienti sono probabilmente più lento ad adottare le versioni .NET più recenti.Questa è un'altra cosa da tenere a mente.)

Tuttavia, penso che sia sicuro aspettarsi che i tuoi clienti debbano avere .NET 3.5 installato ormai. .NET 2 lentamente è una cosa del passato e probabilmente si può anche smettere di supportare .NET 1.1 su macchine desktop.

1

Il modo in cui gestisco i miei team di sviluppo è quello di fare ciò che è meglio per il singolo progetto tenendo conto delle esigenze del team E dei clienti che stiamo supportando.

In genere, l'aggiornamento offre nuove funzionalità e semplifica/velocizza la scrittura del codice per ottenere ciò che un cliente può desiderare. Tuttavia, con l'aggiornamento c'è un costo ovvio: a volte è necessario un nuovo allenamento e, a volte, ci sono problemi con la retrocompatibilità (specialmente per qualsiasi applicazione non banale). Certo, tutto ciò costa denaro.

Per la maggior parte, cerco di mantenere i miei team all'avanguardia poiché abbiamo appreso (attraverso l'esperienza) che il mantenimento di varie versioni di framework può creare molta confusione e, in definitiva, richiede lo stesso, o più, costa semplicemente facendo un aggiornamento una tantum. Detto questo, ci sono un paio di clienti che in particolare non vogliono che ci aggiorniamo. Questi sono casi speciali, ovviamente, ma li gestiamo quando necessario.

Fondamentalmente, per riassumere la risposta - decidere cosa è più importante per te. Nuove caratteristiche? Risparmio sui costi (che è necessario pensare a costi multipli - costi di sviluppo e dei clienti)? Manutenibilità? Supporto? Una volta che hai deciso queste cose e hai ricevuto input dai tuoi team di sviluppo, la risposta dovrebbe essere abbastanza chiara.

1

Abbiamo un negozio per due persone. Se dipendesse da me, aggiorneremmo non appena verrà rilasciata una nuova versione di .NET e Visual Studio. Il mio partner è più cauto e preferisce aspettare almeno 6 mesi per vedere se ci sono problemi noti che si presentano.

In entrambi i casi, penso che sia meglio aggiornarsi ragionevolmente rapidamente, e l'approccio del mio partner, per quanto frustrante per me, ha senso, quindi seguo il suo esempio. La più grande preoccupazione che ho è il numero di versioni di Visual Studio che abbiamo bisogno di mantenere in giro per supportare le applicazioni più vecchie. Abbiamo ancora l'app VB6 (e una per FoxPro per DOS) perché i nostri predecessori non hanno mai voluto aggiornare. Viviamo nella paura che sia necessario apportare una modifica a una di quelle app. di solito finisce in una riscrittura perché il vecchio codice è proprio così male (o forse siamo cattivi a leggere il vecchio codice).

Penso che sia molto intelligente aggiornare i programmi e il codebase ragionevolmente rapidamente mentre un nuovo set di strumenti viene fuori. Solitamente gli strumenti di migrazione funzionano meglio con le conversioni relativamente nuove rispetto alle conversioni molto vecchie o nuove. Semplicemente rende la vita più facile.