Tsp
Upcoming SlideShare
Loading in...5
×
 

Tsp

on

  • 3,281 views

explicacion de la metodologia tsp

explicacion de la metodologia tsp

Statistics

Views

Total Views
3,281
Views on SlideShare
3,236
Embed Views
45

Actions

Likes
2
Downloads
135
Comments
0

3 Embeds 45

http://bauldocente.jimdo.com 36
http://edspucesi.blogspot.com 6
http://www37.jimdo.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tsp Tsp Presentation Transcript

    • Team Software Process IntroductionTSPiSM Watts Humphrey
    • Introducción TSP fue creado en 1999 por Watts Humphrey con el fin de proporcionarle a los estudiantes de ingeniería de software una visión total del ciclo de vida del software.
    • Por qué los equipos de ingenieros necesitan un proceso? Los equipos de trabajo que se conforman en la industria se enfrentan a tres problemas muy comunes:  Se enfrentan retos demasiado difíciles de cumplir (cronogramas imposibles)  El equipo se enfoca en el producto más no en el proceso.  Uno o más miembros del equipo son obstáculos para el proyecto.
    • Por qué los equipos de ingenieros necesitan un proceso? (2) Dar a un grupo de ingenieros un proyecto no significa necesariamente que son un equipo. Construir un equipo no es una tarea obvia Nuevos equipos gastan una cantidad de tiempo substancial en problemas de manejo del equipo  Cómo repartirse el trabajo?  Cómo coordinar las tareas?  Cómo asignar responsabilidades?  Cómo medir progreso?  ...
    • ¿Qué es TSP? Framework que hace un balanceado énfasis entre procesos, productos y trabajo en equipo Presenta los conceptos para la conformación eficiente de equipos de trabajo. Define un proceso de construcción de proyectos de mediana escala con un grupo de trabajo y capitaliza la experiencia en planeación y control de proyectos
    • ¿Qué es TSP? El proceso puede ser adaptado para los diferentes grupos de trabajo. PRODUCTO PROCESO EQUIPO
    • Marco de implantación de TSP TSP • Aprendizaje acerca del equipo • Definición del proceso del equipo • Dedicación a la calidad TSPi • Definición de roles • Equilibrio de cargas • Motivación del equipo PSP • Definición para cada individuo • Planeación y estimación • Métodos de calidad PSPi • Uso de métricas • Recolección de datos
    • Qué se necesita para iniciarse en TSP? Miembros del grupo entrenados en PSP. Conocimiento previo en diseño de software y manejo de requerimientos. Conocimiento en administración de la configuración, manejo de proyectos y pruebas de software.
    • Principios fundamentales de TSP1. Se aprende del proceso más rápidamente cuando está definido y se puede obtener retroalimentación inmediata.2. El trabajo productivo de los equipos requiere el cumplimiento de metas, un adecuado ambiente de trabajo con el liderazgo adecuado.
    • Principios fundamentales de TSP3. Definir métodos desde el inicio para evitar la construcción de prácticas, métodos y roles en medio del proceso4. El entrenamiento de un equipo de trabajo es más efectivo si se basa en conocimientos previos.
    • Diseño del proceso para el equipo de trabajo PSP Disciplina Medición deDesarrollo calidad ycíclico desempeño TSPMedidas Evaluación deprecisas equipo y rolesGuías para solucionar problemas en el equipo
    • Ciclo de desarrollo en TSP
    • Por qué Fallan los Proyectos de Software?“Cuando un proyecto de software falla, se debe principalmente a problemas de trabajo en equipo y no a problemas técnicos” [De Marco] Principalmente, problemas para manejar la presión generada por un cronograma imposible de cumplir Típicamente,se responde a esta presión, tomando atajos, saltando etapas, apostandole a nuevas herramientas, ...
    • Por qué Fallan los Proyectos de Software? (2) Liderazgo inefectivo Falta de compromiso o de cooperación Falta de participación Procrastinación Problemas de Calidad Aumentar la funcionalidad
    • Qué es un equipo? Al menos dos personas trabajando por una meta común Cada uno tiene un rol específico asignado Llevar a cabo una tarea tiene alguna clase de dependencia con otros miembros del grupo.
    • Cómo se construyen los equipos efectivos? Cohesión  Es un grupo de gente tan fuertemente unida que el conjunto de personas es mucho más que la suma de cada uno de los individuos [Peopleware] Metas retadoras  Específicas y medibles  Representan un reto significativo
    • Cómo se construyen los equipos efectivos? Retroalimentación  Medir el progreso  Distinguir el desempeño personal del equipo como un todo Ambiente de trabajo común  Las tareas de cada uno de los miembros son claras y distintas.  Cada miembro del equipo está claramente identificado.  El equipo tiene el control sobre cada una de las tareas.
    • Construyendo un equipo efectivo • Cohesión Equipo • Metas retadoras eficiente • Retroalimentación • Camino claro para la obtención del objetivo TSP • Manejo de metas • Planes y estrategias Equipo • Definición de roles ideal • Comunicación externa e interna
    • Cómo TSPi construye equipos Metas  Definir y aceptar un conjunto de metas comunes  Definición participativa  Metas por roles Roles  Definir responsabilidades entre todos los miembros del equipo
    • Cómo TSPi construye equipos Planes  Definir una estrategia para lograr las metas  Descomponer el trabajo total en partes (ciclos de desarrollo)  Replanear de acuerdo con los resultados y la experiencia ganada Comunicación  Conocer el estado del trabajo de cada uno y de todo el equipo  Seguimiento definido con base en lo planeado Comunicación externa
    • TSPi SM Plan de Desarrollo
    • Necesidad de hacer planes La complejidad de un plan depende de la complejidad del trabajo que se pretende realizar Realizar un plan demanda tiempo y un esfuerzo considerable !!!
    • Necesidad de hacer planes (2) Justificación:  Realizar el trabajo más eficientemente  Se sabrá qué hacer y cuándo hacerlo  Organización de TODAS las tareas que deben hacerse  Se establecen compromisos más realistas  Se facilita el cumplimiento de las metas  Se puede hacer seguimiento del trabajo contra el plan y aprender !!!!  Tareas“sorpresa”  Mejorar la estimación
    • Aspectos Esenciales Planes balanceados Seguimiento del progreso del proyecto a través del plan Planeación detallada Tener en cuenta la posibilidad de tareas no planeadas Producir un plan en formatos conocidos, fácilmente manejables por el grupo
    • Proceso de Planeación
    • Proceso de Planeación (2) Paso 1: Producir el diseño conceptual  Este diseño será utilizado en el proceso de planeación Paso 2: Desarrollar la estrategia  Estimación del tamaño de las partes del diseño conceptual  Decisión orden de desarrollo en los ciclos  Registro de la estrategia
    • Proceso de Planeación (3) Paso 3: Registro en la forma de tamaños (SUMS)  Esta forma resume la información de estimación de tamaños para el producto Paso 4: Producir el plan del equipo (TASK, SCHEDULE)  Listar las tareas requeridas para construir los productos identificados en le paso 3  Con base en los entregables  Estimar el tiempo de cada tarea y completar la forma de tareas (TASK)  Estimar cuánto tiempo el equipo gastará cada semana en el proyecto e ingresar esta información en la forma del cronograma (SCHEDULE)  Usar la herramienta para completar la información
    • Proceso de Planeación (4) Paso 5: Hacer el plan de calidad (SUMQ)  Usar la herramienta para registrar la información Paso 6: Cada Ingeniero hace su plan personal  Producir el plan personal en las formas TASK y SCHEDULE Paso 7: Producir los planes individuales  Utilizar la herramienta para esta tarea
    • Proceso de Planeación (5) Paso 8: Balancear el plan  De acuerdo al plan global y a las tareas individuales  Buscar que no haya dependencias fuertes en el tiempo entre las tareas  Maximizar el paralelismo Paso 9: Producir los planes finales  Utilizar la herramienta para actualizar los planes individuales y del grupo
    • Herramienta de soporte Contiene todas las formas para hacer la planeación y el seguimiento del proyecto
    • Proceso de planeación Criterio de entrada  La estrategia de desarrollo se realizó  El modelo conceptual se elaboró
    • Proceso de planeación (2) Listar los productos que serán producidos en el ciclo y estimar su tamaño  Código LOC  Documentos Páginas  Diferenciar de acuerdo a la dificultad del documento Registrar los productos y sus tamaños correspondientes al ciclo de desarrollo (Forma)  SUMS o una propia
    • Proceso de planeación (3) Producir la lista de tareas  De acuerdo a los entregables generar las tareas que hay que realizar para producirlos  Siempre tener en cuenta un item de aspectos varios (misceláneos)  Tener en cuenta tareas específicas del rol Producir los estimados de tarea del equipo e individuales  Asignar las tareas a los miembros del equipo  El tiempo debe ser balanceado
    • Proceso de planeación (4) Indicar las horas que se trabajarán por semana en el equipo de desarrollo Producir las formas donde se documentan las tareas a realizar por el equipo
    • Proceso de planeación (5) Producir el plan de calidad  Estimar los defectos por KLOC que se prevé ingresar en cada fase  Estimar el Yield del equipo para cada fase  Estimar la tasa de defectos que comparan las tareas de inspecciones con fases  Diseño de bajo nivel / pruebas unitarias  Revisión de código /Errores de compilación  Estimar las proporciones de tiempo entre fases
    • Proceso de planeación (6) Producir el plan de calidad  Estimar las tasas de desempeño de inspecciones y revisiones  Páginas de requerimientos por hora  Páginas Diseño de alto nivel por hora  ...  Estimar la proporción de inyección de errores por fase  Estimar la proporción de remoción de errores por fase
    • Proceso de planeación (7) Producir el plan de calidad  Estimar los yield por fase  Estimar los yield del proceso  Antes de compilación  Antes de pruebas unitarias  Antes de pruebas de integración  Antes de pruebas de sistema
    • Proceso de planeación (8) Balancear la carga de trabajo del equipo  El número de horas por semana del equipo debe estar balanceada entre las diferentes semanas Producir y distribuir los planes
    • Proceso de planeación (9) Criterios de salida  Los planes individuales y de equipo fueron completados  La distribución de carga del equipo por semana se encuentra balanceada  La distribución de carga individual se encuentra balanceada  Se tiene el documento con la estimación de los tiempos de los entregables  Se produjo el plan de calidad
    • Seguimiento de la planeación A partir de la planeación se debe seguir las tareas e indicar el tiempo gastado efectivamente en ellas La idea es saber:  Cuáles tareas se han realizado  Cuáles se encuentran retrasadas  Qué se ha hecho adicional (Tareas misceláneas)
    • Seguimiento de la planeación (2) El objetivo es:  Evaluar objetivamente mi avance en el proyecto  Comparar mi planeación contra mis resultados reales  Mejorar mis estimaciones para el próximo ciclo  Agregar/modificar/quitar actividades  Simplemente !MEJORAR EL SIGUIENTE PLAN!
    • Seguimiento de la planeación (3) Tareas  Registrar el tiempo utilizado para cada tarea  Bitácora de tiempo  Indicar las tareas que se han terminado y completarlas en el formato  Generar la información de tareas y agenda reales  Ingresar los errores en la bitácora de errores  Indicar el tamaño por entregable
    • Seguimiento de la planeación (4) Tareas  Actualizar la forma de planeación global  Generar la forma del plan de calidad  Producir el estatus de avance consolidado del equipo
    • Trabajo en Equipo y Roles
    • Ser responsable Cuando estamos enfrentados a un problema, generalmente tenemos tres opciones  Ser emotivos, gritar, blasfemar, ..  Ignorar el problema y esperar que otro lo resuelva  Aceptar el reto y buscar como podemos constructivamente hacer algo para resolverlo Ser responsable significa escoger la 3 opción
    • Esforzarse por alcanzar metas definidas Metas proveen un objetivo y un foco Permite que se definan prioridades y que se ignoren los detalles no importantes
    • Vivir bajo principios sólidos La opinión de sí mismo La opinión sobre los otros Su compromiso con la excelencia
    • Vivir bajo principios sólidos (2) La opinión de sí mismo  Quién es usted?  Tiene confianza y respeto por sí mismo?  Acepta sus talentos y habilidades?  Conoce sus debilidades y defectos?
    • Vivir bajo principios sólidos (3) La opinión sobre los otros  El respeto por los otros es crítico  La clave es esforzarse por el entendimiento y el soporte mutuo
    • Vivir bajo principios sólidos (4) Su compromiso con la excelencia  Convicción, perseverancia, y un alto grado de compromiso personal  La clave para hacer un trabajo de software excelente es conocer y aplicar consistentemente métodos efectivos: trabajo profesional
    • Comunicación Visibilidad  Todos conocen los planes, el trabajo y compromisos de los otros ... Escuchar  Ignorar, pretender escuchar, escuchar selectivamente, escuchar atentamente, escuchar con la intensión de entender Negociar  Evitar la polarización de las opiniones
    • Hacer y cumplir compromisos Compromisos responsables deben estar basados en un plan para realizar el trabajo Los compromisos deben ser libremente asumidos Los compromisos son públicos
    • Participación Discutir las opiniones, preguntar, debatir, escuchar Aceptar ayuda: ser auto suficiente es importante en algunas situaciones pero tratar de ser auto suficiente en una crisis puede ser muy peligroso
    • Aceptar y realizar un rol Por qué definir roles?  La mayoría de los proyectos incluyen actividades distintas a las de desarrollo. Si nadie se responsabiliza por estas tareas ellas no se harán !  Distribuir responsabilidades
    • Establecer y esforzarse por alcanzar las metas del equipo Alcanzar acuerdo sobre las metas Planear el trabajo de acuerdo con las metas Obtener compromiso con las metas y el plan
    • Roles Líder Líder de Desarrollo Líder de Planeación Líder de Calidad Líder de Soporte
    • Líder Objetivo Global  El líder conduce el grupo y se asegura de que todos los integrantes reportan sus datos del proceso y terminan su trabajo como se planeó.
    • Características del Líder1. Ud. disfruta siendo líder y es un rol que puede asumir de manera natural2. Ud. Es capaz de identificar los problemas claves y tomar objetivamente decisiones3. Ud. No se preocupa demasiado por hacer acciones poco populares, de vez en cuando, para presionar a la gente a realizar sus tareas4. Ud. Respeta sus compañeros, está dispuesto a escuchar sus puntos de vista y a ayudarlos
    • Metas del Líder del Proyecto M1: Construir y mantener un equipo efectivo M2: Motivar los miembros del equipo para que trabajen de manera entusiasta y dedicada en el proyecto M3: Resolver los conflictos del grupo M4: Mantener informado al instructor sobre el progreso en el proyecto M5: Ser un facilitador efectivo en las reuniones de grupo del proyecto
    • Actividades principales1. Motivar a los miembros del grupo para que realicen sus tareas2. Cada semana, antes de la primera clase de la semana, llevan a cabo la reunión semanal del equipo para:  Hacer seguimiento a las tareas que debían realizarse  Verificar que todos suministraron su datos del proceso  Verificar que todas las formas requeridas han sido completadas  Identificar las tareas para la semana y sus responsables
    • Actividades principales (2)3. Cada semana, reportar el estado del proyecto al instructor:  Mostrar el sitio del proyecto con los datos del grupo  Buscar guía en el instructor sobre problemas con integrantes que sistemáticamente no cumplen con sus tareas y compromisos  Obtener guía del instructor para compartirla con el equipo4. Ayudar al equipo en la asignación de sus tareas y en la solución de problemas
    • Actividades principales (3)5. Actuar como facilitador y de “cronómetro”en las reuniones del grupo6. Mantener el sitio del proyecto7. Liderar el grupo en la producción del reporte final del proyecto8. Actuar como ingeniero de desarrollo
    • Líder de Desarrollo Objetivo Global  Liderar y guiar el grupo en la definición, diseño, desarrollo y pruebas del producto
    • Características1. Ud. disfruta construyendo cosas2. Ud. Desea ser un ingeniero de software y quiere ganar experiencia en liderar un desarrollo3. Ud. Es un diseñador competente y siente que podría conducir un desarrollo4. Ud. Está familiarizado con métodos de diseño5. Ud. Está dispuesto a escuchar las ideas de diseño de los otros y puede, objetiva y lógicamente, comparar las cualidades de sus ideas contra las suyas
    • Metas del Líder de Desarrollo M1: Producir un producto de calidad superior M2: Usar totalmente las capacidades y habilidades de los miembros del grupo
    • Actividades principales1. Conducir la construcción de la estrategia de desarrollo2. Conducir la producción del primer estimado de tamaño y tiempo3. Conducir el desarrollo de la especificación de requerimientos4. Conducir la producción del diseño de alto nivel5. Conducir la producción de las especificaciones de diseño6. Conducir la implementación de producto
    • Actividades principales (2)7. Conducir el desarrollo de los planes de pruebas8. Conducir el desarrollo de los casos de pruebas y del proceso de pruebas9. Conducir el desarrollo de la documentación del producto10. Liderar el grupo en la producción del reporte final del proyecto11. Actuar como un ingeniero de desarrollo
    • Líder de Planeación Objetivo Global  Dar soporte y guía al grupo en la tareas de planeación y seguimiento del proyecto
    • Características1. Ud. tiene una mente lógica y se siente muy cómodo cuando sigue un plan para hacer su trabajo2. Aunque Ud. no siempre logra producir un plan, Ud. tiende a planear su trabajo cuando tiene la oportunidad3. Ud. está interesado en procesar información4. Ud. está dispuesto a presionar a la gente para que haga seguimiento y mida su trabajo
    • Metas M1: Producir un plan completo, preciso y exacto del plan del equipo y de cada uno de sus miembros M2: Reportar con exactitud el estado del proyecto cada semana
    • Actividades principales1. Conducir el grupo en la producción del plan de las tareas a realizar en el próximo ciclo  Definir los productos que deberán producirse y sus estimatido de tamaño  Especificar las tareas y las horas por cada una  Documentar las tareas en el formato de Tareas2. Conducir el grupo en la producción del cronograma para el próximo ciclo  Determinar las horas semanales que cada ingeniero gastará en el proyecto  Completar el formato del cronograma individual y del grupo
    • Actividades principales (2)3. Conducir el grupo en la producción de un plan balanceado  Obtener planes de cada uno de los ingenieros  Identificar posibles desbalances en los planes  Conducir el grupo para ajustar los desbalances  Generar el plan consolidado  Obtener planes personales detallados de cada ingeniero
    • Actividades principales (3)4. Hacer seguimiento del trabajo utilizando el plan  Obtener la información semanal de cada uno  Producir el reporte semanal del proyecto con respecto al valor ganado y al tiempo  Generar el reporte de estado semanal  Producir un reporte semanal de análisis del desempeño real contra lo planeado  Producir un reporte individual y de grupo para el instructor
    • Actividades principales (4)5. Liderar el grupo en la producción del reporte final del proyecto6. Actuar como un ingeniero de desarrollo
    • Líder del Proceso y la Calidad Objetivo Global  Dar soporte en definir las necesidades del proceso, en hacer el plan de calidad y en hacer seguimiento al proceso y a la calidad del producto
    • Características1. Ud. tiene una alta preocupación por la calidad del producto2. Ud. está interesado en las mediciones acerca del proceso y del producto3. Ud. tiene alguna experiencia con las técnicas de inspecciones4. Ud. está dispuesto y es capaz de revisar el trabajo de los otros y hacer comentarios sin antagonizar con ellos
    • Metas del Líder de Calidad M1: Todos los miembros del equipo reportan adecuada y exactamente la información del proceso M2: El equipo sigue fielmente el proceso y obtiene un producto de calidad M3: Todas las inspecciones del equipo son adecuadamente moderadas y reportadas M4: Todas las reuniones del equipo son adecuadamente reportadas y los reportes son guardas en el sitio del proyecto
    • Actividades principales1. Conducir el grupo en la producción y en el seguimiento del plan de de calidad2. Alertar el grupo, el líder y el instructor en caso de problemas de calidad3. Conducir el grupo en la documentación de sus procesos y en mantener un enfoque de mejoramiento continuo4. Establecer y mantener los estándares del desarrollo del proyecto5. Revisar y aprobar todos los productos antes de someterlo al control de versiones
    • Actividades principales (2)6. Actuar como moderador en las reuniones de inspección7. Actuar como secretario en las reuniones de grupo8. Participar en la producción del reporte final del proyecto9. Actuar como un ingeniero de desarrollo
    • Líder de Soporte Objetivo Global  Dar soporte al grupo en la determinación, obtención y administración de las herramientas necesarias para desarrollar el producto
    • Características1. Ud. está muy interesado en las herramientas y los métodos2. Ud. es un “cacharrero” competente y siente que puede ayudar a los del grupo3. Ud. tiene experiencia con herramientas y sistemas4. Ud. está familiarizado con las herramientas que serán usadas en este proyecto
    • Metas M1: El grupo tiene las herramientas y los métodos adecuados para realizar su trabajo M2: Ningún cambio no autorizado es realizado sobre productos “congelados” M3: Los riesgos y los problemas son registrados en el sistema de rastreo de riesgos y reportados cada semana M4: El grupo define sus objetivos de reutilización para el ciclo de desarrollo
    • Actividades principales1. Conducir el grupo en la determinación de sus necesidades de herramientas y logística2. Administrar el proceso de control de configuraciones  revisar los cambios a los productos  evaluar el impacto y el beneficio de los cambios. Dirigir el comité de control de cambios  recomendar al grupo si los cambios deben hacerse
    • Actividades principales (2)3. Administrar el sistema de control de Configuraciones  Mantener un depósito con los productos controlados  Manejar las versiones de los productos  Mantener copia de los productos y sus versiones4. Mantener el glosario del sistema5. Mantener el sistema de rastreo de riesgos y problemas6. Velar por la estrategia de reutilización
    • Actividades principales (3)7. Participar en la producción del reporte final del proyecto8. Actuar como un ingeniero de desarrollo