Lo que un fundador no técnico debe saber sobre el desarrollo de software

Incluso la tarea técnica más simple se puede implementar de muchas maneras. Cada enfoque disponible tiene ventajas y desventajas, y su costo: puede automatizar por un centavo o puede gastar una fortuna.

Por lo general, los ingenieros y las compañías de software se esfuerzan por cumplir la tarea con la más alta calidad de la que son capaces. Dependiendo de su experiencia y la etapa actual de la puesta en marcha, la calidad "alta" resultante puede no ser suficiente, idealmente correspondiente al momento, o una pérdida de tiempo y dinero.

Por lo tanto, para actuar de la manera más rápida y eficiente posible, es muy importante cambiar el enfoque del desarrollo en función de la etapa de evolución de la startup.

imagen

Inicio: encontrar su lugar en el mercado
(búsqueda de ajuste del mercado)


Este es el comienzo cuando una nueva organización está buscando su mercado. El objetivo principal en esta etapa es probar nuevos modelos de negocio lo más rápido posible sin prestar mucha atención a la calidad de la implementación del sistema.

Durante este período, los requisitos de la plataforma pueden cambiar drásticamente varias veces. Es probable que la mayor parte del código se deseche después. El impacto de los errores es pequeño, ya que la plataforma casi no tiene usuarios, por lo general son familiares y amigos.

En esta etapa, es inútil invertir muchos recursos en una implementación de calidad del sistema. Incluso es peligroso pagar por una buena calidad, ya que reduce la velocidad de la investigación de mercado y gasta dinero rápidamente.

Prioridad : Velocidad de desarrollo.

Recomendaciones :

  • Busque la forma más fácil y rápida de poner a prueba sus ideas.
  • Explore el mercado, puede que ya haya sistemas o servicios listos para usar que pueda usar.
  • Esté alerta cada vez que escuche hablar sobre la calidad de la solución, el rendimiento, la escalabilidad, etc. Tome notas para el futuro y olvídese por el momento.
  • Resista la tentación de invertir en buena calidad demasiado pronto. Después de todo, cada vez estará convencido de que la solución actual al problema seguramente se disparará.
  • Después de la aparición de los clientes y la transición a la siguiente etapa, prepárese para que los principiantes hablen sobre lo genial que sería usar este o aquel enfoque arquitectónico desde el principio. Mejor que gastar todo el dinero y crear el producto perfecto que nadie necesita.

Desarrollo: Captura de nicho


Startup ha encontrado su mercado y el número de clientes está en constante crecimiento.

En esta etapa, hay menos cambios cardinales en el sistema. Por lo general, se agrega nueva funcionalidad. Sin embargo, a medida que aumenta el número de clientes, aumenta el impacto de los errores.

Los usuarios del servicio deberían ver que la solución es estable y está en constante evolución. Por lo tanto, el desarrollo de calidad de la plataforma se destaca.

Prioridad : calidad del proceso de desarrollo.

Recomendaciones :

  • Comience a invertir más en la calidad de la plataforma.
  • Proporcione los siguientes elementos del proceso de desarrollo:
    • Actualizaciones frecuentes y periódicas del sistema.
    • Despliegue de cambio automatizado.
    • Todos los cambios pasan por la etapa de revisión del código.
    • Pruebas cualitativas de funcionalidad nueva y antigua.
  • Prepárese para cambios arquitectónicos masivos en el siguiente paso.

Escalado: expansión al mercado global


Startup ha construido un modelo de negocio exitoso. Es hora de escalarlo a nuevos mercados.

En esta etapa, los requisitos existentes rara vez cambian. Todavía están surgiendo nuevas características, pero los requisitos no funcionales, como el ancho de banda, la velocidad de respuesta y la disponibilidad del sistema, son cada vez más importantes.

El impacto de los errores es enorme, y la confiabilidad de la plataforma es crítica.

Prioridad : arquitectura de calidad.

Recomendaciones :

  • Es hora de una inversión máxima en la calidad de la plataforma.
  • Si es necesario, reescriba algunos de los módulos para mejorar la arquitectura.
  • Proporcione los siguientes elementos del proceso de desarrollo:
    • Pruebas de estrés de calidad.
    • Equipos verticales: los equipos pueden liberar independientemente nuevas funcionalidades.
    • Escalado horizontal: cada módulo de plataforma se puede escalar agregando nuevas instancias del mismo.
    • Implementación de prueba (implementación de Canary): se pueden probar nuevas características en una pequeña parte de usuarios reales.

Resumen:


Conozca su etapa con claridad: cada persona del equipo debe comprender el enfoque actual del desarrollo. Desarrolle un hábito antes de cada toma de decisiones sobre la implementación de una lista de opciones que difieren en tiempo, costo y calidad. Elija el más efectivo para su etapa actual:

  • Corte esquinas para probar hipótesis lo más rápido posible en la etapa de encontrar su lugar en el mercado.
  • Cree un proceso de desarrollo de alta calidad y garantice un flujo constante de mejoras durante el desarrollo intensivo.
  • Actualice la arquitectura de su sistema para escalar un modelo de negocio exitoso a nuevos mercados.

PD : La evolución de una startup no siempre es tan simple y lineal. La transición de una etapa a otra requiere tiempo y esfuerzo. Un producto exitoso (MVP) en el lanzamiento puede no funcionar para una audiencia más amplia durante la fase de desarrollo. Una solución efectiva para un nicho puede no escalar bien en nuevos mercados. Estos casos devuelven el bootstrap a sus raíces, y la prioridad de desarrollo debería cambiar en consecuencia.

Source: https://habr.com/ru/post/461601/


All Articles