Skip to content
E

Especificación PISAgile

Descripción principal

Introducción

PISAgile es un proceso de desarrollo ágil, que tiene por objetivo guiar en la construcción de productos de software de calidad acorde a las necesidades del cliente y en los plazos definidos, y ser un facilitador para que los estudiantes - por medio de su aplicación - puedan adquirir y desarrollar ciertos conocimientos y habilidades.

Es un proceso para el desarrollo de software que realiza un abordaje que va desde la identificación de la necesidad del cliente hasta la transferencia de los productos construidos y los resultados obtenidos. PISAgile busca incorporar las mejores prácticas de la ingeniería de software vinculadas al desarrollo evolutivo; promueve experimentar de forma temprana para agregar valor al cliente y obtener retroalimentación lo antes posible para realizar las adaptaciones necesarias.

Arquitectura del proceso: componentes

PISAgileArquitectura

Está compuesto por los siguientes componentes principales y subcomponentes:

  • Dimensión estática: En la dimensión estática del proceso se abordan los aspectos estáticos del proceso por medio de componentes, esto incluye las disciplinas (o líneas de trabajo) -subcomponente transversal al resto-, las actividades, recursos de soporte, los roles, los productos o artefactos, y las métricas e indicadores -subcomponente transversal al resto-. También las relaciones entre estos componentes.

  • Dimensión dinámica: La dimensión dinámica del proceso define el orden temporal. Se compone de fases e iteraciones. Cada fase tiene objetivos, criterios de fin de fase y una duración sugerida (en semanas). Las fases se componen de iteraciones, cada iteración contribuye a la creación o evolución de incrementos que componen uno o más artefactos, productos o resultados del proyecto. Esta creación o evolución está guiada por un conjunto de actividades asociadas a las disciplinas (o líneas de trabajo) que deben ser ejecutadas para lograrla.

  • Valores y principios: son los cimientos del proceso sobre los cuales se definen ambas dimensiones, se incluyen valores y 12 principios que involucran al equipo de desarrollo (grupo de estudiantes), al cliente, al coach (docente del curso) y a otros interesados (stakeholders).

    • Los valores son cualidades o atributos intangibles que deben adoptar y desarrollar los involucrados en el proceso PISAgile en forma individual y grupal.
    • Los principios son reglas que guiaron la especificación del proceso y van a guiar la forma de trabajo al aplicar este proceso de software.

Dimensión dinámica

PISAgile consta de tres fases: fase inicial, fase de construcción y fase de transición. La fase inicial tiene como objetivos principales que los estudiantes tengan un primer acercamiento al proyecto y proceso, comiencen a conformarse como equipo, entiendan las necesidades del cliente y logren hacer una conceptualización básica del producto a construir. La fase es de una única iteración de tres semanas. La fase de construcción tiene como objetivos principales la construcción y la aceptación del producto de software. Esta fase dura 10 semanas, dividida en 5 iteraciones de 2 semanas cada una. La fase de transición, tiene como objetivos hacer la transferencia final de los productos de software construidos al cliente, evaluar el resultado obtenido, y se reflexiona sobre el proceso y proyecto. Esta fase es de una única iteración de una semana.

ProcesoPISAgile_v1.1

Dimensión estática

La dimensión estática se compone de:

DisciplinasPISAgile_V1.1
  • actividades: Las actividades están asociadas al menos a una disciplina, cuentan con un nombre, descripción y objetivo, y precondiciones para su ejecución, entre otras características. Las actividades establecen un vínculo con la dimensión dinámica mediante la especificación de su duración, frecuencia de ejecución y ubicación temporal (fase, iteración, semana). Es importante notar que debido al diseño del proceso hay actividades recurrentes, repetitivas o de ejecución única dentro de la ubicación temporal.

  • artefactos y productos:

    • Los artefactos son elementos tangibles que pueden estar compuestos por otros artefactos. Estos son consumidos, generados y modificados mediante distintas actividades o en la misma actividad siendo ejecutada en instancias, fases y/o iteraciones distintas.
    • Los artefactos entregables (productos) son un tipo particular de artefactos que tienen valor por sí mismos para algún interesado, o sea su construcción ya denota cierto avance acorde a las expectativas de este.
    • Al combinar los artefactos asociados a las actividades, con las instancias de ejecución, fases o iteraciones surgen los conceptos de incrementos y microincrementos.
    • Cuando un grupo de estudiantes utiliza PISAgile en su proyecto, crean y evolucionan artefactos. Algunos de los artefactos son descritos en el proceso y otros los denen el equipo y el dueño del producto acorde a las necesidades del proyecto
  • resultados: Los resultados son elementos intangibles que serán entregados para el trabajo interno del equipo o de forma externa al cliente. Los resultados son salidas generadas en las actividades que tienen valor por sí mismos para algún interesado y no son candidatos a ser reutilizados.

  • roles: el proceso define diferentes roles entre los interesados. Cada rol tiene un conjunto de responsabilidades y funciones asociadas que se encuentran vinculadas a las disciplinas y actividades del proceso. Se definen 11 roles, donde 7 de ellos deben ser cubiertos por el equipo de desarrollo.

  • recursos de soporte: Los recursos de soporte incluyen: prácticas, técnicas, guías, herramientas, estándares y memoria del curso, entre otros que puedan definirse.

  • métricas e indicadores: Se definen métricas e indicadores para contar con evidencia y parámetros que permitan evaluar el desempeño del proceso, y así poder mejorar y evolucionar un proceso es necesario. El desempeño del proceso se mide de forma holística considerando aspectos cualitativos y cuantitativos, y se evalúan aspectos vinculados a calidad del producto, del proceso y la adopción de los principios.

Relación entre la Dimensión estática y dinámica

La dimensión dinámica brinda un sentido de ubicación temporal en la participación de los componentes definidos en la dimensión estática. En la línea temporal dada por las fases e iteraciones se define la secuencialidad o el paralelismo entre actividades, brindando un orden lógico en su ejecución. Las actividades consumen y generan artefactos, pero esto no implica que el consumo o la generación se de forma completa. Dado que es un desarrollo evolutivo, cada artefacto, puede ser consumido o generado mediante actividades distintas o en la misma actividad siendo ejecutada en fases y/o iteraciones distintas. A modo de ejemplo, en algunos casos mediante la ejecución de una actividad se va a generar un producto de forma completa (no van a evolucionar más) y en otros van a seguir evolucionando incrementalmente. Esto hace que surjan dos artefactos fundamentales incrementos y microincrementos

Incrementos y microincrementos

Los incrementos de la iteración son los artefactos construidos hasta el momento en la iteración más las nuevas porciones de artefactos (construidas durante la iteración, que se agregarán a los ya construidos) más lo que ya estaba construido en iteraciones anteriores. Con el objetivo de simplificar, en algunas ocasiones se va referir a la unión de todos los incrementos de los distintos artefactos o resultados para una iteración como el incremento de la iteración.

Los microincrementos son pequeñas porciones que componen los incrementos, y se agregan cada vez que se ejecuta una actividad.

PISAgileArtefEntNiv

Niveles de planificación y evaluación del progreso

Se definen distintos niveles de planificación y evaluación del progreso

La planificación, seguimiento y la evaluación del progreso debe hacerse a tres niveles:

Esto brinda al equipo una visión general de objetivos a largo plazo que lo guíen, y a su vez pueda trabajar focalizado en objetivos cortos, y adaptarse rápidamente a los cambios.

Los tres niveles no son independientes, las decisiones que se tomen en cada uno va a impactar en otro.

Estimación en el proceso

El estimación en el proceso durante el proyecto tiene en cuenta los distintos niveles de planificación para acordar el alcance, compromiso y mantener una visión global a largo plazo.