You are on page 1of 8

FINTDI 2009

107

Experiencias Docentes en la Aplicacin del Proceso


Software Personal en Primero de Grado de Ingeniera
Informtica
Leonardo Bermn-Angarita, Alvaro Fernandez Del Carpio, Mara Isabel Sanchez-Segura,
Javier Garca-Guzmn, Antonio Amescua Seco
Departamento de Informtica
Universidad Carlos III de Madrid
Legans, Madrid, Espaa
{lbermon, arfernan, misanche, jgarciag, amescua}@inf.uc3m.es
Abstract Este artculo presenta resultados de la
enseanza a alumnos de primero de carrera de Grado en
Ingeniera Informtica utilizando el Proceso Software Personal.
Por medio de la revisin de conceptos tericos y el desarrollo
de prcticas basadas en una evaluacin continua, los
estudiantes entienden qu es un proceso de software, adquieren
habilidades para conocer cmo desarrollan personalmente sus
programas en forma disciplinada y recolectan mtricas que
pueden incorporarse como mejoras. Con la introduccin de
PSP en el primer ao de grado, los estudiantes van adquiriendo
disciplina en el proceso de gestin de su tiempo y logran
gestionar sus trabajos prcticos entendiendo y aplicando las
tareas bsicas de Ingeniera de Software desde etapas
tempranas de formacin.
Palabras clave-proceso personal; ingeniera de software;
mejora de proceso; docencia informtica

I.

INTRODUCCIN

El desarrollo de software requiere el uso disciplinado de


prcticas establecidas. El uso de planes y procedimientos
conlleva a la eficiencia en el trabajo para obtener un producto
de calidad [1]. Sin embargo, los estudiantes en sus primeros
cursos de informtica basan su trabajo en ideas intuitivas sobre
cmo desarrollar software [2]. Es necesario que los estudiantes
en etapas tempranas conozcan y desarrollen competencias
acerca del proceso de software y mejoren su nivel de formacin
basado en la codificacin y depuracin de errores [3].
Una disciplina que permite desarrollar dichas competencias
es el Proceso Software Personal (Personal Software Process
PSP), el cual se fundamenta en que los desarrolladores
recolecten medidas relacionadas con sus productos de trabajo y
los procesos para desarrollarlos [4].
Este artculo pretende determinar si aplicar un enfoque
orientado al proceso basado en PSP, ayudar a adquirir
disciplina en el desarrollo de software en primero de grado de
Ingeniera Informtica como parte de la formacin inicial de
los estudiantes aprendiendo hbitos de medicin, estimacin,
planificacin y seguimiento de tareas. Los beneficios esperados
con la imparticin de este curso son las capacidades y
competencias que los estudiantes obtendrn para desarrollar
software de manera predecible, evitando sobrecostos y entregas

tardas en el desarrollo de proyectos. La investigacin realizada


tiene en cuenta la falta de experiencia en programacin y la
carencia de una disciplina previa en el desarrollo de tareas.
Los resultados obtenidos demuestran un nivel favorable de
aceptacin en la introduccin de conceptos bsicos de PSP en
el desarrollo de pequeos programas con un enfoque basado en
clases tericas y prcticas, una evaluacin continua de las
prcticas realizadas y el uso de herramientas tecnolgicas que
apoyen las tutoras y el material de aprendizaje del curso.
Este artculo se ha estructurado en las siguientes secciones.
La primera seccin presenta la introduccin. La segunda
seccin describe conceptos fundamentales de PSP. La tercera
seccin muestra un resumen de la aplicacin de PSP en planes
de estudios. La cuarta seccin expone la aplicacin de PSP en
cursos de informtica en Espaa. La quinta seccin describe el
contexto, planificacin, desarrollo y evaluacin del curso
impartido. La sexta seccin presenta un anlisis de los
resultados obtenidos. En la sptima seccin se presentan las
lecciones aprendidas. Finalmente, se exponen las conclusiones
y trabajo futuro.
II. PROCESO PERSONAL SOFTWARE
El Proceso Software Personal es una infraestructura
definida y medible de procesos que ayuda a los desarrolladores
de software a estimar y planificar sus proyectos, medir y
realizar seguimiento de su trabajo, y mejorar la calidad de los
productos desarrollados [5].
El Proceso Personal Software fue desarrollado por Watts
Humphrey en el Software Engineering Institute (SEI) de la
Universidad Carnegie Mellon [6]. PSP surgi como una
propuesta de aplicar modelos de mejora de procesos dirigidos a
grandes organizaciones (como Capability Maturity Model
CMM) a proyectos pequeos e individuales [7].
PSP es un proceso evolutivo como se muestra en la Fig. 1.
Los niveles de procesos PSP son [6]:
PSP0: Es el nivel bsico de PSP donde se realiza un
registro de los tiempos y defectos durante el desarrollo.
o PSP0.1: Incluye medicin de tamao de los
programas y una propuesta de mejora del proceso.

Martn Llamas Nistal, Manuel Caeiro Rodrguez y Juan Manuel Santos Gago, editores
FINTDI 2009: Fomento e Innovacin con Nuevas Tecnologas en la Docencia de la Ingeniera
ISBN 978-84-8158-463-9 2009 IEEE, Sociedad de Educacin: Captulos Espaol y Portugus

108

FINTDI 2009

III. PSP Y CURSOS DE INGENIERA DEL SOFTWARE


Entre algunos desafos que se encuentran en el aprendizaje
del proceso de software est la madurez de los estudiantes para
que reconozcan el valor de una disciplina aplicada al proceso
de software (cuestin que todava no han experimentado en
etapas tempranas) y una introspeccin forzada para conocer
cmo se desarrolla individualmente el software comprendiendo
sus hbitos y prcticas de desarrollo para mejorar [2].

Figura 1. Niveles de procesos PSP.

PSP1: Incluye el mtodo PROBE para realizar


estimaciones de tamao de programa y tiempo de
desarrollo. El mtodo est basado en un anlisis de
regresin lineal aplicado a datos histricos.
o PSP1.1: Aade la planificacin de tareas y
calendario y la tcnica de valor ganado para la
realizacin de seguimiento del proyecto.
PSP2: Incluye revisiones de diseo, revisiones de
cdigo y medicin y evaluacin de la calidad.

La aplicacin de PSP en los programas curriculares de


ciencias de la computacin se remonta a mediados de la
dcada de los 90. Muchas universidades han incorporado su
enseanza a estudiantes de cursos de primeros aos como
tambin a estudiante graduados con la finalidad de intentar
transmitir los beneficios que trae consigo la aplicacin de PSP.
Basado en las experiencias obtenidas, se han recopilado
resultados sobre su aplicacin. Segn [3], los factores
importantes para la enseanza del PSP son: el entorno del
curso, el nivel de cobertura y las herramientas de soporte. El
entorno depende de la audiencia, del nivel del curso y del
contenido del tema. Segn los casos de estudio publicados, su
enseanza puede ser satisfactoria en cualquier entorno, pero
muestran dificultad de integracin con otros cursos.
Estos factores permiten evaluar las experiencias obtenidas
en algunos centros de estudio como se presenta en la Tabla I.

o PSP2.1: Incluye tcnicas de especificacin de diseo


y tcnicas de prevencin de defectos.
PSP3: Se aplican mtodos de verificacin de diseo
para adaptar PSP al ambiente de la organizacin.
PSP se basa en una serie de elementos [4]: Guiones para
realizar tareas dentro del proceso; Formularios para registrar
datos acerca del proceso; y Estndares para establecer pautas
de codificacin, conteo de lneas de cdigo y tipos de defectos.
El flujo de procesos de PSP se muestra simplificado en la
Fig. 2. Primero se planifica el trabajo. Se contina con las fases
de diseo, codificacin, compilacin y pruebas. A medida que
el trabajo se realiza, se registran datos de tiempos y defectos.
Al finalizar el proyecto, se realiza un anlisis post-mortem para
completar el resumen del plan de proyecto [6].

TABLA I. COMPARATIVA DE CURSOS PSP.


Centro
Universidad Ume
(Suecia),
Universidad de
Utah, Universidad
Purdue, Montana
Tech y Universidad
Drexel (EE.UU) [3]

Universidad de
Zagreb (Croacia)
[8]

Universidad de
Oulu (Finlandia)
[9]
Milwaukee School
of Engineering
(EE.UU) [10]

Lund University
(Suecia) [11]

Figura 2. Flujo del proceso PSP.

Universidad de
Memphis (EE.UU)
[12]

Entorno del
curso
Enseanza
dirigida
bsicamente
a estudiantes
de primer o
segundo
semestre.

Estudiantes
de aos
superiores.
Se sugiri la
enseanza
para
estudiantes
de inicio de
curso.
Estudiantes
de aos
superiores.
Estudiantes
de segundo
ao.

Estudiantes
de primer
ao y de
postgrado.
Cursos de
primer y
segundo ao.

Nivel de
cobertura
Versin
ligera de
PSP y una
versin
completa en
cursos de
Ingeniera
del
Software.
Curso de
Ingeniera
del
Software.
Enseanza
de PSP
simplificado.

Herramientas de
soporte
En algunos casos
se usaron hojas de
clculo para
recopilar la
informacin y en
otros se us una
herramienta
propia
desarrollada.
Herramienta
desarrollada.

Cursos de
Ingeniera de
Software
Curso de
Proceso de
Ingeniera
del
Software.
Curso de
introduccin
a PSP.

Documentos
electrnicos
(hojas de clculo).
Registro manual
de los datos de los
procesos.

Curso de
Ingeniera
del
Software.

Herramienta de
trabajo propia.

Martn Llamas Nistal, Manuel Caeiro Rodrguez y Juan Manuel Santos Gago, editores
FINTDI 2009: Fomento e Innovacin con Nuevas Tecnologas en la Docencia de la Ingeniera
ISBN 978-84-8158-463-9 2009 IEEE, Sociedad de Educacin: Captulos Espaol y Portugus

Herramienta
basada en Excel.

FINTDI 2009

109

Los resultados de la aplicacin de PSP en las universidades


anteriormente mencionadas fueron:
- Aceptacin de la enseanza del curso: Su enseanza
result generalmente buena [3]. Los estudiantes de Escuela de
Ingeniera de Milwaukee se enfocaron principalmente en
aprender los componentes de los procesos de medicin en lugar
de hacer el seguimiento y medicin de sus datos [10]. El curso
en la Universidad de Lund fue trasladado al segundo ao con
la finalidad de que los estudiantes adquirieran primeramente
habilidades de programacin antes de usar PSP. Los
estudiantes del primer ao tuvieron ms preguntas sobre
programacin que sobre los procesos de PSP. Debido a que los
estudiantes del primer ao no cuentan an con las habilidades
suficientes de programacin se recomend su enseanza para el
segundo ao [11]. De manera similar en la Universidad de
Memphis se concluy que an es prematura la enseanza de
PSP en cursos de primer y segundo ao, ya que los estudiantes
no estn listos para apreciar los beneficios de su aplicacin
aunque ellos encontraron que aprender las partes de PSP es
fcil [12].
- Conocimientos requeridos: Debido a que los estudiantes
de los primeros aos no cuentan con los conocimientos
estadsticos necesarios, se aconsej la enseanza de los
procesos bsicos del PSP en los primeros aos y los conceptos
que requieren estadstica para los ltimos [3]. Los estudiantes
de la Universidad de Oulu mostraron problemas con contenidos
orientados a las matemticas [9]. Los estudiantes de la Escuela
de Ingeniera de Milwaukee necesitaron conocimientos previos
en Programacin orientada a objetos, Diseo de software y
Estructuras de datos [10]. Para los alumnos del primer ao en la
Universidad Lund se us Java como lenguaje obligatorio [11].
- Motivacin: Se determin que la motivacin es un punto
importante para los estudiantes y no se aconsej reducir el
nmero de ejercicios ya que los estudiantes no pueden ver
claramente su progreso. Ya que el curso de PSP en la Escuela
de Ingeniera de Milwaukee no requera exmenes, los
alumnos estuvieron menos motivados para llevar la lectura de
los textos de estudio. Para ello, los instructores debieron
reforzar continuamente los hbitos del proceso. Los estudiantes
percibieron que al destinar ms tiempo para registrar y analizar
programas complejos, mejora la calidad de sus programas. As
tambin, descubrieron que pueden ser mejores programadores
aplicando tcnicas simples y prcticas [10].
- Registro de informacin: Los estudiantes de la
Universidad de Oulu presentaron problemas en el llenado de
los formularios [9]. Para los estudiantes de la Escuela de
Ingeniera de Milwaukee el llenado de formularios fue una
tarea aburrida e incmoda [10]. Los estudiantes de primer ao
de la Universidad Lund registraron de manera incompleta la
informacin [11]. En la Universidad de Memphis muchos
estudiantes estuvieron de acuerdo que usar el Resumen del Plan
de Proyecto les ayud a entender mejor los procesos de
desarrollo de software y a seguir los pasos ms rigurosamente.
Tambin estuvieron de acuerdo en que el registro del
seguimiento ayud a mejorar sus habilidades de estimacin de
esfuerzo [12].

- Productividad: El trabajo en parejas obtuvo buenos


resultados [3]. Se consigui una disminucin de defectos
durante las fases de compilacin y pruebas [8]. Los estudiantes
de la Universidad de Oulu no mostraron una significativa
mejora en la estimacin del esfuerzo y los defectos encontrados
en la fase de pruebas disminuyeron en un factor de 4:2. El
esfuerzo de codificacin disminuy de 40% a 24% pero el
esfuerzo de planificacin se increment de 4% a 26% [9]. Los
programas desarrollados por los estudiantes de primer ao de la
Universidad Lund eran pequeos y no se tuvo total certeza si
realmente reportaron todos los defectos encontrados. Estos
estudiantes mejoraron su productividad de PSP0 a PSP1 [11].
Similarmente, en una evaluacin que se realiz a
estudiantes de otras 20 universidades alemanas, se encontr
dificultad en la resolucin de los ejercicios, ya que el nivel de
experiencia de programacin y de conocimientos tericos era
muy diverso [13]. Se obtuvo un nivel de aceptacin moderada
de motivacin del curso y el nivel de dificultad de las clases
tericas fue ligeramente bajo. Como puntos vitales en la
enseanza de PSP, se concluy la importancia de enfocar la
asignatura en aspectos relevantes de PSP y cmo
implementarlos, sin perderse en detalles. Algunos problemas al
usar PSP en la enseanza fueron: requiere una gran disciplina,
es necesario el soporte de una buena herramienta para la
gestin de la informacin recolectada, las hojas de clculo
provistas son bastante inflexibles y especializadas para su uso.
Algunos estudios recomiendan incluir PSP como elemento
fundamental dentro de los planes curriculares [3] [14] y
concretamente en introducir sus conceptos en los primeros
cursos de las titulaciones [15].
IV. APLICACIN DE PSP EN INFORMTICA EN ESPAA
En consultas realizadas en pginas web de ms de 30
universidades espaolas, los conceptos de PSP se incluyen
generalmente en asignaturas como Ingeniera de software I y II,
Calidad de sistemas de informacin, Planificacin y gestin de
proyectos informticos, y Anlisis y gestin del desarrollo de
software. Estas asignaturas se encuentran en titulaciones como
Ingeniera tcnica en informtica de sistemas, Ingeniera
tcnica en informtica de gestin e Ingeniera informtica.
A nivel de programas adaptados al EEES en la titulacin de
Grado en Ingeniera Informtica, en la Tabla II se presenta un
listado de universidades que ofrecen dicha titulacin y las
asignaturas relacionadas con Ingeniera del software junto con
los cursos donde se imparten.
Las asignaturas relacionadas con la Ingeniera de software
se imparten generalmente a partir del segundo curso o en
cursos superiores. Para la mayora de las asignaturas no se
obtuvo informacin especfica sobre sus contenidos. En los
casos donde estn publicados no se incluye PSP dentro de sus
contenidos.
Por lo tanto, la aplicacin de principios de ingeniera de
software basados en PSP en un primer curso de grado en
Ingeniera Informtica es un aspecto novedoso y relevante de
este estudio.

Martn Llamas Nistal, Manuel Caeiro Rodrguez y Juan Manuel Santos Gago, editores
FINTDI 2009: Fomento e Innovacin con Nuevas Tecnologas en la Docencia de la Ingeniera
ISBN 978-84-8158-463-9 2009 IEEE, Sociedad de Educacin: Captulos Espaol y Portugus

110

FINTDI 2009

TABLA II. ASIGNATURAS SOBRE INGENIERA DE SOFTWARE EN GRADO DE


INGENIERIA INFORMTICA.

Centro

Curso

Asignaturas

Univ. de Deusto

Univ. Autnoma
de Madrid
Univ. San Jorge de
Zaragoza
Univ. Europea de
Madrid

Ingeniera de
software I y II
Ingeniera de
software
Ingeniera de
software
Introduccin a la
ingeniera del
software
Ingeniera del
software y
Ampliacin
Ingeniera del
software e Ing.
software avanzada
Ingeniera de
software
Ingeniera de
software I y II
Ingeniera del
software I y II
Procesos de
desarrollo de
software
Ingeniera del
software de
gestin
Ingeniera del
software

3
2

Univ. Rey Juan


Carlos

2y3

Univ. Alcal de
Henares

Univ. Santiago de
Compostela
Univ. Catlica San
Antonio de Murcia
Univ. Politcnica
de Madrid
Univ. de Murcia

3
3y4
3y4
3

Univ. de Vigo

Univ. de Rioja

V.

Temario
publicado
Si

PSP

No

No

Si

No

TABLA III. RELACIN DE CLASES TERICAS Y PRCTICAS .

Semana

Teora

Prctica

El trabajo del ingeniero


de software
Introduccin a PSP

Investigacin sobre
fallos del software
Modelado con ETVX.

Gestin y control del


tiempo
Medicin del tamao
de software
Estimaciones de
tiempo y tamao
Planificacin del
proyecto
Microsoft Project

Programa con listas y


clculos estadsticos
Conteo manual del
tamao de programas
Programa de conteo de
tamao de programa
Estimacin del tamao
de un programa
Programa para calcular
regresiones lineales
Planificacin de tareas
y calendario
Planificacin de tareas
con Ms-Project
Programa para calcular
rangos de tamaos
relativos
Gestin de la
configuracin con
SourceSafe

No
2
3
4
5

Si

No

No

6
7
8

Si

No

No

10

No

No

Seguimiento de
proyectos
Gestin personal de la
configuracin
Aplicacin de la
tcnica del valor
ganado
Gestin de la
configuracin

No

*: Utilizando la herramienta PSP Student Workbook.

No

11

APLICACIN DE PSP EN PRIMERO DE GRADO DE


INFORMTICA

Para describir la aplicacin de los conceptos de PSP en un


curso de primero de grado en Ingeniera Informtica se
describir a continuacin su contexto, planificacin, desarrollo,
la prctica final y finalizando con su evaluacin.
A. Contexto del curso
Las experiencias se basan en la aplicacin de PSP durante
la imparticin de una asignatura de primero de grado en la
titulacin de Ingeniera Informtica de la Universidad Carlos
III de Madrid. La asignatura fue Principios de Ingeniera de
Software y estaba formada por 8 grupos (1 bilinge) con un
total de 278 estudiantes y 5 profesores durante el curso 20082009. Las prcticas se realizaron en parejas en 7 de los grupos
e individuales en uno de ellos.
B. Planificacin
El curso se planific con una duracin de 11 semanas por
ser bajo rgimen cuatrimestral y desarrollndose a travs de
una clase terica y una prctica a la semana. Un resumen de los
temas de estas clases se presenta en la Tabla III. En el curso se
impartieron conceptos de PSP referentes a los niveles PSP0,
PSP0.1, PSP1 y PSP1.1. Durante el curso no se profundiz en
aspectos de programacin. Para la realizacin de algunas
prcticas se entreg material de aprendizaje adicional para
completarlas con xito. Cada prctica tena un peso diferente de
evaluacin debido a su complejidad y esfuerzo de resolucin.

Contexto
PSP
PSP
general
PSP0*
PSP0.1
PSP0.1*
PSP1*
PSP1
PSP1.1*
PSP1.1*

C. Desarrollo
El curso iniciaba cada semana con una clase terica donde
se impartan los conceptos fundamentales acerca del proceso de
software, y los procesos y formularios PSP necesarios para la
realizacin de las prcticas.
Las clases prcticas iniciaban con una lectura de su
enunciado y a continuacin, se describa por medio de un guin
el proceso PSP especfico para su realizacin y los formularios
con datos a recolectar. Los estudiantes procedan a realizar la
prctica o a resolver dudas sobre su resolucin. Los estudiantes
tenan un nivel de conocimientos muy bsico en programacin
obtenido del curso de Programacin del cuatrimestre anterior.
Las tareas de programacin se realizaron con lenguaje Java
utilizando como plataforma de desarrollo Eclipse Europa. Los
estudiantes tenan una semana de plazo para el desarrollo y
entrega de la prctica.
El material sobre el proceso PSP para elaborar las prcticas
fue generado por los estudiantes utilizando la herramienta PSP
Student Workbook [16]. Esta herramienta desarrollada por el
SEI, proporciona soporte para la recoleccin de datos del
proceso, anlisis de datos histricos y produccin de reportes.
En la Fig. 3 se presenta un ejemplo de un resumen del plan de
proyecto generado a partir de la herramienta.
Para la gestin de los materiales de aprendizaje del curso,
publicacin de anuncios, gestin de grupos, y publicacin y
entrega de las prcticas se utiliz la plataforma SelCampus de
nuestro grupo de investigacin. Dicha plataforma es un sistema
de gestin de aprendizaje implementado por medio del sistema
Dokeos [17]. En la Fig. 4 se muestra la seccin del buzn de
tareas de la plataforma con algunas prcticas enviadas.

Martn Llamas Nistal, Manuel Caeiro Rodrguez y Juan Manuel Santos Gago, editores
FINTDI 2009: Fomento e Innovacin con Nuevas Tecnologas en la Docencia de la Ingeniera
ISBN 978-84-8158-463-9 2009 IEEE, Sociedad de Educacin: Captulos Espaol y Portugus

FINTDI 2009

111

E. Evaluacin
La evaluacin del curso se bas en criterios de evaluacin
continua donde el conjunto de actividades realizado durante el
curso tuvo mayor importancia frente al examen final
tradicional. Durante el cuatrimestre se realiz una verificacin
constante del avance del trabajo realizado por los estudiantes.
A medida que se desarrollaban las prcticas, se publicaban
las notas respectivas para que los estudiantes y profesores
realizaran un seguimiento semanal del trabajo. Adems, otro
recurso bastante utilizado por los estudiantes fueron las tutoras
resueltas de manera presencial y por medios electrnicos.
Para el clculo de la nota final de la asignatura, las prcticas
tuvieron un porcentaje asignado del 60% de la nota final del
curso, la prctica final un porcentaje de 30% y el examen final
un porcentaje de 10%.
El examen final fue de dos tipos dependiendo si el
estudiante realiz o no la evaluacin continua. El examen para
estudiantes que cumplieron la evaluacin continua fue tipo test
con 30 preguntas sobre los contenidos tericos y prcticos de la
asignatura. El examen para estudiantes que no realizaron dicha
evaluacin fue un caso prctico sobre el proceso de desarrollo
de un programa donde se deban realizar formularios PSP.
Figura 3. Resumen del plan de proyecto.

VI. ANLISIS DE LOS RESULTADOS OBTENIDOS


Los resultados obtenidos se analizan desde las
evaluaciones realizadas a los estudiantes sobre las prcticas.
Los criterios usados para evaluar las prcticas concernientes
a PSP se presentan en la Tabla IV. Estos criterios permitieron
determinar el nivel de aprendizaje y habilidad adquirida en la
aplicacin de PSP en el desarrollo de pequeos proyectos.
Cada criterio de evaluacin tena un conjunto de subcriterios
con pesos diferentes utilizando una escala numrica de uno a
diez sin decimales.
TABLA IV. CRITERIOS DE EVALUACIN

Prctica

Figura 4. Recepcin de prcticas en SelCampus.

Los estudiantes deban enviar al buzn de tareas de


SelCampus tanto el cdigo fuente de los programas
desarrollados como los formularios PSP generados en la
herramienta PSP Student Workbook.
D. Prctica Final
Una vez finalizadas las prcticas de la asignatura se
procedi a publicar el enunciado de la prctica final del curso.
Los estudiantes tuvieron tres semanas de plazo para su
elaboracin. La prctica final consisti en utilizar el proceso
PSP1.1 para el desarrollo de un algoritmo que implementara la
solucin al problema del clculo del grado de coincidencia de
dos cadenas de texto. El problema fue presentado en el
enunciado del caso prctico considerado en la asignatura de
Estructura de Datos y Algoritmos del mismo cuatrimestre.

Programa con listas y


clculos estadsticos
Conteo manual del tamao
de programas

Programa de conteo de
tamao de un programa

Contexto
PSP
PSP0
PSP0.1

PSP0.1

Estimacin del tamao de


un programa

PSP1

Programa para calcular


regresiones lineales

PSP1

Planificacin de tareas y
calendario

PSP1.1

Programa para calcular


rangos de tamaos relativos

PSP1.1

Criterios
Registra correctamente los
tiempos y defectos.
Aplica los mtodos de
distribucin normal y
logartmica en la tabla de
tamaos relativos de programas.
Registra correctamente los
tiempos y defectos y el tamao
del programa.
Identifica adecuadamente las
clases y estima el tamao del
software apropiadamente.
Aplica los mtodos A, C y D de
PROBE para realizar
estimaciones de tamao y
tiempo.
Planifica adecuadamente las
tareas y el calendario aplicando
la tcnica de valor ganado.
Elabora pruebas correctas de
software y obtiene el valor
ganado real

Martn Llamas Nistal, Manuel Caeiro Rodrguez y Juan Manuel Santos Gago, editores
FINTDI 2009: Fomento e Innovacin con Nuevas Tecnologas en la Docencia de la Ingeniera
ISBN 978-84-8158-463-9 2009 IEEE, Sociedad de Educacin: Captulos Espaol y Portugus

112

FINTDI 2009

En las Fig. 5, 6, 7 y 8 se presentan resmenes con los


promedios de evaluacin obtenidos de todos los grupos sobre la
capacidad de registrar correctamente los tiempos para las
diferentes fases, la identificacin de diferentes tipos de
defectos, la realizacin de estimaciones y la planificacin y
seguimiento de las prcticas.

La Fig. 5 muestra que los datos de registro de tiempos eran


cada vez ms consistentes pero en las dos ltimas prcticas no
se realiz un seguimiento detallado de dichos registros debido a
que se dio mayor importancia a la evaluacin de otros aspectos
de PSP. Los valores altos se deben a que esta actividad de
medicin es la ms sencilla y es el ncleo bsico de PSP.
La evaluacin del registro de defectos en la Fig. 6 indica
una tendencia de mejora en la identificacin y registro de
defectos. Sin embargo, no se registraron adecuadamente todos
los defectos detectados porque tendan a ser agrupados. Los
valores bajos se deben a que los estudiantes tuvieron
dificultades en el entendimiento del concepto de defecto y
cmo se registra.

Figura 5. Evaluacin de registro de tiempos PSP.

La evaluacin de estimaciones en la Fig. 7 presenta


tambin una tendencia creciente en la mejora de las
estimaciones realizadas en las prcticas. Las estimaciones
inician con unos valores bajos debido a que inicialmente no se
identificaron correctamente las clases, hubo confusin en los
conceptos de lneas bases, reutilizadas y nuevas reutilizadas, y
en el cierre correcto de prcticas anteriores que influyeron en
que el registro histrico presentara errores que se reflejaron en
las estimaciones.
La evaluacin de la planificacin y seguimiento del
proyecto se presenta en la Fig. 8. Estas tareas, que se realizaron
en la prctica de PSP1.1 y en la prctica final, presentan una
evaluacin cercana al 50% debido principalmente a que el
concepto de valor ganado aunque fue entendido y calculado
correctamente a nivel de planificacin, fue mal interpretado y
calculado durante el seguimiento del proyecto.

Figura 6. Evaluacin de registro de defectos PSP.

El promedio final de evaluaciones de la Fig. 9 presenta


porcentaje altos en la realizacin correcta del registro de
tiempos y defectos que reflejan que sus conceptos fueron
comprendidos. Los conceptos de estimaciones, y planificacin
y seguimiento presentan valores medios debido a su
complejidad y los diferentes errores cometidos en su
realizacin.
Teniendo en cuenta que no tenemos mecanismos para
evaluar ms profundamente estos resultados ya que es la
primera vez que se imparte este curso, el anlisis realizado
manifiesta porcentajes superiores al 50% en los aspectos
evaluados que hacen favorable la incorporacin de conceptos
de PSP en nuestro curso de primero de grado.

Figura 7. Evaluacin de realizacin de estimaciones PSP.

Figura 8. Evaluacin de planificacin y seguimiento PSP.

Figura 9. Promedio finales de evaluaciones.

Martn Llamas Nistal, Manuel Caeiro Rodrguez y Juan Manuel Santos Gago, editores
FINTDI 2009: Fomento e Innovacin con Nuevas Tecnologas en la Docencia de la Ingeniera
ISBN 978-84-8158-463-9 2009 IEEE, Sociedad de Educacin: Captulos Espaol y Portugus

FINTDI 2009

113

Esta conclusin tambin es apoyada por la


retroalimentacin obtenida por los estudiantes a partir de las
encuestas docentes realizadas donde la estimacin del nivel de
habilidades alcanzado por los estudiantes obtuvo una media de
3.39 con una desviacin de 0.96 y un nivel de satisfaccin de
3.59 con media de 1.08.
Los resultados acadmicos del curso reflejan un alto
nmero de estudiantes aprobados. El porcentaje total de
aprobados fue del 63.67%, el porcentaje de suspensos es bajo,
13.31% y los no presentados 23.02%.
VII. LECCIONES APRENDIDAS
La incorporacin de PSP en etapas tempranas de
aprendizaje permite a los estudiantes entender mediante una
serie de ejercicios prcticos qu es un proceso y una disciplina
para realizarlo, as como adquirir el hbito de realizar
mediciones, aspecto clave no slo del desarrollo personal si no
en cualquier faceta de la vida. Adems, al recolectar datos
sobre cmo desarrollan sus programas, se obtiene una lnea
base que ayudar a planificar trabajos futuros.
El xito en la imparticin de la asignatura se fundament en
una adecuada coordinacin entre las clases tericas y prcticas,
un seguimiento continuo del trabajo realizado y mecanismos de
soporte basados en herramientas, tecnologas de la informacin
y tutoras para ayudar a los estudiantes.
A. Problemas presentados
Algunos problemas que se presentaron durante el transcurso
de la asignatura fueron:
Dificultades en la realizacin de las prcticas debido al
conocimiento bsico previo de conceptos y del
lenguaje de programacin de los estudiantes.
El trabajo en parejas no fue realizado apropiadamente
ya que en algunos casos las prcticas eran repartidas
por los estudiantes y desarrolladas individualmente.
Los estudiantes se enfocaron en rellenar los
formularios pero no siguen los procesos PSP definidos.
Problemas al usar las herramientas de clculo
estadstico.
PROBE es un mtodo de estimacin complejo donde
algunos estudiantes confunden los conceptos de lneas
bases, nuevas, modificadas, reutilizadas y nuevas
reutilizadas.
B. Propuestas de mejora
Algunas propuestas de mejora para solucionar estos
problemas son:
Reducir la complejidad de las prcticas: Para afrontar
el nivel bsico de conocimiento de programacin, las
prcticas a desarrollar tendrn el nivel de esfuerzo de
los ejercicios realizados en el curso de Programacin
del cuatrimestre anterior y de las prcticas paralelas a
ser realizadas en el curso de Programacin Orientado a
Objetos del mismo cuatrimestre.

Hacer nfasis en los procesos PSP: Para que los


estudiantes no se limiten a llenar los formularios, se
debe exigir el conocimiento y aplicacin de los guiones
de procesos PSP y luego presentar cmo se desarrollan
los guiones utilizando la herramienta.
Incorporar ejemplos detallados de diseo conceptual:
El concepto fundamental del mtodo PROBE es la
identificacin de los proxies del programa. Pare ello se
debe profundizar en aspectos de diseo conceptual,
presentar ejemplos y mostrar errores comunes. A partir
de un buen entendimiento del diseo conceptual se
podr explicar mejor el mtodo PROBE, presentando
ejemplos reales con cdigo que faciliten el aprendizaje
de las estimaciones de las partes de un programa.
Seguimiento ms estricto del desarrollo de las prcticas
para verificar que se est trabajando realmente en
parejas. El seguimiento se realizar por medio de
preguntas a los integrantes de los grupos sobre las
prcticas realizadas.
VIII. CONCLUSIONES Y TRABAJO FUTURO
El trabajo realizado en la asignatura se centr en desarrollar
habilidades concretas en Ingeniera del Software que
involucran el registro y estimacin de tamaos y tiempos a
medida que se elaboran las prcticas semanales. El curso se
enfoc en el desarrollo de competencias para entender el
proceso de software y no en profundizar aspectos de
programacin. De esta manera, los estudiantes perciben por
primera vez que la tarea de desarrollar software es un proceso
complejo con un conjunto de actividades de ingeniera que
requiere tcnicas para construir software que van ms all de
sus competencias iniciales sobre codificacin de programas.
PSP contiene un nmero significativo de plantillas y
formularios. Se recomienda tener una herramienta que
automatice dicho proceso. Por ejemplo, PSP Student Workbook
facilita llenar los formularios PSP e implementa un registro
histrico para poder llevar a cabo las estimaciones.
Con la imparticin de los conceptos de PSP en etapas
tempranas de formacin y una evaluacin continua basada en la
realizacin de prcticas semanales, los estudiantes comienzan a
desarrollar competencias en el rea de Ingeniera del Software.
El curso impartido muestra una diferencia significativa
entre los resultados encontrados al comienzo y al final del
proceso. A medida que se realiza una nueva prctica, las
medidas presentadas en los formularios de recoleccin de datos
mejoran debido a que deben ser llenados nuevamente y se ha
obtenido realimentacin a travs de tutoras y presentacin de
errores comunes en las clases.
Estableciendo comparativas con los cursos de PSP
impartidos en otras universidades, se puede determinar que
existen varias coincidencias en cuanto al grado de completitud
de la informacin entregada (tiempos y defectos),
incorporacin de herramientas de apoyo, problemas de
habilidades en programacin, imparticin de primeros niveles
de PSP y capacidad de adquirir hbitos con las tcnicas
aprendidas que se pueden aplicar en cursos posteriores, a pesar

Martn Llamas Nistal, Manuel Caeiro Rodrguez y Juan Manuel Santos Gago, editores
FINTDI 2009: Fomento e Innovacin con Nuevas Tecnologas en la Docencia de la Ingeniera
ISBN 978-84-8158-463-9 2009 IEEE, Sociedad de Educacin: Captulos Espaol y Portugus

114

FINTDI 2009

que los estudiantes de primer ao no perciban an


completamente los beneficios de PSP.
El trabajo futuro se basar en la elaboracin de material de
aprendizaje terico y prctico de los niveles faltantes (PSP2,
PSP2.1 y PSP3) en una asignatura posterior del plan de
estudios y la elaboracin de material de aprendizaje a nivel de
equipos de trabajo basado en Team Software Process (TSP).
RECONOCIMIENTOS
Agradecemos a los integrantes del grupo de investigacin
Software Engineering Lab de la Universidad Carlos III de
Madrid que participaron durante el desarrollo de la asignatura.
REFERENCIAS
[1]
[2]

[3]
[4]
[5]

[6]
[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]
[15]

[16]
[17]

M. Morisio, Applying PSP in industry, IEEE Software 17, 6, 2000,


pp.90-95.
D.A. Umphress y J.A. Hamilton, Software process as a foundation for
teaching, learning, and accrediting, Software Engineering Education
and Training, 2002. Proceedings 15th Conference, pp.160169.
J. Brstler et al., Teaching the PSP: challenges and lessons learned,
19, 5, 2002, pp. 4248.
W. Humphrey, , PSP: a self-improvement process for software
engineers, Addison-Wesley. 2005.
P. Ferguson, W. Humphrey, S. Khajenoori, S. Macke, A. Matvya,
Results of applying the personal software process, IEEE Computer,
30, 5, 1997, pp 24-31.
W. Humphrey, Introduction to the personal software process, Pearson
Educacin, Madrid, 2001.
I. Hirmanpour y S. Khajenoori, Personal Software Process Technology:
An Experiential Report, Proceedings of ISECON 2000, v 17,
Philadelphia, pp. 115.
Z. Car, A Method for teaching a software process based on the personal
software process, Proceedings of the 21st IASTED International
Conference Applied Informatics AI 2003, Innsbruck, Austria, 2003, pp.
1115-1120.
P. Abrahamsson y K. Kautz, Personal software process: classroom
experiences from Finland, Proceedings of the seventh European
conference on software quality, Helsinki, Finlandia, 2002.
D. Suri y M. J. Sebern, Incorporating Software Process in an
Undergraduate Software Engineering Curriculum: Challenges and
Rewards, Proceeding of the 17th Conference on Software Engineering
Education and Training (CSEET'04), 2004.
P. Runeson, Experience from Teaching PSP for Freshmen,
Proceedings of. 14th Conference on Software Engineering Education &
Training, pp. 98-107, 2001.
J. I. Maletic, A. Marcus y A. Howald, Incorporating PSP into a
Traditional Software Engineering Course: An Experience Report,
Proceedings of the 14th Conference on Software Engineering Education
and Training, 2001.
L.Prechelt, B. Unger y O. Gramberg, Experience report: teaching and
using the personal software process (PSP), Institut fr
Programmstrukturen und Datenorganisation, 1997.
W. S. Humphrey, Using a defined and measured personal software
process, IEEE Software, 1996.
T.B. Hilburn y M. Towhidnejad, Integrating the personal software
process across the undergraduate curriculum, Frontiers in Education
Conference Proceedings, 1997.
Pgina web del SEI. http://www.sei.cmu.edu/tsp/tools/academic/.
Consulta realizada en Septiembre 2009.
Pgina web de la herrmienta Dokeos. http://www.dokeos.com/es.
Consulta realizada en Septiembre 2009.

Leonardo Bermn Angarita. Es candidato a Ph.D. en


Computer Science y pertenece al grupo Software Engineering
Lab de la Universidad Carlos III de Madrid. Tiene un BSc y un
MSc en Computer Science de la Universidad Industrial de
Santander, Colombia. Sus reas de investigacin son la
Definicin y Mejora del Proceso de Software y la Gestin del
Conocimiento.
lvaro Fernndez del Carpio. Es candidato a Ph.D. en
Computer Science y pertenece al grupo Software Engineering
Lab de la Universidad Carlos III de Madrid. Tiene un MSc en
Computer Science de la Universidad Carlos III de Madrid. Sus
actuales intereses son: Mejora de Procesos de Software,
Entornos de Trabajo Colaborativo, Modelos de Evaluacin y
Living Labs.
Mara Isabel Snchez Segura. Es profesora del
Departamento de Informtica de la Universidad Carlos III de
Madrid desde 1998. Sus intereses de investigacin incluyen:
Ingeniera de Software, Sistemas Interactivos y Usabilidad en
Sistemas Interactivos. Posee un BSc en Computer Science, un
MSc en Software Engineering, y un Ph.D. en Computer
Science de la Universidad Politcnica de Madrid.
Javier Garca Guzmn. Tiene un BSc en Engineering y un
Ph.D. en Computer Science (Universidad Carlos III de
Madrid). Tiene experiencia de ms de 9 aos como Ingeniero
de Software y consultor en empresas pblicas y privadas. Ha
participado en numerosos proyectos de investigacin
financiados con recursos pblicos y privados (europeos y
nacionales).
Antonio Amescua Seco. Es Ph.D. en Computer Science y
es Catedrtico de la Universidad Carlos III de Madrid. Ha sido
Director del desarrollo de la metodologa METRICA V3,
estndar obligatorio para la Planificacin y Desarrollo de
Sistemas de Informacin en la Administracin Pblica
Espaola. Actualmente dirige el grupo de investigacin SEL
(Software Engineering Lab) llevando a cabo proyectos de
investigacin e innovacin tecnolgica financiados tanto por
empresas privadas como por entidades pblicas.

Martn Llamas Nistal, Manuel Caeiro Rodrguez y Juan Manuel Santos Gago, editores
FINTDI 2009: Fomento e Innovacin con Nuevas Tecnologas en la Docencia de la Ingeniera
ISBN 978-84-8158-463-9 2009 IEEE, Sociedad de Educacin: Captulos Espaol y Portugus

You might also like