Cómo trabajamos

Un resumen de cómo nos organizamos para desarrollar software: metodología Scrum, revisión de código y arquitectura de microservicios.

Euda
Euda
3 min readNov 17, 2020

--

Para cumplir con los objetivos trabajamos con la combinación de varias metodologías:

1. METODOLOGÍA SCRUM

Para todas las etapas del desarrollo tomamos algunos principios de la metodología Scrum para organizar nuestro trabajo, adaptándola a cada equipo según sus necesidades específicas. Se trata de cumplir las siguientes etapas:

  1. Definir los objetivos y dividirlos en tareas.
  2. Organizar el trabajo en sprints de acuerdo a fases del proyecto.
  3. Desarrollar en base a microservicios (más abajo te contamos qué es) con reuniones diarias para compartir el progreso y mantenernos al tanto de lo que está haciendo cada miembro del equipo.
  4. Publicación de los avances en producción.
  5. Volver a empezar. 🔄

🛠 Trello o Asana, Jenkins y Git son las herramientas que usamos en todo el proceso.

Para más información sobre esta metodología, podés consultar el siguiente artículo:

2. REVISIÓN DE CÓDIGO

Cada implementación de desarrollo que hacemos pasa por un proceso de revisión de código. Solo cuando dos o más compañeros/as aprueban el Pull Request se puede mergear. Esto permite detectar errores rápidamente y evitar sumar bugs al código.

En cada revisión, el/la reviewer puede dejar comentarios con felicitaciones o correcciones explicando el porqué del error (siempre de forma amable para que el otro lo entienda). Además, en caso de que alguna parte del código sea confusa, puede pedir más explicaciones.

Hay varios caminos para llegar al mismo resultado y siempre se puede aprender de las decisiones que toma otra persona.

🛠 Ya que nuestro código se encuentra hosteado en Bitbucket, usamos la sección de Pull Requests de esta plataforma para la revisión.

3. MICROSERVICIOS

Es el modelo de trabajo en el que basamos todos nuestros desarrollos.

👉 ¿Qué significa?

En palabras simples, es hacer el trabajo por partes. Las arquitecturas de microservicios descomponen una aplicación en sus funciones principales, haciendo que sean más fáciles de escalar y más rápidas de desarrollar.

Es un enfoque para desarrollar una aplicación o software como una serie de pequeños servicios, cada uno ejecutándose de forma autónoma y comunicándose entre sí a través de peticiones a sus API.

A diferencia de las arquitecturas monolíticas, se evita que la comunicación sea través de una llamada a un método local, ya que todos los servicios se comunican remotamente. La arquitectura basada en microservicios es realmente programación distribuida, porque conseguimos agilidad a la hora de llevar nuestra aplicación desde desarrollo hasta producción, lo que se consigue gracias a técnicas como continuous delivery, continuous deployment y continuous improvement.

👉 ¿Cuáles son las ventajas de este modelo de trabajo?

  • Hace el desarrollo y despliegue de la aplicación mucho más rápido.
  • Brinda libertad para desarrollar y desplegar servicios de forma independiente.
  • Cada microservicio se puede desarrollar con un equipo de trabajo mínimo. Es fácil de entender y modificar por lo que facilita la integración de nuevos miembros al equipo.
  • Se pueden usar diferentes lenguajes para diferentes módulos.
  • La modificación de un módulo no afecta al funcionamiento del resto.
  • Es más fácil de escalar e integrar el trabajo con aplicaciones de terceros.

--

--

Euda
Euda

Crear una app es como lanzar un cohete al espacio. Diseñamos y desarrollamos aplicaciones de calidad. Leenos en: https://medium.com/eudaimonia-ar