Blog

Tecnología para Desarrollo

5 pasos para exprimir tus retrospectivas ágiles

Set the stage, Gather data, Generate insights, Decide what to do, Close the retrospective. Estos son los 5 pasos que nos ayudarán a sacar el máximo a nuestras reuniones de retrospectiva.

La mejora continua es uno de los principales valores de gestión ágil de proyectos y para conseguirlo, las retrospectivas suponen un punto de inspección y adaptación de nuestros procesos y equipos. Pero no debemos pensar que las retrospectivas son una reunión que sólo se puede hacer si estamos en un entorno ágil.

Si trabajas en proyectos con una gestión más tradicional, debes elegir periódicamente un momento en el que parar, sentarte con tu equipo y reflexionar sobre cómo se están haciendo las cosas.

sigue leyendo…

VERSUS: IntelliJ IDEA VS Eclipse

En el día a día del desarrollo de un gran proyecto, los programadores se enfrentan constantemente a un sinfín de dicotomías: ¿Swing o JEE? ¿Android o iOS? ¿Bases de datos con tablas o con JSON? ¿Programación imperativa o reactiva? ¿Lambdas o bucles for? ¿Café o té? ¿Teletrabajar o venir a verles las caras a los compañeros en la oficina?

Pero pocas cosas pueden enconar más a dos javeros como la elección del programa que van a ver durante más horas en sus monitores, el entorno de desarrollo. Dos de nuestros programadores back-end más combativos trasladan a nuestro blog una pugna que mantienen desde el primer día que trabajaron juntos. David Rodríguez mantiene su Eclipse contra viento y marea, mientras que Sergio Delgado defiende a IntelliJ Idea con el fervor que sólo puede tener un converso.

Eso sí, que nos perdonen los fans de Sun de la vieja escuela, pero nadie ha levantado la mano para meter a Netbeans en liza y convertir este Versus en una lucha a tres bandas. Quizás en otra ocasión…

sigue leyendo…

Testing orientado a BDD con Spock (2/2)

Después de la primera parte de Testing orientado a BDD con Spock, en el que vimos cómo escribir especificaciones BDD para pruebas con Spock, en este post vamos a ver algunas utilidades más avanzadas que tenemos a nuestra disposición: cómo hacer mocking y stubbing, cómo testear excepciones o cómo utilizar algunas extensiones que nos pueden ser de gran ayuda. También veremos cómo sacar unos estupendos informes de tests que nos serán útiles tanto para el equipo como para el cliente.

sigue leyendo…

Cómo desarrollar un timeline responsive usando solo HTML y CSS

Cuando empiezas a maquetar tus primeras webs, tu objetivo principal es que la maqueta resultante sea lo más fiel posible al diseño que te han entregado. Es un trabajo difícil, pero muy satisfactorio, ver que has sido capaz de respetar todo lo que te han definido desde diseño.

Según va creciendo tu experiencia, esta fidelidad empieza a darse por supuesta, y el auténtico reto del maquetador es conseguir que el código que has usado para realizarla sea semántico, adecuado y sobre todo (al menos en mi caso) el mínimo posible. Conseguir “adelgazar” al máximo la cantidad de código HTML se ha convertido con los años en una auténtica obsesión, aunque creo que es una de las actividades más saludables que puede tener cualquier maquetador que se precie.

Hace algunos meses, Sergio Ortega, uno de los organizadores de UXSpain, nos propuso que hiciéramos la maquetación de la web del evento. Ya tenían el diseño realizado y “solo” necesitaban a alguien que hiciera las maquetas estáticas en HTML plano. Por supuesto, aceptamos sin dudarlo.

sigue leyendo…

VERSUS: React VS Angular 2

En el Darwininano mundo de la bacterias se produce una nueva generación cada 20 minutos. ¿Parece rápido, verdad? Pues eso no es nada comparado con el mundo de los frameworks JavaScript.

En nuestra placa de Petri particular –los Versus de Paradigma– hemos enfrentado a dos con las mayores velocidades de propagación entre los desarrolladores Front-end: React y Angular 2, siendo diseccionados de forma inmisericorde por dos de nuestros mejores frontenderos.

¿Acaso ya sabéis cual es el más virulento? ¿No habréis sido ya infectadas/os por alguno de ellos? Solo puede quedar uno, así que… ¡votad!

sigue leyendo…

Tester vs Quality Assurance

Normalmente hablamos de Tester y Quality Assurance (QA) como si fueran el mismo perfil profesional. Sin embargo, bajo mi punto de vista, son dos roles muy distintos.

Asemejar ambos perfiles es como decir que un desarrollador y un analista son exactamente lo mismo. O que un pintor y un carpintero realizan las mismas funciones porque trabajan en la misma obra.

El objetivo de este post es mostrar las diferencias entre ambos perfiles y  analizar cuál es el futuro cercano para cada uno ellos.

sigue leyendo…

¿Qué nos espera con JUnit 5?

Uno de los aspectos más importantes durante el desarrollo de cualquier aplicación es disponer de unas pruebas que detecten cualquier comportamiento anómalo en su funcionalidad.

Actualmente, en el mundo de Java, hay muchos frameworks de pruebas, algunos más conocidos que otros, y algunos más novedosos.

Quizá el más utilizado ha sido Junit, creado por Kent Beck, Erich Gamma y David Saff hace más de diez años. Desde la versión 4, creada en el año 2006, hasta la versión 4.12 (finales del 2014) han ido apareciendo otros frameworks (por ejemplo Spock) que han intentado “comerle el terreno”.

Debido a esto, los chicos de JUnit se han puesto las pilas para crear una nueva versión mayor de su producto, que es sobre la que vamos a hablar en este post.

En un principio la  nombraron “Junit Lambda” (porque el cambio más grande es la introducción de lambdas en muchos sitios), pero finalmente se quedó con el nombre de JUnit 5.

sigue leyendo…

Documenta tus microservicios SpringBoot con SpringFox

A la hora de diseñar un microservicio que va a ser consumido por otras aplicaciones, ya sean Front, otros Backends o incluso aplicaciones móviles, lo más habitual hoy en día es usar un API REST para realizar el intercambio de datos, usando JSON como formato.

Este sistema facilita mucho la integración entre sistemas, pero no debemos olvidarnos que detrás de un sistema existe una persona encargada de realizar dicha integración. Para facilitar la integración con un sistema que “habla” REST, existen diversos estándares: Swagger, RAML o JSONAPI, que proveen de una interfaz “human readable” para que los desarrolladores puedan implementar de forma más fácil y eficaz dichas integraciones.

En este post vamos a ver cómo documentar el API REST usando Java como lenguaje de programación, Spring (con su módulo SpringBoot para exponer el API) y SpringFox, una librería que ofrece tanto el documento de especificación Swagger como una interfaz web para entender (incluso probar) el API REST.

sigue leyendo…

5 trucos básicos que te ayudarán si eres desarrollador Front-End

En este post no os voy a hablar de una nueva tecnología ni nuevos ajustes, os voy a contar mis trucos o mis avances a la hora de trabajar con CSS, que he ido mejorando con la experiencia obtenida en los distintos proyectos en los que he participado. Si ya eres experto, seguramente me debatirás que hay otras formas de hacerlo, pero aún así te recomiendo que leas el post. Seguro que algo te sorprende y nunca es tarde para aprender algo nuevo.

Antes de empezar, recalcar que en la parte de Front, como en todo el mundillo tecnológico, yo no he inventado nada, sólo lo he hecho a mi manera o lo he aprendido de compañeros y de gente que sube sus aportaciones a Internet. A todos ellos… ¡gracias!

sigue leyendo…

Frameworks con Material Design para agilizar el desarrollo de aplicaciones

Material Design es un lenguaje de diseño elaborado por Google y presentado en junio de 2014, que se integró con el lanzamiento de Android 5.0 (Lollipop) y se ha seguido utilizando en su sistema operativo desde entonces. Además, dada su buena recepción, su uso se ha ido extendiendo a otros productos de Google.

Entre estas especificaciones se incluyen detalles sobre tipografías, colores, presentación de los elementos y componentes de una aplicación móvil o web. Los detalles de estas especificaciones se pueden consultar la web oficial.

sigue leyendo…