Tag Archives: software engineering

OpenIQUII 15 Ottobre 2015: parlerò di Software Engineering Practices

#Aggiornamento: le slide dell’evento sono ora disponibili su slideshare.

In Turchia, il 50% dei progetti IT finiscono nella spazzatura (fonte Agile Report 2013 di Agile Turkey), e l’80% dei progetti IT nel mondo costano di più rispetto al loro effettivo ritorno (fonte Mercer Consulting).

Il 15 Ottobre 2015, nella sede IQUII di Via Vincenzo Lamaro 13 vicino Cinecittà, a Roma, terrò un talk di 1 ora dove parlerò di pratiche utili nell’ingegneria del software, e perché oggi è diventato così importante progettare bene fin da subito software di qualità, in maniera tale da diminuire il gap tecnologico che ogni azienda, oggi o domani, pagherà.

Andremo a vedere qual’è il miglior approccio per far fronte a una deadline, come evitare di sforare con i costi di sviluppo dovuti alla mancanza di una giusta progettazione, come gestire i bug e come ridurli al minimo, come gestire con il minimo impatto le richieste del cliente che inevitabilmente cambiano rispetto alla direzione inizialmente intrapresa.

L’evento è aperto a tutti ed è GRATUITO, e non è necessaria una competenza tecnica elevata per capire le tematiche trattate. Per partecipare è solo necessario prenotare il proprio biglietto tramite eventbrite.

Quali sono i vantaggi del TDD?

Sono sicuro che molti di voi, si staranno chiedendo che cosa significa la sigla TDD. Bhe, la sigla TDD, sta per Test Driven Development, che tradotto in italiano è esattamente “Sviluppo guidato da test” [approfondimento su Wikipedia allo Unit Testing].

Sono andato a “sbattere” contro il TDD durante il mio corso di ingegneria del software avanzata all’università, e da allora il TDD l’ho sempre apprezzato come modello di sviluppo.

Ci ho realizzato Summbot l’anno scorso, e devo ammettere che mi ci son trovato abbastanza a mio agio, anche se, essendo stata la prima volta, lo sviluppo è stato più lento del solito.

Usare il TDD mi ha insegnato molto, e anche se non è il modello di sviluppo che adotto oggi (in quanto i tempi di sviluppo spesso sono cortissimi, si parla di qualche settimana), ognuno di noi dovrebbe provarlo almeno una volta. Magari scopri che ti ritrovi a tuo agio.

Mi piace definire il TDD come me lo ha illustrato tempo fa il mio professore di ingegneria del software: è come un martello ed una vite. In qualche modo potresti riuscire ad avvitare la vite utilizzando il martello, ma non stai utilizzando lo strumento per quello per cui è nato. Il TDD è esattamente così.

Mi spiego meglio. Continue reading Quali sono i vantaggi del TDD?

Tool: un plugin Xcode per la creazione automatica di grafi delle dipendenze

Tempo fa, ero alla ricerca di un tool per disegnare grafici che rappresentassero le classi e le dipendenze tra i vari componenti nei miei progetti Xcode. Non trovai alcuno strumento automatico. Vi era questo “Graphviz” ma non mi aveva soddisfatto a pieno. L’altro strumento era di una software house texana se non vado errato, di cui non ricordo più il nome, ma che costava ben 400$, mentre la versione demo dello stesso software costava ben 50$. Ma quello che non mi ha spinto a provarlo, è il fatto che il loro sito web sembrava antecedente al 1995. In quell’occasione, dovetti fare tutto a mano, utilizzando OmniGraffle. Fu un incubo. Continue reading Tool: un plugin Xcode per la creazione automatica di grafi delle dipendenze