Devo ricostruire per usare l'ultima tecnologia?

-4

Sono uno sviluppatore full stack in una società molto piccola.

Ha un software ERP personalizzato che utilizza PHP 4 (senza framework). Attualmente, funziona bene dal punto di vista del business tranne che per alcuni bug qua e là. Attualmente, circa 4-5 persone lo usano. Il piano dell'azienda è di offrirlo come prodotto ai clienti con alcune modifiche.

Il codice è disordinato. In parte anche perché 5-6 sviluppatori hanno lavorato separatamente su di esso negli ultimi 15 anni.

Sono l'unica persona del team tecnico ora e le probabilità di aggiungere più persone sono trascurabili.

Devo raccomandare la gestione per l'aggiornamento a PHP 7.1 e un framework?

Il fatto è che costruire tutto da zero può richiedere circa un anno da quando sono qui da solo.

Ripeto che le esigenze aziendali sono state soddisfatte in gran parte a partire da ora.

Modifica

Risposta alle domande di jonrsharpe:

Attualmente i nostri dirigenti utilizzano questo ERP. Non stiamo vendendo questo software ora ma la visione è di farlo in futuro. Sono d'accordo con te quando dici "Data la dimensione dell'azienda sembra improbabile che possano continuare a fare qualsiasi cosa sia e sviluppare, vendere e supportare un grande software". Il problema principale è che la direzione vuole vedere gli output che migliorano le loro attività quotidiane (che si basa su questo ERP). La loro preferenza per l'azione dà priorità agli obiettivi a breve termine rispetto a quelli a lungo termine. Quando sono stato assunto, mi è stato detto che c'è un pezzo pezzo di software con alcuni bug qua e là. Volevano che li testassi e li correggessi (ora questi bug sono davvero minori per quanto riguarda la funzionalità). Quindi, sto cercando una solida ragione per convincermi prima di aggiornare. Il vecchio dev era partito prima che io mi unissi e la direzione avesse poche conoscenze tecniche.

    
posta tsh2017 19.05.2017 - 09:43
fonte

1 risposta

2

Considera questo approccio:

  1. Documento il codice esistente: scopo, comportamento, flussi di lavoro, limitazioni, problemi noti ecc.
  2. In base al risultato del numero 1, crea test suite per il codice. Ciò sarà utile indipendentemente dal fatto che decidi di riscrivere il codice nel nuovo stack tecnologico
  3. Anche in base al risultato del n. 1, identifica esattamente quali vantaggi porterà il nuovo stack tecnologico. Sii specifico, ad es. "lo stack corrente può gestire solo X richieste al secondo, con il nuovo stack il numero di richieste che possono essere gestite sarà 5X".
  4. In base a # 1 e # 3, parla con la gestione a assegna la priorità al lavoro . Può darsi che molti dei problemi / codice confuso che vedi sono in parti che nessuno usa, nel qual caso l'intera parte può essere eliminata, risparmiando un sacco di problemi.
  5. Basato su # 4, inizia miglioramenti graduali in cicli brevi . Per esempio. si consiglia di iniziare eliminando le parti non utilizzate nelle prime settimane, quindi migliorare l'architettura dei componenti principali nelle settimane successive, quindi modificare i nomi di variabili / funzioni che possono causare problemi nello stack di nuove tecnologie e così via. Esegui test dal n. 2 alla fine di ogni ciclo per assicurarti che qualsiasi cosa tu cambi / riscrivi non infranga nulla.

L'utilizzo di questo approccio è che hai sempre una versione funzionante ma migliorata del codice alla fine di ogni ciclo. In questo modo offre all'azienda maggiore flessibilità e minori rischi. Se ad esempio alla fine del mese 5 l'azienda vuole dimostrare il software ad alcuni potenziali clienti, può farlo, e la versione dimostrata sarà già migliore rispetto alla versione attuale.

    
risposta data 20.05.2017 - 07:46
fonte

Leggi altre domande sui tag