Rilascia ora se puoi
La tua domanda su quando inizi a rilasciare il codice è fantastica. Penso che si applichino due clausole. Innanzitutto, hai una "qualità abbastanza buona", e in secondo luogo che soddisfi i requisiti per un MVP (prodotto minimo praticabile).
Roma (e Agile) non furono costruite in un giorno
Forse sei pronto con una squadra agile chiavi in mano per assumere il primo giorno. Per la maggior parte delle organizzazioni, vi è il lavoro e le spese di formazione, riattrezzaggio e il normale ciclo di formazione, assalto, normazione ed esecuzione della costruzione di una squadra. Essere in anticipo sui rischi e sui costi, fare attenzione a fissare aspettative realistiche, essere pronti e pronti a sostenere il proprio approccio.
Diventa un riutilizzabile Bootstrapper
Come il potere di fusione, il riutilizzo del codice è e sarà sempre la soluzione futura ai nostri problemi economici. La mia sensazione è che gli sviluppatori spesso affermino di credere nel riutilizzo, ma solo il tipo di riutilizzo che inizia dopo aver costruito un nuovo framework, piuttosto che il tipo in cui si basano su ciò che qualcun altro ha già fatto. Come può funzionare finché qualcuno non è disposto a scegliere di basarsi sulle fondamenta di qualcun altro? Nella migliore delle ipotesi, significa una riscrittura ogni pochi anni quando cambia la leadership del team.
Perché rilasciare presto e spesso?
Rilasciare presto e spesso è un mantra per molte ragioni. Dà vita alle nostre discussioni su ciò che il prodotto dovrebbe diventare, rende reale dove siamo e ci fornisce una base per cambiamenti iterativi / incrementali. Il ritmo delle versioni è praticamente invariante per l'agile, con la differenza che riceve le versioni (surrogati dei clienti o utenti finali). Prima dell'agile, si stima che la manutenzione rappresentasse il 60% del costo dei sistemi software. Questa è una fonte di grande costernazione per i manager e gli altri, alcuni che ritengono che il rilascio del prodotto sia il punto di morte del software. Per loro, tutto dopo il rilascio è rielaborato e pagato per riparare un prodotto che hanno già pagato una volta.
La pre-release è innaturale
Kent Beck scrive che la pre-release è uno stato innaturale per i prodotti software. È certamente un momento scomodo perché è un momento in cui non hai clienti e stai pagando per il prodotto piuttosto che per il prodotto che paga per te.
Non criticare la squadra precedente
Mentre potrebbe impostare gli sviluppatori che assumono la riscrittura come eroi e salvezza del progetto, penso che ci sia un costo per criticare i risultati del team precedente.
- Innanzitutto, se lasci che le persone decidano della squadra precedente, hai più tempo ed energie per la tua vera missione.
- Sarà imbarazzante se hai bisogno di lavorare con membri del team precedente, sia sviluppatori che stakeholder come product manager, project manager o clienti.
- Se riesci a farlo funzionare, potresti trovarti a ricevere (o peggio ancora prendere) credito per quello che ha fatto la squadra precedente.
- In media, la squadra precedente era probabilmente nella media. In media, potresti essere nella media. Hai più lavoro del team precedente perché hai una nuova metodologia da mettere in atto oltre a un progetto.
- Se la vecchia squadra era orribile, a meno che tu non lo sia anche tu, alla fine otterrai credito per essere migliore che orribile. Se fossero migliori che orribili, e tu non sei notevolmente migliore, dire che erano orribili potrebbe invitare confronti spiacevoli.
- Se il vecchio team era migliore di quanto pensassi e ti trovi nei guai perché l'organizzazione è rotta o il problema è mal definito o molto difficile, le cose andranno meglio per te se non hai significativamente aumentato le aspettative.
- Se si aspettano quello che stanno ottenendo, ma tu fai di meglio, è una vittoria per te.
- Astenersi dalle critiche è una buona educazione e dimostra che hai classe.