Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Team Software Process

No description
by

Edwin Páez

on 17 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Team Software Process

Agenda
Team Software Process
Erledy Nope
Edwin Páez

Ingeniería de Software I
Bogotá - 2012

Introducción a TSP
CMM - TSP - PSP
La lógica de TSP
El proceso de TSP
Lanzando un proyecto en equipo
La estrategia de desarrollo
El plan de desarrollo
Definición de Requerimientos, diseño, implementación, integración y pruebas y postmortem.
Usando TSP
La gestión de sí mismo
Trabajando en equipo
Referencias
Overview
¿Qué es TSP?
Framework para usar métodos de ingeniería en el desarrollo de software
Muestra cómo aplicar principios de la ingeniería de software y de procesos en un entorno de trabajo en equipo
Define roles, y la planeación y manejo de un equipo de proyecto
¿Para qué TSP?
Teams don't just happen
Sin una estructura o proceso de trabajo en equipo definido el ingeniero debe descifrar como manejar su proyecto
Los pasos para construir un equipo no son obvios
El software es desarrollado en equipos
Un poco de historia...
Humphrey llegó al SEI en 1986
Software Capability Maturity Model
Software Process Assessment
Software Capability Evaluation Methods
Software Process Program
Watts S. Humphrey
4 July 1927 – 28 October 2010
Capability Maturity Model Integration
Director de calidad y proceso de programación en IBM
Considerado el padre de la calidad del software
Recibió un Ph.D honorario en Ingeniería de software en 1998
Principios de TSP
2. El trabajo en equipo productivo requiere:
Metas específicas
Entorno de trabajo propicio
Entrenamiento y liderazgo capaz
4. El aprendizaje es más efectivo cuando se construye en base al conocimiento previo
3. Definir prácticas, métodos y roles desde el principio es más efectivo.
1. El aprendizaje es más rápido cuando se sigue un proceso definido y se retroalimenta rápidamente
Diseño de TSP
1. Personal Software Process PSP
2. Desarrollo de productos por ciclos
3. Medidas estándar de calidad y desempeño
4. Medidas precisas personales y de equipo
5. Usar evaluaciones de rol y de equipo
6. Disciplina al proceso
7. Guías para resolver problemas de equipo
Estructura y flujo
Lanzamiento
EL PROCESO
Estrategia
Plan
Requerimientos
Diseño
Implementación
Integración
Postmortem
Establecer relaciones de trabajo
Determinar los roles de los integrantes
Metas
Necesarias para definir la estrategía y el plan
Agresivas pero realistas
Específicas y medibles
Por equipo
Por miembro
Producir un producto de calidad
Ejecutar un proyecto productivo y bien manejado
Terminar a tiempo
Construir un equipo productivo
Producir productos de alta calidad
Asegurar que el equipo use TSP
Reuniones
Comunicar
Planear
Tomar decisiones
Reunir y analizar información
Metas de roles y de equipo
Planear primero
Antes de definir requerimientos
¿Qué es?
¿Cómo se va a construir el sistema?
Basado en la experiencia, ¿Cómo construiría este producto?
¿Qué componentes necesitaré para construirlo?
¿Qué funciones deben proveer estos componentes?
¿Qué tan grandes creo qué serán?
Construcción
Definir criterios de la estrategia
Determinar posibles alternativas
Identificar riesgos y beneficios
Comparar alternativas
Elegir una estrategia
Documentar la estrategia seleccionada
Descripción clara e inequívoca del producto
Incluye cómo evaluar que el producto haga lo que se espera que haga
NO
hacer suposiciones o conjeturas
No deben siquiera implicar cómo construir el producto
Software Requirements Specification (SRS)
Los requerimientos SIEMPRE cambian
Los cambios en los requerimientos cuestan tiempo y dinero
Aclaración
Adiciones funcionales
1. Evaluar la factibilidad del sistema.
2. Entender la organización.
3. Identificar los stakeholders del sistema.
4. Registrar las fuentes de requerimientos.
5. Definir el entorno del sistema.
6. Evaluar los problemas del negocio.
7. Definir las restricciones del dominio
8. Registrar la justificación de los requerimientos.
9. Prototipar los requerimientos poco claros.
10. Definir los escenarios de uso.
11. Definir los procesos operacionales.
Obtención de requerimientos
Diseñar es el proceso de decidir cómo construir el producto
Completo
Preciso
Define partes principales
Define interacciones entre las partes
Define cómo se unen para formar el producto
Diseñando en equipo
Estándares de diseño
Convenciones de nombres
Formatos de interfaces
Mensajes al usuario
Defectos
Representaciones
Diseño para el reuso
Diseño para la usabilidad
Diseño para las pruebas
Revisiones e Inspecciones
Interfaces estándar reusables y convenientes
Documentación
how-to
Calidad de diseño e implementación
Soporte
Prototipado de interfaces
Caja negra - Caja blanca
Buena documentación
Mejoramiento del diseño
Gestión de uno mismo
Obligaciones de construcción de equipo
Obligaciones de trabajo de equipo
Comunicación entre los miembros
Hacer y cumplir compromisos
Participar en actividades de equipo
Visibilidad
Escuchar
Negociar
Asumido libremente
Público
Preparación
Confianza
Ceder
Llamar la atención
Prestar atención
Insistir
Obligaciones de trabajo de equipo
Obligaciones de construcción de equipo
Aceptar y desempeñar un rol en el equipo
Establecer metas y luchar para cumplirlas
Construir y mantener el equipo
¡GRACIAS!



PSP - Crea individuos disciplinados con habilidades
CMMI - Construye la capacidad de la organización
TSP - Construye productos de calidad a tiempo y dentro del presupuesto
CMM
TSP
PSP
CMMI
TSP
Un modelo de buenas prácticas
Un ejemplo de buenas prácticas
Responde el ¿Qué? no el ¿Cómo?
Responde el ¿Cómo? no el ¿Qué?
Una guía de mejoramiento
Una herramienta de mejoramiento
CMM
1980 - 1990
TSP y PSP son procesos de CMM nivel 5
Referencias
Introduction to the Team Software Process - Watts Humphrey
Using TSP to Improve Performance - Dan Burton
http://www.sei.cmu.edu/tsp/tsp-history.cfm
http://es.scribd.com/doc/90082876/Team-Software-Process
http://sistemas.uniandes.edu.co/~csof5101/dokuwiki/lib/exe/fetch.php?media=principal:csof5101-tspch1.pdf
http://ingsw.ccbas.uaa.mx/sitio/images/material/tsp.htm
http://bibdigital.epn.edu.ec/handle/15000/554
http://www.sigada.org/conf/sigada2004/Watts-Humphrey-Bio.html
EQUIPOS
¿Qué es un equipo?
La unión de al menos 2 personas las cuales trabajan por una meta común, donde cada uno tiene un rol específico asignado según sus cualidades.
Grupo de personas organizado para una investigación o servicio determinado. RAE
¿Como TSP construye equipos?
Comunicación interna y externa.
Planes.
Roles.
Metas.
PORQUÉ FALLAN LOS EQUPOS?
* Liderazgo inefectivo.
* Falta de compromiso o de cooperación.
* Falta de participación.
* Procrastinación.
* Problemas de calidad.
* Aumentart la funcionalidad.
* Evaluación de colegas.
* Tomar atajos.
* Saltando etapas.
*Apostarle a nuevas herramientas.
*......
Cronograma imposible de cumplir.
"Cuando un proyecto de software falla, se debe principalmente a problemas de trabajo en equipo y no a problemas técnicos"
Tom DeMarco
Construcción de equipos efectivos.
Cohesión.
Cohesión.
Metas retadoras.
Retroalimentación.
Ambiente de trabajo
común.
Planeación
Se estima el tamaño de los distintos elementos identificando las tareas que serán realizadas, asignando a cada miembro del equipo, proponiendo además un plan de calidad que fije parámetros que serán alcanzados.
Implementación
Se realiza un diseño detallado y un código estándar, para la posterior revisión,compilación y prueba unitaria.
Prueba
Se integran todos los programas implementando estrategias de prueba como: Big-Ban, uno a la vez, agrupamiento y sistema plano
Postmortem
Se analiza el producto, se documenta el ciclo, generación de las evaluaciones del equipo, y finalmente se realiza la presentación del estado del proyecto.
Trabajando en equipo
¿Preguntas?
Se refiere al compromiso que ejerce el ser miembro de un equipo o grupo.
Las metas deben ser específicas, medibles y representar un reto significativo para el equipo.
Medir el progreso, distinguir el desempeño personal del equipo como un todo
Las tareas asignadas a cada uno de los miembros deben ser claras y especificas, así mismo cada miembro debe estar claramente identificado en su rol específico.

Cada uno de los miembros debe estar claro los objetivos, características, metas y actividades que le competen con respecto al rol que les fue asignado.

El equipo tiene el control sobre cada una de las tareas.
*Definir y aceptar un conjunto de metas comunes.
*Definición participativa
*Metas por roles
Definir responsabilidades entre todos los miembros del equipo
Líder del Equipo:
Dirige al equipo, se asegura que todos reporten sus datos de los procesos y completen su trabajo tal y como se planeó . Realiza los reportes semanales del avance del equipo.
Gestor de desarrollo.
Guía al equipo en el diseño y desarrollo del producto.
Gestor de Planificación.
Apoya y guía al equipo en la planificación y seguimiento del trabajo.
Gestor de Calidad/Proceso
Apoya al equipo en definir sus necesidades acerca del proceso y a establecer y administrar el plan de calidad, genera estándares para obtener un trabajo uniforme, modera las inspecciones y revisa cada artefacto generado.
Administrador de Requerimientos/Soporte.
Dirige al equipo en el desarrollo de requerimientos de software y ayuda a dar a conocer la tecnología y en las necesidades de apoyo administrativo, administra el plan de configuración.
*Definir una estrategia para lograr las metas. *Descomponer el trabajo total en partes (ciclo de desarrollo).
*Replanear de acuerdo con los resultados y la experiencia ganada
*Conocer el estado del trabajo de cada uno y de todo el equipo.
*Seguimiento definido con base en lo planeado.
1. Estimar el tamaño de cada modulo o artefacto a desarrollar
2.Identificar el tiempo de desarrollo de cada tarea.
3.Asignar tareas a los miembros del equipo.
4.Hacer una planificación semanal.
5.Hacer un plan de calidad.
Use el PSP para implementar módulos.
Traslade el diseño al código.
Revise el código.
Compile y pruebe los módulos.
Analice la calidad de los módulos.
Produzca documentación de los usuarios.
Escribir un reporte del ciclo.
Produzca evaluación de las personas.
Responsabilidad.
Autorregulación emocional.
psp
Resultados
Rafael Salazar Chávez.
Director de la implementación TSP en
Mexico.
Full transcript