Es un hecho, el desarrollo de aplicaciones es como la construcción de una casa. No se puede empezar la casa por el tejado, y es importante construirla poco a poco y desde los cimientos, asegurando que cada paso se estudia con la precaución adecuada. Hoy vamos a hablar de los "planos" de tu app y para ello es importante tener en cuenta lo que es un MVP (Producto Mínimo Viable).
En el mundo de las apps, un MVP contesta a la pregunta ¿Que es lo mínimo que tiene que tener mi app para poder empezar a funcionar? Se trata de una definición de lo que tu app tiene que tener bien detallada, que no de lugar a error con tu equipo de desarrollo sobre lo que se debe de realizar, y que haya sido pensada meticulosamente entorno a tu idea de negocio.
No puedo repetir con suficiente enfasis lo importante que es tener un MVP claro antes de empezar tu startup. Muchos clientes vienen a nosotros con una idea poco clara en la cabeza para que les asesoremos sobre como deberían enfocar su app, y siempre les contesto lo mismo.
1. ¿A que problemas quieres dar solución con tu app?
Antes de empezar a desarrollar nada, tienes que tener en cuenta esto. ¿Hay un mercado de gente que la va a utilizar? ¿Que beneficios tendrá utilizar tu producto? ¿Cómo será el proceso de aprendizaje para el usuario? ¿Piensas monetizar tu app?
Todo este tipo de preguntas son las que uno tiene que realizarse a si mismo antes de empezar a emprender con una app o un sitio web. He visto a muchos médicos y farmacéuticos montar una web profesional con un blog para luego no escribir nada en el y tenerlo vacío. Si no pretendes informar al público de tus logros o averiguaciones, un blog no es la mejor solución para lo que necesitas.
Este proceso consiste básicamente en tener clara la dirección que queremos tomar con nuestra app y que es lo que nos imaginamos que acabe siendo en un futuro. (No es por hacer auto publicidad, pero en Hamro Dev somos especialistas en esta primera fase de arquitectura).
Una vez has contestado a esta pregunta, viene la siguiente
2. ¿Cuales son las funcionalidades más importantes sin las cuales la app no tendría sentido?
Uber no tendría sentido si al llamar al taxista se plantase en tres horas en vez de en cinco o diez minutos, pero lo curioso es que al comienzo la app se diseñó un poco con esa posibilidad en mente, ya que al comienzo no había tanto taxista. Luego Uber encontró inversores que invirtieron mucho mucho dinero en fidelizar a estos taxistas, que eran la fuerza más importante sin la cual la app no podía funcionar. Cuantos más taxistas, menos tiempo de espera.
3. ¿Una vez se desarrollen esas funcionalidades, cuales son las siguientes más importantes?
Uber tampoco habría podido funcionar sin un sistema de reviews y de confianza entre pasajeros y conductores, así como sin un sistema de pago a través del cual poder comenzar a monetizar. No obstante, optimizar las rutas para que el viaje fuese más rápido podría dejarse para una segunda fase, o una nueva funcionalidad de que te recojan en moto. Estas son las funcionalidades que se realizan en una segunda fase, y siempre comprobando el feedback de lo ya implementado.

- Te centras en las cosas principales y más importantes de tu app.
- Inviertes menos dinero, reduces el riesgo y aumentas la capacidad de corregir errores o cambiar de equipo si fuese necesario.
- Defines el proyecto con tu equipo de desarrollo desde el minuto uno, para que luego no hayan malentendidos .
- Te permite trabajar con actualizaciones y planificaciones de trabajo a futuro.
- No optimizas ni controlas tu carga de trabajo. Construir la app es mucho trabajo, pero no lo único que tienes que hacer para que tu proyecto salga adelante.
- Inviertes más dinero sin haber probado las ideas primero, si tu proyecto fracasa, el riesgo es mayor.
- Sin conocer a tu equipo de desarrollo, muchas cosas pueden dejarse mal especificadas y que luego el desarrollador ponga pegas a las cosas pactadas y a las horas de trabajo a invertir.
- Por estadística,aumenta el número de cosas que hay que cambiar en futuras ampliaciones de tu app.
Lo genial de UBER, es que supo convencer a sus inversores de que era una apuesta segura. Una app de empresa privada iba a penetrar de lleno en el mercado del transporte público de una forma revolucionaria. Estos supieron ver y no dudaron en apostar por la compañía, sabiendo que al comienzo las perdidas serían enormes, pero que a largo plazo sería la inversión de sus vidas.
¿Por qué un mvp?
Programar es dificil, y errar es humano. Los proyectos que he realizado con un MVP han sido por lo general un 25% más baratos, mientras que los que no han utilizado han tenido más retrasos, complicaciones y problemas. Lo cierto es que basándome en lo que he visto, aunque errar es humano, la mala planificación y coordinación con el cliente es muy común en todo el sector. La mayor parte de proyectos salen con retrasos y complicaciones y esto es un hecho y lo podeis comprobar aqui y aqui y aqui (soy consciente de que el informe está en Inglés, pero ya me lo he leido yo para que no tengáis que leerlo vosotros). Lo que te quiero decir aqui no es que en Hamro lo hagamos todo perfecto y mejor que los demás (que lo hacemos ;) , sino que prestes atención para que no te vendan la moto. Todos los equipos de desarrollo con los que he trabajado siempre hacen estimaciones de tiempo y de presupuesto más bajas, y realizar este tipo de prácticas es común en prácticamente cualquier industria, y no importa si la empresa es muy grande o muy pequeña pueden meter la pata igual.
Te intentarán vender la moto, te hablarán las maravillas de su metodología agile y lo femonal que es y lo bien que le sale el café por las mañanas (yo no me fiaría de un equipo de trabajo que te dedique más de una página de presentación de power point a hablarte acerca de las vanaglorias de su metodología agile). Lo cierto es que el mercado crece cada dia, y hay mas demanda de desarrolladores que oferta. Hay mucho trabajo y he visto a pocos equipos de trabajo que hayan tenido que cerrar por falta de trabajo (solo aquellos que estaban muy mal organizados) y si como equipo de desarrollo coges más proyectos de los que puedes realizar, utilizes agile o no, vas a tener retrasos o un enorme dolor de cabeza.
¿Que es agile y por qué todo el mundo habla de ello?
Lo cierto es que la esencia de agile nace del mundo emprendedor de Silicon Valley, en un momento de auge de las tecnologías y de falta de empresas competidoras en el sector. Todavía no existía facebook, y el mundo emprendedor digital aun estaba en pañales en comparación a como esta hoy en dia. Los equipos de desarrollo tenían que ser ágiles para desarrollar y ser los primeros en llegar. No tenían tiempo para estar todo el rato realizando reuniones y esperando a la junta de accionistas para decidir el rumbo de su empresa. Necesitaban conseguir dinero y total libertad para realizar la app como les saliese de los huevos como ellos considerasen oportuno.Así que vendían el 49% de su empresa y trabajaban de forma completamente libre. Este método de trabajo era tan efectiva en este entorno que pronto se popularizó y se estandarizó y salieron muchas formas diferentes de trabajar con metodologías agile que implementasen lo mismo.
El dinero cuesta de ganar, y en este mundo cada recurso que emplees correctamente puede ser la diferencia entre el éxito y el fracaso. Que no te vendan la moto con agile, pues a lo mejor esa no es la mejor manera para que desarrollen tu proyecto, o igual esa metodología no funciona con tu forma de trabajar. Cada proyecto es un mundo y no es solo agile lo que existe en el mundo del desarrollo de apps.
¿Que cosas debo de indicar en un mvp?
Realizar una aproximación funcional es muy sencillo y te puede ayudar a definir tu proyecto y a que te resulte más barato (te gusta leer eso, ¿verdad? :). La mejor forma de evitar contratiempos es dejar todo lo que quieres realizar bien especificadas. Plantealo de la siguiente manera.. De la misma manera que visualizarías tu casa , con el pasillo, la cocina, el comedor y donde va cada cosa, realiza el mismo planteamiento pero para tu APP con capturas de pantalla como si se tratase de un mapa. Para cada tipo de usuario, que pantallas (o habitaciones) tiene que haber y como tiene que ser cada una de las pantallas. Describiendo esto permites al equipo con el que trabajes realizar tu prototipo y una correcta descripción funcional. El trabajo quedará mas claro y se verá menos interrumpido.
Una vez tienes claro el diseño de la app final, trata de separar las pantallas en flujos de usuario (es decir, para completar una acción, como cambiar mi nombre, que pantallas tengo que seguir?). Cada uno de estos flujos de usuario será una funcionalidad, y una vez tengas claras las funcionalidades que vaa tener tu app, comienza a preguntar por precios y a ajustar tu presupuesto en función de las funcionalidades que necesites en un principio y al final.
De verdad que no puedo parar de recomendar a todo el mundo que quiere emprender con una app y que no sea desarrollador a que utilize un MVP que defina los cimientos de la app y lo primero que se va a desarrollar para ayudar a ver el proyecto global en conjunto a medida que va construyéndose.
Vale que nosotros no hemos hecho UBER, pero se nos da muy bien trabajar y realizar apps para proyectos de startup. Si tienes una idea o estás pensando en emprender, no lo dudes