Академический Документы
Профессиональный Документы
Культура Документы
Giovanni Guzmn
CONTENIDO
INTRODUCCIN .......................................................................................................................... 3 PSP (Personal Software Process) ............................................................................................. 4 PRINCIPIOS DEL PSP ............................................................................................................. 6 Objetivos del PSP................................................................................................................. 7 Ayuda que genera el uso de PSP ........................................................................................ 7 CICLO DE VIDA DEL PSP ....................................................................................................... 7 Planeacin ............................................................................................................................ 8 Diseo de Alto Nivel ............................................................................................................. 8 Revisin de Alto nivel ........................................................................................................... 9 Desarrollo ............................................................................................................................. 9 Anlisis de Resultados ......................................................................................................... 9 Estructura del PSP ................................................................................................................... 9 Evolucin del PSP .............................................................................................................. 10 Los 7 pasos de PSP ............................................................................................................... 10 PSP0: Punto de Partida ..................................................................................................... 11 PSP1: Planeacin Personal ............................................................................................... 11 PSP2: Calidad Personal ..................................................................................................... 12 PSP3: Proceso Personal Cclico ........................................................................................ 12 Beneficios de PSP .................................................................................................................. 13 Medicin ............................................................................................................................. 13 Mejores prcticas ............................................................................................................... 13 Team Software Process (TSP) ................................................................................................. 14 Entornos:................................................................................................................................. 15 Estructura de TSP: ................................................................................................................. 15 Objetivos del TSP ............................................................................................................... 16 Problemas comunes de Equipos........................................................................................ 16 Ciclo de Vida del TSP ............................................................................................................. 17 Lanzamiento ....................................................................................................................... 17 Estrategia ........................................................................................................................... 17 Planeamiento...................................................................................................................... 17 Requerimientos .................................................................................................................. 17 Diseo ................................................................................................................................ 18 Implementacin .................................................................................................................. 18 Pruebas .............................................................................................................................. 18 Despus de la Muerte ........................................................................................................ 18 Caractersticas fundamentales ........................................................................................... 18 Para garantizar las accionesTSP tiene .......................................................................... 18 Roles fundamentales .......................................................................................................... 19 CONCLUSIONES ....................................................................................................................... 20
INTRODUCCION En la actualidad la mayora de los aspectos de nuestra vida diaria se ven interconectados con los sistemas de Informacin especficamente con las aplicaciones de software, mejor conocidos por la gran mayora como programas de computadora, dichas aplicaciones nos ayudan en las tareas que se realizan todos los das en distintos sectores de la sociedad, como pueden ser negocios, servicios pblicos, educacin entre otros, es por esta razn que un fallo en dicho software provoca una infinidad de problemas o en el peor de los casos, grandes prdidas econmicas. Para evitar dichas contrariedades, en los ltimos aos se han realizado grandes esfuerzos para producirlas aplicaciones con mayor eficiencia, en menor tiempo de desarrollo y con mayor calidad, para cumplir estos objetivos es necesario aplicar un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin y mantenimiento de software, es decir la aplicacin de la Ingeniera en el software. El termino de ingeniera de Software (IS) aparece a principios de la dcada de los 60s, con la denominada crisis del software, a partir de dicha crisis la IS comenz a profesionalizarse para poder atacar adecuadamente los problemas asociados al desarrollo de las aplicaciones. Dentro de estos problemas podemos enumerar los siguientes: naturaleza intangible del software, dificultad para lograr proyectos en tiempo y costos, dificultad de conocer un dominio de problema especifico, falta de planeacin, falta de preparacin y uno de los mayores problemas: la dificultad de hacer software de calidad. A partir de la profesionalizacin del software se pens en resolver todos estos problemas mediante el uso de metodologas de programacin, herramientas CASE 1, lenguajes de modelado, disciplina y uso de procesos. Dentro de todos los procesos utilizados actualmente en del desarrollo de software podemos encontrarlos procesos de PSP (Personal Software Process) y TSP (Team Software Process), al ser procesos cuentan con pasos definidos para administrar y controlar el proceso de desarrollo de aplicaciones, iniciando desde el ambiente personal ,para poder llegar a la correcta formacin de un equipo disciplinado, hasta culminar en la correcta planeacin y administracin de proyectos de desarrollo de aplicaciones.
PSP
Personal Software Process
Buenas Prcticas Mayor Productividad
Es una metodologa, proveniente del Instituto de Ingeniera del Software (SEI). PSP es una alternativa dirigida a los ingenieros de sistemas, que les permite mejorar la forma en la que construyen software. Considerando aspectos como la planeacin, calidad, estimacin de costos y productividad, PSP es una metodologa que vale la pena revisar cuando el ingeniero de software est interesado en aumentar la calidad de los productos de software que desarrolla dentro de un contexto de trabajo individual.
Un PSP es un marco de trabajo de medicin y anlisis que te ayuda a caracterizar tu proceso, es tambin un procedimiento definido para ayudarte a mejorar tu rendimiento. PSP se concentra en las prcticas de trabajo de los ingenieros en una forma individual, se caracteriza porque es de uso personal y se aplica a programas pequeos de menos de 10.000 lneas de cdigo.
PSP se utiliza para producir software de calidad, donde cada ingeniero debe trabajar en la necesidad de realizar trabajo de calidad, se centra en la administracin del tiempo y en la administracin de la calidad a travs de la eliminacin temprana de defectos.
PSP busca proporcionar un marco de trabajo para el personal involucrado en el proceso de desarrollo de software, demuestra cmo manejar la calidad desde el principio del trabajo.
PSP demuestra cmo manejar la calidad desde el principio del trabajo y uno de los mayores problemas que tiene es la gran cantidad de datos que hay que tomar. PSP tiene obsesin por la toma de datos y elaboracin de tablas. PSP se orienta el conjunto de reas clave del proceso que debe manejar un desarrollador cuando trabaja de forma individual
PSP, es uno de los 3 vrtices donde descansa un proceso de mejora que trabaja sobre 3 niveles de la organizacin, los otros 2 son CMM y TSP
CMM se enfoca a nivel organizacional TSP se enfoca a un proceso de grupos de trabajo PSP se enfoca a nivel personal
PSP cubre 12 de los 18KPAs (reas claves de procesos del CMM) y materializa lo que han querido decir CMM, ISO 9000 y SQA (Software Quality Assurance).
Cada ingeniero es esencialmente diferente; para ser ms precisos, los ingenieros deben planear su trabajo y basar sus planes en sus propios datos personales. Para mejorar constantemente su funcionamiento, los ingenieros deben utilizar personalmente procesos bien definidos y medidos. Para desarrollar productos de calidad, los ingenieros deben sentirse personalmente comprometidos con la calidad de sus productos. Cuesta menos encontrar y arreglar errores en la etapa inicial del proyecto que encontrarlos en las etapas subsecuentes. Es ms eficiente prevenir defectos que encontrarlos y arreglarlos. La manera correcta de hacer las cosas es siempre la manera ms rpida y ms barata de hacer un trabajo.
Para hacer un trabajo de ingeniera de software de la manera correcta, los ingenieros deben planear de la mejor manera su trabajo antes de comenzarlo y deben utilizar un proceso bien definido para realizar de la mejor manera la planeacin del trabajo. Para que los desarrolladores lleguen a entender su funcionamiento de manera personal, deben medir el tiempo que pasan en cada proceso, los defectos que inyectan y remueven de cada proyecto y finalmente medir los diferentes tamaos de los productos que llegan a producir. Para producir constantemente productos de calidad, los ingenieros deben planear, medir y rastrear constantemente la calidad del producto y deben centrarse en la calidad desde el principio de un trabajo.
Finalmente, deben analizar los resultados de cada trabajo y utilizar estos resultados para mejorar sus procesos personales.
El tiempo ahorrado en el testeo en base a una mejor calidad ahorra entre un 20 a 40 % del desarrollo.
PSP tiene un marco de proceso de evolucin similar al que tiene CMM. PSP trata parcialmente 12 de las 18 KPAs definidas en el CMM. Las KPAs son las reas de procesos clave o Key Process Areas por su significado en ingls, estas reas ayudan a guiar a los programadores a que exista un mejoramiento Notable en el proceso de software.
En CMM un nivel de madurez slo se alcanza si se logran cumplir todas las KPAs que exige cada nivel. Sin embargo PSP solamente cubre de manera parcial estas KPAs debido a que es un complemento de CMM y no depende uno del otro en ningn sentido por lo que es considerado como material de apoyo.
Como se ha visto anteriormente el Instituto de la Ingeniera del Software (SEI) ha desarrollado el proceso personal del software para definir y reparar la holgura que existe entre el modelo de la madurez de la capacidad y el individuo. Por lo tanto es ideal utilizarlo junto con CMM pero no es obligatorio ya que es un proceso y no un modelo como lo es CMM.
Para desarrollar software de alta calidad, cada componente individual tambin debe de contar con la ms alta calidad posible. La estrategia total de PSP es cerciorarse de que todos los componentes individuales se desarrollen con la ms alta calidad. PSP logra esto proporcionando un marco de proceso personal ya definido que el programador puede utilizar. Este marco de trabajo es:
Planeacin Diseo de alto nivel Revisin del diseo de alto nivel Desarrollo Anlisis de Resultados
Planeacin
Esta actividad selecciona requisitos, con base en ellos desarrolla el tamao y la estimacin de los recursos. Estimacin de los defectos. Creacin de un programa del proyecto. La planificacin proporciona una slida base para comprometerse a unas fechas de entrega. Estimacin del tiempo necesario.
Desarrollo
Diseo a nivel de componentes se refina y revisa. Se genera, revisa, compila y prueba el cdigo. Mediciones para todas las tareas importantes y los resultados de trabajo. Puede medirse en LOC (lneas de cdigo). Esto exige tener una forma normalizada de contar LOC, o de codificar.
Anlisis de Resultados
Mediante las mediciones recolectadas se determina la efectividad del proceso. Las mediciones y medidas deben ofrecer una gua para modificar el proceso y as mejorar su efectividad.
Est construido en un formato simple de utilizar con instrucciones simples y precisas. Si bien los scripts describen qu hacer, en realidad se parecen ms a check list que a tutoriales.
Estos no incluyen los materiales instructivos que seran necesarios para usuarios no entrenados. El propsito de los scripts es el de guiar a los desarrolladores en el uso consistente de los procesos, los cuales ellos conocen (mediante la asistencia a cursos de capacitacin en PSP o a travs de bibliografa introductoria en el uso de PSP).
PSP 3
Proceso Personal Cclico
Desarrollo Cclico PSP 2 Calidad Personal Revisin del cdigo
PSP 0
Proceso
Medicin Personal
PSP0 - estableces una lnea base del rendimiento mensurable. PSP1 - haces planes de tamao, recursos y calendario. PSP2 - Prcticas gestin de defectos y rendimiento. PSP3 - Amplias los mtodos del PSP a proyecto mayores.
10
El paso inicial en PSP consiste en establecer una base que incluya mediciones y un formato de reportes. Esto permite medir el progreso y define los cimientos para mejorar. Esencialmente, PSP0 es el proceso habitual con el que los desarrolladores escriben software, mejorado para proveer mediciones.
Se pasa a PSP0.1 agregando un estndar de cdigo, mediciones de tamao y el denominado PIP (Process Improvement Proposal). El PIP provee una manera estructurada de registrar problemas, experiencias y sugerencias para mejorar. PSP0.1 tambin mejora las mediciones para contar separadamente mtodos y procedimientos.
Los desarrolladores son enseados a: Entender la relacin entre el tamao de los programas que escriben y el tiempo que les toma desarrollarlos. Aprender a realizar compromisos que puedan cumplir. Preparar un plan ordenado para realizar su trabajo Establecer una base para realizar un seguimiento de su trabajo.
11
Mientras que la importancia de estas tcnicas en proyectos grandes es comprendida, pocos desarrolladores las aplican a su trabajo personal. PSP demuestra el valor de estos mtodos en el nivel personal.
12
De esta manera los desarrolladores pueden concentrarse en la verificacin de la calidad del ltimo incremento sin preocuparse por defectos en ciclos anteriores. Si un incremento anterior tiene muchos defectos, la prueba ser ms compleja y los beneficios de escalar PSP se pierden. Esta es una razn para enfatizar revisiones de diseo y cdigo en los pasos anteriores de PSP.
Beneficios de PSP
Mejores prcticas Manejo de tareas, planeamiento detallado a nuestra medida Asignacin de tiempo al diseo (visin para comprender su importancia) Mtodos de estimacin de tamao Asignacin de tiempo para revisiones e inspecciones Seguimiento del tiempo Seguimiento de defectos y errores Anlisis de mtricas
Estndares de codificacin
13
TSP
TEAM SOFTWARE PROCESS
Buenas Prcticas Mayor Productividad
14
Es una metodologa para dirigir el trabajo de mejora y desarrollo de software adems de establecer un entorno donde el trabajo efectivo de equipo sea normal y natural. Es un conjunto de procesos estructurados que indican qu hacer en cada fase del desarrollo del proyecto y muestra cmo conectar cada fase para construir un producto completo. Persigue los siguientes objetivos:
Integrar equipos independientes de alto rendimiento que planeen y registren su trabajo, establezcan metas, y sean dueos de sus procesos y planes. Mostrar a los gerentes como monitorear y motivar a sus equipos de trabajo y como ayudarlos a alcanzar su mxima productividad. Acelerar la mejora continua de procesos. Proveer de una gua para el mejoramiento en organizaciones maduras.
Entornos:
Estructura de TSP:
15
Procesos definidos
Comunicacin
Generar un marco basado en PSP Desarrollar productos en varios ciclos Establecer estndares para medir la calidad y el comportamiento Proporcionar mtricas para equipos Evaluar roles y equipos Guas para solucin de problemas en equipos.
Falta de liderazgo Falta de compromiso y ganas de cooperar Diferencia en contribuciones Falta de confianza Falta de calidad Mejoras excesivas Revisiones entre colegas inefectivas
16
Lanzamiento - Revisin de objetivos a perseguir. - Asignacin de equipos y roles al personal. - Se describen las necesidades del cliente. - Se establece las metas individuales y del equipo. Estrategia - Crear un diseo conceptual para el producto. - Se establece la estrategia de desarrollo: se decide que ser producido en cada ciclo. - Se hacen estimaciones inciales de esfuerzos y tamao. - Se establece un plan de administracin de la configuracin. - Se reutiliza el plan anterior. - Se establecen riesgos de administracin. Planeamiento - Estima el tamao de cada artefacto a ser desarrollado. - Se identifican las tareas: se estima el tiempo para completar cada tarea. - se asignan tareas a los miembros del equipo. - Hacer un cronograma semanal para tareas terminadas. - Hacer un plan de calidad. Requerimientos - Se analizan las necesidades del cliente y se entrevistan. - Se especifican los requerimientos. - Se hace inspeccin de los requerimientos. - Se disea un plan de pruebas del sistema.
17
Diseo - Se crea un diseo de alto nivel. - Se especifica el diseo. - Se inspecciona el diseo. - Se desarrolla un plan de pruebas de integracin. Implementacin - Se crea el diseo detallado de los mdulos y unidades. - Se revisa el diseo. - Se convierte el diseo al cdigo. - Se inspecciona el cdigo. - Se compilan y prueban los mdulos y unidades. - Se analiza la calidad de los mdulos/unidades. Pruebas - Se construye e integra el sistema. - Se llevan a cabo las pruebas del sistema. - Se produce la documentacin de usuario. Despus de la Muerte - Anlisis de resultados. - Se escribe el reporte del ciclo. - Se producen evaluaciones de pares y equipo. Caractersticas fundamentales
Proceso para formar y guiar equipos de ingenieros que desarrollan Software. Conjunto de procesos definidos y estructurados que enfatizan el balance entre procesos, producto y trabajo en equipo. Indica qu hacer en cada fase del ciclo de desarrollo del proyecto y muestra cmo aplicar prcticas de ingeniera de trabajo en equipo.
Grupo de mtricas precisas que permiten medir un estado inicial y final del equipo del proyecto. Definicin y constitucin de roles, y las responsabilidades asociadas a estos roles. Dependiendo de las caractersticas y objetivos del equipo de proyecto. Brinda un grupo de sugerencias para resolver problemas partiendo de los objetivos reales del equipo. Marco de trabajo y estructura de procesos para guiar a los equipos. Cada fase o ciclo comienza por el lanzamiento o relanzamiento.
TSP es un marco de trabajo guiado por procesos, por mtricas y por un grupo de fases que son estndares y dentro de ellas se introducirn las fases de las metodologas especficas que se usen. Fase de lanzamiento: se definen objetivos y metas del equipo. Se definen los roles y las responsabilidades de estos roles. Cada fase de desarrollo tiene un relanzamiento en el que se reajustan los objetivos, los planes y
18
todas las acciones a seguir para cumplir las metas especficas para cumplir las metas especficas de este ciclo. En esta etapa se evalan las mtricas que conforman TSP para modificacin en la calidad del proceso de desarrollo en el equipo. Esto se hace al finalizar cada uno de los flujos de trabajo tambin.
Roles fundamentales
Lder de proyecto. Gerente de desarrollo. Gerente de planeacin. Gerente de Calidad / Procesos. Gerente de Apoyo.
Los roles anteriores los puede jugar un analista, un programador, etc., que adems de hacer sus tareas cumpla con esta responsabilidad. No es necesaria una persona especfica para jugar este rol. Es necesario tener especialistas en:
Problemas que pueden existir en los equipos de desarrollo. Generalmente hay escasez de lderes. Fallos con el inters y la cooperacin. Mala calidad. Evaluaciones ineficientes. Equipo efectivo segn TSP: define desde el inicio los objetivos. Establecer roles en el equipo. Definir una estrategia de desarrollo. Definir el proceso. Producir el plan general de desarrollo detallar los planes para cada ingeniero. Hacer anlisis de riesgo. Actividades de TSP para lograr que los equipos sean efectivos. Define y acepta las metas desde el principio de forma colectiva. En los siguientes ciclos el equipo reajusta sus metas. Despus se definen los roles y responsabilidades. Definir estrategias para cumplir las metas. Definir y documentar los procesos para el desarrollo. Se estima el tamao del producto, el tiempo y ordena el trabajo en cada ciclo. Al final se tiene el plan de desarrollo. Estas exigencias se aplican en todas las etapas del ciclo de desarrollo. Registros de TSP -Registro de defectos. Registro detallado de los errores encontrados y eliminados. Se puede evaluar cuales son las etapas en las que se han introducido la mayor cantidad de defectos. Efectividad a la hora de eliminar defectos. -Registro de tiempo Registra el tiempo dedicado a las actividades. Gestiona las interrupciones. Mejora los planes. -Registro de pruebas. Registra la informacin relacionada con la ejecucin de las pruebas y sus resultados. Gestin de interrupciones. -Registro relacionados con las revisiones y las listas de chequeos. Procesos fundamentales de CMM: requisitos, planificacin, seguimiento de la planificacin, calidad, configuracin.
19
CONCLUSION Es importante que toda empresa independientemente de su giro de negocio pueda realizar una evaluacin integral corporativa y por departamentos, con el fin de obtener informacin actual que describa la situacin de la empresa, para identificar los puntos dbiles que se pueden mejorar. Toda empresa no pasa desapercibida de los costos y la efectividad con la que debe contar para poder sobrevivir en el mercado, como parte de la mejora continua en los productos y servicios la tecnologa de informacin permite la colaboracin de accin inmediata a la automatizacin de procesos que ayudan a incrementar la calidad de los productos y servicios que se proveen a nivel interno y externo. Dentro de la tecnologa de informacin podemos encontrar varias reas de focalizacin para la mejora de los productos y servicios basados en la mejora de procesos y creacin de equipos de trabajo. Para ello se considera importante que las impresas puedan utilizar metodologas de automatizacin de procesos de software tales como PSP y TSP. PSP permite el manejo de procesos a nivel personal, generando procedimientos claros que permite a cada individuo ser parte de un proceso principal de una forma independiente. Por su lado TSP se enfoca en los grupos de trabajo, su funcin principal es proporcionar metodologas de gestin de equipos grandes y pequeos, permitir el control y asignacin de tareas, llevar seguimiento y monitoreo de los avances en cada uno de los proyectos de software. A menudo podemos escuchar como grandes proyectos de software no se llevan a cabo o tienen retrasos o inconvenientes en la fecha de entrega debido a los errores clsicos en el desarrollo de software. Por lo que todo departamento de software de considerar dentro de su estrategia la prevencin de cada uno de ellos para mitigar el riego de fracaso en la ejecucin del proyecto. En cuanto a PSP el principal problema es romper los hbitos de desarrollo de software que los ingenieros han adquirido. El alto contenido matemtico de los programas provoc que los ingenieros se concentraran demasiado en tratar de terminar los mismos y no en aprender el proceso. El equipo de desarrollo espera capacitacin que pueda ser aplicada inminentemente en sus proyectos de forma inmediata. En TSP es la adaptacin de los ingenieros a sus roles. Se debe incluir un programa de entrenamiento con ejercicios para practicar actividades propias de cada rol. Se experimento ventajas al realizar planeaciones pequeas de 3 a 4 semanas.
20