¿Cómo construir un equipo de desarrollo de Umbraco Kick-Ass?
Publicado: 2022-09-29Su equipo de desarrollo tiene las personas, las habilidades y la experiencia, pero escalar las operaciones siempre es un desafío cuando obtiene un nuevo proyecto o requiere una experiencia de plataforma muy específica. ¿Debe utilizar contratistas o equipos de desarrollo web subcontratados? Esta publicación analizará las opciones que tiene su equipo de desarrollo para gestionar el crecimiento.
Contratistas frente a equipos de desarrollo subcontratados frente a equipos integrados
Incluso cuando crea que cuenta con el equipo de desarrollo adecuado, su empresa siempre estará en busca de la experiencia en plataformas más solicitada. Todas las organizaciones se harán la pregunta:
"¿Deberíamos contratar más personal para hacer frente a nuestros proyectos actuales y/o próximos o sería mejor otro enfoque?"
Tomar la decisión correcta no siempre es la más práctica, ya que pueden estar en juego una variedad de factores. ¿Te suenan familiares estas preguntas anteriores?
- ¿Es esto solo un aumento temporal que significa que las cosas eventualmente volverán a la normalidad?
- ¿Qué sucede si el próximo proyecto requiere habilidades diferentes a las actuales de su personal?
- ¿Podrá cubrir el costo de los miembros adicionales del equipo en caso de que enfrente una escasez de proyectos en el futuro, o tendrá que despedir a la gente?
- ¿Cómo puede apoyar los proyectos existentes y asumir otros nuevos al mismo tiempo sin invertir continuamente en nuevas personas (e infraestructura)?
#1 Contratistas
Usted “alquila” un desarrollador (o dos, o tres) de una empresa que les brinda una cantidad específica de tiempo y dinero, y los hace trabajar en uno o más proyectos, o respaldar proyectos existentes.
Los gestionas durante el tiempo que te “pertenecen” y consigues que hagan cualquier trabajo que necesites. Es una forma de hacer crecer artificialmente a tu equipo por períodos cortos de tiempo sin tener que contratar.
Advertencias involucradas:
Una vez más, tendrá que hacer un poco de recursos humanos allí: el hecho de que otra empresa haya sugerido a una persona específica no significa que sea definitivamente la persona adecuada para el trabajo. Habrá que realizar entrevistas y el nuevo desarrollador tendrá que adaptarse muy rápido a lo que tienes que darle, lo que no siempre es así.
Finalmente, digamos que todo va bien y el trabajo está hecho. El desarrollador se va y es posible que la misma persona no esté disponible cuando la necesite nuevamente, lo que significa que tendrá que pasar por todo el proceso nuevamente.
#2 Equipos de desarrollo subcontratados
La subcontratación generalmente significa que pasa por un proceso de encontrar una empresa confiable y asignarle un proyecto, esperando obtener resultados en un marco de tiempo bien definido, con un alcance y especificaciones bien definidos.
Esto funciona mejor cuando asume un proyecto para el cual su equipo interno no tiene conocimientos o experiencia significativos, pero aún desea participar sin invertir en contratar o capacitar personas.
Advertencias involucradas:
- Tendrá que examinar a las personas o la empresa con la que trabajará, algo que requiere tiempo y probablemente dinero, o simplemente tendrá que correr un gran riesgo.
- También deberá tener un alcance fijo y especificaciones perfectas, y probablemente asignar un gerente de proyecto de su lado para observar y guiar a la otra parte en cada paso del camino.
- Las cosas pueden salir mal fácilmente debido a una mala comunicación o especificaciones mal escritas, y hay miles de casos en los que esto ha sucedido.
Y no estamos hablando de enfoques ágiles en absoluto aquí, simplemente olvídalo, a menos que hayas trabajado con las mismas personas una y otra vez.
#3 Equipo de desarrollo integrado
Este es un enfoque más híbrido, en el sentido de que no obtienes un solo desarrollador, sino un grupo de personas que se conocen y tienen experiencia trabajando juntas.
Luego, esas personas se "integran" en su equipo interno actual, siguen sus procedimientos y metodologías y, finalmente, aumentan su productividad general.
Advertencias involucradas:
Como antes, introducirá un "cuerpo extraño" en su empresa y querrá que se integre con su personal existente de inmediato, y sabemos, al menos por la medicina moderna, que un organismo, como su empresa – lleva tiempo integrar cuerpos extraños, ya veces falla.
Eventualmente, puede funcionar mejor que las alternativas anteriores, pero deberá invertir una cantidad significativa de esfuerzo en esto.
Nuestra sugerencia: Equipo de desarrollo como servicio
(O, como otros lo llaman, SDaaS - Desarrollo de software como servicio)
Este es un enfoque aún más híbrido que el equipo de desarrollo integrado y (en nuestra opinión) el más rentable y el que brinda los mejores resultados.
En pocas palabras, obtiene un equipo de desarrollo integrado como antes, pero esta vez no tiene que preocuparse realmente por el tamaño del equipo ni por sus habilidades como individuos: el equipo inicialmente tendrá un representante, generalmente uno de los desarrolladores. , quien será responsable de "conectar" a sus desarrolladores internos (si los tiene) con él, realizar todas las comunicaciones y poner al día a sus colegas.
Asignas trabajo a ese equipo y pagas por las horas que pasan trabajando.
Esto significa que, para una tarea o proyecto urgente, varios miembros del equipo como servicio tendrían que estar involucrados para completar el trabajo lo antes posible, o que podrían dividir las tareas menos urgentes entre ellos y tener una persona hace cada uno. Pero esto es algo de lo que se encarga el propio equipo.
En cualquier caso, obtiene la misma escalabilidad que obtendría con la nube cuando ejecuta un servidor web: está allí cuando lo necesita y no tiene que pagar por él cuando no lo necesita.
A la larga, a medida que el equipo remoto se familiariza cada vez más con los miembros de su equipo interno, su propia experiencia, sus procesos y su forma de trabajar, las comunicaciones pueden ampliarse y todos los desarrolladores pueden participar.
La necesidad de un intermediario generalmente desaparece para entonces, y terminas teniendo un equipo escalable, muy parecido a uno integrado, que puedes administrar y usar según lo necesites según tu carga de trabajo actual.
Advertencias involucradas:
A diferencia de la utilización de servicios en la nube en un entorno de TI, este es un proceso más gradual que necesita que se establezca confianza en ambos lados.
En la mayoría de los casos, la otra empresa se encargará del proceso de integración y usted solo tendrá que hacerles la vida más fácil brindándoles acceso e información cuando sea necesario. A veces, esto puede demorar más de lo esperado, especialmente si no está acostumbrado a esta forma de trabajar. Pero eso es todo lo que hay que hacer.