3.Trabajo en equipo
Prácticas sociales
¿Qué vamos a aprender?
•
¿Qué es un equipo?
•
Prácticas para conformar un equipo de
desarrollo de software:
–
Poner nombre y logo al equipo
–
Definición de roles
Equipo
•
Es un
número reducido
de
personas
con
habilidades complementarias
que están
comprometidas con un propósito común
,
tienen
metas de desempeño
y un
enfoque
común
del que son
mutuamente
Equipo en Ingeniería de Software
•
Equipo de trabajo
es un
grupo de practicantes
que
trabajan juntos
en un
periodo de tiempo
,
de
manera colaborativa
para obtener el
Equipo según Amazon
•
Un equipo debe ser del tamaño que sea
posible
alimentarlo con 2 pizzas
, esto es de
3 a
5 personas.
Roles genéricos
•
Desarrollador o practicante
, es un profesional que se
encarga de
desarrollar
los productos de software.
•
Cliente
es el individuo u organización que
tiene
necesidad
de un producto de software.
•
Equipo de trabajo
es un grupo de practicantes que
trabajan juntos en un periodo de tiempo
, de manera
colaborativa
para obtener un objetivo específico de un
producto de software
.
•
Involucrados
son las
personas interesadas
en el
Trabajo colaborativo
•
Todos deben
colaborar
con los demás para
lograr un
objetivo común
, tener una
comunicación constante
, que permita
Comunicación en el equipo
•
El
objetivo
de la c
omunicación
es que todos
los miembros del equipo deben
saber el
trabajo que han hecho los demás
y que se
tomen las decisiones en conjunto
.
•
Para que
la comunicación sea constante
se
realizan
reuniones de trabajo
en las que se
comunican los avances
,
los problemas
Comunicación
•
Síncrona
– cara a cara (presencial o virtual)
Auto-organización del equipo
•
No
tienen
liderazgos impuestos
y todos tienen
derechos iguales y participan en la toma de
decisiones.
•
Cada miembro del equipo,
escoge su rol
,
Repositorio común de documentos
•
Todos estos
documentos
deben estar
accesibles a los miembros
del equipo y demás
interesados.
•
Para lograrlo el equipo crea un
repositorio
común
asignado a su proyecto.
Repositorio común de código
•
Se construye un
repositorio común
para el
código que se genera en cada proyecto.
•
Cada que se hace un cambio a un documento
o código, se debe generar
una nueva versión
a
fin de poder regresar a su estado antes del
Método Inicial de Desarrollo de
Software
•
Prácticas
–
Sociales
–
Administrativas
Prácticas sociales
•
Incluyen actividades para conformar el equipo
de trabajo y define su funcionamiento
–
Conformar el equipo
–
Definir la comunicación del equipo
–
Crear el repositorio de documentos
Práctica PS1 Conformar el equipo
Objetivo
Conformar el equipo que se identifica con nombre y logo, tiene roles asignados y entiende el objetivo del sistema a desarrollar.
Entrada Resultado
Condiciones
Grupo de 4 (+-1)alumnos que conformará el equipo
Productos de trabajo
Planteamiento de Necesidades Guión del Curso
Condiciones
Equipo conformado
Productos de trabajo
Primer Proyecto de Software
Actividades
Definir el nombre y logo del equipo. Repartir los roles.
Entender el objetivo del producto a desarrollar.
S1. Técnica para definir el nombre y
logo del equipo
•
Para conformar el equipo se hará
una primera reunión de
todos los alumnos que serán miembros del equipo
. Se pide:
–
Traer uno o varios nombres posibles.
–
De ser posible ya traigan algunos dibujos de logos a proponer.
•
Al llegar a la reunión,
cada alumno propone sus nombres y
logos.
•
Todos votan
por cada una de las propuestas.
•
La que tenga
mas votos gana
.
S2. Técnica para repartirse los roles
•
Todos tienen el rol de desarrollador
Responsable del equipo
Objetivos
• Motivar a todos los miembros a participar activamente y con entusiasmo en el proyecto.
• Convocar y dirigir las reuniones del equipo de forma eficaz.
• Documenta decisiones y acuerdos.
• Resolver los conflictos que se presenten en el equipo. Si no es posible, se comunican a la maestra o ayudantes para que ayuden a resolverlo.
Habilidades
• Es un líder natural en los grupos.
• Conciliador de los intereses del grupo.
• No conflictivo, motivador a cumplir los compromisos.
• Sociable y amistoso.
• No es impositivo sino conciliador, pero intolerante a faltas de compromiso.
Responsabilidades
Responsable técnico
Objetivos.• Dirigir al equipo en la toma de decisiones en las actividades técnicas de desarrollo.
• Conseguir las herramientas necesarias para el trabajo.
• Entrenar a los miembros del equipo en su uso.
• Coordinar el diseño, construcción e integración del software.
Habilidades
• Experiencia en programación.
• Reconocimiento del equipo por sus habilidades técnicas
• Conocimientos de lenguajes de programación, ambientes de programación, herramientas de apoyo.
Responsabilidades
• Motiva y guía al equipo a seguir las prácticas de desarrollo.
Responsable de calidad
Objetivos• Asegurar que se sigan los estándares establecidos para cada producto.
• No permitir que se hagan cambios no autorizados a productos ya aprobados.
• Hacer que se corrijan los defectos.
• Coordinar las pruebas y revisiones del producto de software.
Habilidades
• Persona ordenada e interesada en la calidad del software.
• Saber hacer buenas pruebas a los productos.
Responsabilidades
• Coordina la definición de estándares y vigila que se cumplan.
Responsable de la colaboración
Objetivos• Conseguir las herramientas necesarias para apoyar al equipo en la comunicación y colaboración.
• Asegurar la visibilidad de todos los productos de trabajo del equipo.
• Mantener el Tablero de seguimiento.
Habilidades
• Experto en redes sociales, entusiasmado en aprender y explicar al equipo su uso.
• Disciplinado en el manejo del repositorio común de documentos para facilitar la comunicación asíncrona del equipo.
Responsabilidades
• Proporciona al equipo las herramientas de colaboración adecuadas para su trabajo.
Pasos de la técnica para repartir los roles
•
Cada
alumno
hace una
lista priorizada de los roles
que le gustaría jugar, además de la de desarrollador.
•
Cada
alumno expone su lista de preferencias
y
argumenta las razones por las que le gustaría jugar su
rol preferente.
•
Cuando dos miembros del equipo quieran jugar un
mismo rol, se podrá argumentar la razón de su
preferencia.
•
Si se mantiene el empate
, se puede resolver con un
Si en el equipo hay 3 personas, se podrán repartir las responsabilidades del
responsable de colaboración de la siguiente manera:
– Al responsable del equipo:
• Proporciona al equipo las herramientas de colaboración adecuadas para su trabajo.
• Coordina la realización de las actividades de Administración del proyecto manteniendo el Tablero de Seguimiento al día, según las actividades realizadas por el equipo y reportadas en la reunión diaria.
– Al responsable de la calidad:
– Crear y mantener adecuadamente le repositorio común de
Planteamiento de Necesidades (1)
Contexto
Sistema de geolocalización para la calificación de puestos
de alimentos
•
Un grupo de estudiantes de la Facultad de Ciencias busca
crear un sistema de software que permita a los
integrantes de la comunidad hacer comentarios sobre los
puestos de alimentos que se encuentran dentro de la
Facultad.
Planteamiento de Necesidades (2)
•
Este sistema permitirá a los usuarios de la Facultad de
Ciencias realizar las siguientes acciones:
–
Usando un mapa, se podrán ver los nombres de los
puestos o alguna palabra que los identifique, así como las
estrellas con las que cuenta el lugar.
–
Se podrá conocer información específica de cada puesto, la
calificación que tiene, tipos de alimentos y comentarios.
–
Debe permitir que los integrantes de la comunidad de
Ciencias se registren con su cuenta de correo electrónico
@ciencias.unam.mx y proporcionar su nombre de usuario,
contraseña y, si lo desean, una foto. Al registrarse, el
Planteamiento de Necesidades (3)
•
Una vez registrado, además de navegar a través
del mapa y conocer la información de los
puestos, el usuario podrá hacer las siguientes
acciones:
–
Iniciar Sesión
–
Cerrar Sesión
Planteamiento de Necesidades (4)
•
El administrador del sistema podrá gestionar
cuentas de usuarios y la información de los
puestos. Se espera que las funcionalidades
básicas del administrador sean:
–
Iniciar Sesión
–
Cerrar Sesión
–
Eliminar usuarios.
–
Eliminar comentarios.
–
Agregar puestos de alimentos.
Planteamiento de Necesidades (5)
•
Una de las características principales es que el
sistema sea consultado a través de una página
web manejada desde un dispositivo móvil, pero
que también esta misma página sea fácil de
consultar desde una computadora (laptop o de
escritorio). Por lo que este sistema web debe ser
responsivo y adaptativo.
•
Entregar por equipo
Práctica PS2 Definir la comunicación en el equipo
Objetivo
Acordar las formas y frecuencias de la comunicación presencial y virtual interna del equipo
Entrada Resultado
Condiciones
Equipo conformado
Condiciones
Acuerdo del equipo sobre las formas, medios y frecuencias de las
reuniones durante el proyecto.
Actividades
S3. Técnica de comunicación síncrona
entre los miembros del equipo
• La comunicación síncrona significa que está todo el equipo reunido al mismo tiempo, la presencia puede ser física o virtual.
• Para las reuniones de seguimiento se propone que:
– El equipo acuerda el día, forma (presencial o virtual) y hora de las reuniones síncronas diarias.
– El responsable del equipo coordina las reuniones diarias de seguimiento.
– Según las prácticas ágiles (SCRUM) la reunión durará 15 minutos en los que se reportan los avances de cada miembro contestando estas preguntas:
• ¿Qué hizo desde la última reunión?
• ¿Qué dificultades encontró?
• Se asignan nuevas tareas equitativamente y de común acuerdo.
– Todos ayudan a resolver las dificultades.
•
Para las
reuniones de toma de decisiones
, se proponen los
siguientes pasos:
– Cualquier miembro del equipo, envía invitaciones a la reunión a todos los miembros estableciendo claramente día, hora, medio de reunión: presencial y lugar, o red social a través de la que se llevará a cabo.
– Se envían los puntos concretos a tratar.
– Establecer si hay trabajo previo que deberá hacer cada miembro del equipo antes de llegar a la reunión.
– Todos los miembros del equipo llegan a la reunión con el trabajo solicitado.
– Se discuten los temas a tratar y se llegan a acuerdos.
Acuerdo por equipo
Práctica
PS3 Crear el repositorio común de documentos
Objetivo
Crear un repositorio de documentos del proyecto compartido por el equipo y el docente.
Entrada Resultado
Condiciones
Equipo conformado
Condiciones
Repositorio compartido de documentos del equipo creado Productos de trabajo
Carátula personalizada
Actividades
1. Seleccionar una herramienta para crear el repositorio compartido de documentos. 2. Responsable de colaboración crea el repositorio dando el acceso a todo el equipo y
al docente.
S4. Técnica para crear el repositorio
común de documentos
• El responsable de la colaboración busca en la web herramientas colaborativas gratuitas.
• Analiza que cumplan con los requisitos necesarios para crear el repositorio común.
• El equipo selecciona una de las herramientas.
• El responsable de la colaboración crea el repositorio común estableciendo diversas carpetas para los tipos de documentos que se guardarán:
acuerdos, modelos, etc.
• Da de alta a los miembros del equipo con sus datos personales como nombre, correo electrónico, número de celular y otros datos de interés para el equipo.
• Da los permisos adecuados a todos los demás miembros del equipo para su uso.
• Instruye a los demás miembros del equipo en el uso de la herramienta.