Queme sus gráficos Burn-down

En muchos artículos sobre scrum, el grafico tradicional burn-down todavía se representa como el método preferido para mostrar los progresos en un sprint o proyecto. Sin embargo, desde la introducción de graficos burn-down, varias han sido las mejoras sugeridas por los principales autores y expertos. Estoy de acuerdo con cada uno de ellos, y mi sugerencia para ustedes es intentar ver estas ideas, y cambiar la forma en que grafican por completo!

Leer más...

Exponé en 20 diapositivas y sentate de una vez

proyector de diapositivas¿Quién no asisitó alguna vez a alguna presentación que parecería interminable? El tiempo se estira hasta romper cualquier límite físico, el orador divaga sobre cuanto tema crea dominar, y las horas van pasando y pasando. A veces el presentador parece quedar tildado en una diapositiva, hablando y hablando sin parar, exprimiendo los conceptos al máximo (mientras, el público empieza a rogar, silenciosamente, que termine de una buena vez esa bendita diapositiva, con la secreta esperanza de que además sea la última y se de por terminada la tortura charla).

Evidentemente, hay formas mejores de dar una presentación. Una de estas maneras es utilizar el concepto de Pecha-Kucha.

Leer más...

¡Groovisimo!

logo de groovyGroovy es un lenguaje dinámico de programación alternativo para la plataforma Java. Spring tiene soporte nativo para incorporar scripts escritos en Groovy, y utilizarlos dentro de la aplicación como si fueran beans comunes. Es decir, es posible declarar un bean, inyectar y utilizarlo como una clase Java más, cuando en realidad su implementación es un script.

Todo esto se realiza a través del soporte para lenguajes dinámicos que forma parte de Spring 2.x, que permite programar clases en cualquiera de los lenguajes dinámicos soportados, y hacer que Spring automáticamente realiza la instanciación, configuración e inyección de los objetos resultantes.

Leer más...

Google Suggest se gradua de los Labs

Google G LogoGoogle Suggest es una modificación al campo de búsqueda de Google, el cual va sugiriendo posibles búsquedas, en tiempo real, de acuerdo a lo que uno va tipeando (y de acuerdo a tendencias, palabras más buscadas, etc.). Apareció en 2004, como un proyecto del "20% del tiempo" a los que se dedican los empleados de Google.

En un post que demuestra mucho orgullo por el logro, los ingenieros anuncian que Google Suggest se gradua de los Labs; durante la semana ira siendo desplegado en todo Google, de forma que se volverá una funcionalidad estándard del buscador.

Como hacer y/o comprar software de calidad

En la gran mayoría de los proyectos de software necesarios para desarrolladores internos (del departamento de TI) o externos (de consultoría y fábricas de software), podemos notar que los principales puntos de medición del funcionamiento son los plazos de entrega y costo. Como Robert Austin nos muestra perfectamente, en su libro "La medición y la gestión del rendimiento en las Organizaciones", la medición de un sistema complejo a través de unos pocos parámetros (métricas) hace que sea disfuncional y genera el efecto contrario a los fines previstos.

Leer más...

Próximo en Firefox: hacer volar a JavaScript

logo de firefoxMozilla está desarrollando impresionantes mejoras de performance en su motor de JavaScript para Firefox, el cual hoy pasó a formar parte de los builds de desarrollo del browser (aunque todavía no está activado de forma predeterminada). Se espera que este nuevo motor esté disponible para Firefox 3.1, que saldrá en unos meses.

Ya sabemos que Firefox 3 es uno de los navegadores con un motor JavaScript más rápidos (y en algunas pruebas incluso superando a Safari). Entonces, ¿qué tan más veloz va a ser? Estamos hablando de mejoras en performance de hasta 40 veces más rápido que el motor de Firefox 3. Si, leyeron bien.

Leer más...

Cómo usar Kanban en el desarrollo de software

kanjiUn kanban (en kanji 看板 donde kan (看) significa "visual", y ban (板) significa "tarjeta" o "tablero") es un concepto de producción justo-a-tiempo.

El kanban es una tarjeta física que se utiliza en el Sistema de Producción de Toyota (TPS - Toyota Production System) para soportar un control productivo descentralizado por demanda. Actualmente en el desarrollo ágil de software se visualizan los proyectos mediante la publicación de tarjetas con tareas en una pared, lo cual se conoce como "software kanban" o "tareas kanban".

Pero exactamente, ¿qué es kanban? ¿Cómo se puede utilizar en el contexto del desarrollo de software?.

Leer más...

Antes de construir software, debemos construir personas!

Con este artículo pretendo ayudar a aclarar la importancia del ScrumMaster, cuál es su papel en una organización de desarrollo de software que debe ser aprendido y como deben ser las características de liderazgo.

Resolvi escribir este artículo basado en dos fuentes de inspiración: La primera es el enorme número de libros que describen en detalle el sistema de producción Toyota (o Lean Production), su filosofía y cultura (libros son: El Toyota Way, The Toyota Way Fieldbook, Toyota Toyota talento y cultura). La segunda inspiración se basaba en los debates que tuvieron lugar en las listas en el desarrollo ágil, con respecto a si el ScrumMaster es necesario y si el ScrumMaster es solo una función.

Leer más...

Los cimientos de un buen clima laboral

Las personas tenemos dos tipos de necesidades: materiales y de espíritu. Para mitigar las necesidades materiales es preciso tener comida, ropa, vivir en un lugar adecuado, tener dinero para sufragar la educación de los hijos y cubrir unos niveles mínimos de bienestar. Sin embargo las necesidades de espíritu muchas veces no están cubiertas en el ser humano: ser dueños de nuestro propio destino, encontrar aliciente a lo que hacemos en el trabajo y en nuestra vida personal (amigos, familia, amor). La sociedad actual se caracteriza por enfatizar y perseguir las necesidades materiales a cambio de olvidar muchas veces las necesidades de espíritu.

Leer más...

Programación en parejas

Se tiene que programar por parejas si se sigue un proceso ágil.
Esto es completamente falso. 'Ágil' es un término muy amplio definido sólo en términos de valores y principios, el más notablemente en el Manifiesto para el Desarrollo de Software Ágil. El manifiesto no menciona el programar por parejas y la mayoría de los métodos ágiles no lo incluyen en su aproximación.
Ya que programar por parejas es una práctica de XP, ha tenido mucha influencia en la comunidad ágil. Por consiguiente a menudo es mencionado como una práctica ágil – tomando como práctica algo que es comúnmente usado por la gente en proyectos ágiles. Pero esto es una observación, no una prescripción..

Leer más...

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw