Qué son productos mínimamente viables y cómo usarlos en el desarrollo

JJ en GitHub, @jjmerelo

Un PMV es

Un producto informático

Con un ámbito determinado

Que implementa lógica de negocio

Un escalón para el siguiente PMV

En desarrollo ágil, comunicación frecuente cliente-equipo

Y equipo-equipo (backend, frontend, ops, diseño...)

En desarollo ágil importa

Qué se hace ahora

Si está bien lo que se hace

El concepto de PMV permite organizar el desarrollo en etapas: milestones

Agrupa bloques de funcionalidad interdependientes

De una cierta entidad

¿Qué se hace ahora?

Completar el PMV

Trabajando para satisfacer las necesidades en las historias de usuario

¿Es correcto?

Hay qué decir qué hace a un producto viable

Como producto informático

Diseño

Estructura de datos con interfaz: código que compile

Clase/módulo

Biblioteca

Microservicio

Microservicio + API

Es mínimamente viable

Seguridad por diseño, pasa los tests

No goldplating

Lo dice el product manager

Un ámbito determinado

Interno/externo

Priorizando HUs/issues para delimitar el producto

Un milestone tiene un límite temporal

Y tiene que establecerse un orden: milestone 1, 2

Un milestone describe un producto

Milestone 0 (interno): módulo o módulos, sin funcionalidad, que plasmen el modelo del problema

== un fichero o ficheros, colocados siguiendo buenas prácticas, que incluyan las estructuras de datos para las entidades/objetos valor básicos del problema

Problema resuelto == viabilidad

Por eso se hace tanto énfasis en el planteamiento de un problema real

Agilidad: Ningún producto sin test

Milestone 1 (externo): Código de clase o clases que implementan la lógica de negocio necesaria para calcular el porcentaje de finalización de milestones de estudiantes

A trabajar en los objetivos 0 al 2