Un grande rilascio o più piccoli?
-
21-08-2019 - |
Domanda
Quando si lavora sui miglioramenti ad una linea esistente di applicazioni di business, pensi che sia meglio in batch fino cambiamenti in meno frequenti rilasci più grandi, o continuamente spedite nuove funzionalità nelle versioni più piccole? Supponendo che ci sono upgrade hardware o aggiornamenti del database, si fa a fare questi cambiamenti con le versioni pure, o tenerli separati?
Il rilascio tutto ha insieme il vantaggio che c'è meno interruzioni per il business, e meno di ore di lavoro invovled, ma ogni problema che incontrate in seguito potrebbe essere dovuto l'aggiornamento del database, l'hardware, o un qualsiasi numero di modifiche software.
Il rilascio poco e spesso rende più facile rintracciare i problemi derivanti da una release, ma porta a più disagi e più tempo speso test di regressione.
Quale è migliore?
Soluzione
Considerate come ogni release colpisce i clienti. Saranno frequenti piccoli rilasci renderli più felici a causa di risolvere i problemi critici più veloce? Sarà questo migliorare le vendite e la reputazione? Se sarà attentamente valutare se questi benefici siano superiori il lavoro supplementare svolto, altrimenti basta seguire il percorso che è più conveniente per te.
Altri suggerimenti
In realtà dipende l'ambiente tua in alcuni scenari:.
Molti clienti : si desidera che tutti i clienti di avere la stessa versione, per quanto possibile. E 'molto più facile avere anual, semianual o trimestrale rilasci grandi, come il coordinamento di test e implementazione è molto costoso. In questo caso vorrei includere cambiamenti db pure.
"Big infrastruttura" : se si lavora in un ambiente di grandi dimensioni società con addetti dedicati per i sistemi operativi e database, ancora una volta il costo complessivo di un rilascio è grande e quindi meno frequenti rilasci più grandi sono meglio <. / p>
Per breve, calcolare i costi di un rilascio in potere dell'uomo, affari interuption, il coordinamento, la sperimentazione e portarlo in relazione con i benefici di ogni nuova funzionalità o bug fix.
Io di solito tendono ad avere 1-2 grandi uscite all'anno e correzioni di bug inbetween per Show Stoppers.
Credo che la risposta migliore è: una miscela dei due.
Per esempio, se si aggiunge un po 'di piacere per gli occhi, o fatto il nome di testo più "ajaxy", o forse gettato in un nuovo tipo di rapporto - fanno questo come release "piccoli". Liberazione anticipata, e il rilascio, spesso, il più possibile.
D'altra parte, se è stato modificato un processo utente rivolto costringendo gli utenti ad essere "riqualificato", o se si sta richiedere modifiche infrastrutturali enormi -. Andare a fare una grande liberazione, e fanno di questo il meno possibile
Come hai detto tu, se non v'è poca o nessuna interruzione, fare il più spesso possibile, gli utenti saranno più felici per esso - e si sarà effettivamente spendere meno tempo sul test di regressione, perché hai solo per testare tutto collegato alle modifiche apportate.
Credo che il suo meglio per lavorare in un grande rilascio e rattoppare come è necessario risolvere i problemi su tutta la linea.
Come sviluppatore è necessario anticipare i possibili problemi e interruzioni nel sistema per renderlo il più robusto possibile. Che di solito significa molto di test in anticipo.
Considera anche che l'utente finale non può decidere di pagare per i più piccoli incrementi nel prodotto e possono pure aspettare un grande aggiornamento. Un buon esempio di questo è quando ho ottenuto Adobe Photoshop, sembrano rilasciare una nuova versione ogni anno così ho aspettato fino a quando semplicemente è sembrato il momento giusto
Un numero minore di stampa significa che sarete trovare tutti i bug in una sola volta. Diventa più difficile sapere quale modifica del codice causato quali bug. Devi quindi più di un problema con gli insetti a cascata - una modifica del codice si fece mesi fa ha causato un bug, ma nel frattempo, hai fatto altri cinque cambiamenti che tutto dipende dal bug introdotto mesi fa
.Più piccolo, stampa di alta qualità sono migliori. rilascia più piccole rendere più facile sono di alta qualità.
Personalmente, prediligo rilasci grandi.
Non ho il software a casa, che presenta aggiornamenti più volte a settimana. E 'fastidioso perché non v'è alcuna funzione di aggiornamento automatico, solo una notifica che continua a tornare.
Si potrebbe voler dare un'occhiata a questa domanda simile: Come spesso si deve si rilascia aggiornamenti software
In realtà - sia.
Can si sviluppo, eventualmente diviso in DEVEL e RELEASE ramo? Eventuali problemi urgenti dovrebbe essere fatto al più presto sul ramo REL e inviati agli utenti come una correzione. Dopo aver applicato aggiornamento rapido in ramo REL, la necessità di applicare la patch sarebbe stata inviata al team di sviluppo (nota: per risolvere qualche problema sulla REL è necessario scrivere del codice rapido, mentre nel ramo DEV è necessario mettere un po 'di tempo nel ripensare la correzione proposta , dato che le condizioni di ramo DEV potrebbero essere cambiate, quindi è normale che ci si scrive il codice completamente diverso per risolvere lo stesso problema in DEV o filiale REL).
Quando sarà fatto lo sviluppo della nuova versione, è necessario testare le nuove caratteristiche e le patch migrati da REL. Se tutto è ok, si sarà in grado di distribuire nuova versione grande, e archiviare il DEV corrente in REL, mentre il vecchio REL verrà ora sigillata.