Tuesday, November 27, 2007
El papel del liderazgo en el desarrollo de software
http://www.infoq.com/presentations/poppendieck-agile-leadership
Wednesday, October 24, 2007
The podcast for professional developers
Echad un vistazo a www.se-radio.net, especialmente al que habla sobre SCRUM.
Sunday, October 21, 2007
Refactoring
Wednesday, October 10, 2007
Vídeos
La gente de google organiza charlas periódicas sobre ingeniería, ciencia y otros temas. Y como pueden permitirse invitar a lo mejor de lo mejor, hay material realmente interesante.
Los que os voy a recomendar hoy (y cuando digo recomendar quiero decir que encargaré un trabajo sobre el tema) son los siguientes:
Y en segundo lugar una introducción (una clase magistral realmente) sobre SCRUM:
El tiempo que paséis viéndolos estará bien invertido...
Saturday, October 06, 2007
The road to gold
El de hoy es un poco antiguo, pero sigue mereciendo la pena. Se trata de una serie de 3 artículos del sitio WinSuperSite que hablan sobre la historia del desarrollo de Windows. Hay tres partes que podéis encontrar en:
- Parte 1: los primeros años
- Parte 2: el desarrollo de windows
- Parte 3: Probando windows
Como comentaba el viernes en clase, quien quiera ampliar más todavía sobre la historia del desarrollo de ese sistema operativo, puede leer Show Stopper.
Ahí encontrará información sobre alguno de los jefes de proyecto (y por supuesto programadores) más famosos de la historia del software: David Cutler.
Cutler era ya famoso antes de unirse a Microsoft, pero durante el desarrollo de NT dio rienda suelta a su estilo de project management extremadamente rígido y duro.
Cutler fue elegido premiado como Senior Distinguished Engineer por la National Academy of Engineering a mediados de los 90, y tiene un título similar otorgado por Microsoft.
Es difícil hacer una lista de los nombres que es imprescindible conocer, así que aquí tenéis los primeros de los que me he acordado:
* Linus Torvalds, supongo que este no necesita presentación. Hay un libro interesante sobre él: Just for Fun: The Story of an Accidental Revolutionary
* Charles Simonyi. Seguro que os suena por cosas como la notación húngara, y si eso no es suficiente, habréis usado Word en alguna ocasión, ¿verdad?
* John Carmack. ¿Os suena el Doom y el Quake? Mirad también Armadillo Aerospace.
* Steve McConnell, autor de libros como Code Complete, Software Estimation y Rapid Software Development, entre otros, de los que ya hemos hablado.
* Bjarne Stroustrup. También el C++, ¿no?
Si os interesa el tema, más información en el libro GO TO: Software SuperHeroes
Monday, July 30, 2007
Dos nuevos libros de pragmatic programmer
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
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
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
Thursday, January 11, 2007
Soñando con el código
Nos quedan 3 días
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!!