Ho ereditato un sistema ospitato (sistema "A") che può essere utilizzato per gestire prodotti, inventario e ordini e posso inviare tali prodotti a varie terze parti.
Molto semplicemente, il sistema "A" non funziona. Il prodotto e i sistemi di inventario sono lenti, contorti e buggy. L'integrazione di terze parti non funziona affatto. Il codice è un pasticcio impuro e disordinato, quindi sistemare le cose non è semplice.
Il mio compito è cercare di salvare il sistema in qualcosa di utile, e il mio piano originale era quello di rifattorizzare, refactator e refactoring un po 'di più fino a quando il sistema non funzionasse.
Tuttavia, la mia azienda ha anche un sistema separato (sistema "B") che usiamo per costruire siti di e-commerce. Tra l'altro, il sistema "B" può gestire anche i prodotti, le scorte e gli ordini - solo in una capacità inferiore in alcuni casi. Anche il sistema "B" viene costantemente elaborato e aggiornato da un team.
Il mio nuovo piano è essenzialmente quello di eliminare il sistema "A" e di ricrearlo in base al sistema "B".
Dato che i miei refattatori avrebbero infine completamente ristrutturato il sistema "A", immagino di poter risparmiare tempo ricominciando da un quadro diverso e esistente. Tuttavia, se seguo questa strada, dovrei comunque ricodificare l'integrazione di terze parti, e le funzionalità minori che il sistema "A" ha e il sistema "B" non lo fanno.
In questo momento, il sistema "A" è fondamentalmente defunto - nessuno lo sta davvero usando, quindi ho la libertà di un periodo di riscrittura leggermente esteso, se scelgo.
Questa è una buona idea o dovrei attenermi al piano originale del sistema di refactoring "A"?