¿Cómo aplicar la agilidad a la Apificación?

Las metodologías ágiles han llegado para quedarse. Tal como mencionamos en una nota anterior de Tecnova, el concepto ágil en torno a los proyectos de desarrollo de software es definido como “una fórmula para el desarrollo de proyectos que necesitan flexibilidad, adaptándose a las necesidades del cliente, y enfocada a resultados”.

A pesar de que no todas las empresas han adoptado estas prácticas, poco a poco se van aplicando a nuevos desarrollos, como es el caso de la apificación, o desarrollo de APIs. Esto no significa la mera aplicación de prácticas como Scrum al desarrollo de Servicios Web, sino la creación de marcos de trabajo y tecnologías de apoyo especialmente diseñadas para la creación y gobierno de APIs a pequeña y gran escala.

En el pasado las APIs eran desarrolladas como elementos estáticos que se intentaba no cambiaran o evolucionaban en el tiempo. Esto ha cambiado debido a que cada vez existen más y más consumidores de APIs como lo son dispositivos IOT, dispositivos móviles y canales digitales de atención para usuarios finales. Esto hace que las APIs sean un ente vivo que crece y evoluciona constantemente.

Para el desarrollo de APIs, se requiere una serie de disciplinas que se pueden abordar con diferentes prácticas y tecnologías. Estas disciplinas que, si o si se deben considerar dentro del proyecto incluyen desde el diseño, la construcción, las pruebas, la entrega y monitoreo en producción, entre otros.

Cuando una organización alcanza una masa crítica de APIs, el modelo de desarrollo cascada tradicional se vuelve obsoleto no solo porque no permite lograr un time to market adecuado, sino porque el ciclo de vida de una API trasciende a su puesta en marcha. Una API es monitoreada, modificada, versionada y publicad múltiples veces a lo largo de su vida útil por lo que pasan de ser piezas de software estáticas a piezas de software en permanente evolución. Esto hace que los ciclos de vida tradicionales no se presenten como las opciones más adecuadas o convenientes.

¿Cómo aplicar prácticas ágiles para el ciclo de vida las APIs?

En Tecnova hemos ideado un modelo de vida basado en Scrum que combina las disciplinas de desarrollo de Software con las disciplinas de Apificación para dar vida a un modelo ágil de apificación ajustado a la realidad de la industria nacional.

Este modelo puede ser aplicado completa o parcialmente según el grado de madurez de nuestros clientes y sus necesidades en relación con la creación y gobierno de APIs.

Las cuatro etapas principales de nuestro ciclo de vida son:

  1. Idear: Esta etapa agrupa las actividades de nivelación de conocimiento de la organización en relación con lo que es una API, las actividades de descubrimiento de requerimientos que APIs y el modelamiento de los contratos de servicio que satisfacen dichos requerimientos.
  2. Diseñar: Esta etapa resuelve las necesidades de diseño lógico y de documentación de las APIs, con especial énfasis en documentación de auto consulta haciendo uso de herramientas de tipo Developer Portal.
  3. Crear: La creación de APIs encapsula las actividades típicas de construcción de software en una etapa independiente. Esto permite abstraer las tareas de codificación del resto del ciclo de vida de la API permitiendo la aplicación total o parcial del ciclo de vida. Por ejemplo, un estratégico puede incorporar las etapas de Ideación y Diseño mientras que un servicio operativo puede constar de la Creación y el Control. Además, el tener las actividades de desarrollo contenidas en una etapa, y las de operación en otras, facilita la adopción de prácticas de DevOps.
  4. Controlar: La etapa de creación resuelve las necesidades de monitoreo de las APIs, mantenimiento y de deprecación o retiro de las APIs que no sean requeridas. En un entorno en el que existen volúmenes importantes de APIs, el retiro controlado de aquellas que no sean utilizadas puede suponer un ahorro importante en recursos de infraestructura.

Las diferentes fases del desarrollo de API “crean un ciclo verdaderamente iterativo e incremental que le permite ser más eficiente especialmente al implementar volúmenes importantes de APIs”. Pero ello no es solo beneficio del usuario API, sino también, del propio desarrollador ya que el modelo ágil de desarrollo de APIs puede ser sustentado integralmente con herramientas de administración de APIs.

Tecnova ha adquirido el compromiso de combinar las mejores prácticas metodológicas y tecnológicas para estar a la altura del cambio de paradigma que representa la Apificación y acompañar a nuestros clientes en su adopción.