Requirements Engineering - Corso Aziendale


Descrizione Dettagli Programma Peculiarità Contatti
 
Per molti sviluppatori, il termine requisiti evoca l'immagine di documenti polverosi, resi rapidamente obsoleti dall'evoluzione del progetto. Burocrazia, insomma, un inutile retaggio del passato in un mondo agile e competitivo.

Il motivo e' semplice. Troppo spesso si finisce per documentare l'ovvio, senza aggiungere valore. Si crede che l'analisi debba generare molta carta, mentre l'obiettivo dell'analisi e' capire il problema, definirne i contorni e di conseguenza il confine di automazione del sistema, che rappresenta esattamente il prodotto che andremo a creare.

Non e' un compito semplice. Pensare di ridurlo ad una mera compilazione di un template, magari scrivendo Use Case dopo una rapida intervista ad un potenziale utente, significa affrontare una dura battaglia disarmati. Saltarla a pie' pari, iniziando a scrivere codice dopo una rapida chiacchierata, porta spesso a realizzare un sistema che fa quello che ha chiesto l'utente, ma non quello che serve all'utente. Ammesso, ovviamente, che sia possibile identificare con tanta semplicita' il mitico "utente".

Ogni attivita' complessa richiede un set di strumenti ampio. Strumenti concettuali ancora prima che strumenti pratici, perche' dobbiamo imparare ad affrontare situazioni diverse con tecniche diverse. Con metodo, ma anche con creativita', perche' i veri requisiti non sono quasi mai a portata di mano. Spesso, la differenza tra un prodotto di successo ed uno che ottiene una tiepida accoglienza sta proprio nell'aver compreso a fondo il problema, ed aver poi trovato un approccio che faccia realmente lavorare il computer, non l'utente.

Infine, e' anche necessario comunicare quanto abbiamo appreso. Comunicarlo agli utenti, all'azienda, ai progettisti, ai programmatori. In modo economico, ove possibile, senza creare volumi che nessuno leggera' mai con attenzione.

Insegnare a fare tutto cio' e' l'obiettivo del corso. Troverete quindi un buon trattamento delle tecniche piu' note ed utilizzate (come gli Use Case), ma anche una grande enfasi sullo studio del problema, sulla valutazione di idee alternative e la gestione dei conflitti tra le richieste, sulla concezione di approcci innovativi, che non portino all'ennesimo caso di "computer inutile". Si passa poi ad altri strumenti, importanti per specificare in modo preciso ma compatto regole e comportamenti. Qui ritroverete l'uso di UML come linguaggio principe per comunicare con programmatori e progettisti, in modo efficace ed efficiente.

Non mancano ovviamente gli esercizi, e spesso viene scelto un problema aziendale come candidato all'applicazione delle diverse tecniche esposte.