No adivinis, mesura
Escrit per Aaloy a 24 de February , 2008 a les 5:58 p.m.
A l'hora de fer estimacions de projectes una de les regles bàsiques que hi ha és que si existeix algun tipus de dada mesurable és millor això que res, i que és millor tenir una dada objectiva i reproduïble que tirar d'arts adivinatòries.
Això és aplicable també a altres àmbits de la programació: en lloc de dir "aquest algoritme crec que millora el rendiment" mesurem els seus efectes abans i després, sols d'aquesta manera podrem avaluar objectivament les millores que tenim.
En lloc de dir "el rendiment en producció serà millor", comprovem-ho, agafem-ne mostres i facem extrapolacions. Comprovem els canvis que feim quan posem cachés, optimitzam la base de dades, augmentam la memòria del sistema i documentem-ho tot.
La informàtica és una ciència i com a tal les afirmacions si no són demostrables i reproduïbles sols tenen sols el valor que els vulgui atribuir cada un segons la solvència de la persona que les fa. Si les afirmacions van acompanyades de mesures i dades, ja no és cosa de creure o no, és cosa de comprovar. Potser per això a tots ens agraden tant els benchmarks.
1 comentari, 0 trackbacks (URL) , Tags: Gestió de projectes
Comentaris
1 Comentari de domingo a les 06:04 del Sunday 13 Apr de 2008
Completament d'acord.
Moltes vegades la peresa fa que no comprovem aquestes suposicions i no seguem conscients de com els canvis afecten als productes.
Tanmateix, crec que falta afegir un pas més. Aquestes proves han de ser fàcilment reproduibles en el futur. Les proves que fem entre dos algoritmes poden no ser vàlides si més endavant canviem la forma de guardar les dades. Les proves que fem amb les caches també les hauríem de tornar fer si canviem la memòria disponible, la versió del framework emprat o el perfil de les consultes.
Com totes les proves, ha part de fer-les, hem de intentar que siguin fàcils de reproduir en un futur per tal saber que segueixen essent vàlides quan les condicions canvien.
salut!