Artículo escrito por Ivan Loire, desarrollador español fichado por Atlassian durante el Recruitment Roadshow.

David me ha pedido que cuente como es el día a día de un equipo de desarrollo de producto, para que la gente conociera como se trabaja y las posibles diferencias con el típico desarrollo de proyecto o servicios. Ahí va.

El equipo de desarrollo de Confluence se subdivide en varios equipos: Kung-Fu Ants, Supersonic HedgeHogs –en el que estamos Xavi y yo (el bicho de arriba es nuestra mascota (smile))-, Muppets, y Team Black.

El día a día

Hacemos un standing meeting diario a las 9:40, donde revisamos tareas realizadas el día anterior y objetivos para la jornada.

La base de código de Confluence es Java (no sé si lo ha mencionado David Bonilla alguna vez… :)). Se usa de manera intensiva Spring y Maven. El IDE preferido en la empresa es Intellij IDEA. Usamos Bamboo como servidor de builds y en Confluence utilizamos Stash y Git como DVCS.

Captura de la pantalla de planes de Bamboo.

Captura de uno de los planes creados automáticamente al hacer “push” de una nueva rama con el prefijo “issue”

El hecho de que nuestros productos sean herramientas para desarrolladores de software nos permite usarlas de manera intensiva a diario. Y la verdad es que trabajar con toda la suite de productos de la empresa perfectamente integrados en el día a día es un auténtico lujo asiático australiano.

Orientamos el desarrollo a incidencias (o issues), que se crean en JIRA. Una vez completada la tarea y los tests correspondientes, se hace un “push” de la rama (a la que se le ha dado el nombre de la incidencia para que se enlace con JIRA) al servidor de Bamboo, donde automáticamente se dispara un “build”.

Si el build es satisfactorio, utilizamos FishEye y Crucible para crear una revisión del mismo, con otro compañero (quality review). Una vez el código ha sido aceptado se incorpora a la rama principal y la incidencia se marca como completada.

Captura de pantalla de una solicitud de revisión de código, antes de hacer el “merge” con la rama principal

 

También hacemos revisiones de código en Stash donde podemos hacer “pull request” y merges fácilmente

En la empresa usamos varias instancias de “dog fooding” (que se usan a diario internamente) donde probamos las nuevas características incorporadas, antes de ser liberadas al cliente final. Tenemos un ciclo de release de dos semanas (para las instancias de OnDemand, nuestro servicio SaaS) y ciclos mayores para licencias BTF (behind the firewall).

Panel de GreenHopper de AUI

Panel de GreenHopper de “Editor Browncoats”

Planificación de uno de nuestros sprints en GreenHopper

Wesley debajo del monitor de “builds” de Confluence

Craig (uno de los responsables del fantástico editor de Confluence) le encanta el color verde!

 

Captura de la edición del artículo usando el AMAZING editor de Confluence.

Usamos a diario Hipchat para la comunicación interna.

Pruebas manuales

De vez en cuando (hoy he participado en una) hacemos pruebas manuales o Blitz, donde hacemos una cobertura de pruebas manual de algunos aspectos de la aplicación. El hecho de usar Bonfire hace mucho más amigable, rápida y efectiva esta tediosa tarea. Convertir un bug en una incidencia en JIRA (con captura de pantalla incluida) cuesta como unos 15 segundos (y no soy el único que ha alucinado con este plugin).

En qué estamos trabajando

En esquinas redondas. En mejorar la experiencia de usuario. En añadir una consistencia visual y operativa a todos los productos de la empresa. En una barra lateral para Confluence. En mejorar el rendimiento de la plataforma. En re-escribir tests con webdriver. En “page collectors” y “page blue-prints”. En mejorar la primera toma de contacto de nuevos usuarios con la aplicación. En hacer más potente nuestro amazing Confluence editor. En acortar nuestro ciclo de “releases”. En un botón rojo con la palabra “deploy” para el Jean-Michel Lemieux, VP de Ingeniería. (editado: botón de deploy listo para uso). En ajustar “paddings” y “margins”. En añadir heurística a las búsquedas por nombre (un fantástico plugin de Diego). En añadir subscripción de contenido a páginas de Confluence (gracias a Esther), integración con las tareas de Google (en manos de Alberto) y otras muchas cosas más.

 

Barra lateral en Confluence (planificada para la versión 5.0)

¡Os queremos ayudar!

El objetivo principal de todos los que trabajamos en Atlassian es daros las mejores herramientas de trabajo.

Por eso me gustaría dejar la puerta abierta a todos los que estáis usando productos de Atlassian a que me hagáis llegar vuestras sugerencias de mejora o los problemas generales con los que os encontráis frecuentemente.

Tener la seguridad de que van a ser atendidos, escuchados, y trasladados a los equipos correspondientes. Aprovechad ahora que tenéis compatriotas dentro de los equipos de desarrollo!! Mi email es iloire@atlassian.com