I veloci cambiamenti del mercato e della concorrenza, i cicli di vita ridotti dei nuovi prodotti e la velocità con cui emergono nuove tecnologie evidenzia ogni giorno l'importanza di saper reagire e adattarsi in fretta - e questo si riflette anche nei software 
 
   Per molte sfide cioè reagire e adattarsi è indispensabile perché non è possibile prepararsi in anticipo ad affrontare eventi non prevedibili o totalmente nuovi e sconosciuti.
   Altre sfide riguardano domini/tecnologie/etc  talmente nuove e anche se conosciute di esperti reperibili in tempo non ce n'è.
   E ci sono sfide che affrontano eventi conosciuti e solo in parte prevedibili, preparasi a tutte le possibili evenienze è troppo costoso invece conviene di più reagire e adattarsi quando si presentano.
 
Esistono ancora sfide lavorative che riagurdano problemi noti e prevedibili che conviene imparare attraverso la guida di un esperto invece che a proprie spese. Per fare un esempio sulla tecnologia:
    - il rilascio di risorse non managed 
 
- la gestione concorrente dei dati sul db e delle transazioni
 
- la sincronizzazione e l'accesso a risorse concorrente a variabili condivise da più thread 
perché quando il limite dell'approcio usato inizia ad emegere (es. dead-lock tra thread, dati sul db disallineati o programmi che esauriscono tutta la RAM), fare le modifiche necessarie ha un costo (economico e di fiducia) elevato e difficile da sostenere. Questa categoria di problemi imho determina il mix di  specializzazioni utili in un team per un progetto insieme alla abilità di imparare e adattarsi
  I  n che misura questa visione corrisponde alla vostra esperienza pratica quotidiana   ?   
 
 
Tags :  Team Work | Agile | Pratiche | Complessità | Innovazione | Progettazione Software |