Il problema a cui ti riferisci significa che sono state saltate diverse cose, quindi il sistema risultante è andato storto. Vorrei descrivere alcuni dei passaggi mancanti:
Gestione della qualità: fallo bene la prima volta! Non usare mai hack temporanei o compromessi temporanei. Non devono essere necessarie rilavorazioni. Tutte le risorse sono utilizzate in modo efficiente e tutto ciò che fai è un contributo adeguato al progetto.
Analisi di fattibilità - Scopri le esigenze aziendali. Crea un business case per il progetto.
Piano di progetto: definire chiaramente l'ambito iniziale, pianificare come verrà consegnata la soluzione, creare una linea di base, attenersi al piano. Non perdere tempo su tutto ciò che non è sul percorso critico.
Ingegneria dei requisiti - Requisiti aziendali espliciti (ad esempio acquisizione di processi aziendali e determinazione delle operazioni aziendali che devono essere supportate dal sistema computerizzato, traduzione delle operazioni aziendali 1: 1 in casi d'uso del sistema). Convalida e verifica! (stiamo costruendo la cosa giusta? Stiamo costruendo la cosa giusta?) Tutti i requisiti devono essere collegati alle esigenze aziendali originali.
Progettazione software - Traduci i casi d'uso e il modello di dominio in progettazione di componenti e architettura di soluzioni. Tutti i componenti devono essere collegati ai requisiti di RE.
Implementazione: codifica il software come nella progettazione. Tutto il codice deve essere collegato ai componenti da SD.
Convalida - Test di unità, test di integrazione, prestazioni, ... (tutti i casi d'uso di RE dovranno ora essere testati)
Questi sono alcuni aspetti chiave di un processo software. Le attività menzionate fanno parte dell'ingegneria del software. È così che costruisci la giusta soluzione software per le reali esigenze aziendali e la costruisci in tempo, budget, su specifica.
Cerca questi termini per creare un software migliore e farlo bene la prima volta:
- Analisi di fattibilità (in particolare come costruire un caso aziendale)
- Gestione del progetto (in particolare piano di progetto e registro dei rischi con attenuazione dei rischi)
- Ingegneria dei requisiti (elicitazione, analisi, specifica, validazione)
- Software Design (UML e ingegneria del software basata su componenti)
- Costruzione di software (modelli di progettazione, framework, programmazione difensiva)
- Convalida del software (unit test, UAT, ecc.)