IST1_Investigación TSP vs AGIL

10
  Administración de Tecnologías de Información INGENIERIA DE SOFTWARE INVESTIGACIÓN TSP vs AGIL- MalespinKenneth.pdf Creación Autor Kenneth Malespín Lopez País Nicaragua Fecha 23/04/2012 Revisiones Versión Descripción del cambio Autor Fecha efectuado Documentos de Referencia Numero de documento Título del documento

Transcript of IST1_Investigación TSP vs AGIL

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdfCreacin Autor Pas Fecha Kenneth Malespn Lopez Nicaragua 23/04/2012

Revisiones Versin Descripcin del cambio Autor Fecha efectuado

Numero de documento

Documentos de Referencia Ttulo del documento

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdf

Contenido 1. 2. Objetivos ................................................................................................................................. 3 Respuestas ............................................................................................................................. 3 2.1 Qu es TSP (Team Software Process) y qu es Agile (Revisar SCRUM, XP, IXP)?....... 3 2.2 Para ambos modelos explica ........................................................................................... 5 2.2.1 Cules son sus objetivos? ......................................................................................... 5 2.2.2 Cules son sus principales caractersticas? ............................................................... 5 2.2.3 Cmo se maneja la volatilidad de los requerimientos y los cambios? ......................... 6 2.2.4 Si los requerimientos se expresan informalmente cmo darse cuenta de las inconsistencias, omisiones, errores? .................................................................................................................... 6 2.2.5 Si no hay un diseo formal Cmo garantizar la construccin adecuada de sistemas complejos? 7 2.2.6 Funciona para desarrollos grandes? justifica la respuesta.......................................... 8 2.2.7 Qu ventajas y desventajas tiene cada uno? ............................................................. 9 2.3 Cul es su opinin con relacin a los beneficios y aplicabilidad del desarrollo gil VS los procesos ms convencionales o viceversa? ............................................................................................. 10

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdf1. Objetivos

Investigar lo siguiente: Qu es TSP (Team Software Process) y qu es Agile (Revisar SCRUM, XP, IXP)? Para ambos modelos explica o Cules son sus objetivos? o Cules son sus principales caractersticas? o Cmo se maneja la volatilidad de los requerimientos y los cambios? o Si los requerimientos se expresan informalmente cmo darse cuenta de las inconsistencias, omisiones, errores? o Si no hay un diseo formal Cmo garantizar la construccin adecuada de sistemas complejos? o Funciona para desarrollos grandes? justifica la respuesta o Qu ventajas y desventajas tiene cada uno? Cul es su opinin con relacin a los beneficios y aplicabilidad del desarrollo gil VS los procesos ms convencionales o viceversa?

2.

Respuestas

2.1 TSP:

Qu es TSP (Team Software Process) y qu es Agile (Revisar SCRUM, XP, IXP)?

Team Software Process (TSP) sirve de gua para los equipos de ingeniera de software que estn en desarrollos de productos intensivamente. La utilizacin de TSP ayuda a las organizaciones establecer una prctica de ingeniera madura y disciplinada, ayuda a producir software seguro y fiable en menos tiempo y a menor costo. En combinacin con Personal Software Process (PSP), el Team Software Process (TSP) proporciona un marco definido para el proceso operacional el cual est diseado para ayudar a equipos de gerentes e ingenieros a la organizacin de proyectos y a la produccin de productos de software que varan en tamao, desde los tamaos ms all de los pequeos proyectos de varios miles de lneas de cdigo(KLOC) a proyectos de gran envergadura de ms de medio milln de lneas de cdigo.

AGILE: El desarrollo gil de software es un marco de trabajo conceptual de la ingeniera de software que promueve iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto. Existen muchos mtodos de desarrollo gil; la mayora minimiza riesgos desarrollando software en cortos lapsos de tiempo. El software desarrollado en una unidad de tiempo es llamado una iteracin, la cual debe durar de una a cuatro semanas. Cada iteracin del ciclo de vida incluye: planificacin, anlisis de requerimientos, diseo, codificacin, revisin y documentacin. Una iteracin no debe agregar demasiada funcionalidad para justificar el lanzamiento del producto al mercado, pero la meta es tener una demo (sin errores) al final de cada iteracin. Al final de cada iteracin el equipo vuelve a evaluar las prioridades del proyecto.

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdfSCRUM Scrum es un marco de trabajo para la gestin y desarrollo de software basada en un proceso iterativo e incremental utilizado comnmente en entornos basados en el desarrollo gil de software. Aunque Scrum estaba enfocado a la gestin de procesos de desarrollo de software, puede ser utilizado en equipos de mantenimiento de software, o en una aproximacin de gestin de programas: Scrum de Scrums.

XP: La programacin extrema o eXtreme Programming (XP) es un enfoque de la ingeniera de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el ms destacado de los procesos giles de desarrollo de software. Al igual que stos, la programacin extrema se diferencia de las metodologas tradicionales principalmente en que pone ms nfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximacin mejor y ms realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos despus en controlar los cambios en los requisitos. Se puede considerar la programacin extrema como la adopcin de las mejores metodologas de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinmica durante el ciclo de vida del software.

IXP: Es una variante de XP adaptada para ser usada en grandes organizaciones, IXP (Programacin extrema Industrial).

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdf2.2 Para ambos modelos explica 2.2.1 TSP: El TSP tiene por objeto mejorar los niveles de calidad y la productividad del proyecto de un equipo de desarrollo de software, con el fin de ayudarles a cumplir con los compromisos de costos y el calendario de desarrollo de un sistema de software. AGIL: La gestin gil de proyectos tiene como objetivos dar garantas a las cuatro demandas principales de la industria en la que se ha generado: Valor, reduccin del tiempo de desarrollo, agilidad y fiabilidad. 2.2.2 TSP: El software suele estar desarrollado en equipo Team Software Process (TSP) es un mtodo de establecimiento y mejora del trabajo en equipo para procesos software. TSP proporciona directrices para ayudar a un equipo a establecer sus objetivos, a planificar sus procesos y a revisar su trabajo con el fin de que la organizacin pueda establecer prcticas de ingeniera avanzadas y as obtener productos eficientes, fiables y de calidad. Est formado por dos componentes primarios que abarcan distintos aspectos del trabajo en equipo: Formacin del equipo de trabajo Gestin del equipo de trabajo AGIL: Los mtodos giles enfatizan las comunicaciones cara a cara en vez de la documentacin. La mayora de los equipos giles estn localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento" (bullpen en ingls). La oficina debe incluir revisores, escritores de documentacin y ayuda, diseadores de iteracin y directores de proyecto. Los mtodos giles tambin enfatizan que el software funcional es la primera medida del progreso. Combinado con la preferencia por las comunicaciones cara a cara, generalmente los mtodos giles son criticados y tratados como "indisciplinados" por la falta de documentacin tcnica. Cules son sus principales caractersticas? Cules son sus objetivos?

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdf2.2.3 Cmo se maneja la volatilidad de los requerimientos y los cambios?

TSP: En el caso de TSP, este presenta un marco terico bien establecido donde se estructura formalmente el trabajo individual y el trabajo en equipos, con fases bien definidas de revisin y optiizacin. AGIL: Por su lado la programacin basada en Agil es criticada por la falta de documentacin, por lo que la volatibilidad de los requerimientos y los cambios se manejan a travs de comunicacin constante entre los miembros del equipo.2.2.4 Si los requerimientos se expresan informalmente cmo darse cuenta de las inconsistencias, omisiones, errores?

TSP: En el caso de TSP, a como se ha mencionado, posee procesos bien definidos, en los cuales se proponen las revisiones para asegurar la calidad de los resultados. AGIL: En el caso de Agil el feedback constante y presente en varios niveles permite el desarrollo incremental y el crecimiento adaptativo de la programacin, as tambin como una mejora constante en la forma de trabajo de los equipos, lo que permite detectar problemas y resolverlos antes de que desaten crisis que afecten la calidad o el tiempo y costo del desarrollo. Los principales tipos de feedback ocurren a nivel producto, procesos y cdigo. Adicionalmente, los usuarios o clientes reciben peridicamente prototipos o versiones en funcionamiento del producto a medida que se va construyendo, lo cual les permite evaluar el trabajo realizado, advertir sobre problemas que se detecten, y sugerir mejoras o funcionalidad valiosa que no se haba considerado originalmente (ya sea por olvido, o porque la nueva funcionalidad se inspira en la experiencia de evaluar el producto mientras se est construyendo)

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdf2.2.5 Si no hay un diseo formal Cmo garantizar la construccin adecuada de sistemas complejos?

TSP: Para TSP siempre se levantan los requerimientos y se procede con el diseo formal. Las fases estn bien definidas:

Fases del Ciclo TSP.1. Lanzamiento. 2. Estrategia 3. Plan 4. Requisitos 5. Diseo 6. Implementacin 7. Pruebas 8. Postmortem AGIL: Para Agil,las entregas iterativas para ir viendo resultados, es crucial en el desarrollo de SW. Las mejoras obtenidas por usar Desarrollo gil dependen de la situacin. Por ejemplo, Scrum no define prcticas tcnicas (cmo hacer las cosas), en cambio los beneficios obtenidos surgen de brindar visibilidad, lo que facilita encontrar las reas de mejora, y un marco de trabajo de mejora continua, en el que se priorizan las mejoras segn la necesidad del negocio. Pero hay algunas mejoras que tpicamente se obtienen con Desarrollo gil:

Desarrollo guiado por valor Mejor manejo de riesgos e incertidumbre Mejora de productividad

Fases del Ciclo AGIL1. Concepto 2. Especulacin 3. Exploracin 4. Revisin 5. Cierre.

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdf2.2.6 Funciona para desarrollos grandes? justifica la respuesta

Ambos funcionan para desarrollos grandes, TSP asegura los procesos, mientras que Agil maneja muy bien los riesgos, incertidumbre y la productividad. El desarrollo gil surgi en empresas de productos tecnolgicos; fu identificado por Nonaka y Takeuchi en los aos 80 y a partir de los 90 diferentes profesionales del desarrollo del software incorporaron sus principios en sus entornos de trabajo. De esasimplementaciones giles, las que abordan la gestin del proyecto son: ASD, AUP, Crystal, DSDM, Scrum

Ambos mtodos han sido probados y hay casos prcticos donde la productividad se ha incrementado significativamente. CASO DE TSP: Resultados de una aplicacin practica, Hill Air Base Force, UtahEl miedo fue a los altos costos por la planeacion excesiva, entrevistas personales, levantamiento de informacion pero esto mismo (TSP) reduce las mejoras al plan y el tiempo de pruebas al grado de sostener que "la calidad es gratis". Quizs el cambio mas grande fue la relacion administracion e ingenieros, mejory asi sera siempre que la administracin crea que los ingenieros trabajan efectivamente. Adems de la confianza entre administracin e ingenieros, deben seguirse metodos confiables y apropiados, reportando constantemente a administracin.Administracin deber entender que los ingenieros saben mas del software y que se ocuparan solamente de que el equipo de software siga el mtodo disciplinadamente. Numeros: Productividad aumento un 123%; Tiempo de prueba redujo de 22% a 2.7%

CASO DE AGIL: Aplicabilidad del Desarrollo gilUna duda que surge cuando se evala utilizar Scrum es si aplica en el contexto particular del interesado. Con las consideraciones indicadas arriba sobre contextos ms o menos favorables para la implementacin de Scrum, se puede afirmar que Scrum ha sido aplicado con xito tanto en empresas o equipos pequeos (con dos ejemplos comentados ms abajo) como en equipos medianos (Primavera) y grandes (SAP, Google, Yahoo!). Con respecto a los tipos de aplicaciones, ha sido aplicado en equipos mdicos con riesgo de vida que requieren aprobacin de FDA (Rayos X, MRI), como en manejo de pagos electrnicos, sistemas de alta disponibilidad, de alto volumen, etc. Aunque lo ms recomendado es que los equipos trabajen en un nico lugar fsico, Scrum ha sido usado por equipos distribuidos y con subcontrataciones.

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdf2.2.7 Qu ventajas y desventajas tiene cada uno?

TSP:Ventajas: Entre las ventajas a destacar de este modelo podemos mencionar la mejora la

productividad de las personas, mejora en los hbitos de programacin, se puede lograr una deteccin temprana de defectos y riesgos lo que deriva en una disminucin de los defectos, una mejora en la calidad, y por lo tanto, una reduccin en el ciclo de vida. Se trabaja con un plan con una base de estimacin mas certera al ser realizada por el equipo; se logra una buena comunicacin entre los integrantes.Desventajas: Las desventajas de este modelo es que es necesario que cada uno de los miembros tiene que tener el compromiso y la disciplina de seguir el plan. Debe de llenar toda la documentacin requerida que incluye sus registros, planificacin, las plantillas o formularios. Se debe de contar con un buen conjunto de mtricas y parmetros de calidad, lo cual, para algunas organizaciones, puede ser difcil de definir. Cada miembro debe de estar entrenado en el PSP, si algn miembro se va, es necesario entrenar a los nuevos miembros. Algo que puede resultar una desventaja importante es que la Gerencia debe de dejar trabajar a los equipos de trabajo auto dirigidos de acuerdo a sus planes, algo que no muchos resisten.

AGIL:Ventajas: Entre las ventajas a destacar tenemos:

Proximidad del cliente Capacidad de respuesta a cambios de requisitos del cliente Integracin continua Versionado rpido Calidad del producto obtenido Satisfaccin del cliente Mejora Continua Dinmica del grupo, aplana la jerarqua organizacional. Pruebas durante todo el desarrollo Facilita el cambio Simplifica la integracin Evita escribir cdigo innecesario

Desventajas: Las desventajas de este modelo son:

Proximidad del cliente Falta de cualificacin Dependencia del equipo Ausencia de documentacin rigurosa para posterior mantenimiento Dificultad de aplicacin en equipos distribuidos Dificultad para realizar ms de un proyecto en paralelo. Soporte para la gestion de test fundamental. Importancia del perfil de la persona dedicada a pruebas. La figura del tester histricamente ha sido vista como de un nivel inferior a desarrolladores, arquitectos

Administracin de Tecnologas de InformacinINGENIERIA DE SOFTWAREINVESTIGACIN TSP vs AGIL- MalespinKenneth.pdf2.3 Cul es su opinin con relacin a los beneficios y aplicabilidad del desarrollo gil VS los procesos ms convencionales o viceversa?

Ambos modelos presentan caractersticas interesantes, personalmente considero que tanto TSP como AGIL presentan una relacin de beneficios y aplicabilidad de acuerdo a las caractersticas de trabajo del equipo. A como se ha mencionado ambas metodologas se han usado y practicado, de hecho la pregunta importante ac es cuando usar una o la otra, considero que depender de las caractersticas del proyecto: Hay tiempo de documentar, levantar requerimientos puntuales y llevar un proceso de proyecto con una lnea en el tiempo considerable, la opcin sera TSP indiscutiblemente. Tenemos prisa por ver resultados, se quiere ir introduciendo funcionalidades conforme se vayan viendo avances? Agil es una buena opcin junto con sus metodologas.