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
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.
Dimensión estática
La dimensión estática se compone de:
- disciplinas (o líneas de trabajo):Las disciplinas o líneas de trabajo son una forma de clasificar y agrupar en temáticas el desarrollo del conocimiento. En el proceso se clasifican en dos tipos: disciplinas básicas y disciplinas de soporte.
-
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.
-
- 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.
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.