Equipos de desarrollo de software

Visitas: 7491

Un error frecuente en empresas de programación es tener a todo el mundo haciendo de todo. Aunque eso en algún que otro escenario puede funcionar bien, causa que esas personas no puedan emitir estimados de calidad, ya que les resulta imposible poder determinar cuanto tiempo van a dedicar a cada tarea.

Es por ello que los roles dentro de un equipo de programación deben ser lo más dedicados posible. Obviamente, dependiendo del tamaño de la aplicación, del tiempo y de los recursos disponibles, el equipo podrá ser de un tamaño u otro. Pero hay una serie de puestos que son imprescindibles para que todo funcione adecuadamente. 

Estos puestos tienen unas responsabilidades bien definidas. Lo que describo a continuación es lo que considero la "célula mínima" para llevar a buen término un programa medianamente serio. En una empresa pequeña, varios de estos roles pueden ser realizados por la misma persona. En organizaciones más grandes, el objetivo debe ser disponer de más células de este tipo y hacerlas interactuar correctamente.

Jefe de proyecto

Es el encargado de realizar el análisis de los requerimientos del cliente. De hacer el seguimiento diario de las tareas y de resolver cualquier problema de comunicación con otros equipos si los hubiera. En el caso de que este equipo se convierta en cliente de otro equipo, esta persona es la que se encarga de realizar la comunicación con ellos. Obligatoriamente tiene que tener un background de programador, necesita entender a los programadores y la problemática a la que se enfrentan diariamente para poder asegurar que los requerimientos recogen toda la información necesaria para poder realizar la tarea. Es el responsable de que la implementación de esos requerimientos se haga correctamente.

Líder de equipo

Es el programador líder, debe ser alguien senior, con capacidad organizativa. Se encarga de redactar y mantener actualizados los requerimientos. También se encarga de escribir las especificaciones técnicas y crear las tareas, asignándolas a los desarrolladores de su equipo. Sus tareas de programación deben limitarse única y exclusivamente a la arquitectura, marcando la línea a seguir por el resto de programadores. Aparte de esto, tiene que revisar el trabajo de los programadores a su cargo para asegurar la calidad del código escrito.

Desarrollador

Es un programador, que se encarga de ejecutar el trabajo asignado por el lider del equipo. En un proyecto de software, normalmente el 20% del codigo constituye arquitectura y el 80% restante consiste en utilizar esa arquitectura para completar los requerimientos. Los desarrolladores son los encargados de completar ese 80%. 

Diseñador gráfico y UX

Este rol consiste en, a nivel de UX, realizar los flujos de trabajo dentro de una aplicación a nivel de mockups, para determinar posteriormente, los diseños que habrá que realizar y como se va a comportar la aplicación. Posteriormente, es el encargado de realizar el diseño gráfico de las pantallas que compone la aplicación, atendiendo a las reglas de UX que determinen la posición de los elementos, los esquemas de colores, tipografías, etc.

Líder de calidad

Debe ser alguien con conocimientos de programación y análisis, que sea capaz, utilizando los requerimientos, de desarrollar una suite de tests que verifiquen que el software cumple con los requerimientos. El líder de calidad es el último responsable de que las características funcionan tal y como se han especificado en los requerimientos.

Ingeniero en calidad

Es un programador o alguien con conocimientos de programación, encargado de escribir las suite de tests para automatizar el testeo del programa.

Si se desarrollan productos de software, por lo general, estos deben venir acompañados de algún tipo de documentación, para ello, se necesitarían dos roles más:

Líder de documentación

Alguien con conocimientos técnicos, capaz de entender los requerimientos y, a partir de ellos, generar la documentación necesaria, se encarga de organizar el contenido a escribir y marcar la línea a seguir en cuanto a documentación.

Documentador Técnico

Tambien debe tener un trasfondo técnico, para poder escribir contenido que tenga significado y se utilice el vocabulario adecuado. Su objetivo es completar la documentación sobre todas las características del producto. 

 

Autor

Imagen de José León

Director Área Business Software Solutions

CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.