lunedì 26 novembre 2007

la qualità non è negoziabile

Nel suo libro relativo alla sua esperienza di Scrum e di Xp, Eric Kniberg spiega che il loro approccio nello sviluppo tra i vari principi adotta quello che la "qualità non è negoziabile".
Più precisamente si distingue tra qualità esterna e qualità interna.
La qualità esterna può essere rappresentata da una interfaccia utente scarsa, povera, anti-intuitiva, mentre la qualità interna può essere rappresentata da un codice robusto, ben testato, privo di bachi, manutenibile, etc...

La qualità esterna può essere considerata semplicemente parte dello scope, mentre la qualità interna dovrebbe essere un must non negoziabile.

La qualità percepibile è quella esterna, dunque si potrebbe essere tentati ad essere accomodanti a riguardo della qualità interna, ed accettare da parte del committente discorsi del tipo "rispetto il fatto che tu stimi che questa attività possa essere valutata in 6 story-points, ma sono sicuro che con un quick fix potresti trasformarla in una attività valutabile in soli 2 story-points, [tanto l'utente non se ne accorge]".

Questo discorso andrebbe respinto nei confronti del committente, anche se nella pratica questo è molto difficile, perché ciò che si vende è ciò che s vede.

Dunque è difficile dare il giusto valore alla qualità interna.

Se ne discute in un tread della lista "scrumdevelopment".

2 commenti:

Bluebabbler ha detto...

Wow, un blog gemello ! Non solo utilizziamo lo stesso template, ma parliamo anche delle stesse cose !

A parte gli scherzi, trovo interessante il concetto di qualitá interna ed esterna. Forse puó essere interessante anche considerare di chi é a carico il costo di un certo tipo di qualitá: la qualità esterna dovrebbe essere a carico del cliente, mentre la qualità interna dovrebbe essere a carico del team ?

O no ?

Tonino Lucca ha detto...

La tesi sarebbe che la minore qualita' interna avrebbe dei costi nascosti che prima o poi ricadrebbero comunque sul cliente.

Informazioni personali

La mia foto
I have been coding from the old C64 times. Studied Computer Sciences at Milan University. I also worked there in technical operations. Many years of experiences in coding Java and C#, desktop and web applications, with practices like unit testing. I used to play with 3d graphics in architecture recently with Blender 3d. Now I look for support related to some projects I am working on, oriented in automation in tourism related services, using functional programming framework, specifically F# and Suave.IO. email
tonyx1 (at) gmail.com github https://github.com/tonyx