Archive for julio 10th, 2009

Jul 10 2009

Google Chrome OS

Published by under Trabajo

Para este momento, la noticia ya es por demás vieja, sin embargo, deseo comentar algunos puntos.

  • Google es de las pocas compañías que podrían competir, no solo en la parte financiera, si no también en la parte tecnológica contra Microsoft.
  •  La competencia real entre ambas compañías provocará, sin duda, productos de mayor calidad, Bueno 🙂  al menos del lado de Google.
  • Al ser Open Source, se garantiza una aceptación casi de facto por parte de la comunidad de usuarios.

Seamos pacientes, la guerra de SO para NetBooks esta declarada.

No responses yet

Jul 10 2009

Ambientes de Integración Continua (CI)

Published by under Trabajo,Vida

Dentro de las características de los desarrollos de software basados en metodologías agiles (Scrum, XP, Cristal) se considera como una buena practica la creación de ambientes de integración continua.

Dentro de una iteración o un Sprint (Scrum) se encuentran involucrados recursos de muy  diversas áreas, ya sea  en el mismo equipo de desarrollo, o en unos paralelos, la idea principal consiste en realizar la mayor cantidad de actividades en paralelo, lo cual permita sacar el producto con Calidad y en el menor tiempo posible ( hay que recordar que para la mayoría de los cliente el concepto de Market Time es fundamental).

En Ambiente de integración Continua funcionaría de la siguiente manera en una implementación de SCRUM:

Al momento que un programador sube sus cambios al sistema de versiones del equipo (Git, subversion,CVS,etc…) el  sistema de Integración Continua, Baja los cambios e inicia el proceso de compilación,  si el producto logra compilar, envía un mail al programador que subió los cambios y a los interesados, posteriormente, ejecuta  una corrida de pruebas automáticas (adivinaron,  aquí puede entrar TDD o en su caso, el garantizar que se creen los scripts de pruebas  durante la fase de desarrollo con las reglas de negocio fundamentales ).

Si las pruebas automáticas falla (se prueban todos los módulos, no solo el que  se haya tocado por el cambio 🙂 ) se envían nuevamente correos electrónicos al equipo para que estén enterados y procedan a validar que fue lo que ha fallado.

Si las pruebas automáticas son correctas, se envía un correo al equipo de testing,   a fin de  que realicen pruebas de GUI, y validen otros puntos del producto, incluso, en algún momento, puede ser enviado al equipo de traducción, en caso que la versión tenga que salir para mas de un idioma.

Como pueden darse cuenta, la integración continua dentro de un Sprint o iteración, permite reducir los tiempos muertos que se provocan al utilizar  una metodología basada en una cascada, toda vez que esta se realiza cada vez que sube un cambio al repositorio central de fuentes.

Ventajas:

Permite identificar errores de compilación y dependencias con otras partes del proyecto de manera rápida y oportuna

Permite realizar la ejecución de pruebas unitarias automáticas y mantener al equipo informado del resultado de las mismas

Desventajas

La ya clásica resistencia al cambio,  equipos que están acostumbrados a metodologías basadas en cascada, se les dificulta de  manera enorme el tener que solucionar errores conforme actualizan su cambios en el repositorio de fuentes, y de hecho, tienden a no hacer las actualizaciones si no hasta el último momento, lo cual rompe el paradigma ágil de este técnica

Algunos productos que incorporan CI son :

Microsoft Fundation Team

CruiseControl ( Open source )

One response so far