Desarrollo Alliance

El equipo de desarrollo Alliance, se encarga de llevar el desarrollo del producto al cliente.

El equipo esta conformado solo por desarrolladores, de los cuales solo hay un cargo diferente “Líder técnico”, encargado de coordinar requerimientos desde el producto.

Integrantes del equipo

El equipo está conformado por doce integrantes (Desarrolladores backend, frontend, administradores de bases de datos y full stack), de los cuales existen dos roles “Líder técnico”, encargados de coordinar requerimientos desde el producto y realizar definiciones técnicas para el equipo de desarrollo.

Funciones

  • Desarrollo y mantención de la parte técnica del producto.

Metodología

El equipo de coordinación son los encargados de dirigir el control sobre que se hace y como se hará.

El equipo de coordinación envía requerimientos al equipo de desarrollo, los cuales las recibe y distribuyen internamente, pero el equipo no establece compromiso en la solución de solicitudes.

Cuando existe un conceso técnico y producto, el equipo de coordinación envía dos tipos de solicitudes las cuales son enviadas al equipo de desarrollo, estas solicitudes son administradas por los líderes de equipo, y llegan de dos tipos:

  • Desarrollos cortos (No tienen fecha, y se van solucionando a la medida que no interrumpa en las fechas de los desarrollos largos). Los comunica el equipo de coordinación. Estos desarrollos son coordinados internamente por los mismos miembros, que adquieren los objetivos que deseen cumplir.
  • Desarrollos largos (Parecido a un proyecto). Los comunica el líder de desarrollo al equipo. Estos desarrollos son coordinados por medio de reuniones diarias sobre el objetivo que se quiere alcanzar. Analizando el compromiso adquirido y la posible fecha de entrega.

Cada miércoles el equipo envía un correo informando sobre el avance de los requerimientos solicitados.

Canales de comunicación

El equipo ocupa la siguiente herramienta de comunicación brindada por el equipo TI.

  • Trello.

Adicionalmente el equipo de desarrollo ocupa la siguiente herramienta:

  • Discord: Para comunicaciones internas.

Herramientas de desarrollo

  • Git: Usado para manejo de versiones y repositorio de código.
  • Continuous integration (Enfocado en la integración con GoCD).
  • Las herramientas para desarrollar son libres y depende a cada miembro, debido a que los desarrollos son hechos en contenedores.
  • Lenguajes de programación: Es utilizado Python, javascript, etc. (Se utilizan varios lenguajes debido a que no hay restricción).


Arquitectura

Alliance está construido en una arquitectura automatizada (DevOps).

Backend: Es utilizado REST.

Frontend en web y app: se utiliza MVVM (Modelo–vista–modelo de vista).

La arquitectura esta basada en capas de solución:

  • Capa de autentificación: Utilizado en los productos Checks y Alliance.
  • Capa de autorización: Maneja todas las autorizaciones de todos los servicios.
  • Servicios: Resuelven funciones particulares.
  • Capa procesamiento automático: Existe una forma de realizar el procesamiento automático dentro del equipo Alliance.

Seguridad en la arquitectura

El modelo de capas no está pensando en temas de seguridad, está pensado en responsabilidad, un componente es responsable de otro componente, de las cuales están implementadas dos capas de seguridad, independiente una de otra.

  • La primera capa encargada de identificar el usuario en el sistema.
  • La segunda capa es la encargada de verificar que permisos tiene el usuario.

Generalmente se modelan juntas, lo que puede causar problemas en la asignación de permisos a los usuarios, con el riesgo de brindar más permisos de los necesarios a los clientes. Por esta razón el modelo de capas no está pensando en temas de seguridad.

Infraesctructura

A nivel de código, el servicio está disponible para todo el mundo, pero cuando se implementan las capas, se cierra el acceso como si fuera un firewall. En otras palabras, cualquier usuario tiene permiso de acceder a todos los recursos del producto, pero las capas son las encargadas de restringir el acceso a diferentes recursos del producto

 

CLASIFICACIÓN: USO INTERNO
Queda inválido cualquier impresión o copia digital del documento. El usuario del documento debe asegurarse de que este sea vigente antes de usarlo. Puede consultarlo con el responsable del SGSI.