Frameworks y herramientas de desarrollo ágil para emprendedores y startups

413 views 1 download

Transcript of Frameworks y herramientas de desarrollo ágil para emprendedores y startups

Mario José Villamizar Cano mario@ticketcode.co - @mariocloud

Frameworks y Herramientas de Desarrollo Ágil Para Emprendedores y Startups

Co-fundador/CTO de @TicketCode - www.ticketcode.co

2014 @mariocloud

Billones de personas conectadas a Internet

@mariocloud

Tecnologías emergentes revolucionarias

@mariocloud

Las Startups siguen creando disrupción

@mariocloud

Mi historia. 1 Proyecto fallido en Abril 2011

Problema: Los empleados de PYMES desperdician mucho tiempo laboral en redes sociales

http://www.youtube.com/watch?v=ExvDJPJndh0 @mariocloud

Mi historia. 2 Proyecto fallido en Enero 2012

Problema: Solicitar cotizaciones de productos y servicios consume mucho tiempo - www.cotiza.co

@mariocloud

Mi historia. En ejecución desde Enero 2012

Problema: Enviar un bono de regalo requiere mucho tiempo y costos de desplazamiento - www.giftcode.co

@mariocloud

Mi historia. En ejecución desde Enero 2013

Problema: Publicar un sitio web profesional y vender entradas para eventos es difícil y costoso - www.ticketcode.co

@mariocloud

¿Quiero lanzar una idea de base tecnológica?

@mariocloud

¿Cómo definir mi modelo de negocio?

@mariocloud

Taking several weeks or months to write a 60-page business plan largely built on untested hypotheses is a form of waste.

Waste is any human activity which absorbs resources but creates no value. —James P. Womak and Daniel T. Jones, Lean Thinking (Free Press)

No pierda tiempo y comience a probar con clientes

@mariocloud

Lean Canvas

@mariocloud

Lean Startup y Customer Development

Desarrolle el producto más simple que le permita aprender de sus clientes y no de las ideas/opiniones/hipótesis de su equipo de trabajo. Es momento de desarrollar e iterar el MVP (Producto Mínimo Viable).

@mariocloud

¿Cómo crear mi producto (MVP)?

Aplicaciones Web

Aplicaciones Móviles

@mariocloud

El MVP más rápido puede ser una landing page

Sirve para obtener feedback de posibles usuarios/clientes de la

solución en cuestión de horas (y no meses). @mariocloud

¿Cómo se crea una aplicación Web?

@mariocloud

Aplicaciones web – Frameworks y lenguajes

@mariocloud

¿Qué es una aplicación web?

Navegador/Browser Utilizado por los usuarios

para interactuar con la aplicación web

Servidor Web Encargado de generar

el contenido dinámico del sitio

Servidor DB Encargado de

persistir la información

Desarrollador de Front-end

Desarrollador de Back-end Administrador

de DB

@mariocloud

Ejemplo de una aplicación web

Navegador/Browser Utilizado por los usuarios

para interactuar con la aplicación web

Servidor Web Encargado de generar

el contenido dinámico del sitio

Servidor DB Encargado de

persistir la información

Desarrollador de Front-end

Desarrollador de Back-end

Administrador de DB

Todas estas son las funciones que debe ejecutar y

dirigir el Co-fundador/Director de Tecnología (CTO) @mariocloud

Aplicaciones web – Frameworks ágiles de back-end

El uso de un framework de desarrollo ÁGIL facilita el desarrollo del

producto y la iteración del mismo en las primeras etapas. @mariocloud

Aplicaciones web – Frameworks ágiles de back-end

El uso de un framework de desarrollo ÁGIL facilita el desarrollo del

producto y la iteración del mismo en las primeras etapas. @mariocloud

Aplicaciones web – Front-end

@mariocloud

Cada vez hay más usuarios móviles por lo cual es importante desarrollar sitios web que se ajusten a diferentes dispositivos.

Ya hay herramientas para probar como BrowserStack, Ver Ejemplo

Aplicaciones web – Front-end

@mariocloud

Hay frameworks de front-end que facilitan el diseño de interfaces

web Responsive (ajustables a múltiples dispositivos).

Aplicaciones web – Frameworks ágiles de front-end

@mariocloud

¿Cómo se crea una aplicación móvil?

@mariocloud

¿Qué es una aplicación móvil nativa?

Dispositivo Utilizado por los usuarios

para interactuar con la aplicación móvil

Servidor Web/REST Encargado de recibir y enviar contenido a

la app móvil

Servidor DB Encargado de

persistir la información

Desarrolladores de Android/iOS/

Windows Phone/ Blackberry

Desarrollador de Back-end Administrador

de DB

@mariocloud

Ejemplo de una aplicación móvil nativa

Servidor Web Encargado de generar

el contenido dinámico del sitio

Servidor DB Encargado de

persistir la información

Desarrollador de Android

Desarrollador de Back-end

Administrador de DB

Dispositivo Utilizado por los usuarios

para interactuar con la aplicación móvil

Todas estas son las funciones que debe ejecutar y

dirigir el Co-fundador/Director de Tecnología (CTO) @mariocloud

Recomendaciones para el MVP (web/móvil)

Defina su estrategia para el MVP: ¿primero web? ¿primero móvil? Para el caso de aplicaciones móviles es importante iterar sobre una sola plataforma (iOS / Android / Windows Phone / BlackBerry). Haga el desarrollo de la aplicación web/móvil in-house sino no va a poder iterar el producto rápidamente CON USUARIOS. Defina un límite de tiempo para lanzar la primera versión (máximo 3 meses). No se invente la rueda en temas técnicos (use soluciones en la nube listas para usar).

@mariocloud

¿Cómo definir la experiencia de usuario?

Definir los wireframes o mockups es lo primero que se debe hacer ANTES de empezar cualquier desarrollo móvil o web.

@mariocloud

El diseño del sitio web o la aplicación móvil es importante. Se puede empezar con un diseño simple e ir mejorándolo a lo largo del tiempo.

El diseño hoy en día es importante

@mariocloud

Hay soluciones de plataforma como servicio (PaaS) en la nube que permiten desplegar fácilmente aplicaciones web y móviles. En estas soluciones sólo se paga por los

recursos de cómputo consumidos.

Más herramientas en: www.compracloud.com/categorias/cloud-platform

¿Cómo colocar mi aplicación web/móvil en producción?

@mariocloud

¿Cómo colocar mi aplicación web/móvil en producción?

Hay soluciones de infraestructura como servicio (IaaS) que permiten tener mayor control de la infraestructura pero requieren de mayores costos de administración. Al

escalar es mejor un IaaS que un PaaS, para empezar es más fácil un PaaS.

Más herramientas en: www.compracloud.com/categorias/cloud-infrastructure

@mariocloud

¿Cómo colocar mi aplicación web/móvil en producción?

Hoy en día con entre 0 y 200 USD por mes se puede tener un centro de datos similar al de un banco con altos niveles de disponibilidad y

redundancia. @mariocloud

Servicios cloud – New Relic

New Relic es un servicio útil para monitorear las aplicaciones. Está disponible para diferentes frameworks de desarrollo (rails, django, .net, java, etc.)

@mariocloud

Servicios cloud – Sendgrid

Sendgrid es un servicio que facilita el envío de emails transaccionales (email de bienvenida, confirmación de cuenta, etc.).

@mariocloud

Servicios cloud – Airbrake

Airbrake es un servicio que alerta sobre exceciones (errores) en las aplicaciones web o móviles (evita errores silenciosos).

@mariocloud

Servicios cloud – Mixpanel/Kissmetrics

Kismetrics y Mixpanel permiten conocer fácilmente lo que hacen los usuarios en la aplicación web y móvil así como monitorear métricas del negocio.

@mariocloud

Servicios cloud – ZohoCRM/Salesfore.com

ZohoCRM/Salesforce.com es un servicio que facilita la gestión de clientes (CRM).

Más herramientas en: www.compracloud.com/categorias/crm @mariocloud

¿Cómo escalar mi MVP?

Al principio el enfoque debe estar en obtener feedback de los clientes. La escalabilidad de la solución se va ajustando a lo largo del tiempo. Hay que hacer las optimizaciones en el momento en el que se necesiten si se hacen antes de puede perder tiempo (si el negocio no funciona).

@mariocloud

Despliegues continuos

Desarrollar el producto de forma iterativa e ir probando con posibles clientes

@mariocloud

Mantener el producto simple

Limitar las funcionalidades para que la solución sea simple, amigable, útil y escalable.

He aprendido que:

Es fácil crear productos complejos. Es complejo

crear productos fáciles/simples.

@mariocloud

El equipo es vital (más importante que la idea)

Product Development

Business Development

Community Manager

Marketing

Finances

Legal and IP

Selling

@mariocloud

El equipo es vital (más importante que la idea)

Es importante armar un equipo interdisciplinario con ganas de

solucionar el problema, enfocado en superar retos a corto plazo y en

aprender nuevas habilidades (marketing, diseño, desarrollo, etc.).

@mariocloud

Las tareas de growth hacking se basan en TI

@mariocloud

Las tareas de marketing son MUY importantes

Muchos productos fracasan porque sus clientes o usuarios potenciales ni siquiera conocieron el producto.

Recomendación: 50% del equipo en producto y 50% en marketing.

@mariocloud

Definir los indicadores de éxito o fracaso

Es importante enfocar los esfuerzos en resultados medibles

(Por ejemplo: usuarios registrados, acciones de los usuarios, compras,

interacciones, etc.)

@mariocloud

Evaluación continua de métricas del negocio

¿Cuántos usuarios están iniciando sesión diariamente / semanalmente?

¿Cuántos usuarios están registrándose diariamente / semanalmente?

¿Cuantos usuarios están ejecutando la acción X?

¿Cuántos usuarios están ejecutando la acción X y luego la acción Y?

¿Cada usuario registrado cuantos referidos trae al sitio o app?

¿Cuánto cuesta cada usuario registrado? ¿Cada referido? ¿Cada compra?

@mariocloud

Definir los fúneles de gestión/activación de clientes

@mariocloud

La ejecución es más importante que las “ideas”

@mariocloud