Aumentare la produttività dello sviluppo software

Nel volume che appena terminato di leggere, Lean software development di Mary e Tom Poppendieck, ho trovato una frase illumninante. Un tipico sistema è costituito per il 64% da funzionalità usate raramente o è del tutto inutilizzate, il che suggerisce che il terreno più fertile per il miglioramento della produttività dello sviluppo software stia nel non [...]
Invia questo articolo via email Invia questo articolo via email

Programmazione agile: incomincio con le stime

A seguito del bel seminario di Simone Casciaroli "Tool for agile planning and estimation" all'Agile Day 2008, di cui ho già parlato, il mio piccolo gruppo di sviluppatori ha deciso di sperimentare la stima agile dei progetti. Sentendoci dei novizi, abbiamo pensato di utilizzare come unità di misura delle storie le vecchie care ore di lavoro [...]
Invia questo articolo via email Invia questo articolo via email

Agile day 2008 - appunti di viaggio

Sì, va bene, avrei voluto commentare in diretta l'Agile day 2008, ma non ci sono riuscito per merito degli organizzatori: troppe le cose interessanti da seguire per poterle riportare immediatamente! Cercherò quindi di dare il mio personalissimo riassunto a posteriori, che intende essere più un taccuino di viaggio che un'analisi accurata dei tantissimi stimoli ricevuti nella [...]
Invia questo articolo via email Invia questo articolo via email

Il crepuscolo dello Sviluppo Agile?

In un post molto interessante di James Shore leggo "Because Scrum works in short cycles and doesn't include any engineering practices, it's very easy for teams using Scrum to throw out design. Up-front design doesn't work when you're using short cycles, and Scrum doesn't provide a replacement. Without continuous, incremental design, Scrum teams quickly [...]
Invia questo articolo via email Invia questo articolo via email

TDD con java: Fibonacci

Un paio di post fa ho parlato di Test Driven Development, sviluppare software scrivendo prima i test e poi il codice. Vi consiglio di leggerlo, prima di dedicarvi a questo.

Quest’oggi vi riporto un esempio per chiarirvi meglio le idee, tratto dal libro Test Driven Development by Example di Kent Beck: scriviamo un metodo che calcoli l’ennesimo numero della serie di Fibonacci.

Ovviamente iniziamo dai test.

Per prima cosa dobbiamo verificare che fib(0) = 0. Il primo test sarà quindi:

1
2
3
public...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

Test Driven Development: prima i test, poi il codice

Un metodo innovativo e agile per lo sviluppo e il design del software è il Test Driven Development (TDD): sviluppo guidato dai test. E’ un’alternativa al solito metodo a cascata (waterfall), secondo il quale, dopo un’adeguata analisi e progettazione, si inizia a scrivere il codice e solo alla fine si passa al testing e al debug.

Il TDD, invece, (previa analisi e progettazione, ovviamente) consiste nello scrivere il proprio codice ripetendo ciclicamente questi passi:

- scrivo il test prima ancora che esista il codice da testare
- il test (ovviamente) fallisce
- scrivo il codice minimo che faccia passare il test...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

36 Hours Developing

Lo so sono arrivato tardi, avrei dovuto scrivere questo post già ieri ma (mea culpa) non ne ho avuto il modo…

Il primo “Nerd-Reality”, un evento per la rete, uno show che mi rende orgoglioso di studiare informatica a Pisa.. come altro definirlo se non 36 Hours Developing!!

Ormai è quasi un giorno che i nostri eroi sono chiusi in una stanza a trangugiare kebab e a scrivere codice.. obbiettivo finale: scrivere in 36 ore un applicazione completa (un gioco nella fattispecie) per l’iPhone.

Andate sul sito per vedere dal vivo le fasi dello sviluppo e comunicare le vostre idee tramite il forum appositamente creato!

Per la cronaca i nostri eroi sono: ...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

eXtreme Programming: un modello agile di sviluppo software


Nell’ambito dello sviluppo di sistemi software mi è sembrato molto interessante il modello denominato eXtreme Programming (XP), un modello di sviluppo agile molto meno rigido rispetto ad altri metodi si sviluppo. Le parole chiave di questo questo approccio sono: semplicità, comunicazione e semplicità. In realtà, la prima volta che ho sentito parlare di eXtreme Programming mi sono immaginato a programmare con il portatile legato alla cintura mentre scalavo una parete…

eXtreme Programming 5 on Flickr
extreme programming 5 by ...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email