La duración ideal de una iteración

ReglaCon la popularidad de las metodologías ágiles para el desarrollo de software también aumento la popularidad del desarrollo iterativo, tanto en equipos ágiles como en los tradicionales. Una consideración clave en los procesos iterativos es definir qué tan larga deben ser las iteraciones. Las recomendaciones varian, desde 1 semana para equipos de Extreme Programming hasta 1 mes para equipos con Scrum. Algunos equipos también usan iteraciones más largas todavía, aunque la mayoría utiliza iteraciones de entre 1 semana y 1 mes.

Leer más...

El fin de Encarta (no te vamos a extrañar)

EncartaDespués de muchos años dando vueltas, Microsoft decidió cerrar definitivamente Encarta, su servicio de enciclopedia. El servicio pago se dará de baja el 31 de octubre de 2009 (a excepción de Japón, donde el servicio seguirá hasta el 31 de diciembre de 2009).

Esta decisión viene después de una total falta de interés del público por este servicio, que no pudo ofrecer una alternativa tentadora frente a Wikipedia, su principal competidor. Paradojicamente, la mejor fuente de información sobre la historia de Encarta es la propia Wikipedia, que ya está actualizada con esta última información.

Leer más...

Copia de objetos con Dozer

Bull DozerDozer es una librería Java para mapear Java Beans que copia de manera recursiva los datos, de un objeto a otro. Usualmente, estos Java Beans van a contener distintos tipos complejos.

Dozer permite mapeos simples entre propiedades, mapeos complejos, mapeos bi-direccionales, mapeos implícitos y explícitos, y también mapeos recursivos. Esto incluye el mapeo de los atributos de colecciones que también necesitan mapeos al nivel del elemento.

En este artículo vamos a ver una introducción a Dozer, su configuración y uso.

Leer más...

Los videojuegos pueden mejorar la visión

ExplosiónUn nuevo estudio reveló que los videojuegos con mucha acción, como los de acción en primera persona estilo Crysis, pueden mejorar la visión. Los jugadores tuvieron una mejora de hasta el 58% en una prueba para percibir sutiles diferencias de contraste.

Leer más...

OnLive: ¿el futuro de los videojuegos o sólo un fiasco?

OnLive¿Qué pasaría si pudieramos jugar a cualquier juego nuevo que use todo el potencial del último hardware... sin tener este hardware? Los juegos pueden resultar un hobbie bastante costoso, especialmente si queremos disfrutar los últimos y mejores juegos. OnLive dice tener una solución: usar una nube donde ellos realizan todo el procesamiento, y el resultado del video procesado se envia a nuestros hogares. La computación en nube y los juegos se unen para formar algo nuevo e intrigante.

Leer más...

Los lenguajes específicos de dominio

diccionarioCon el surgimiento de la metodología de Modelado Específico de Dominio (Domain-specific modelling) para el desarrollo de sistemas, cada vez se utiliza más el término de Lenguaje Específico de Dominio (o DSL).

En este artículo veremos exactamente qué es un Lenguaje Específico de Dominio, cuál es su uso, que ejemplos existen que usamos a diario, y las ventajas y desventajas de su aplicación.

Leer más...

Persistencia de datos en la nube

Geir Magnusson hizo una presentación sobre Cloud Data Persistence en QCon Londres 2009. El mensaje principal de esta presentación fue que las limitaciones físicas de la tecnología actual en combinación con la complejidad computacional de bases de datos relacionales convencionales nos están llevan a buscar espacios nuevos y emocionantes.

Leer más...

Una nueva industria del software

Una nueva industria del softwareA pesar de la aplicación de metodologías y el despliegue de factorías de software, la industria del desarrollo está aún lejos de alcanzar los niveles de eficiencia y productividad obtenidos en otras ingenierías. Reflexionamos sobre las características que hacen del software una disciplina diferente a las demás y por qué la agilidad y la adaptabilidad constituyen las claves del éxito.

Leer más...

Calidad de software con BDD y ATDD

En un artículo anterior sobre la calidad interna y externa del software plantee la importancia de la testeabilidad para la calidad de un sistema. Reforzando el mensaje: cuando se aumenta la testeabilidad del software, mejoras directamente  tu arquitectura y tu diseño. Desarrollar sin pruebas unitarias automatizadas y sin pruebas de aceptación es simplemente, construir código legado desde el momento cero!

Leer más...

Introducción a Flex 3

Flex LogoFlex es un framework de presentacion basado en Flash para construir aplicaciones RIA creado por la Empresa Adobe. Las aplicaciones creadas con Flex son aplicaciones Flash (.swf) como cualquiera de las que se encuentran hoy en día en Internet y que la mayoría de los browsers son capaces de ejecutar utilizando el plugin de Flash (instalado en el 98% de las PCs).

Leer más...

Contratos de precio fijo: El gran dilema

Tengo una conferencia bien conocida sobre contratación y estimaciones de proyectos de software. Trata bastante el tema y se muestra cómo no sólo existen contratos de precio fijo para comprar proyectos.

Sin embargo, en Brasil, la gran mayoría de los proyectos desarrollados por terceros proveedores siguen siendo contratados con la modalidad de precios fijos. Muchos agilistas sólo critican el contrato, sin mostrar salidas cuando no hay otra alternativa y el cliente todavía requiere de contratos a precio fijo. Por supuesto que el ideal sería firmar un contrato de alcance variable o deslizante y siempre debe ser intentado y negociado. Pero todavía tenemos muchas empresas que seguirán comprando en la forma de precio cerrado.

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