Code and fix

Il code and fix è una pratica molto comune nello sviluppo del software, non considerato un vero e proprio modello di sviluppo del software.

Esso è assimilabile ad un modello iterativo che si alterna in due fasi ed è quasi totalmente privo di organizzazione del processo. Infatti il lavoro degli sviluppatori inizia senza che essi abbiano un'idea dettagliata di cosa il programma debba fare e di come debba essere implementato[1]. Si tratta, di conseguenza, di un modello in cui il software si adatta progressivamente a ciò che il suo progettista desidera. Sostanzialmente l'obiettivo è capire approssimativamente quale sarà la risposta finale del software e di provare ripetutamente a generare codice e correggere gli errori: se la complessità è bassa e l'esperienza del programmatore è buona, allora l'applicazione verrà prodotta in breve tempo.

FasiModifica

La prima fase è essenzialmente di codifica (code), a volte preceduta da qualche diagramma molto elementare per schematizzare la complessità del problema ed una primordiale soluzione; successivamente si passa alla fase di mini test che volge ad accertare se il programma funziona correttamente e soddisfa i requisiti (quasi certamente non specificati esplicitamente in qualche documento). In caso contrario si ritorna a codificare per fissare (fix) eventuali errori o disturbi. L'ultimo passo prevede l'uscita nel caso in cui il programma soddisfi i requisiti.

Contesti in cui viene utilizzatoModifica

Il modello Code and Fix viene spesso usato quando si dispone di poco tempo per lo sviluppo del software. In tali situazioni si può pensare di risparmiare tempo evitando di passare per tutte le fasi di sviluppo del software. Generalmente, però, ciò non risulta essere vero poiché, nella maggior parte dei casi non si raggiungeranno i risultati desiderati dal cliente né si andrà incontro alle sue esigenze[1]. La figura del progettista-programmatore tipicamente coincide con quella dell’utente finale. Code and fix concede molto all’ingegnerizzazione del processo tanto che risulta applicato in contesti dove il numero di righe di codice da produrre non oltrepassa le 1500. È il modo più semplice per sviluppare software ma anche il più costoso. Per tale motivo viene utilizzato tipicamente dalle aziende appena nate[senza fonte].

Pro e controModifica

Questo modello consente di raggiungere risultati in tempi più brevi poiché non viene eseguita la fase di progettazione, ma proprio per tale motivo necessita di grande lavoro di mantenimento[1] Nonostante ciò se utilizzato per progetti molto piccoli, che non comportano grossi rischi all'organizzazione, risulta essere un buon approccio. Infatti, non richiedendo grossi investimenti iniziali, il progetto può tranquillamente essere abbandonato se non si raggiunge il risultato desiderato[2] .

NoteModifica

  1. ^ a b c Gunther Lenz, Thomas Moeller, .NET-A Complete Development Cycle, Addison-Wesley Professional, 2003, pp.26-27
  2. ^ Eric J. Brown, William A. Yarberry Jr., The Effective CIO: How to Achieve Outstanding Success through Strategic Alignment, Financial Management, and IT Governance, CRC Press, 2008, pp. 65-67

BibliografiaModifica

  • (EN) Gunther Lenz, Thomas Moeller, .NET-A Complete Development Cycle, Addison-Wesley Professional, 2003. ISBN 978-0-321-16882-5
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica