El documento describe los principales roles y responsabilidades en metodologías de desarrollo de software tradicionales y ágiles. En metodologías tradicionales, los roles clave son el cliente, líder de proyecto, analista, programador, tester, diseñador y arquitecto de software. En metodologías ágiles, los roles centrales son el product owner, scrum master y equipo de desarrollo.
2. Descripción
• Los roles y responsabilidades que tiene un equipo de desarrollo varía dependiendo de la metodología
utilizada. Un rol es una figura que adquiere una persona a quién son asociadas ciertas
responsabilidades. Es importante mencionar que existen roles que no cambian como, por ejemplo, el
rol del cliente o usuario, el que será quien nos entregue y complete todos los requerimientos para
iniciar el desarrollo, en cualquiera de las metodologías disponibles.
4. Cliente/Usuario
Tiene la responsabilidad de entregar/escribir los
requerimientos del proyecto a desarrollar, además de
validar, revisar y aprobar los entregables que saldrán
de este proceso. Interviene en las fases de inicio y
revisión (entrega) del proyecto.
Líder de Proyecto
Organiza, gestiona y coordina todas las tareas del
proyecto para cumplir el objetivo. Mantiene
comunicación directa con el cliente y equipo del
proyecto. Su participación es fundamental para el
éxito del proyecto.
5. Analista
Es quien toma y transcribe los requerimientos del cliente y los
canaliza hacia las personas que programan. Rol conocido también
como analista de requerimientos.
Programador
Rol clave, pues es quien convierte los requerimientos en lenguaje
de maquina, es decir, crea los programas.
Tester
Participa en la etapa de certificación. Es un rol independiente, pero
con gran responsabilidad, ya que si el proyecto no cumple con los
estándares mínimos será rechazado o devuelto a desarrollo hasta
que cumpla con los requisitos solicitados por el cliente.
6. Diseñador
Crea los prototipos o maquetas de los futuros desarrollos. Su
trabajo inicia llevando los requerimientos del cliente a maquetas
que puedan ser llevadas a código.
Arquitecto de Software
Marca la pauta tecnológica, es decir, los lineamientos que debe
seguir el programador
Cabe aclarar que estos dos últimos roles no siempre forman
parte del equipo de desarrollo, ya que en algunos casos
pueden tener un rol más transversal en la empresa.
8. Roles centrales: Product Owner, Scrum Master y Equipo de Desarrollo
Roles no centrales: Son importantes, pero no depende de este rol el éxito del
proyecto. Está compuesto por: Cliente, usuarios y patrocinador.
Para las metodologías ágiles
existe una segmentación para
definir los roles y
responsabilidades:
9. Product Owner
El Dueño de Producto (Product Owner) es el
responsable de maximizar el valor del producto y
del trabajo del Equipo de Desarrollo.
• Responsable del retorno de la inversión (ROI)
• Guiar el esfuerzo de desarrollo
• Comunicación continua con los involucrados
• Mantener la moral del equipo
• Disponibilidad para resolver dudas del equipo
• Toma de decisiones bien analizadas
10. SCRUM Master
El Scrum Master es el responsable de asegurar que el Scrum sea
entendido y adoptado.
• Los Scrum Masters hacen esto asegurándose de que el Equipo
Scrum trabaja ajustándose a la teoría, prácticas y reglas de
Scrum.
• El Scrum Master es un líder que está al servicio del Equipo
Scrum.
• El Scrum Master ayuda a las personas externas al Equipo Scrum
a entender qué interacciones con el Equipo Scrum pueden ser
de ayuda y cuáles no.
• El Scrum Master ayuda a todos a modificar estas interacciones
para maximizar el valor creado por el Equipo Scrum.
11. Equipo de Desarrollo
(SCRUM Team)
• Solo los miembros del Equipo de Desarrollo
participan en la creación del Incremento.
• Son auto-organizados. Nadie (ni siquiera el
Scrum Master) indica al Equipo de
Desarrollo cómo convertir elementos de la
Lista del Producto en Incrementos de
funcionalidad potencialmente desplegables.