¿Y el equipo de trabajo apa?

Esta historia comienza después de escuchar a una persona comercial decir “necesitamos” un programador para iniciar esta startup, después de escuchar su idea me di cuenta que la funcionalidad principal de esta podría hacerse fácil en 1 mes o menos por un programador fullstack, aunque para tener el sistema completo faltaría mas de 4 meses de desarrollo. sin contar que a las personas comerciales les encanta cambiar cada 3 días los objetivos del proyecto.

Principio de Pareto (80/20 del código) y el mínimo producto viable.

el desarrollo de software también esta afectado por el principio de pareto, y este aplica de forma en que el 20% del código escrito cubre el 80% de la funcionalidad del sistema final. Obtener un mínimo producto viable se puede conseguir cuando se tiene entre el 20% y 40% del código terminado. Esta cantidad de código puede ser escrita por al menos una persona que sea full stack, comúnmente el líder técnico, pero para alcanzar el 100% de optimización del tiempo de desarrollo no es posible lograrse con solo 1 persona trabajando en este.

Antes de hablar del equipo se tiene que hablar un poco de la ley de brooks, esta en resumen dice:
“Nueve mujeres no pueden tener un bebé en un mes” sin embargo un sistema tiene que tener un equipo mínimo para conseguir el tiempo óptimo de desarrollo, dicho equipo normalmente consiste en:

  • Líder técnico / arquitecto: full stack es una persona con conocimiento de frontend, backend, dba.
  • Frontend: se encarga de las interfaces que ve el usuario final.
  • Backend: se encarga de programar la lógica de negocios.
  • Dba: diseña las estructuras donde se guarda la información del sistema (base de datos)
  • Diseñador: crea las interfaces de usuario aplicando conocimientos de “user experience”
  • Tester: se encarga de realizar las pruebas del producto antes de que este sea liberado y usado por el usuario.
  • Sysadmin: resuelve problemas técnicos de información cuando la plataforma esta en producción y en desarrollo al mismo tiempo.

por lo que un equipo de trabajo multidisciplinario debería tener 7 integrantes, sin embargo algunas tareas se pueden agrupar en mas de un integrante aun que no es recomenbable.

  • Líder técnico: puede cubrir la función del diseñador (a veces) y el dba.
  • Frontend: puede cubrir la función del diseñador (a veces).
  • Backend: puede cubrir la función del dba.
  • Tester: puede cubrir la función del sysadmin, o el sysadmin puede cubrir al tester.

entonces un equipo mínimo de desarrollo puede formarse por 4 personas técnicas.

 

Martin Quinta

Crecí con una computadora desde el kinder. Empece a programar a los 14 y hoy, mas de una década después… realmente odio estar frente a una computadora. Pero programar es en lo que soy bueno, por lo tanto me desahogo en este blog mientras bebo cerveza artesanal y pienso en un mundo bonito donde Java no existe.

Facebook Twitter LinkedIn  

Entradas relacionadas:

Leave a Reply

Your email address will not be published. Required fields are marked *