¿Cómo definir una estrategia de versionamiento de código que apalanque procesos DevOps?

Por: Didier Franco DevOps surge de la necesidad de tener mecanismos de integración de cambios y liberaciones más estables y continuas: Alrededor de esta necesidad han surgido infinidad de herramientas que buscan brindar una solución, expandiendo su alcance a temas como la planeación, metodología, calidad, seguridad, e inclusive rollback automáticos de versiones. En este sentido es que el […]

¿Qué es refactoring?

El objetivo del refactoring es evitar la deuda técnica que se acumula en el código fuente y  generar un código mas limpio y mas fácil de entender. De igual forma la refactorización es un proceso sistemático de mejorar el código sin crear una nueva funcionalidad, permitiendo transformar las funcionalidades actuales en un código limpio y un diseño simple. ¿Que sería […]

¿Cómo se impactan las métricas de calidad del código estático de tu software al implementar DevOps?

Por: Endy Gómez ¿Conoces las métricas de calidad del código estático de los proyectos de tu organización? Si es así, debes saber que éstas ofrecen una ventana de información detallada que evidencian qué tan saludables se encuentran nuestros productos a nivel de código. Las métricas de calidad de código estático nos facilitan también tener resultados orientados a la mejora continua. […]

Programación funcional y reactiva

Cuando hablamos de programación funcional nos estamos remitiendo a un paradigma descriptivo en el cual nos apoyamos en el Qué y no en el Cómo. La programación funcional eleva la abstracción del código para así darle foco a la implementación, de las funcionalidades más comunes son; crear, mapear, filtrar y verificar basados en un stream […]

No todos los TDD son iguales

Hay dos estilos principales de TDD con diferencias significativas entre ellos, cuando se trata de diseño. Clasicista El enfoque clasicista es el enfoque original de TDD creado por Kent Beck. Características principales El diseño se hace durante la fase de refactorización. Normalmente las pruebas son pruebas basadas en entrada y salida Durante la fase de refactorización, […]

BDD: Una conversación entre el DevTeam y el Negocio

Por: Andrés Rincón Moreno Cuando se trata de hablar de ambientes colaborativos orientados a la calidad en la construcción de software, nos encontramos en el camino con varios interrogantes sobre cómo generar una dinámica de entendimiento y cooperación entre los involucrados: los que lo construyen y los que lo definen. Al pasar el tiempo y participar […]

¿Cómo aplicar ingeniería del caos en un devteam?

Durante el pasado ScaleConf Colombia realizado en Medellín, me topé con una charla sobre ingeniería del caos que por su título me causó mucha curiosidad. Chaos Engineering: Injecting failure for building resilience in systems Tras participar en ella, comprendí por definición qué es la ingeniería del caos y sus componentes clave: Resiliencia y Confiabilidad. Con […]

Test Data Management: Datos de prueba a la carta

TDM o Test Data Management por sus siglas en inglés, trae consigo el poder de seleccionar, reservar y eliminar de forma automática sets de datos de pruebas traídos directamente de un ambiente productivo, y enmascarados para proteger información sensible, con la calidad adecuada, la cantidad requerida y el formato correcto, todo dentro del rango de […]

Cloud testing: ¿Cuáles son sus ventajas y desventajas?

Por Catherine Rodrigo Hace algún tiempo la tendencia de las empresas por crear aplicaciones en la nube ha ido en aumento. Esto ha permitido tanto a las empresas como a los equipos de desarrollo enfrentarse a nuevos e interesantes retos tecnológicos. Si nos centramos en la calidad con la que se construyen estas aplicaciones, vale […]

Alta cohesión y bajo acoplamiento en diseño de software

Cuando hablamos de diseño de software, debemos obtener una alta cohesión y un bajo acoplamiento en cada componente y utilidad de nuestra aplicación, ambos conceptos entendidos de la siguiente manera: Por Raúl Alzate La cohesión es la medida en la que un componente o clase realiza únicamente la tarea para la cual fue diseñada (Una […]