¿Qué hay que considerar al crear apps para negocios/empresas?
(news.ycombinator.com)Pregunta publicada en HN y algunas de las respuestas más recomendadas
Respuesta 1
- ¿Quién es el comprador? Por lo general es distinto del usuario del producto, y hay que entender qué es lo que quiere
- SSO, basado en SAML
- En seguridad, cubrir el OWASP top-10 y también app-sec (seguridad de aplicaciones)
- Implementar RBAC. Hacer que para el administrador sea fácil agregar y gestionar usuarios
- Implementar una cuenta demo como sandbox y llenarla con algo parecido a datos reales. Hacerlo muy fácil durante el pitch de ventas. Deja que el producto hable por ti
- Considerar multitenencia desde el principio. Es difícil añadirla después
- Construir desde el inicio los requisitos de compliance específicos del dominio. Algo como SOC 2 no es tan difícil. Mientras tanto, encontrar un buen proveedor de seguridad para hacer pruebas, corregir los problemas de prioridad alta o media y obtener la certificación. Eso ayuda a generar confianza con los clientes
- Reportes. Normalmente los administradores necesitan distintos reportes. Conviene ofrecer descarga en CSV/Excel y permitir que puedan recortar y usar los datos en su software de hojas de cálculo
- Los usuarios pueden cometer errores, así que usa siempre soft-delete. Luego puedes hacer hard-delete unos meses después
Respuesta 2
- Como primer ingeniero de una empresa, construí 2 apps empresariales exitosas (una se vendió y la otra hoy vale más de 100M)
- Solo hay una cosa de la que preocuparse: "si los clientes realmente quieren y necesitan tu app". El 99% de los productos SaaS empresariales fracasan por esto, no por funciones faltantes
- Funciones empresariales como SSO, integración o audit trail se pueden construir cuando el cliente las pida
La mayoría de estas funciones son problemas ya resueltos, pero como eres ingeniero te pueden parecer problemas atractivos - Ignora eso y concéntrate solo en el problema de negocio: "¿Mi app resuelve una necesidad urgente de mi cliente?"
Para tener la mentalidad necesaria para responder esa pregunta, lee "The Mom Test". Eso es lo más importante ahora mismo
Respuesta 3
- Si yo estuviera en tu lugar, dejaría para después los aspectos técnicos de un producto B2B/empresarial
- El problema principal es entender el proceso de ventas y la estrategia GTM (Go To Market). Como dijeron otros, ayuda asociarte con alguien que conozca el problema o la industria y que tenga experiencia vendiéndole a empresas. Ten presente que esta será una competencia central de la compañía (si quieres ganar mucho dinero). Como líder técnico, tu trabajo se parece más a la consultoría que simplemente a crear y entregar un producto
- Si vas por tu cuenta, habla con muchas personas relacionadas con el proceso de negocio y averigua por qué hoy hacen las cosas de esa manera en el problema que intentas resolver. Muchas veces, como desarrolladores, vemos el problema como uno técnico, pero en realidad es más probable que sea un problema organizacional, político o social. No construyas demasiado al principio; primero haz un prototipo visual que puedas mostrar y vender, y deja que los usuarios lo prueben directamente
Respuesta 4
- Mucho depende del tipo de negocio al que apuntas. Si apuntas a agencias gubernamentales u organizaciones financieras, los requisitos son mucho mayores que en una empresa de software común
- En el caso de grandes empresas, el ciclo de ventas puede ser bastante largo, pero como compensación el tamaño de las operaciones puede ser considerable
- El mejor consejo que puedo darte, después de haber vendido durante años a clientes empresariales, es: "entiende a tu cliente objetivo". No solo la empresa en sí, sino las personas reales a las que les venderás el software. Antes de empezar a construir, habla con el cliente objetivo para confirmar exactamente qué necesita (y si coincide con lo que tú crees), y también qué obstáculos tiene para comprar tu software. Si conoces los requisitos de antemano, no te sorprenderás durante el proceso de ventas
- El libro que recomiendo es The Mom Test. Te ayudará a aprender a hacer las preguntas correctas para obtener feedback de tu cliente objetivo
Respuesta 5
- Haz la app de forma que exponga una API, y que el cliente web renderice usando esa API. En el espacio empresarial no hace falta hacer renderizado del lado del servidor por SEO
- A menudo, después de usar tu app, las personas en una empresa quieren automatizar por su cuenta o integrar la app con otros sistemas. Si tienes una API, eso significa que no necesitas hacer trabajo adicional. Todo lo que puedan hacer en la app, lo pueden automatizar
- Si hay una base de datos de por medio, tener una réplica de solo lectura accesible para tus usuarios permite responder rápidamente cualquier pregunta de negocio. Muchos perfiles de negocio, creadores de reportes e ingenieros dominan muy bien SQL
Respuesta 6
- Lo más importante es "encontrar un problema por cuya solución una empresa esté dispuesta a pagar". Configura un MVP simple y crece a partir de ahí
Respuesta 7
- Construir y diseñar para multitenencia desde la etapa del esquema
- Desacoplar el ID y el mecanismo de login: planear múltiples mecanismos de login por usuario (correo/contraseña, SAML, OpenID Connect, Google) y también considerar múltiples factores de autenticación (TOTP, Duo,..). Pon atención a cómo distinguir a los usuarios autenticados y cómo verificar las direcciones de correo
- Usar TLS también para las conexiones a la base de datos. Usar cifrado. Automatizar los respaldos y permitir restaurar/exportar datos por cliente, no solo de toda la aplicación
- Usar una base de datos de series temporales o un sistema de registro de eventos, y generar un audit trail de todo lo que hagan en el sistema los usuarios con permisos, de cualquier cambio de cuenta o permisos, y de acciones destructivas
3 comentarios
Se siente que hay insights.
¿Qué cosas hay que considerar al crear apps para negocios/empresas?
https://tkim.co/2020/02/12/the-mom-test/
El secreto de las empresas SaaS: por qué el multitenancy es importante