Gestirò i progetti per un team di sviluppatori senior molto piccolo (2-5). Sviluppano un'applicazione web basata su abbonamento. È in uso da molti anni, quindi a questo punto il lavoro coinvolge:
- Sviluppo di nuove funzionalità e aggiornamenti a funzioni esistenti
- Sviluppo di strumenti e rapporti interni
- Correzione bug
- Analisi dei problemi del servizio clienti
Le versioni di produzione sono talvolta determinate dagli obblighi dei clienti, a volte dal vantaggio competitivo, ma per la maggior parte non sono critiche dal punto di vista del tempo. Mi piacerebbe avere versioni di produzione regolari per mantenere il prodotto fresco - una volta ogni 2 mesi o giù di lì.
Poiché il team è così piccolo, gli sviluppatori dovranno essere coinvolti nella progettazione, test, implementazione e manutenzione.
Dato che non abbiamo un team di manutenzione dedicato, ritengo che la principale sfida sia lo sviluppo e la pianificazione interrotti dalla risoluzione dei bug e dai problemi del servizio clienti. Possono distrarci durante lo sviluppo di nuove funzionalità e interrompere il programma di rilascio.
Il mio pensiero iniziale è di fare quanto segue:
- Assumi un programmatore junior per tamponare gli sviluppatori senior dalle attività di manutenzione. Tra le attività di manutenzione questa persona può assistere gli sviluppatori senior.
- Adotta un approccio di tipo scrum in cui abbiamo una serie di sprint che portano a una versione di produzione. Ciò ci consentirà di mantenere le parti interessate nel ciclo e consentirci di riflettere e migliorare il nostro processo con ogni sprint.
- Poco dopo il rilascio, che è il momento in cui la maggior parte degli errori emerge, il team può concentrarsi sul design per la prossima versione con l'aspettativa che ognuno di essi venga probabilmente inserito nella correzione dei bug.
Mi piacerebbe sentire i tuoi pensieri e le lezioni apprese.