¿Y qué hago con las ausencias en Scrum?

silla solitariaEn Scrum, cada uno de los miembros del equipo es importante y contribuye a la velocidad general del equipo. Una ausencia, tanto sea planificada como inesperada, puede afectar adversamente a la velocidad.

Pero a no desesperar, porque por suerte hay varias formas de tratar con esta situación.

Leer más...

Alta Disponibilidad con Terracotta

terracota.pngHace poco vimos una Introducción a Terracotta, donde con un pequeño ejemplo repasamos las características principales de esta librería que permite crear un área de memoria compartida por distintas máquinas virtuales Java.

En este artículo veremos un ejemplo un poco más complejo, compartiendo un objeto Cola y varios productores y consumidores sobre la misma, programado como si la Cola fuera un objeto "local" accedido por muchos hilos... pero cada hilo se ejecutará en una máquina virtual distinta.

Para finalizar, realizaremos una configuración de Alta Disponibilidad con Terracotta, y ejecutaremos a los productores y consumidores contra el cluster. A no asustarse que no es dificil. ¡Empecemos!

Leer más...

Conferencia web en español de GlassFish v3

logo de glassfishEl jueves 16 de octubre Eduardo Pelegri (de Sun Microsystems) dará una conferencia web sobre GlassFish v3 en español, donde explicará los conceptos principales de esta próxima nueva versión de GlassFish, el servidor de aplicaciones Java EE.

La conferencia, de acceso libre, será transmitida a través de The Aquarium este jueves 16 de octubre de 2008, a las 20hs GMT (Madrid/Barma 22hs, Buenos Aires/Santiago 17hs, México, DF 15hs, Caracas 15:30hs).

El principio ágil más importante

equipo-manosAl hablar de las metodologías ágiles se suele hacer foco en las cosas tangibles que hacen las personas en el día-a-día, generando así el "proceso ágil".

Pero la verdadera agilidad tiene que ver menos con el proceso y más con los principios. Travis Birch nos presenta una perspectiva interesante sobre estos aspectos más intangibles de las metodologías ágiles, en particular la Sinceridad.

Leer más...

Introducción a Terracotta

terracotaImaginemos poder unir la memoria de distintas computadoras en la red, creando una única gran área de memoria compartida por cualquier cantidad de máquinas virtuales Java.

Si esto fuera posible, cambiaría totalmente la forma de compartir datos entre procesos. Por ejemplo, dejaría de ser necesario persistir información (en bases de datos) o usar mensajería para compatir datos que necesitan ser procesados. Simplemente, algún proceso Java crearía objetos en la memoria, esperando que alguna otra aplicación los tome y procese. Suena interesante, ¿no?

Bienvenidos a Terracotta.

Leer más...

Herramientas colaborativas

tinteroHace algún tiempo se empezaron a poner de moda las herramientas colaborativas.

Entre ellas, una de las más conocidas es Google Docs, a mi entender.

En Google Docs se pueden crear documentos, presentaciones y planillas de cálculo y exportarlas a los formatos más conocidos para luego poder abrirlas con, por ejemplo, word, powerpoint y excel, respectivamente.

Leer más...

Más cambios en la política de Spring (¡y todos contentos!)

springsource logoHace muy pocas semanas Spring aunció un cambio en su política de mantenimiento, de manera que sólo se distribuirían los binarios durante una ventana de 3 meses desde la publicación de una versión mayor.

La medida generó un intenso debate en The Server Side, donde participó activamente Rod Johnson explicando, entre otras cosas, que el proyecto seguía siendo de software libre.

Pero esta semana, tras la polémica, Rod anunció nuevos cambios en la política, esta vez recibiendo felicitaciones por parte la comunidad.

Leer más...

Los cinco mundos

cinco mundosEn la literatura de programación y desarrollo de software algo importante casi nunca es mencionado, y como resultado a veces no nos entendemos entre nosotros.

Tú eres un desarrollador de software. Yo también. Pero puede que no tengamos los mismos objetivos y requerimientos. De hecho, hay varios mundos distintos en el desarrollo de software, y a distintos mundos aplican distintas reglas.

Leer más...

7 Sugerencias para crear buenas historias y tareas

El Sprint Backlog consiste en una lista de historias y para cada una de ellas una simple lista de tareas que serán desarrolladas por el equipo para que al final de cada sprint podamos entregar incrementos funcionales de software.

La creación del Sprint Backlog sucede en la reunión de Planificación del Sprint con la participación de todo el equipo. Prestar atención a este proceso es clave para que el equipo tenga una mejor comprensión de lo que se debe hacer y planificar mejor el día a día del Sprint, pero muchos equipos todavía pecan a la hora de crear su lista de tareas, espero que estos consejos los puedan ayudar.

Leer más...

17 años de Linux: ¡Feliz cumple, Tux!

baby tuxYa casi mayor de edad, Linux cumple 17 años desde su concepción incial. El 5 de octubre de 1991, Linus Torvalds publicaba un mensaje en comp.os.minix, buscando desarrolladores para "una versión libre de minix para computadoras AT-386". Sus primeras palabras en el mensaje fueron:

¿Extrañan aquellos días felices de minix-1.1, donde los hombres eran hombres y escribían sus propios controladores de dispositivos? ¿Estás sin un buen proyecto y te morís por meter mano en un SO que puedas modificar de acuerdo a tus necesidades? ¿Te resulta frustrante cuando todo funciona en minix? ¿Añorás pasás la noche despierto para hacer que tu pequeño programita funcione? Entonces este mensaje podría ser para vos :-)

En estos 17 años, Linux se transformó en el proyecto insignia del software libre, y sobre el cual se basan gran cantidad de distribuciones que usan este kernel de sistema operativo. Recordemos la historia de este mega-proyecto.

Leer más...

Pequeños consejos para grandes pruebas

hombre-con-ideas.jpg¿Qué es una buena prueba unitaria? Siguendo unos pocos consejos claros y consisos podremos mejorar la calidad de nuestras pruebas, y crear software con mejores resultados.

Las características principales de una buena prueba unitaria:

  • Aislada e independiente
  • Repetible
  • Fácil de escribir
  • Rápida para ejecutar
  • Clara en su objetivo
  • Automatizada
  • Cumple con los mismos estándares que el código productivo
  • 100% correcta, siempre

Veamos en detalle cada una de estas características.

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