Unidad 1. Metricas de Desarrollo de Software PSP

download Unidad 1. Metricas de Desarrollo de Software PSP

of 30

description

metricas

Transcript of Unidad 1. Metricas de Desarrollo de Software PSP

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor1 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 1

    CARRERA:

    Ingeniera en Desarrollo de software

    Cuatrimestre 07

    Programa de la asignatura:

    Mtricas de desarrollo de software

    Clave: 150930728

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor2 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 2

    ndice

    Unidad 1. Mtricas de desarrollo de software (PSP) .......................................................... 3 Presentacin de la unidad .............................................................................................. 3

    Propsito ........................................................................................................................ 3

    Competencia especfica ................................................................................................. 3

    Actividad 1. Presentacin ............................................................................................... 3

    1.1. Antecedentes de PSP y su relacin con TSP y CMMI ............................................. 5

    1.1.1. Antecedentes de PSP .......................................................................................... 5

    1.1.2. Caractersticas de PSP ........................................................................................ 6

    1.1.3. Relacin de PSP con TSP (Team Software Process) y CMMI (Capability

    maturity model integration) ............................................................................................. 7

    Actividad 2. Caractersticas de PSP ............................................................................. 10

    1.2. Generalidades de PSP .......................................................................................... 11

    1.2.1. El proceso de lnea base .................................................................................... 11

    1.2.2. Las formas y elementos de PSP......................................................................... 14

    1.2.3. Proceso y mediciones del PSP 0 ........................................................................ 15

    Actividad 3. Mtricas de PSP ....................................................................................... 19

    1.2.4. Registro de tiempos y defectos........................................................................... 20

    1.2.5. Resumen del plan del proyecto .......................................................................... 24

    1.2.6. Personalizacin del proceso inicial ..................................................................... 27

    Evidencia de aprendizaje: PSP 0 ................................................................................. 28

    Cierre de la unidad ....................................................................................................... 29

    Para saber ms ............................................................................................................ 29

    Fuentes de consulta ..................................................................................................... 29

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor3 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 3

    Unidad 1. Mtricas de desarrollo de software (PSP)

    Presentacin de la unidad

    En esta unidad ahondars en las caractersticas principales del Proceso Personal de

    Software (PSP, por sus siglas en ingls), una disciplina diseada por el ingeniero de

    software, Watts Humphrey, en los aos 90.

    Conocers por qu se cre esta disciplina, sus caractersticas, la relacin tan estrecha

    que tiene con el Proceso Grupal de Software (TSP) y el Modelo Integrado de Capacidad y

    Madurez (CMMI). Aprenders las generalidades y los tipos de registros y mtricas que se

    llevan, tales como: registros de tiempos, defectos, resumen de plan de proyecto.

    Conocer PSP te ayudar, como su nombre lo indica, en tu proceso personal de desarrollo,

    favoreciendo la optimizacin de tiempos y asegurando la calidad de tu trabajo. Por ello es

    importante que pongas especial cuidado en el propsito ya que es el enfoque de la unidad

    y lo que debers aprender para poder entender las siguientes unidades.

    Propsito

    En esta unidad logrars:

    Comprender las caractersticas de PSP y su relacin con TSP y CMMI.

    Analizar el proceso de lneas base, formas, elementos, procesos, mediciones de

    PSP para poder registrar tiempos defectos y el resumen del plan del proyecto.

    Analizar la manera de implementar el proceso PSP 0.

    Competencia especfica

    Identificar los conceptos bsicos de PSP para analizar un programa, considerando la

    relacin de PSP con TSP y CMMI.

    Actividad 1. Foro de la asignatura

    Antes de entrar de lleno en el estudio de la asignatura, se presenta un foro de discusin

    general, creado para que comentes cualquier asunto relacionado con la asignatura; en l,

    conocers a tus compaeros de grupo y entre todos podrn apoyarse para resolver

    dudas, inquietudes, externar comentarios, etctera.

    Para comenzar tu participacin, ingresa al foro.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor4 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 4

    Bienvenido(a) al foro de la asignatura de Mtricas de desarrollo de software, el cual ha

    sido diseado para que ingreses cada vez que lo necesites, ya sea para presentarte con

    el grupo, para compartir alguna duda, inquietud, o para apoyar a tus compaeros(as) en la

    resolucin de dudas. El foro estar abierto durante todo el curso y consta de varias

    entradas o categoras a las que debers ingresar dependiendo del tipo de participacin

    que quieras hacer:

    Si quieres comentar asuntos personales que no tengan relacin directa con los

    contenidos de las unidades, utiliza la categora: Asuntos personales.

    Si tienes dudas o comentarios relacionados con detalles tcnicos, por ejemplo, sobre

    la instalacin de alguno de los programas que se usan en el curso, ingresa a la

    seccin: Aspectos tcnicos.

    Si tus comentarios se relacionan con aspectos directamente relacionados con el

    contenido de la asignatura, da clic en la categora: Aspectos sobre el contenido de

    la asignatura.

    Realiza tu primer aporte a la materia haciendo una breve presentacin de ti mismo y

    contestando la siguiente pregunta Cul es tu proceso personal de calidad para el

    desarrollo de software?

    No olvides consultar la Rbrica general de participacin en foros.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor5 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 5

    1.1. Antecedentes de PSP y su relacin con TSP y CMMI

    Antes de que comencemos la asignatura, es importante que conozcas los orgenes del

    PSP y cmo, en conjunto con TSP y CMMI, forman una disciplina organizacional que te

    permitir realizar software en un menor tiempo, optimizar costos y sobre todo con calidad.

    El CMMI es un producto desarrollado por el Software Engineering Institute (SEI) y se basa

    en la mejora continua de los procesos. Pretende incrementar la capacidad administrativa

    de las organizaciones para controlar los costos, tiempos y productividad en general. Por

    otra parte, el objetivo de TSP es adiestrar a los ingenieros de software en el desarrollo de

    equipos y llegar en menos tiempo a niveles altos de desempeo por medio de la prctica

    del proceso personal del software de cada uno de sus integrantes el cual nace como un

    acercamiento estructurado y disciplinado para el desarrollo de software proporcionando al

    ingeniero de software un conjunto de formularios, guas y estndares que les ayudan a

    estimar y planificar su trabajo. Trabajando todo en conjunto y, de manera efectiva, es muy

    factible poder cumplir con todos los niveles de CMMI.

    Es importante entender que PSP es una disciplina personal, sin embargo en conjunto con

    TSP y CMMI se pueden lograr varios beneficios para la organizacin. A continuacin,

    vers sus antecedentes y la manera en que se relaciona con las metodologas

    mencionadas.

    1.1.1. Antecedentes de PSP

    Cules son los pasos que sigues para realizar los programas que te dejan en tus clases?

    Contesta esta pregunta y ahora analiza si tienes una estructura de trabajo, qu

    encontraste? Ahora responde a las siguientes:

    -Qu pasa cuando algo te sale mal?

    -Llevas un control de tiempo?

    -Registras actividades?

    Los programadores (o ingenieros de software) no siempre siguen una metodologa de

    trabajo, y esto nos lleva a tener resultados diferentes, descontrol en la cantidad de

    errores, validaciones, duracin del proyecto. Esta problemtica no es reciente y aplica

    tanto para estudiantes, programadores junior (principiantes) o senior (expertos). Watts

    Humphrey, miembro del Instituto de Ingeniera de Software (SEI), de la Universidad de

    Carnegie Mellon, detect esta problemtica con los alumnos y se dio cuenta de que

    tambin en la industria suceda lo mismo. Humphrey desarrollo una serie de disciplinas

    para los ingenieros de software, que posteriormente daran pie para estructurar el PSP.

    PSP pretende mejorar las prcticas del desarrollo de software y la calidad del mismo. No

    hay mejor manera de hacer cosas con calidad que midiendo; es por eso que, en PSP se

    generan las mtricas de lneas de cdigo, lneas de cdigo por hora, los tiempos de

    desarrollo, etc.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor6 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 6

    Es importante mencionar que PSP no tiene como objetivo demeritar el trabajo de una

    persona, ni hacerlo sentir menos que sus compaeros, sino simplemente mejorar, como

    su nombre lo indica: su proceso personal de desarrollo. Antes de estudiar en qu

    consiste este proceso, es importante conocer sus antecedentes:

    Despus de la Segunda Guerra Mundial, las organizaciones que se dedicaban a la

    industria del software, normalmente basaban su principal estndar de calidad en pruebas

    al software, generando departamentos dedicados en buscar y arreglar defectos despus

    de la produccin de sus productos. Entre los aos 70s y 80s, la industria estadounidense

    se enfoc a conocer la manera en que los ingenieros de software realizaban sus trabajos

    y cmo era que desarrollaban sus procesos, lo cual permiti reconocer que el anterior

    modelo de probar y corregir era muy costoso en tiempo y recursos. En 1976, se

    comenzaron a incluir prcticas de inspecciones al software y posteriormente en 1987,

    Watts S. Humphrey, aplic su Modelo de Capacidad de Madurez (CMM). En 1995, los

    primeros cursos de PSP fueron dados por su creador, en la universidad de Carnegie

    Mellon. En 1997, lanz el libro An introduction to the personal software process con un

    enfoque a los ingenieros de software. (Garca, Y. 2010. Pg. 1).

    Ya que hemos conocido algo de la breve historia de PSP es momento para comenzar a

    conocer sus caractersticas as como, saber: s este modelo se implementa con xito en

    una organizacin, cuales ventajas se obtendran, as como lo contrario, que pasara si no

    se tiene xito en su aplicacin, cules desventajas tendra.

    1.1.2. Caractersticas de PSP

    Para continuar describiendo el modelo PSP es importante mencionar sus caractersticas

    as como, distinguir sus ventajas y desventajas. Segn Humphrey, W. (1995.).

    Caractersticas:

    Es una metodologa de la Ingeniera de Software con fundamentos de CMMI.

    Tiene un enfoque hacia la produccin de software de calidad.

    Favorece los procesos de estimacin, planeacin y desarrollo de software.

    Como todo proceso de calidad, est orientada a mantener la mejora continua.

    Se puede establecer junto con los modelos de calidad TSP y CMMI.

    Es un proceso definido y ayuda a medir la mejora.

    Involucra actividades de revisin e inspeccin.

    Est diseado para uso individual.

    Se combinan actividades de: administracin de proyectos, Ingeniera de software y

    calidad.

    Cuando se logra un proceso de PSP, estable y maduro tiene las siguientes ventajas:

    Estimacin ms precisa de tiempos, costos y recursos.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor7 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 7

    Cumplir con los compromisos.

    Productividad en aumento.

    Localizacin de los defectos desde fases iniciales.

    Mejora los tiempos del ciclo de vida.

    Reduce costos.

    Facilita el seguimiento a procesos.

    Los desarrolladores comprenden su condicin actual y obtienen un ambiente y

    disciplina que propicia la mejora de su capacidad.

    Cuando la implementacin del PSP no tiene una administracin adecuada, ocurre n las

    siguientes desventajas:

    Puede considerarse como un proceso burocrtico porque genera documentacin.

    La metodologa es muy precisa, puede propiciar la exageracin en su aplicacin.

    Implementar esta metodologa puede consumir mucho tiempo extra.

    La renuencia por parte de los desarrolladores de aplicar la documentacin y por

    sentirse expuestos al evidenciar sus tiempos de desarrollo y defectos.

    Si no se considera como una inversin, generar la idea de ser un proceso muy

    costoso a un corto y mediano plazo.

    PSP es un modelo que puede implementarse de manera exclusiva, sin embargo puede

    ser perfectamente complementado con TSP y CMMI. En nuestro siguiente subtema

    veremos cmo se da esta relacin.

    1.1.3. Relacin de PSP con TSP (Team Software Process) y CMMI

    (Capability maturity model integration)

    El establecimiento y seguimiento de los procesos son como los hbitos, al principio son

    difciles de obtener, pero ya que se han logrado son ms difciles de romper. Esto tambin

    pasa en la industria del software, lo procesos pueden ser largos, complejos o difciles de

    comprender y adoptarlos puede tornarse en una actividad complicada. Es por ello que se

    ha generado un marco de madurez en el proceso de software, el cual, muestra una

    manera ordenada para que la organizacin determine sus procesos y establezca sus

    mejoras.

    El SEI trabaja liderando organizaciones de software en Estados Unidos y esto le ha

    llevado a definir el CMMI. Como puedes observar en la Tabla: Niveles del CMMI., tiene 5

    niveles que son progresivos y demuestran cmo se deben lograr las reas clave del

    proceso (KPAs Key process areas), para adquirir progresivamente el nivel de madurez.

    CMMI es un modelo que contiene metas, mtodos y prcticas necesarias para la prctica

    industrial de la ingeniera de software, por lo tanto necesitars comprender cmo aplicar

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor8 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 8

    estos principios. La pregunta es cmo lograr esto? y una de las respuestas es:

    comenzando por tu proceso personal de desarrollo de software.

    Nivel Descripcin

    Nivel 5:

    Optimizado

    Administracin del proceso del cambio.

    Tecnologa de gestin del cambio.

    Prevencin del defecto.

    Nivel 4:

    Cuantitativamente

    administrado

    Administracin de calidad.

    Gestin de procesos cuantitativos.

    Nivel 3:

    Definido

    Evaluacin entre pares.

    Coordinacin inter grupal.

    Ingeniera del producto de software.

    Administracin de la integracin del software.

    Programa de formacin.

    Definicin del proceso del software.

    Enfoque al proceso del software.

    Nivel 2:

    Repetible

    Administracin de la configuracin del software.

    Aseguramiento de la calidad del software.

    Administracin de la subcontratacin del software.

    Seguimiento y supervisin a proyectos de software.

    Planeacin de proyectos de software.

    Administracin de requerimientos.

    Nivel 1:

    Inicial

    Tabla. Niveles del CMMI. (Humphrey, W.1995. p. 7)

    En el entendido de que: todo esfuerzo hacia la calidad debe considerar el plano personal,

    debemos estar conscientes de que todos tenemos responsabilidades con otros y con

    nosotros mismos. Debemos comprender nuestras habilidades para desarrollar tareas,

    administrar las debilidades y desarrollar ms fortalezas. Esto debemos convertirlo en

    parte de nuestra vida laboral y buscar la excelencia sin dejar de considerar el significado

    de ser humanos. Partiendo de esto, PSP tiene los siguientes enfoques:

    Identificar en los grandes sistemas de software, todos los mtodos y prcticas que

    pueden ser usados por individuos.

    Definir los conjuntos de mtodos y prcticas que pueden ser aplicados mientras se

    desarrollan programas pequeos.

    Estructurar los mtodos y prcticas localizados e ir introducindolos gradualmente.

    Proveer en un entorno educativo, ejercicios apropiados para ensear los mtodos y

    prcticas estructurados.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor9 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 9

    PSP tiene un marco de trabajo muy parecido al de CMMI, ambos comparten las

    siguientes reas de proceso:

    Nivel 5 Optimizado

    Administracin del proceso del cambio.

    Tecnologa de gestin del cambio.

    Prevencin del defecto.

    Nivel 4 Cuantitativamente administrado

    Administracin de calidad.

    Gestin de procesos cuantitativos.

    Nivel 3 Definido

    Evaluacin entre pares.

    Ingeniera del producto de software.

    Administracin de la integracin del software.

    Definicin del proceso del software.

    Enfoque al proceso del software.

    Nivel 2 Repetible

    Seguimiento y supervisin a proyectos de software.

    Planeacin de proyectos de software.

    Como has podido observar, PSP cubre 12 de las 18 reas clave del proceso de CMMI.

    Las reas que no se cubren son principalmente aquellas que tienen que ser desarrolladas

    en equipo, ya que de manera individual no podran existir, por ejemplo: la subcontratacin

    de desarrollos de software, la administracin de requerimientos y de la configuracin del

    software, el aseguramiento de calidad y programas de entrenamiento, etc.

    TSP est construido sobre el fundamento de PSP y todos los miembros del equipo TSP

    deben ser entrenados en el uso de PSP. Los principios de PSP y lgica aplican de la

    misma manera para el TSP. Los principios bsicos de PSP consisten en: (1) procesos

    definidos y estructurados para mejorar el proceso de trabajo, (2) estos procesos deben

    ajustarse a las caractersticas y preferencias de cada miembro del equipo, (3)

    involucramiento de los desarrolladores en el diseo de los procesos, (4) incluir las buenas

    prcticas de PSP en la configuracin de los estndares, (5) proceso de mejora continua

    eficiente.

    La principal razn del entrenamiento PSP es motivar en los desarrolladores la conviccin

    de trabajar el proceso de TSP. Tu trabajo como lder es convencerlos de que esos

    mismos beneficios son importantes para el proyecto y cada miembro del equipo debe

    continuar utilizando esas prcticas.

    La lgica para el TSP se construye sobre la lgica de PSP, la cual consiste en que:

    Los equipos trabajan mejor cuando los miembros cooperan y se toleran unos a otros.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor10 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 10

    Los miembros del equipo pueden cooperar y tolerarse mejor cuando todos ellos

    utilizan un adecuado y bien definido proceso.

    Los equipos comprenden y siguen conscientemente un proceso solamente cuando

    ellos han participado en la definicin de ese proceso.

    Los equipos producen productos de calidad para predecir costos y calendarios

    solamente si ellos utilizan procesos definidos consistentemente.

    Los equipos definen procesos solamente si los miembros saben cmo hacer trabajo

    con calidad.

    Los equipos siguen procesos solamente si ellos son motivados para hacer esto por

    sus pares, lderes y gerentes.

    Uno de los principales retos del lder es ayudar a su equipo a producir los tipos de

    proyectos que necesitan para lograr sus objetivos y motivarlos a seguir el proceso. Esos

    objetivos consisten en hacer trabajos con calidad y cubrir sus calendarios. (Humphrey, W

    2006. pp. 116-118).

    Actividad 2. Caractersticas de PSP

    Ya que leste el contenido e identificaste las caractersticas de PSP, sus ventajas y

    desventajas. Es momento de que pongas en prctica tu comprensin del tema con la

    siguiente actividad.

    Propsito:

    Comprender las caractersticas de PSP y su relacin con TSP y CMMI en diferentes

    escenarios.

    Instrucciones:

    A. Dados los siguientes escenarios, indica cul metodologa es la ms adecuada para

    cumplir los objetivos descritos: PSP, TSP o CMMI.

    B. Ingresa a la actividad en el aula de la asignatura y coloca tus respuestas.

    1) La medicin, control y documentacin de todos los aspectos

    (tiempos, costos, personal, riesgos, etc.) de un producto de software

    por parte del lder del proyecto el cual, tiene a su cargo a un

    arquitecto de software y un grupo de desarrolladores.

    2) La calendarizacin de los tiempos por cada mdulo de un

    determinado proyecto de software as como la asignacin de los

    desarrolladores para cada mdulo definido en la arquitectura del

    proyecto.

    3) Un desarrollador est realizando el anlisis de un mdulo que le

    asignaron y que forma parte de un proyecto que integra otros

    mdulos.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor11 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 11

    4) El lder de un proyecto de software requiere la informacin de todos

    los acuerdos con su cliente para decidir si debe aumentar el costo del

    proyecto o no. Dichos acuerdos estn asentados en minutas que se

    realizan en cada entrevista con el cliente. Por lo tanto, existe una

    administracin y control de dichos acuerdos.

    5) Un lder de proyecto realiza la estimacin del tamao, en lneas de

    cdigo, de un mdulo de reportes para un proyecto a su cargo. Los

    requerimientos de dicho mdulo sern entregados a uno de sus

    desarrolladores.

    6) Un desarrollador junior pide apoyo a su lder de proyecto para que le

    asigne un mdulo ms fcil de desarrollar. El lder de proyecto decide

    apoyarlo y debe reajustar los tiempos estimados para el desarrollo de

    los mdulos que se vern afectados con el cambio de

    desarrolladores.

    7) Un desarrollador est registrando un defecto encontrado en el

    mdulo que est desarrollando.

    8) Un desarrollador acepta realizar un proyecto sencillo. Inicialmente su

    cliente le pide saber cunto tiempo tardar en realizarlo. Por tal

    motivo, debe realizar una estimacin del tiempo total que le llevar

    la realizacin de dicho proyecto.

    9) Un lder de proyecto se encuentra realizando un control de los

    tiempos de desarrollado estimados para cada mdulo as como el

    desarrollador responsable para cada mdulo. Con esta informacin

    planea calendarizar la entrega del proyecto asignado.

    Como te habrs dado cuenta en el presente tema y en esta actividad algunas

    caractersticas de PSP se comparten con los otros modelos de calidad como TSP y

    CMMI. Esto les permite poder trabajar en conjunto y complementarse.

    1.2. Generalidades de PSP

    Hasta este punto ya conoces las caractersticas de PSP, sus ventajas, desventajas,

    antecedentes y cmo se relaciona con TSP y CMMI. En el presente tema conocers como

    se conforma el proceso de una lnea base, la cual consiste en un marco de trabajo

    necesario para realizar el primer proceso de PSP. Conocers los formatos, los elementos,

    el proceso y mediciones que conforman el PSP 0.

    1.2.1. El proceso de lnea base

    Primeramente comenzaremos con la siguiente pregunta: Qu es un proceso?

    Un proceso es una serie de pasos para realizar un trabajo. Cuando tenemos los procesos

    debidamente definidos, estos son una gua para hacer el trabajo. El proceso de software

    establece la tcnica y marco de trabajo para aplicar mtodos, herramientas, tareas

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor12 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 12

    especficas, mediciones y proveer el xito y criterios de entrada para mayores logros. Los

    mejores mtodos pueden ser descritos como procesos para ayudar a los integrantes del

    equipo a aprenderlos. En resumen un proceso definido identifica los principales pasos de

    un trabajo.

    Ayuda a separar la rutina de las actividades complejas.

    Se establece el criterio para comenzar y terminar cada paso del proceso.

    Mejora la comprensin del proceso y da una base slida para la automatizacin del

    proceso.

    Los procesos definidos tambin nos ayudan a generar mediciones. Las mediciones son

    tiles para comprender el desempeo, para administrar el trabajo del equipo, para planear

    y administrar la calidad de los productos que producen.

    Cuando trabajas en un equipo TSP t debes definir tu propio proceso. Al principio todas

    las tareas te parecern abstractas y a medida que vas desarrollndolas ms y las defines

    de una mejor manera, con suficiente detalle estars favoreciendo la mejora.

    El proceso de lnea base es el principal objetivo del PSP0 y consiste en un marco de

    trabajo para escribir tu primer programa PSP y el acopio de datos de tu trabajo. Estos

    datos proveen una lnea base comparativa para determinar el impacto del mtodo PSP en

    tu trabajo. Este proceso provee los siguientes beneficios:

    Una estructura conveniente para desarrollar tareas de pequea escala.

    Un marco de trabajo para medir esas tareas.

    Fundacin para la mejora del proceso.

    PSP0 es un proceso simple, definido y personal. Consiste en hacer un plan, utilizar tu

    diseo actual y mtodos de desarrollo que utilizas para construir un programa pequeo.

    Despus lleva el registro de los tiempos y de los defectos que generaste. Por ltimo

    prepara un informe resumido. Observa la Figura: Evolucin del proceso PSP0.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor13 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 13

    Tiempos Defectos

    Datos del proyecto y del proceso Informe resumen

    Plan

    Figura. Evolucin del proceso PSP0.

    Como puedes observar en la figura, el proceso de PSP0 tiene las siguientes fases:

    Planificacin: debes producir un plan para desarrollar el programa definido en los

    requisitos.

    Diseo: produce una especificacin de diseo para el programa definido en los requisitos.

    Cdigo: convierte las especificaciones de diseo en instrucciones del lenguaje de

    programacin.

    Compilacin: se traducen las instrucciones del lenguaje de programacin en cdigo

    ejecutable.

    Pruebas: verificar que el cdigo ejecutable cumple con los requisitos correcta y

    completamente.

    PM: Postmortem, resume y analiza los datos del proyecto.

    Debers tomar en cuenta los siguientes factores para saber cmo aplicar estas etapas:

    1. Cuando los programas son pequeos o bien comprendidos, puede ejecutar las

    fases en orden.

    2. Cuando los programas son grandes o que no se comprenden bien puede requerir

    un enfoque iterativo. Por ejemplo en un proyecto el diseo se puede realizar en un

    slo paso y descubrir que hay dos mdulos que ejecutarn separadamente las

    etapas de cdigo, compilacin y pruebas. Y por ltimo habr una sola fase de PM

    que integrar datos de ambos mdulos.

    3. Puede haber ms de dos ciclos, cada mdulo podr incluir su propia fase de

    diseo. Cada uno enfocado a producir parte del programa. El tamao de cada

    mdulo determinar cada ciclo. Este tamao podr medirse con la cantidad de

    clases, mtodos o funciones. Esto quedar determinado por ti.

    Guiones (Scripts)

    Planificacin

    Diseo

    Cdigo

    Compilacin

    Pruebas

    PM

    Requisitos

    Producto terminado

    Plantillas

    y

    registros

    Resumen

    del plan

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor14 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 14

    Como has podido observar, el proceso involucra el uso de formas y otros elementos,

    mismos que a continuacin se te presentan explicando la manera en que debers

    utilizarlos.

    1.2.2. Las formas y elementos de PSP

    Las formas de PSP

    En PSP se utilizan muchas formas. Aunque en un principio se podra ver esto como una

    desventaja, posteriormente descubrirs que las formas te sern de gran ayuda.

    Generalmente los proyectos desarrollan los siguientes pasos:

    1. Determinar que lo que se va a hacer.

    2. Decidir cmo hacerlo.

    3. Hacerlo.

    4. Revisar y asegurarte que es correcto.

    5. Corregir problemas.

    6. Entregar el resultado final.

    Inicialmente todo proceso lleva un aprendizaje y una inversin de tiempo considerable.

    Aparte del proceso el registro de formas, es una actividad pesada y deber ser revisada

    peridicamente para asegurar que ella an presenta tus necesidades, por lo que es

    necesario asegurarse que todas las formas del proceso estn diseadas en su conjunto

    de manera coherente. Cuando no son cuidadosamente diseadas, se podra duplicar

    informacin, la terminologa puede ser inconsistente y, en general, pueden presentar

    varias confusiones.

    Elementos de PSP

    Como viste en la Figura: Evolucin del proceso PSP0, el proceso de PSP0 consta de

    diferentes pasos: en el paso de planeacin, generas el plan para hacer el trabajo; los

    siguientes 4 pasos abarcan: diseo, cdigo, compilacin y pruebas. Al final en el paso de

    postmortem, comparars tu actual desempeo con el plan y producirs un reporte de

    resumen. Aunque los pasos de planeacin y postmortem parecen no ser necesarios

    cuando escribes programas pequeos, s lo son, para reunir los datos para administrar y

    mejorar tu proceso personal. Si el programa es tan simple que pareciera que no tiene

    sentido, entonces hacer el plan debiera ser una tarea trivial. Sin embargo es

    programacin trivial pudiera albergar sorpresas que en el plan deberan anticiparse. En

    tanto vayas ganando experiencia te dars cuenta que el postmortem es un tiempo ideal

    para pensar sobre tus datos y ver la manera de mejorar.

    Un proceso puede ser simple o complejo. La definicin de un proceso largo tendr

    muchos elementos o fases. Cada una de ellas puede ser vista como un proceso definido.

    En un bajo nivel las fases estn compuestas por pasos que no tienen una estructura. En

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor15 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 15

    procesos largos cada paso puede ser una fase, en el siguiente nivel cada fase puede

    tener una definicin de proceso con los pasos que comienzan con tareas de bajo nivel.

    Cuando un elemento del proceso tiene una definicin y una estructura puede ser llamada

    fase. Si no cuenta con una estructura definida, ser llamada paso o tarea.

    Como todo proceso de calidad, deber ser medido para asegurarnos qu funciona y qu

    puede ser mejorado, es por ello que PSP incorpora elementos y puntos de medicin para

    comparar cmo es el desempeo de cada ingeniero de software y cmo podr ser

    mejorado. A continuacin sabremos cmo funciona este proceso.

    1.2.3. Proceso y mediciones del PSP 0

    Los scripts de PSP te guiarn a travs de los pasos del proceso. Los principales

    elementos del guion del proceso son su propsito, los criterios de entrada, las fases o

    pasos para ser desarrollado. El guion del proceso PSP0 es una serie de directrices de

    cmo usar el proceso. Se describe el propsito, los criterios de ingreso, aspectos

    generales, pasos y criterios de salida.

    La planificacin. Debers contar con los requisitos del proyecto y completar las

    partes no sombreadas del plan de la Tabla: Resumen del plan del proyecto. Por

    ltimo escribe el tiempo dedicado a hacer el plan en el cuaderno de Registro de

    tiempos.

    El diseo. Se disea la solucin del programa antes de desarrollarlo. Se puede

    utilizar cualquier tcnica de diseo o modelado, como: diagramas de flujo,

    seudocdigo, diagramas UML, etc. Cuando se termine el diseo se deber

    registrar el tiempo que se tard en hacerlo.

    Codificacin: Se implementa el diseo, codificndolo en un lenguaje de

    programacin. Deber aplicar los estndares de codificacin. Al trmino deber

    registrar sus tiempos en el cuaderno de registro de tiempos.

    Compilacin: Compilar el programa y corregir todos los defectos que se localicen.

    Continuar compilando y corrigiendo hasta depurar el cdigo. Aunque corrijas el

    cdigo todo este tiempo se registra en el cuaderno de registro de tiempos.

    Pruebas: Realiza las pruebas necesarias para asegurar que los programas estn

    cumpliendo con el requisito y no presentan errores. Todo el tiempo que se dedique

    en esta fase se contabiliza an que hayas tenido que codificar para corregir

    errores. El tiempo se registra en el cuaderno de registro de tiempos.

    Postmortem: Completa los datos de la tabla resumen del plan del proyecto,

    dedica tiempo para hacer clculos finales y escrbelos en el tiempo postmortem

    estimado. Utiliza el tiempo estimado para calcular el tiempo de desarrollo total y el

    resto de clculos.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor16 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 16

    Observa las siguientes tablas, stas te indicarn cmo se debe ejecutar el proceso PSP0

    y en ellas puedes revisar: Muestra el guion completo; Muestra la gua para el plan;

    Muestra la gua del desarrollo y Muestra la gua postmortem.

    Guion del proceso PSP0

    Propsito Gua para el desarrollo de programas pequeos.

    Criterios de entrada La descripcin del problema.

    Tabla Resumen del plan del proyecto PSP.

    Datos de tamaos y tiempos reales de programas anteriores.

    Cuaderno de Registro de Tiempos.

    Paso Actividades Descripcin

    1 Planificacin Obtn una descripcin de las funciones del programa.

    Escribe los datos del plan en la tabla Resumen del Plan del

    proyecto.

    Anotar el tiempo de planificacin en el Cuaderno de registro de

    tiempos.

    2 Diseo Disear el programa.

    Anotar el diseo en el formato indicado.

    Anotar el tiempo del diseo en el Cuaderno de registro de

    tiempos.

    3 Codificacin Implementa el diseo.

    Utiliza un formato estndar para introducir el cdigo.

    Anota el tiempo de codificacin para el Cuaderno de registro

    de tiempos.

    4 Compilacin Compilar el programa.

    Corregir defectos encontrados.

    Anotar el tiempo de compilacin en el Cuaderno de registro de

    tiempos.

    5 Pruebas Probar el programa.

    Corregir los defectos encontrados. Recuerda que cada error

    encontrado debes registrarlo en la bitcora de registro de

    defectos.

    Anotar el tiempo de pruebas en el Cuaderno de registro de

    tiempos.

    6 Postmortem Completa la tabla de Resumen del plan del proyecto con los

    datos de tiempo y tamao reales.

    Anotar el tiempo postmortem en el Cuaderno de registro de

    tiempos.

    Criterios de salida Programa probado completamente.

    Diseo documentado.

    Programa completo.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor17 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 17

    Resumen del plan del proyecto terminado.

    Cuaderno de registro de tiempos terminado.

    Guion de la planeacin PSP0

    Propsito Gua para el proceso de planeacin de PSP0

    Criterios de entrada La descripcin del problema.

    Tabla Resumen del plan del proyecto PSP.

    Cuaderno de Registro de Tiempos.

    Paso Actividades Descripcin

    1 Requisitos

    del programa

    Producir u obtener los requisitos del programa.

    Asegurarte que esos requisitos son claros y sin

    ambigedades.

    Resolver preguntas.

    2 Estimacin

    de recursos

    Realizar tu mejor estimacin del tiempo requerido para

    desarrollar el programa.

    Criterios de salida Requisitos documentados.

    Resumen del plan del proyecto terminado con tiempos

    estimados de desarrollo.

    Cuaderno de registro de tiempos terminado.

    Guion del desarrollo PSP0

    Propsito Gua para el desarrollo de programas pequeos.

    Criterios de entrada Declaracin de requisitos.

    Tabla Resumen del plan del proyecto con la estimacin del

    tiempo de desarrollo del programa.

    Cuaderno de Registro de Tiempos.

    Estndar del tipo de defectos.

    Paso Actividades Descripcin

    1 Diseo Revisar los requisitos y disear el programa.

    Registrar el tiempo del diseo y defectos encontrados en

    requerimientos.

    Registrar tiempos en el Cuaderno de registro de tiempos.

    2 Codificacin Implementa el diseo.

    Utiliza un formato estndar para introducir el cdigo.

    Anota el tiempo de codificacin para el Cuaderno de registro

    de tiempos.

    3 Compilacin Compilar el programa.

    Corregir los errores encontrados y registrarlos.

    Anotar el tiempo de compilacin en el Cuaderno de registro de

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor18 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 18

    tiempos.

    4 Pruebas Probar el programa.

    Corregir los errores encontrados y registrarlos.

    Anotar el tiempo de pruebas en el Cuaderno de registro de

    tiempos.

    Criterios de salida Programa probado completamente.

    Diseo documentado.

    Programa completo.

    Resumen del plan del proyecto terminado.

    Cuaderno de registro de tiempos terminado.

    Guion del postmortem PSP0

    Propsito Gua para el proceso postmortem.

    Criterios de entrada Descripcin del problema y declaracin de requisitos.

    Tabla Resumen del plan del proyecto con tiempos de

    desarrollo.

    Cuaderno de Registro de tiempos y defectos.

    Una prueba y ejecucin del programa.

    Paso Actividades Descripcin

    1 Registro de

    defectos

    Revisar los requisitos y disear el programa.

    Registrar el tiempo del diseo y defectos encontrados en

    requerimientos.

    Registrar tiempos en el cuaderno de registro de tiempos.

    2 Consistencia

    en la

    definicin del

    defecto

    Revisar que los datos en todos los defectos en el registro de

    defectos sean exactos y completos.

    Verificar que el nmero de defectos inyectados y removidos

    por fases son razonables y correctos.

    Utilizando su mejor recuerdo, corregir cualquier defecto de

    datos faltantes o incorrectos

    3 Time Revisar el tiempo de registro terminado de errores u

    omisiones.

    Revisar el registro de algn dato faltante o incompleto.

    Criterios de salida Programa probado completamente.

    Resumen del plan del proyecto terminado.

    Cuaderno de registro de tiempos terminado.

    Mediciones PSP0

    PSP0 tiene dos mediciones:

    El tiempo gastado por fase.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor19 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 19

    Los defectos encontrados por fase.

    PSP0 tiene cuatro formas:

    Resumen del plan del proyecto: resumen planificado, tiempo actual y defectos por fase.

    Registro de tiempos: se utiliza para registrar el tiempo.

    Registro de defectos: se utiliza para registrar defectos.

    Estndar de tipo de defecto: se utiliza para definir el estndar de los tipos de defectos.

    El tiempo por fase es un simple registro del tiempo gastado en cada parte del proceso

    PSP. Registrar tiempos y defectos puede tomar algo de tiempo, nos servirn para aplicar

    muchas herramientas del PSP. Debers contabilizar el tiempo que tardas en corregir

    todos los defectos durante la fase de compilacin y pruebas. El defecto puede ser muy

    simple o abarcar varios segmentos.

    La razn por la que se registran tiempos y defectos es para ayudarte a planear y

    administrar proyectos. Estos datos te servirn para identificar dnde gastas tiempo, dnde

    inyectas y corriges ms defectos. Adems, te sern de utilidad, para realizar cambios en

    tu desempeo actual y buscar la calidad de tus productos de trabajo.

    Actividad 3. Mtricas de PSP

    En PSP se acostumbra al ingeniero de software al registro de tiempos y defectos, lo cual

    es una rica fuente para la generacin de mtricas. Para asegurarnos que estos valores

    realmente aportan informacin confiable, el proceso deber tambin serlo, es por ello que

    debemos asegurar que se realiza adecuadamente.

    Propsito:

    Analizar el proceso de lneas base, formas, elementos, procesos, mediciones de PSP

    para poder registrar tiempos, defectos y el resumen del plan del proyecto.

    Instrucciones:

    Lee cada caso y realiza lo que se te pide.

    Ingresa a la actividad en el aula de la asignatura y coloca tus respuestas correctas.

    Parte 1

    Alfonso ha desarrollado un programa utilizando PSP0. Indica el orden correcto en el que

    realiz las actividades. Escribe el nmero de actividad (del 1 al 6) antes de cada una de

    ellas.

    ___ Codificacin ___ Postmortem ___Planeacin ___ Diseo

    ___Compilacin ___Pruebas

    Parte 2

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor20 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 20

    Lee el siguiente caso:

    Marcos realiz su primer programa utilizando PSP0. Dicho programa deba calcular y

    mostrar el promedio y la desviacin estndar de un conjunto de nmeros introducidos por

    el usuario. Al final, su programa funcion adecuadamente. Lo primero que realiz Marcos,

    una vez que tena los requerimientos de su programa bien definidos, fue hacer una

    planeacin y un diseo del mismo. Una vez que tena el diseo de su programa, comenz

    a codificarlo. Mientras codificaba, para asegurarse de que todo iba bien, cada vez que

    escriba un fragmento de cdigo compilaba su programa para asegurarse que iba a

    ejecutarse correctamente. Una vez que termin su codificacin y que su programa pudo

    ejecutarse, procedi a realizar varios casos de prueba para asegurarse del buen

    funcionamiento del programa. Finalmente, cerr su proyecto PSP0.

    De acuerdo al caso anterior, selecciona el inciso que responde adecuadamente a las

    siguientes preguntas:

    1. De acuerdo a los pasos del proceso PSP0, qu fue lo que realiz mal?

    a) Al final su programa no funcion adecuadamente.

    b) No realiz suficientes casos de prueba.

    c) Mientras codificaba tambin compilaba.

    d) No dise su programa.

    2. De acuerdo a las actividades que realiz Marcos y al proceso PSP 0 Qu registros

    tuvo que realizar?

    a) Resumen del plan, tiempos, defectos y tipo de defecto.

    b) Calendario, tiempos, costos y recursos.

    c) Estimaciones, mtricas, calendarios y costos.

    d) Proyecto, planeacin, postmortem y defectos.

    3. Cual es la ltima fase que tuvo el proceso PSP0 de Marcos al cerrar su proyecto?

    a) Postmortem

    b) Codificacin

    c) Pruebas

    d) Planeacin

    Como has notado PSP tiene un proceso bien definido para el desarrollo del cdigo y el

    registro de los tiempos y defectos que se vayan generando. Adems esta informacin nos

    servir para poder estimar con mayor precisin la planeacin del trabajo. A pesar de ser

    un proceso personal, es muy similar al ciclo de vida que normalmente conocemos como

    tradicional o cascada. Ya que tiene etapas como planeacin, diseo, cdigo, cdigo,

    pruebas y una seccin para el registro llamada postmortem.

    1.2.4. Registro de tiempos y defectos

    Registro de tiempos

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor21 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 21

    Para comenzar con todo este proceso, debers identificar la mejor manera de contabilizar

    tus tiempos para cada paso que realices de los procesos de PSP. Al realizar esto, te

    ayudar a conocer las tareas que realizas y cuanto tiempo demoras en cada una. Por lo

    tanto tendrs que registrar tus tiempos y para ello podrs utilizar una plantilla destinada al

    registro. (Ver Tabla: Registro de tiempos PSP). Esta tabla o cualquier otro formato que

    utilices debern tener los siguientes datos:

    Tu nombre, el proyecto, lenguaje, fecha, y otros datos en el encabezado.

    Comienzo del proyecto o programa.

    La fase del proceso para la tarea.

    La fecha y hora en que la que comenzaste y terminaste trabajando en la tarea.

    Tiempo de alguna interrupcin.

    Tiempo delta trabajando en la tarea.

    Comentarios.

    Adems, la herramienta que utilices deber ayudarte a capturar el tiempo de inicio de la

    tarea, el tiempo de trmino y el tiempo de interrupcin y de manera automtica debiera

    calcular el tiempo delta, el cual es el tiempo real dedicado a la tarea. Cuando las

    actividades duran varias horas, seguramente tendrs interrupciones, como llamadas por

    telfono, conversaciones, comidas, etc. Si no ests consciente del tiempo que

    interrumpes tu trabajo, no sabrs exactamente cul es el tiempo que tardas en una

    actividad. Tal vez pienses que los tiempos de interrupcin son realmente pequeos que

    puedes ignorarlos. Podras colocar en la columna comentarios cuando comienzas el

    tiempo de interrupcin, para as calcular el tiempo perdido cuando hayas terminado la

    interrupcin, de tal manera que si este clculo te da, por ejemplo, 18 minutos, debers

    registrarlos en la columna de Tiempo Int. (Tiempo de interrupcin).

    Estudiante Fecha

    Programa # Programa

    Instructor Lenguaje

    Proyecto Fase Fecha y

    hora de

    inicio

    Tiempo

    Int.

    Fecha y

    hora de

    trmino

    Tiempo

    Delta

    Comentarios

    Tabla. Registro de tiempos PSP

    (Echeverra, C.M., Echeverra, C.D. Asencio, J.L. 2006. Pg. 23)

    Propsito Utilizar la plantilla de registro de tiempos para anotar el tiempo

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor22 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 22

    gastado en cada actividad del proyecto.

    En PSP normalmente cada fase tiene una actividad, pero los

    proyectos grandes tienen mltiples actividades en una simple fase.

    General Registra siempre el tiempo que demoras haciendo actividades.

    Registra el tiempo en minutos.

    Se lo ms exacto posible.

    Si olvidaste registrar el comienzo, el trmino o interrupcin para

    alguna actividad, inmediatamente registra tu mejor estimacin.

    Encabezado Introducir t nombre, la fecha, nombre y nmero del programa,

    nombre del instructor y lenguaje de programacin.

    Proyecto Introduce el nombre, nmero o clave del proyecto.

    Fase Introduce el nombre de la fase en la que ests trabajando, por

    ejemplo planeacin, diseo, pruebas, etc.

    Fecha y hora de

    inicio

    Introduce la fecha y hora de inicio de alguna actividad del proceso.

    Tiempo Int. Registra el tiempo de interrupcin, en el que no estuviste trabajando

    en alguna actividad del proceso. Si tuviste muchas interrupciones,

    registra el tiempo total, tambin puedes escribir la razn por la cual

    interrumpiste la actividad en la columna de comentarios.

    Fecha y hora de

    trmino

    Registra la fecha y hora en la que terminaste la actividad.

    Tiempo delta Registra el clculo del tiempo que realmente trabajaste en la

    actividad menos el tiempo de interrupcin.

    Comentarios Registra algn comentario que debas recordar posteriormente.

    Tabla. PSP Instrucciones del registro de tiempos.

    Registro de defectos

    Posiblemente te hars la pregunta qu es un defecto en PSP?, una respuesta es la que

    sigue, un defecto es algo que no es correcto o error en un programa, desde un simple

    carcter en el lugar que no le corresponde (error de sintaxis), hasta un defecto de

    funcionalidad donde haya errores en la lgica del cdigo.

    Cuando encuentras un defecto y decides arreglarlo, cuenta el tiempo de correccin,

    cuando terminaste de corregirlo, introduce todos los datos del defecto: tipo de defecto, la

    fase en la que se detect, tiempo de correccin y una breve descripcin del defecto. Si

    olvidaste registrar alguno de estos datos, realiza tu mejor estimacin. Normalmente en la

    fase de compilacin y pruebas encontrars la mayora de los defectos, sin embargo, los

    puedes encontrar en cualquier fase y corregirlos. Si este es el caso puedes registrar la

    fase en la que los encontraste y corregiste.

    Si estos errores o defectos no son detectados por los ingenieros de software, muy

    probablemente quin los encontrar ser el cliente, es por ello que es una buena prctica

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor23 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 23

    que de manera personal cada ingeniero de software busque y detecte la mayor parte de

    sus defectos.

    Tabla. Registro de defectos.

    (Echeverra, C.M., Echeverra, C.D. Asencio, J.L. 2006. Pg. 25)

    El tiempo de correccin es a veces mal comprendido. Este es el tiempo para encontrar y

    corregir el defecto. Por ejemplo:

    8:00 ejecutas el compilador y localizas error de tipo en line 23 type mismatch.

    8:01 ejecutas el editor.

    8:10 cambias la declaracin de la lnea 5, tecleas el tipo real en lugar del integer.

    8:12 ejecutas el compilador y te indica que no hay errores no errors.

    Cunto tiempo tiene este defecto?

    12 minutos.

    A continuacin revisa las instrucciones para el llenado de la tabla de registro de defectos.

    Propsito Se utiliza esta plantilla para registrar los defectos detectados y

    corregidos.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor24 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 24

    General Registrar cada defecto separadamente y completamente.

    Encabezado Introduce tu nombre, fecha, nombre y nmero de programa, nombre del

    instructor y lenguaje de programacin que ests utilizando.

    Proyecto Dar a cada programa un nombre o nmero. Por ejemplo registro de

    prueba de programa.

    Fecha Registra la fecha en la que localizaste los defectos.

    Nmero Introduce el nmero del defecto. Utiliza un nmero secuencial para cada

    defecto por programa o mdulo. Comienza desde el 1 (1...100... etc.)

    Tipo Registra el tipo de defecto utilizando la lista de tipos de defectos

    seleccionando el que consideres que se ajusta al tipo de defecto

    encontrado.

    Inyeccin Registra la fase en la que se inyect el defecto.

    Removido Introduce la fase en la cual corregiste el defecto.

    Tiempo de

    correccin

    Introduce el tiempo necesario para encontrar y corregir el defecto.

    Referencia de

    correccin

    Si al corregir este defectos t o alguien ms ha introducido nuevos

    defectos registra el nmero del defecto origen, si no lo tienes ubicado,

    coloca una X.

    Descripcin Escribe una breve descripcin del defecto, el error que lo caus y por

    qu sucedi esto.

    1.2.5. Resumen del plan del proyecto

    La plantilla del resumen del plan del proyecto, nos servir para definir qu trabajo se har

    y el tiempo que necesitar. Hay que definir la tarea principal, estimar el tiempo y recursos

    y la forma de trabajo para la revisin y seguimiento. El plan del proyecto es una parte

    importante de ste. Para proyectos grandes, es muy importante contar con un plan. Poco

    a poco irs adquiriendo mayor habilidad para elaborar planes, al principio comenzars

    estimando el tamao del producto y el tiempo que te llevar realizarlo. Este debe

    realizarse antes de comenzar el proceso, cuando hayas terminado debers registrar los

    tiempos reales del tamao y tiempo. As mismo lo hars con la fecha estimada de

    culminacin y la fecha real. Esta prctica te servir para realizar mejores estimaciones

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor25 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 25

    cada vez que realices un programa, ya que podrs ir ajustndolos en base a la

    experiencia.

    A continuacin se te presenta la tabla del resumen del plan del proyecto y posteriormente

    las instrucciones del llenado del resumen del plan del proyecto.

    Proyecto

    1 PSP0 Resumen del plan del proyecto - Programa 1A

    Estudiante Fecha ?????

    Programa

    # programa

    Instructor

    Lenguaje ?????

    Plan Real Hasta la

    fecha

    %

    Hasta

    la

    fecha

    Tiempo en la fase (min.)

    Planificacin

    Diseo

    Codificacin

    Compilacin

    Pruebas

    Postmortem

    Total

    Defectos inyectados

    Planificacin

    Diseo

    Codificacin

    Compilacin

    Pruebas

    Total en

    desarrollo

    Defectos eliminados

    Planificacin

    Diseo

    Codificacin

    Compilacin

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor26 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 26

    Pruebas

    Total en

    desarrollo

    Despus del desarrollo

    Tabla. Resumen del plan del proyecto.

    (Zapata, J., Garca, J., Cerrada, J. 2001. Pg. 142)

    Revisa las siguientes instrucciones para el llenado de la forma de defectos:

    Propsito Para contener los datos reales del plan de los programas.

    General Hasta la fecha significa el total actual de los valores de todos los

    productos desarrollados.

    Encabezado Introducir t nombre, la fecha, nombre y nmero del programa, nombre

    del instructor y lenguaje de programacin.

    Tiempo en la

    fase

    Introduce el tiempo total estimado.

    Introduce el tiempo actual por fase y el tiempo total.

    Hasta la fecha: introduce la suma de los tiempos actuales para este

    programa ms los tiempos a la fecha del programa ms recientemente

    desarrollado.

    % hasta la fecha: Introduce el porcentaje del tiempo hasta la fecha en

    cada fase.

    Defectos

    inyectados

    Introduce los defectos actuales por fase y el total actual de defectos.

    Hasta la fecha: Introduce la suma de los defectos actuales inyectados por

    fase y los valores hasta la fecha del programa ms recientemente

    desarrollado.

    Defectos

    removidos

    Hasta la fecha: Introduce los defectos actuales removidos por fase ms el

    total de defectos del ltimo programa desarrollado.

    % hasta la fecha: Introduce el porcentaje de defectos removidos hasta la

    fecha por fase.

    Despus del desarrollo, registrar todos los defectos encontrados durante

    las pruebas uso, re uso o modificacin del programa.

    Algunos desarrolladores no consideran importante registrar los defectos, sin embargo

    todos los programadores que realizan esta actividad, logran elevar la calidad de sus

    productos de trabajo y aumentar su productividad.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor27 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 27

    1.2.6. Personalizacin del proceso inicial

    En esta asignatura analizars y realizars varios programas utilizando la evolucin del

    proceso que se muestra en la Figura: Evolucin del PSP. El primer proceso es un proceso

    genrico simple, que comienza con la escritura de tus programas como normalmente lo

    haces lo que agregars es el conteo del tiempo y medicin de defectos. En el PSP0

    aplicars esto en un programa, posteriormente la medicin del tamao la vers en el

    programa PSP0.1. La medicin del tamao es una actividad importante ya que te servir

    para comprender cmo trabajas y que con qu velocidad vas mejorando tus tiempos.

    En el resto de esta asignatura vers cmo se utilizan la estimacin de datos histricos del

    tamao y tiempo del programa. Hasta que logres la estimacin y planeacin de tareas y

    calendarios. El contenido de un curso PSP es llevar a cabo todo el proceso en la

    organizacin y demostrar con proyectos reales como cada desarrollador implementa su

    proceso personal de software, hasta complementar objetivos del Proceso grupal de

    software, como se demuestra en la Figura: Evolucin del PSP.

    Figura. Evolucin del PSP

    (Echeverra, C.M., Echeverra, C.D. Asencio, J.L. 2006. Pg. 20)

    PSP2

    Revisiones de cdigo

    Revisiones del diseo

    Proceso grupal de software

    Trabajo en equipo

    Administracin del riesgo

    Planeacin del proyecto y rastreo.

    PSP1

    Estimacin del tamao

    Reporte de pruebas

    PSP0

    Proceso actual

    Mediciones bsicas

    Presenta la disciplina del

    proceso y medicin

    Presenta la estimacin y

    planeacin

    Presenta la administracin

    de la calidad y diseo.

    PSP0.1

    Estndar de cdigo

    Mejora del proceso

    Medicin del tamao

    PSP1.1

    Planeacin de tareas

    Planeacin de calendario

    PSP2.1

    Diseo de plantillas

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor28 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 28

    Evidencia de aprendizaje. PSP0

    Como pudiste darte cuenta el PSP0 es un proceso con mediciones bsicas, para lo cual

    se utilizan formas en las que se registran tiempos y defectos. A continuacin realizars

    esta actividad y podrs analizar cmo se llenan los formatos y para qu se utiliza la

    informacin que se genera.

    Propsito:

    Analizar en base a un programa desarrollado, la manera en que se implementa el PSP 0,

    utilizando diversas formas para el registro de tiempos y defectos.

    Instrucciones:

    A. De manera individual analiza los datos mostrados en el archivo adjunto Material de

    apoyo para la evidencia de aprendizaje, correspondientes al llenado de formatos PSP0.

    B. Analiza y subraya la respuesta correcta en las siguientes preguntas:

    1. En qu unidad estn llenados los tiempos en la hoja de registro de tiempos?

    a) Horas b) Minutos c) Segundos d) Das

    2. Cunto tiempo dedic Alfonso para disear su programa?

    a) 64 minutos b) 43 Horas c) 43 Minutos d) 113 Minutos

    3. Cuntos defectos tuvo Alfonso despus del desarrollo de su programa?

    a) Ninguno b) 1 Defecto c) 2 Defectos d) 3 Defectos

    4. En qu fase insert defectos Alfonso?

    a) Compilacin b) Pruebas c) Diseo d) Ninguna

    5. Cunto tiempo estim Alfonso para el desarrollo de su programa?

    a) 90 Minutos b) 113 Minutos c) 43 Horas d) 43 Minutos

    6. En qu lenguaje program Alfonso su programa?

    a) C++ b) Java c) Pascal d) Fortran

    7. Cunto tiempo invirti Alfonso en corregir el defecto que insert?

    a) 5 Minutos b) 5 horas c) 1 Minutos d) 10 Minutos

    8. Cunto tiempo le tom a Alfonso desarrollar su programa?

    a) 90 Minutos b) 113 Minutos c) 43 Horas d) 43 Minutos

    9. Cuantos defectos removi Alfonso?

    a) Ninguno b) 1 Defecto c) 2 Defectos d) 3 Defectos

    10. Cunto tiempo tard Alfonso en codificar su programa?

    a) 90 Minutos b) 64 Horas c) 113 Minutos d) 64 Minutos

    C. En un archivo de texto copia las preguntas con las respuestas que subrayaste y

    guarda el archivo con el nombre DMDS_U1_EA_XXYZ. Sustituye las XX por las dos

    primeras letras del primer nombre, la Y por la inicial del apellido paterno y la Z por la inicial

    del apellido materno. D. Enva el archivo a tu Facilitador(a).E. Espera la retroalimentacin

    que tu profesor te enviar.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor29 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 29

    Cuando el ingeniero de desarrollo o programador registra sus tiempos y defectos deber

    tomar en cuenta que esto es un proceso personal, que no tiene por qu afectarse con los

    tiempos de otros desarrolladores, por lo cual deber esforzarse en hacer un registro

    honesto para entender y mejorar su proceso personal de desarrollo.

    Autorreflexiones

    Adems de contestar y enviar la Evidencia de aprendizaje, es importante que ingreses al

    foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a) presente,

    a partir de ellas, debes elaborar tu Autorreflexin en un archivo de texto llamado

    DMDS_U1_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta

    Autorreflexiones.

    Cierre de la unidad

    Fue una unidad llena de nuevos conocimientos, para que adquieras habilidades que te

    ayudarn a tener una mejor formacin como ingeniero de software. Revisaste desde los

    antecedentes del PSP y metodologas con las que se relaciona como TSP y CMMI, hasta

    el primer proceso PSP0 y todos los formatos en los que se apoya. Hemos visto que datos

    debemos registrar y cmo hacerlo. Tambin revisamos cmo se debe evolucionar en el

    conocimiento de los procesos PSP.

    En las siguientes unidades podrs poner en prctica los conocimientos de esta unidad

    ms los nuevos que tienen que ver con los siguientes procesos del PSP.

    Para saber ms

    Si deseas saber acerca de PSP, TSP o CMMI puedes consultar la siguiente direccin

    electrnica:

    http://www.sei.cmu.edu/

    Es el sitio oficial de la empresa que comercializa estos modelos. Encontrars: novedades,

    productos y servicios, libros, videos, artculos, etc.

    Fuentes de consulta

    Humphrey, W. (1995) A discipline for software engineering (The complete PSP Book)

    United States of America: Addison Wesley.

    Humphrey, W. (2005) PSP a Self-improvement process for software engineers. United

    States of America: Addison Wesley.

  • Mtricas de desarrollo de software Unidad 1. Mtricas de Desarrollo de Software (PSP)

    Ejecutas el editor30 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 30

    Humphrey, W. (2006). TSP (SM) Leading a Development Team. United States of

    America: Addison-Wesley.

    Zapata, J., Garca, J., Cerrada, J. (2001) Introduccin al proceso software personalSM.

    Madrid, Espaa: Addison Wesley.

    Bibliografa complementaria

    Alvarado, A. (2008) Desarrollo de sistemas con PSP y TSP. Mxico, D.F. Disponible

    en: http://148.206.53.231/UAMI14384.pdf

    Barbieri, S. Bianchi, A. Rossi, G. (2007) Framework de mejora de procesos de

    desarrollo de software. La plata, Argentina. Disponible en:

    http://sedici.unlp.edu.ar/bitstream/handle/10915/4075/Documento_completo.pdf?seque

    nce=1

    Chrissis, M.B., Konrad, M., Shrum, S. (2009).CMMI: Gua para la integracin de

    procesos y la mejora de productos. (Segunda edicin). Madrid, Espaa. Disponible en:

    http://www.sei.cmu.edu/library/assets/cmmi-dev-v12-spanish.pdf

    Echeverra, C.M., Echeverra, C.D. Asencio, J.L. (2006). Implementacin De Un

    Sistema Integrado De Control De Costos De Produccin, rdenes De Trabajo,

    Presupuesto De Obras, Bodega Y Control De Inventario Utilizando Psp (Personal

    Software Process) Y Tsp(Team Software Process). Guayaquil, Ecuador. Disponible

    en: http://www.dspace.espol.edu.ec/handle/123456789/5006

    Garca, Y. (2010) Proceso de Software Personal. EcuRed (Enciclopedia colaborativa

    en la red cubana). Cuba, Disponible en:

    http://www.ecured.cu/index.php/Proceso_de_Software_Personal