Thursday, January 25, 2007

Charla CMMi

Este Viernes a las 18:00 habrá una presentación sobre el modelo CMMi, muy interesante para la asignatura, en el salón de actos.
Interrumpiremos la clase durante una hora para poder asisitir a la charla. Contaremos con la presencia de un experto en el tema, que nos podrá dar una visión práctica muy interesante.

Wednesday, January 17, 2007

Técnica de estimación: Wideband Delphi

Estimación por grupos de expertos: Método Delphi.
La información sobre este método la he extraído del libro de McConnell sobre estimación de software: Software Estimation, Demystifying the Black Art, que os recomiendo.
El método wideband Delphi es una técnica de estimación estructurada en grupo. Deriva de un método creado en los 40.
Se basa fundamentalmente en que varios expertos, tras crear estimaciones individuales, se reunen para ponerse de acuerdo en una estimación.
Un estudio del método original decía que no se obtenían mejores resultados que con estimaciones individuales debido a las presiones políticas que se podían ejercer sobre el grupo. Así que Boehm y Farquhar crean en los 70 el Wideband Delphi como mejora del original.
El proceso mejorado es el siguiente:

1 - El coordinador presenta a cada experto la especificación y un formulario de estimación.
2 - Los estimadores trabajan individualmente. (Se puede hacer esto tras el paso 3)
3 - Se hace una reunión en la que los expertos hablan de los posibles problemas de estimación.
4 - Los expertos rellenan las estimaciones y se las dan al coordinador de manera anónima.
5 - El coordinador prepara un resumen de las estimaciones y la reparte a todos los expertos.
6 - Se reunen tanto el coordinador como los expertos para ver variaciones en las estimaciones.
7 - Los expertos votan anónimamente si aceptan la estimación media. Si alguien vota que no se vuelve al paso 3.
8 - La estimación final es una estimación única (single-point estimate). También podría ser un rango creado durante la estimación en la que la single-point es el caso esperado (recordad lo de caso más probable, menos probable y caso esperado).


En la imagen se muestra cómo podría evolucionar un supuesto proceso de estimación, y también cómo es el formulario de estimación: una escala en la que colocar la estimación. Hay que tener en cuenta que la escala debe ser lo suficientemente amplia para no coaccionar a los estimadores.

¿Es útil el método?
McConnell dice que en 25 grupos en los que ha recogido datos, comparando datos de estimaciones hechas haciendo un promedio de los expertos respecto a usar método Delphi, se obtiene una mejora de alrededor de un 40%.
Habla también de que muchas veces la estimación correcta (que lógicamente sólo se sabe a posteriori) no está dentro del rango original cubierto por los estimadores, y que sin embargo usando Delphi se llega, 1/3 de las veces, a incluir ese punto.

¿Cuándo usarlo?
Fundamentalmente al inicio de los proyectos, cuando todavía hay mucha incertidumbre. En el área inicial del cono de incertidumbre se puede mejorar mucho con Delphi, luego cuando hay más datos será mejor cambiar a otras técnicas.
Pero al principio puede ser útil combiar múltiples informaciones de diferentes expertos.

Más información en Wikipedia en: http://en.wikipedia.org/wiki/Wideband_delphi

Nuevo libro sobre estimación de software

Al hilo de lo que venimos dando en clase en las últimas semanas, sale un nuevo libro sobre estimación de software. Parece que está centrado en el tema de puntos de función, así que puede ser muy interesante.

Thursday, January 11, 2007

Soñando con el código

Es el título de un libro que habla de qué hace interesante la programación y qué no. Podéis encontrarlo en http://www.dreamingincode.com, y la verdad es que tiene muy buena pinta... Y para seguir en la línea de recomendar lectura, hay otro par de libros que merece la pena mencionar, aunque no son nuevos, ni mucho menos, sino más bien clásicos. Los dos son del mismo autor, Gerald M. Weinberg, y son An Introduction to General Systems Thinking y The Psychology of Computer Programming. Y para terminar otro nuevo: Software Creativity 2.0

Nos quedan 3 días

No, no es una premonición agorera algo así, es que faltan 3 clases para finalizar el curso...
Y todavía faltan unas cuantas cosas por ver... Así que tendremos que usar las horas que faltan intensivamente. Mañana haremos un breve (muy breve) repaso de lo que hemos visto hasta ahora, e identificaremos qué falta para finalizar. Y después seguiremos con temas de planificación, métricas, y alguna otra cosa más... Y también faltan por presentar los trabajos, de hecho hay ya unos cuantos que parecen interesantes.
Así de memoria, que me acuerde, tenemos los siguientes:
- Uno sobre las herramientas de VersionOne: http://www.versionone.net
- Algo sobre subversion, uno de los controles de versiones más utilizados: http://subversion.tigris.org
- También, si no recuerdo mal, uno sobre Clearcase, uno de los grandes en SCM: http://www-306.ibm.com/software/awdtools/clearcase
- Google code, de este puedo decir poco...
- Extreme programming (un tema muy interesante... a ver qué hacéis)
- Accurev: otro SCM, pero este muy, muy innovador: www.accurev.com
- Seapine

Y no sé si se me olvida algo!!