Rilascia ora Se puoi
La tua domanda su quando inizi a rilasciare il codice è ottima. Penso che si applichino due condizioni. In primo luogo, di avere "una qualità sufficientemente buona" e in secondo luogo di soddisfare i requisiti per un MVP (prodotto minimo vitale).
Roma (e Agile) non sono stati costruiti in un giorno
Forse sei pronto con un team agile chiavi in mano a subentrare il primo giorno. Per la maggior parte delle organizzazioni, vi è il lavoro e le spese dell'addestramento, del riattrezzamento e del consueto ciclo di formazione, assalto, normazione ed esecuzione della costruzione di una squadra. Siate al corrente dei rischi e dei costi, state attenti a dare aspettative realistiche e state pronti a sostenere il vostro approccio.
Utilizza nuovamente Bootstrapper
Come per la fusione, il riutilizzo del codice è e sarà sempre la soluzione futura ai nostri problemi economici. La mia sensazione è che gli sviluppatori dicano spesso di credere nel riuso, 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 costruire sulle fondamenta di qualcun altro? Nel migliore dei casi, significa una riscrittura ogni pochi anni quando la leadership della squadra cambia.
Perché rilasciare presto e spesso?
Rilascia presto e spesso è un mantra per molte ragioni. Dà vita alle nostre discussioni su ciò che il prodotto dovrebbe diventare, rende reali dove siamo e ci fornisce una base per cambiamenti iterativi / incrementali. Il ritmo delle versioni è praticamente invariabile per l'agile, con la differenza di chi riceve le versioni (surrogati del cliente o utenti finali). Prima dell'agile, è stato stimato che la manutenzione rappresentasse il 60% del costo dei sistemi software. Questa è una fonte di grande costernazione per i manager e altri, alcuni che ritengono che la release del prodotto sia dove il software va a morire. Per loro, tutto dopo il rilascio viene rielaborato e pagato per correggere 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 inopportuno perché è un momento in cui non si hanno clienti e si paga per il prodotto anziché il prodotto che paga per te.
Non criticare il team precedente
Anche se potrebbe configurare gli sviluppatori che si assumono la riscrittura come eroe e la salvezza del progetto, penso che ci sia un costo per criticare le realizzazioni della squadra precedente.
- In primo luogo, se lasci che le persone decidano per conto della squadra precedente, hai più tempo ed energia per la tua vera missione.
- Sarebbe imbarazzante se dovessi lavorare con membri del team precedente, sia con sviluppatori che con parti interessate come product manager, project manager o clienti.
- Se riesci a farlo funzionare, potresti scoprire di ricevere (o peggio ancora) credito per ciò che ha fatto la squadra precedente.
- In media, la squadra precedente era probabilmente nella media. In media, potresti essere nella media. Hai più lavoro della squadra precedente perché hai una nuova metodologia da mettere in atto in aggiunta a un progetto.
- Se la vecchia squadra era orribile, a meno che tu non sia orribile, alla fine ti verrà riconosciuto il merito di essere meglio di quanto sia orribile. Se fossero meglio di orribili, e tu non sei notevolmente migliore, dire che erano orribili potrebbe invitare spiacevoli paragoni.
- Se la vecchia squadra era migliore di quanto pensavi, 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 aumenti in modo significativo le aspettative.
- Se si aspettano quello che stanno ottenendo, ma tu fai meglio, è una vittoria per te.
- Astenersi dalle critiche è sia buone maniere, sia mostrare di avere lezione.