Monday, July 30, 2007

Dos nuevos libros de pragmatic programmer

Un par de nuevos libros que parecen tener muy buena pinta sobre PGP:

Los dos hablan de métodos ágiles y están basados en experiencias prácticas, no los he leído pero creo que merecerán la pena...

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!!

Thursday, December 07, 2006

Más información sobre SCRUM

En navegapolis.net han publicado un nuevo vídeo sobre SCRUM: http://www.infoq.com/presentations/agile-quality-canary-coalmine.
Hay más vídeos en googlevideo sobre el tema.

Sunday, November 19, 2006

SCRUM en Unkasoft

La empresa Salmantina Unkasoft ha introducido documentación muy interesante en su blog sobre SCRUM, no dejéis de leerlo!! (Vamos, que os lo imprimáis, que sirve como apuntes...)

http://eskasiunblog.blogspot.com/2006/08/scrum-llega-unkasoft.html

Nueva documentación

He subido nueva documentación a UBUNet, de las clases, recortes, etc, etc, etc. Echad un vistazo porque la mayoría es material bastante interesante.

Recordad que el plan de la asignatura era el siguiente:

- Introducción
- Construcción de software (dónde hemos visto, entre otros, SCM)
- Plan de proyecto
- Estimación
- Control y seguimiento del proyecto
- Cierre de proyecto
- Métodos ágiles

Saturday, October 28, 2006

Ejercicio

¿Alguien quiere medio punto extra? Esta vez va en serio.

Quien lea, prepare un comentario de 2 páginas y lo presente en la siguiente clase, sobre el artículo de Jack W. Reeves, el código es el diseño, tendrá medio punto adicional en el examen. Lógicamente el comentario, y la exposición, deben estar bien hechos...

Quienes lo vayan a preparar, que me envíen un correo.

Wednesday, October 25, 2006

Clase del 27 de Octubre

El Viernes 27 de Octubre, a las 19 horas, hay una entrega de diplomas a los egresados de ITIG.
Vamos, que no va a haber prácticas a las 19... Y por tanto tampoco las habrá a las 15:30.
Además parece que el tema de que nos instalen los MS Project va para rato... Me gustaría aprovechar el tiempo de las prácticas para hablar de alguna herramienta interesante de las que os comentaba el otro día, pero dado que no podemos adelantar la clase de teoría (hay otro grupo de prácticas)... habrá que esperar.
Tenéis mi email para cualquier duda.

Wednesday, October 11, 2006

A alguien le interesan los videojuegos?

No, no me refiero sólo a jugar, sino al desarrollo de video-juegos, quizá una de las áreas más interesantes en el mundo del software durante años. Bien, a quien le interese seguro que le gustará este sitio: www.gamasutra.com.
Además de noticias siempre publican artículos muy interesantes sobre desarrollo y, por lo menos cuando yo me lo leía,
postmortens de proyectos, más interesantes todavía.
Hay una revista muy buena sobre el tema: Game Development Magazine, y muy relacionada con Gamasutra.
Creo que es una de las pocas publicaciones profesionales sobre video-juegos disponibles. Aquí ha escrito gente como John Carmack, y otros muchos de su nivel. Aunque no todo en el mundo de los video-juegos es maravilloso, como puede leerse aquí. Es un artículo que tuvo bastante impacto hace un año o dos, y que incluso fue recogido en el siguiente libro: The best software writing.

No hay clase el Viernes 13 de Octubre!

Finalmente no habrá clase el Viernes 13 de Octubre. O al menos esas son las noticias que me han llegado... Vamos, que no vais a ir...
Así que se postpone hasta la semana siguiente. En principio una hora antes, a las 16:30, para que pueda hacer una pequeña introducción práctica antes de saltar a la teoría...

¡¡Disfrutad del puente!!

Tuesday, October 10, 2006

El desarrollo de Windows 2003

¿Os habéis preguntado alguna vez cómo desarrolla una de las compañías de software más importantes del mundo?
Dejando a un lado las críticas a sus "estrategias" de marketing, a sus prácticas monopolistas, etc, etc, es importante darse cuenta de que muchos grandes personajes del software han pasado por las filas de M$, en muchos casos haciendo productos muy buenos.
En el siguiente artículo podéis leer la historia del desarrollo de 2003 y cuenta también algo de cómo empezó con el NT: http://www.winsupersite.com/reviews/winserver2k3_gold1.asp.
Entre los puntos interesantes a destacar: cómo coordinan el trabajo, cómo hacen tests, por qué integran diariamente, cómo hacen los "builds".

Para saber más:
- The Build Master. Habla sobre cómo Microsoft organiza su proceso SCM (Software Configuration Management).
- Showstopper! Es una especie de "biografía" sobre cómo se desarrolló Windows NT. Se pueden aprender mucho sobre lo que nunca se debe hacer, y también algunas lecciones positivas.

Saturday, October 07, 2006

Lo que todo estudiante de Ingeniería en Informática debería saber...

Eso es lo que cuenta el siguiente artículo de la web de Joel Spolsky: Advise for Computer Science College Students.

Muy interesante, como casi todo lo que Spolsky escribe.

Friday, October 06, 2006

Crítica a los métodos ágiles

Por muy buenos que puedan parecer los métodos ágiles, siempre hay alguien que tiene algo en contra.

Hay un artículo muy interesante de un empleado de Google que los deja en muy mala situación.

No hay que creerse todo, ni lo bueno, ni lo malo, pero está claro que el artículo da que pensar.

Hay algún otro comentario en www.navegapolis.net

Libros interesantes

Hay una lista de libros sobre gestión de proyectos que es interesante conocer, por lo menos saber que existen...

- The Mythical Man-Month. Un clásico. Es necesario conocerlo y leerse un capítulo por lo menos, y de esa manera poder citarlo de vez en cuando y parecer que sabes algo de software. En este libro se introdujo lo de "Silver Bullets".

- Peopleware. Cuenta cómo tratar a la gente, y cómo organizar el desarrollo. También es de los imprescindibles.

- Code Complete. El libro más famoso de Steve McConnell. No va de gestión de proyectos, pero es imposible gestionar uno si no te sabes esto.

- Rapid Development. También de McConnell. Cómo gestionar y dirigir proyectos basado en métodos pragmáticos.

- El código es el diseño: un artículo de Jack W. Reeves.

- Sobre estimación, el último libro de McConnell. Se titula "Software Estimation: Demystifying the Black Art", y sigue la línea de los libros del autor: directo y claro.