dei progetti software sono la redazione superficiale dei requirements ed una stima troppo ottimistica della complessità generale.
• Maggiore è il livello di innovazione di un progetto software, più elevato sarà il livello di incertezza ad esso relativo.
• Ad un aumento del 10% della complessità del problema, vi è un incremento del 100% della complessità della soluzione software (crescita esponenziale della complessità).
• Dato che non esistono software privi di difetti, l’obiettivo è minimizzare e ridurre l’impatto dei malfunzionamenti non di eliminarli.
• Un problema software raramente ha una unica soluzione chiaramente superiore a tutti le altre, ma spesso si possono individuare più soluzioni alternative di merito equiparabile.
• Migliorare la qualità di una caratteristica specifica spesso ne compromette un’altra. Ad esempio, tentativi di migliorare l’efficienza influiscono negativamente sulla flessibilità del codice sorgente.
• Un clima di pressione dovuto all’incertezza relativa ad esigenze di business in continua evoluzione causa il deterioramento della funzionalità e la riduzione della qualità del software.
• Vige il principio di Pareto: l’80% del progetto viene terminato nel 20% del tempo a disposizione. Il completamento del progetto richiede un tempo addizionale che aumenta in maniera esponenziale nella fase finale dell’implementazione. Considerazioni sviluppo software SOFTWARE ESTIMATION