Sono a conoscenza dei principi di sviluppo del software e delle migliori pratiche. Tuttavia, nella maggior parte dei casi ho inserito un progetto che era già nella sua fase 2 e che aveva già scritto una quantità significativa di codice. Inoltre, in alcuni casi il codice e l'architettura del progetto hanno causato diversi problemi all'applicazione (problemi di prestazioni, difficoltà di manutenzione o aggiunta di funzionalità, mancanza di schemi di codifica, in alcuni casi anche problemi di sicurezza, ecc.)
Quindi, per questo motivo abbiamo notato che le nuove funzionalità impiegavano troppo tempo per essere implementate, a causa della complessità dell'architettura e della difficoltà a mantenerla.
Nella maggior parte di questi progetti utilizziamo SCRUM come base per la metodologia di sviluppo; quindi abbiamo una costante collaborazione con i clienti, che aiutano a definire le priorità e definire molti aspetti dei compiti.
La mia domanda è: poiché normalmente le richieste di modifiche o nuove funzionalità provengono dai clienti, è giusto che il nostro team crei storie o attività all'interno del backlog del prodotto, per quanto riguarda il refactoring del codice? O questa cosa dovrebbe essere inserita gradualmente nelle storie esistenti?
Lo chiedo perché in molti progetti era necessario un significativo refactoring, perché la situazione attuale stava causando un impatto negativo sul cliente (funzionalità troppo lunghe per essere sviluppate); anche in alcuni casi questo bisogno di refactoring è stato notato nel bel mezzo del progetto (nessuna possibilità di considerarlo nelle fasi iniziali del progetto).