De idea a MVP, Drupal para startups Iván G. Campaña N. @icampana ¿Qué es una startup? ¿Cómo creemos que es una Startup? ¿Cómo realmente luce una Startup? ¿Qué es una startup? “By the book” “Una startup es una organización temporal en búsqueda de un modelo de negocio escalable y replicable” - Puede ser una compañía o un equipo dentro de una empresa - Busca innovar y su nivel de incertidumbre es alto - El modelo de negocio no está escrito en piedra, va “pivoteando” en base a la validación. 80 al 90% de las startups fallan cada año Una startup tecnológica, tiene componentes que van más allá del desarrollo. ¿Qué hace una startup? Paypal (originalmente Confinity en 1998) vendía software de seguridad para PDAs Crearon un demo de una nueva funcionalidad con una página web. Quienes lo vieron, no querían una solución para PDAs, sino para web. Con una experiencia validada, cambiaron el modelo de negocios. ¿Qué es un MVP o Producto Mínimo Viable? El producto con las suficientes características para satisfacer a los “early adopters”. El producto se “completa” con el feedback de los usuarios iniciales del producto. Puede aplicarse al desarrollo de proyectos dentro de una empresa. “The minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort.” Eric Ries - Lean Startup Machine Cómo construir un MVP ¿Crear desde cero o usar un framework? Situación posible (casi estándar) al arrancar una startup: ● ● ● ● ● Poco a cero financiamiento (en etapas iniciales) Recursos limitados (personas, tiempo) Alto nivel de incertidumbre Falta de una audiencia cautiva para el producto. Se consume (o más bien se quema) el dinero rápidamente. ¿Crear desde cero o usar un framework? Desarrollo desde cero implica: ● ● ● ● Tener un equipo de desarrollo Realizar el análisis y diseño completo de lo que se va a implementar Tener un co-founder con conocimientos tecnológicos (CTO) Realizar cambios implican un nuevo desarrollo o un costo adicional ¿Crear desde cero o usar un framework? Con un framework: ● ● ● ● Se puede aprovechar los aportes de la comunidad. No se necesita de un conocimiento técnico avanzado. Las características pueden ser agregadas, cambiadas o eliminadas en el camino. Se mantiene un alto nivel de flexibilidad,. El principio de Lean Startup ¡Constrúyelo con Drupal! ¿Porqué escoger Drupal? - Es Open Source y tiene una comunidad grande que lo soporta. - Es más una plataforma que un CMS. - No necesitas millones de dólares, ni licencias. - Permite crecer con el proyecto. - Es suficientemente flexible como para crear aplicaciones web o servir de backend para apps móviles. ¿Qué necesito para arrancar? ● Aprender lo básico de Drupal (7 u 8) ○ ● ● ● Let the flamewars begin. Definir la estructura y los componentes básicos de tu MVP Conectarte con la comunidad ○ No está mal pedir ayuda. ○ Come for the software, stay for the community Encontrar un lugar para construir tu proyecto. ¿Dónde construir? Existen varias plataformas que ofrecen espacio de desarrollo en las cuales podemos desarrollar nuestro MVP sin siquiera tener que contratar aún un hosting, las más conocidas: https://getpantheon.com https://www.acquia.com/free https://www.openshift.org/ Si prefieres tu propio espacio, lo puedes montar en tu propio servidor o tu servicio de Cloud de confianza. ¿Cuáles son los componentes importantes? - Módulos - Los módulos son elementos para construir funcionalidades, no funcionalidades per se Identificar las funcionalidades básicas que pueden ser resueltas con módulos. Muchas cosas se pueden lograr aprovechando un módulo para diferentes tareas. Tomar en cuenta las recomendaciones y validaciones de la comunidad. - Temas - Se puede utilizar alguno de los disponibles en los repositorios. Crear uno desde cero (con ayuda de un diseñador). ¿Qué cubre Drupal de “fábrica”? Funcionalidades incluídas (en D7): ● ● ● ● ● Gestión de usuarios Creación de diferentes tipos de estructuras (como contenidos). Clasificación de contenidos mediante taxonomías Manejo de archivos Protección y seguridad básica para la apps web. En Drupal 8 (D8): ● ● ● Gestión de visualización de contenidos Web Services integrados Gestión de configuración ¿Qué puedo ganar rápidamente? Funcionalidades básicas: ● ● ● ● ● ● Login (inclusive contra redes de 3eros: Google, Facebook, …) Listas de correo (Mailchimp, AWeber, Simplenews, …) Analitica web (Google Analytics, Pywik, ...) Encuestas, formularios (Webform, EntityForm) Soporte de usuarios (Support, User Voice) Calificación / Rating (Rate, VotingAPI, Fivestar) Otras ventajas Mantener principio de pareto 80% configuración 20% desarrollo Existen módulos para casi todo: Procesamiento de Video, Geolocalización, Streamming, etc. “Construye tu propio ‘clon’ de Facebook en 2 horas” Puedes construir funcionalidades enteras en base a definición de reglas e interacción. Construir, Medir y Aprender rápidamente ● ● ● En un equipo donde se maneja Drupal, inclusive las personas que NO son programadores pueden contribuir a construir el producto. Puede crecer o mejorar a partir del MVP a un producto completo (¿o no?) Drupal puede escalar, a nivel de una aplicación empresarial Maneja algunos de los sitios web más grandes de Internet. Ejemplos: http://www.builtin.com/ <- Portal comunitario para emprendedores de diferentes zonas (Austin, Chicago, Los Angeles): muestra eventos, blogs, publicaciones de trabajos, directorio de miembros y compañías. http://edukame.com/ <- Portal para entregar información emocional y educativa para niños de menos de 6 años. Trabaja con un modelo bajo subscripción. http://www.sentizens.com/ <- El facebook de los adultos mayores, una comunidad para que las personas de la 3era edad puedan compartir y encontrarse y mejorar su estilo de vida. ¿Otros puntos de partida? Distribuciones útiles: - ERPAL ( http://www.erpal.info/) - MVP Creator ( https://www.drupal.org/project/mvpcreator ) - Drupal Commons (https://www.drupal.org/project/commons) - Plato Tipico (https://www.drupal.org/project/plato_tipico) ¿Posibilidades? Service provider Backend Front-end Data Provider ¿Preguntas?