Una guía para startups para la entrega de software

Una guía para startups para la entrega de software

Cómo sentar las bases en cada etapa de crecimiento.

Rob Zuber, director de tecnología de CircleCI, es un veterano de 20 años en nuevas empresas de software, tres veces fundador y cinco veces director de tecnología.

Uno de los factores más importantes para el éxito de una startup es su capacidad para entregar software de forma rápida y segura. A medida que más consumidores interactúan con las empresas a través de una interfaz digital y más productos adoptan esas interfaces como la oportunidad de diferenciarse, la velocidad y la agilidad son primordiales. Es lo que hace o deshace una empresa.

A medida que su startup crece, es importante que su estrategia de entrega de software evolucione con usted. Sus procesos de software y opciones de herramientas cambiarán naturalmente a medida que escala, pero optimizar demasiado pronto o dejar que crezcan sin una visión clara de hacia dónde se dirige puede costarle un tiempo y agilidad preciosos. He visto cómo las decisiones correctas pueden generar enormes dividendos y cómo las decisiones incorrectas pueden llevar a problemas que consumen mucho tiempo y que podrían haberse evitado.

La clave del éxito es la coherencia. Cree un estándar y luego aplíquelo a todas las canalizaciones de entrega.

Como sabemos de Ley de Conway, su arquitectura de software y su estructura organizativa están profundamente vinculadas. Resulta que la forma en que entregas se ve muy afectada tanto por la estructura organizativa como por la arquitectura. Esto es cierto en todas las etapas de una startup, pero es aún más importante en relación con cómo las startups experimentan un rápido crecimiento. La entrega de software en un equipo de dos personas es muy diferente de la entrega de software en un equipo de 200.

Las decisiones que tome en los puntos clave de inflexión del crecimiento pueden prepararlo para un crecimiento acelerado o obstáculos crecientes.

Etapa de fundación: hazlo simple

La fase de fundación es la emocionante fase exploratoria. Tienes una idea y algunos ingenieros.

La clave durante esta fase es mantener la arquitectura y las herramientas lo más simples y flexibles posible. Construir una empresa tiene que ver con la ejecución, así que obtenga las herramientas que necesita para ejecutar de manera consistente y deje el resto en espera.

Un lugar en el que puede invertir sin exagerar es en la integración y el despliegue continuos (CI / CD). CI / CD permite a los equipos de desarrolladores obtener comentarios rápidamente, aprender de ellos y entregar cambios de código de manera rápida y confiable. Mientras intenta encontrar el producto adecuado para el mercado, aprender rápido es el nombre del juego. Cuando los sistemas comiencen a volverse más complejos, tendrá las prácticas y las herramientas para manejarlos fácilmente. Al no tener la capacidad de aprender y adaptarse rápidamente, le da a sus competidores una ventaja enorme.

Otro aspecto en el que las inversiones tempranas y sencillas realmente dan sus frutos es la operatividad. Quiere la base de código más simple posible: probablemente un monolito y una implementación básica. Pero si no tiene algunas herramientas básicas para la observabilidad, cada problema de usuario tomará órdenes de magnitud más de lo necesario para rastrearlo. Ese es el tiempo que podría usar para avanzar en su conjunto de funciones.

Su implementación aquí puede ser algunos marcadores de posición con enfoques simples. Pero esos marcadores de posición lo obligarán a diseñar de manera efectiva para que pueda mejorar más adelante sin reescrituras masivas.

Etapa muy temprana: mantener la eficiencia y la productividad

Con 10 o 20 ingenieros, es probable que no tenga una persona dedicada a la eficiencia o las herramientas del desarrollador. Las prioridades de la empresa aún están cambiando y, aunque puede resultar engorroso para su equipo trabajar como un solo equipo, siga así. Busque formas más fluidas de crear flujos de trabajo independientes sin definiciones de equipo concretas o especialización profunda. Su equipo se beneficiará de tener a todos los responsables de la creación de herramientas, procesos y código en lugar de depender de una sola persona. A largo plazo, ayudará a fomentar la eficiencia y la productividad.


Source link