¿Cómo se supone que una empresa de desarrollo de software debe trabajar y escalar si básicamente necesita asignar 1 programador para cada proyecto y cada uno está programando software personalizado? ¿Cómo organizas todo eso?

¿Qué quiere decir con “software personalizado”? ¿Todos escriben todo desde cero con diferentes lenguajes de programación, marcos, etc.? Si ese es el caso, parece una muy mala idea de negocio que probablemente nunca escalará.

Si, por otro lado, tiene la mayoría del código en común en todos los proyectos y los desarrolladores implementan la lógica empresarial además de la específica para cada proyecto, es manejable. Muchas pequeñas agencias / tiendas trabajan de esa manera.

Pero nunca tendría un desarrollador 1: 1 para la asignación de proyectos. Esto crea enormes puntos únicos de falla. ¿Qué sucede si un desarrollador deja de estar disponible (enfermo, vacaciones, renuncia al trabajo)? Luego, todo el proyecto se detiene por semanas o meses. En cambio, haga que un desarrollador sea el líder de cada proyecto, pero haga que trabajen en múltiples. De esta forma, puede asegurar un desarrollo continuo en mayor grado y también puede acelerar un proyecto y pausar otro si es necesario.

Related Content

Depende de qué tipo de empresa sea y también cuáles son sus objetivos comerciales.

Supongo que su pregunta es para una empresa basada en servicios, ya que mencionó varios proyectos. Si está buscando una empresa basada en un producto, el proceso será diferente.

Si desea administrar una empresa basada en servicios que no es más que buscar clientes que tengan requisitos de desarrollo. Por lo general, las empresas por ahí buscan externalizar su trabajo debido a varias razones. Puede dirigirse a esas empresas en función de su escala e ideología del producto.

Digamos que tienes cierto conjunto de desarrolladores y buscas proyectos. Para escalar en dicho dominio, todo lo que necesita hacer es buscar la tecnología adecuada y capacitarlos. Para ello, debe tener un equipo de marketing sólido, ya que el dominio de desarrollo de aplicaciones web y móviles tiene mucha competencia. Para tener éxito necesita una cartera realmente buena.

Si no tiene muchos fondos y quiere crecer paso a paso, inicialmente tenga un equipo mínimo. Lentamente encuentre clientes y cree la confianza de que puede desarrollar la aplicación a un mejor costo que la competencia. Una vez que comience a crear buenos productos, las ventas mejorarán automáticamente debido a los comentarios. Mejores resultados de ventas en mejor marketing y viceversa. Puede hacer crecer lentamente su equipo en función de los beneficios que obtenga de sus proyectos.

¿Cómo elegir la tecnología adecuada?

Hay una variedad de tecnologías como Javascript, Rails, Java, Python y también una variedad de plataformas como dispositivos móviles (Android o iOS), web. Elija la tecnología en función de los comentarios de marketing para los que puede mantenerse a largo plazo.

Bueno, un programador por cliente es una organización eficiente a corto plazo, pero es una bomba de tiempo, los programadores se van de vacaciones, se enferman y cambian de compañía, si alguna de estas cosas sucede, el cliente tendrá problemas.

Es mucho mejor tener 2 programadores por cliente con el proyecto listo en un poco más de la mitad del tiempo, pero su cliente estará mucho más seguro en el futuro.

Cada programador que trabaja en software personalizado hoy en día es realmente difícil de creer, eso normalmente significa que muchos programadores escriben el mismo software una y otra vez simplemente sentados en diferentes lugares.

Lo primero que debe hacer en estos casos es lograr que los programadores se reúnan con más frecuencia y compartan lo que están haciendo con los demás, lo que sin duda será algo que alguien ya ha escrito útil para otros.

Si solo tiene el personal para un desarrollador por proyecto, sugiero humildemente que su empresa esté asumiendo demasiados proyectos. Muy poco bien proviene de un desarrollador en un silo.

Comience con una necesidad comercial no satisfecha suficientemente rentable que pueda ser satisfecha por un número muy pequeño de proyectos y satisfacer esas necesidades. El dinero se gana en los negocios cuando encuentra un activo en un formulario y puede convertirlo a otro formulario cuyo valor es mayor que el valor del formulario original más los costos de conversión. Si los números funcionan, entonces hazlo y si no lo hacen, entonces no. Por supuesto, la respuesta a cómo administrar la tarea es comprenderla primero, luego comenzar a generar confianza en los juicios de las personas que trabajan en los proyectos. Aquellos que toman las mismas decisiones que tú (suponiendo que tomes las decisiones correctas) pones a cargo de los demás.

Usted asigna más de un proyecto a cada programador hasta que tenga suficiente dinero para contratar a otro programador. Esta es la escala horizontal. Puede ver un ejemplo de este tipo de escalado en grandes empresas como Google, Microsoft, Apple, etc.

O obtenga un proyecto más grande que le pague más dinero, por lo que la ganancia es suficiente para pagar a sus programadores y otros costos operativos, y más.

Al final del día, ¿cuál es el propósito de crear esta compañía de software? Como mínimo, debería pagarle suficiente dinero para pagar su costo personal (su resultado mensual) y, con suerte, más. ¿Correcto?

More Interesting