Desarrollo de Kitchen API para Restaurantes

Clase 4 de 29Curso de Product Management para Developers

Kitchen API - Roadmap de Producto

RoloFoods Colombia es una empresa dedicada a ofrecer alimentos a través de una app móvil a sus clientes. Similar a Rappi, el cliente selecciona la comida que desea de un menú disponible, selecciona sus personalizaciones y envía su orden al restaurante de preferencia.

La App de clientes ya se encuentra construida en su totalidad y funcional para el cliente y cuando un cliente realiza su orden, el pedido llega a un app disponible para los restaurantes donde pueden ver el detalle de las órdenes de los usuarios y procesar el pedido.

El siguiente incremento de producto que la empresa quiere construir consiste en una API llamada Kitchen API, la cual será usada por la App de los restaurantes para actualizar los ingredientes y platos ofertados en la app del cliente. Según su disponibilidad, con el objetivo de que la App del cliente pueda retirar del menú los platos no disponibles, y de los platos disponibles, pueda retirar los elementos adicionales o extras (como ingredientes extra, salsas, etc.) no disponibles. Y con ello pueda brindarse una mejor experiencia al usuario, quien no podrá elegir lo que no está disponible. Además de poder actualizar los tiempos estimados de preparación de un plato en un punto del tiempo, con el fin de brindar tiempos estimados de entrega más precisos al usuario.

La API consiste de los siguientes endpoints/URLs:

  • Un endpoint para modificar la disponibilidad de un plato (disponible/no disponible).
  • Un endpoint para modificar la disponibilidad de un elemento adicional (extra) dentro de un plato (disponible/no disponible).
  • Un endpoint para modificar el tiempo de preparación actual de un plato.
  • Un endpoint para añadir nuevos platos al menú.
  • Un endpoint para eliminar platos del menú.
  • Un endpoint para añadir elementos adicionales (extra) a un plato del menú.
  • Un endpoint para eliminar elementos adicionales (extra) a un plato del menú.

Adicionalmente se planea en un futuro cercano construir un incremento de producto en la app de restaurantes para que los restaurantes puedan hacer uso de esta API en caso de que alguno no cuente con la infraestructura tecnológica para consumir la API mencionada. Se planea que dicho incremento funcional tenga los siguientes elementos:

  • Una vista para administrar un plato en donde se pueda:
    • Modificar la disponibilidad de un plato (disponible/no disponible).
    • Modificar el tiempo de preparación actual de un plato.
    • Añadir elementos adicionales (extra) a un plato del menú.
    • Eliminar elementos adicionales (extra) a un plato del menú.
    • Modificar la disponibilidad de un elemento adicional (extra) dentro de un plato (disponible/no disponible).
  • Una vista para administrar los platos disponibles del menú donde se pueda:
    • Un endpoint para añadir nuevos platos al menú.
    • Un endpoint para eliminar platos del menú.

List-To-Do

Teniendo como objetivo construir las funcionalidades mencionadas para el siguiente incremento de producto:

  • Para cada funcionalidad describe los casos de uso con los que probarían que la funcionalidad haya sido implementada de forma correcta y poder asegurar la calidad (QA).
  • Divide cada funcionalidad en tareas precisas asignables a un miembro de tu equipo.
  • Decide el orden en que deben hacerse dichas tareas para lograr el objetivo final.
  • Divide las tareas identificadas por hacer en tres fases secuenciales: Fase 1, luego Fase 2, luego Fase 3. Se ejecutará primero la Fase 1, luego la Fase 2 y luego la Fase 3.
  • Crea un tablero de Trello o JIRA o la herramienta que prefieras para crear tu Roadmap. Utiliza un tablero por cada Fase del proyecto.
  • Estima cuánto tiempo duraría aproximadamente cada Fase (puedes usar Sprints de 2 semanas como unidad de medida) teniendo en cuenta que dispones de un equipo de 3 ingenieros Senior FullStack que dominan la tecnología en la que está hecha la App y la API.
  • Déjanos acá los links de los tableros que usaste para registrar las tareas que hallaste para tu roadmap.