Sono nel mondo dello sviluppo di software professionale da oltre 5 anni. Un'intensa frustrazione che ho avuto nel corso degli anni è quando un prodotto software su cui sto lavorando risulta instabile, fragile e compromesso. Ovviamente questo sembra sempre accadere quando mi affretto a sviluppare diverse nuove funzionalità e ad incontrare una scadenza molto aggressiva, apparentemente arbitraria.
Le nuove funzionalità richiedono un'attenta progettazione, uno sviluppo solido e test approfonditi. Tuttavia, l'importanza di rispettare la scadenza compromette ognuno di questi processi, risultando in un'applicazione estremamente fragile.
Sono fiducioso delle mie capacità e della mia esperienza come sviluppatore, e so di poter produrre un ottimo prodotto software in base all'ambiente giusto. Ma sembra che quando si presentano questi tipi di progetti, è impossibile per me fare bene il mio lavoro, e non posso sopportare il mio lavoro.
In che modo grandi aziende di software gestiscono questo problema in modo che il risultato finale sia un ottimo prodotto?