Click here to load reader
Upload
alejandra-ceballos
View
18
Download
0
Embed Size (px)
Citation preview
1
ENSEÑANZA DE LA APLICACIÓN DE MÉTRICAS DE
SOFTWARE A NIVEL TECNOLÓGICO
Alejandra Duque Ceballos Docente ciencias computacionales, Universidad Autónoma de Manizales, [email protected]
Resumen
La enseñanza de buenas prácticas en el desarrollo de software en los aprendices de formación titulada a nivel tecnológico son importantes porque buscan crear hábitos que serán de utilidad en su vida profesional.
Se plantea una estrategia práctica para ofrecer al aprendiz una iniciación a los conceptos del Proceso Personal de
Software (PSP) aplicando métricas de forma manual utilizando formatos creados en MS Excel y luego un
software especializado como es el Process Dashboard.
Palabras clave
Métricas, PSP, Buenas prácticas, desarrollo de software, Personal software process.
1 Introducción
La aplicación de métricas en el desarrollo de software es una buena práctica que muchas
empresas comienzan a implementar para la mejora de calidad.
La enseñanza de esta herramienta se está empezando a implementar a nivel de educación
superior, existiendo carreras especializadas y certificaciones internacionales para avalar dicho
conocimiento.
Se expone a continuación una experiencia obtenida gracias a la orientación del resultado de
aprendizaje relacionado con métricas de software durante el año 2015 en cuatro de los grupos
de Tecnología en Análisis y Desarrollo de Sistemas de Información del Centro de
Automatización Industrial del Sena Regional Caldas.
2 Planteamiento del problema
Los conocimientos que rodean los conceptos básicos de PSP (Personal software process) son
meramente teóricos y a veces complicados de llevar a la práctica, pero con la ayuda de algo de
experiencia y de las herramientas adecuadas se puede hacer de las métricas de software un
tema agradable, y quizás algo competitivo a la hora de orientarlo.
Para que PSP se considere una buena práctica a la hora de desarrollar se necesita una
metodología de aprendizaje tal que enseñe al aprendiz a utilizar las herramientas que este
ofrece y motivarlo a utilizarlas de forma permanente, no solamente para aprobar el resultado
de aprendizaje, sino que lo vea como una herramienta para el mejoramiento de la calidad en
todo proyecto de desarrollo.
2
3 Objetivos
Dar a conocer las experiencias y resultados adquiridos en el ambiente con los grupos de
formación titulada de Análisis y Desarrollo de Sistemas de Información en el resultado de
aprendizaje concerniente a la aplicación de métricas en el desarrollo de software.
4 Metodología
4.1 Preparación
Los aprendices o estudiantes de temas relacionados con programación o desarrollo de
software, por lo general, solamente conocen casos de éxito de proyectos o programas
relacionados con dichos temas. Para la enseñanza de buenas prácticas basadas en PSP
(Personal Software Process o proceso personal de software) se exponen primero casos en los
que el desarrollo de software no ofreció soluciones efectivas y también en los que el programa
no funcionó de la forma esperada, también se muestran estadísticas acerca de las fallas más
comunes y de las razones por las cuales los proyectos de software fracasan, de esta forma se
crea una necesidad en el estudiante para conocer nuevas metodologías de desarrollo y métodos
para verificar estándares, mejorar la calidad y tener registros personales para comparar durante
las etapas de un proyecto de desarrollo.
Luego se establecen las ventajas de tener una metodología para el desarrollo de software, se
enuncian casos exitosos y se presentan estadísticas en las que se muestran que gran parte del
software fracasa y que se necesitan muchos intentos para obtener un software que se considere
exitoso.
Al enunciar las metodologías de desarrollo más utilizadas se expone PSP como opción de uso
transversal en dichas metodologías, se dan a conocer sus principios, elementos principales,
niveles, formatos y estándares.
Se propone empezar por el nivel más elemental de PSP, ya que la experiencia de los
aprendices en programación es limitada y por lo general se encuentran en las primeras fases de
desarrollo del proyecto de formación y aún no tienen claro el objetivo o la necesidad a
satisfacer.
En la tabla 1 se observan las actividades propias de cada uno de los niveles de PSP.
Tabla 1 Niveles de mejoramiento PSP (Humphrey, PSP(sm): A self-Improvement Process for Software
Engineers, 1995)
NIVEL NOMBRE ACTIVIDADES
PSP0 Medición Personal Registro de tiempo
Registro de defectos
PSP0.1 Registro de defectos
Patrón de tipos de defectos.
Patrón de codificación.
Medida de tamaño.
Propuesta de mejoramiento de proceso.
3
PSP1
PSP1.1 Planeación personal
Estimación de tamaño.
Informe de pruebas.
Planeamiento de tareas.
Cronogramas.
PSP2
PSP2.1
Gerenciamiento de la
calidad personal
Revisiones de código.
Revisiones de proyecto.
Patrones del Proyecto.
PSP3 Proceso personal cíclico Desarrollo cíclico
PSP0 ofrece la creación de una línea base para futuros proyectos, no necesita datos previos
para sus estimaciones, su proceso es simple y definido y ayuda a crear en el aprendiz la cultura
de la documentación de proyectos y registro de tiempos.
Luego de conocer los guiones y formatos correspondientes a PSP0 se procede a conocer su
uso e importancia, es necesario que el aprendiz tenga claro las fases o etapas del desarrollo de
software.
Figura 1 Proceso de PSP (Humphrey, PSP(sm): A self-Improvement Process for Software Engineers, 1995)
En la figura 1 se observa el flujo de procesos de PSP0, en el cual se expresa que las fases del
ciclo del vida del software van acompañadas del guion y de los formatos para realizar la
documentación apropiada del proyecto.
4
4.2 Ejecución
Para tener claro el trabajo con cada formato se ha empezado con el de registro de defectos y
con el registro de tiempos, se hace que los aprendices los elaboren en MS Excel y se explican
paso a paso para tener claro su elaboración y diligenciamiento, también se expoen que son
formatos que se utilizan a lo largo del proyecto, sin importar la fase o etapa en la que se
encuentre.
Adquirir la disciplina de tomar el tiempo dedicado a cada actividad del proyecto no es fácil, en
clase se inicia con un ejercicio de programación estructurada de complejidad media y después
de dar lectura al ejercicio y al realizar el formato de resumen del plan se le solicita al
estudiante registrar un tiempo estimado, en minutos, de lo que él considera que tardará
realizando el proyecto, incluyendo todas las fases.
También se motiva al aprendiz a diligenciar el formato de registro de tiempos teniendo en
cuenta la fecha actual, la fase actual del proyecto, la hora de inicio y fin de la actividad, las
interrupciones realizadas y a calcular el tiempo real de trabajo mediante una fórmula en MS
Excel, además de agregar los comentarios respectivos de lo que se realizó en cada actividad y
también a lo que se dedicó el tiempo de interrupción.
Figura 2, formato de registro de tiempos elaborado en MS Excel y utilizado por los aprendices.
Se exhorta a los aprendices a completar la actividad extra clase registrando sus tiempos y
defectos en los formatos respectivos y revisando sus avances y dudas en la siguiente clase.
Al terminar el ejercicio el aprendiz culmina de diligenciar el formato de resumen del plan
basándose en los totales por fase que arroja el formato de registro de tiempo, elabora las
fórmulas respectivas para obtener los porcentajes a la fecha y suma dichos datos; si ha
encontrado o inyectado defectos los registra en dicho formato también.
Para mejorar la presentación de los resultados, se le puede solicitar al aprendiz la elaboración
de gráficos como el que se observa en la figura 3, esto ayuda a la documentación y a la
obtención de conclusiones.
5
Figura 3, Resultados de un registro de tiempos sumados por fases o etapas y acompañado de una gráfica.
PSP se integra a cualquier metodología que el aprendiz adopte, en este caso, se utiliza una
metodología basada en proceso unificado, la cual le permite retornar a cualquier fase sin
importar en la que se encuentre.
4.3 Análisis de resultados por parte del aprendiz
Al realizar varios ejercicios y diligenciar los formatos antes mencionados, el aprendiz
mejorará en su estimación del tiempo requerido para desarrollar los demás proyectos.
Se proponen dos ejercicios más de programación estructurada de nivel de complejidad medio
y medio bajo, de esta manera el aprendiz puede analizar los registros de tiempos de varios
proyectos y verificar el tiempo destinado a interrupciones y a cada una de las fases, esto le
ayudará a crear una línea base y un punto de referencia para mejorar dichos tiempos.
Al final del curso se ofrece una introducción al manejo del Process Dashboard, que es una
herramienta destinada exclusivamente a la administración de formatos de PSP.
Figura 4, Menú principal del Process Dashboard.
Al aplicar PSP de forma organizada y estructurada el aprendiz podría integrar este método a
los demás proyectos a realizar en los diferentes resultados de aprendizaje.
6
5 Resultados
Durante el tiempo que dura el resultado de aprendizaje el aprendiz conoce los fundamentos
de PSP y aplica PSP0 de forma práctica, desarrollando familiaridad con los formatos
correspondientes.
Se observa que el aprendiz adquiere competencias relevantes en el manejo de MS Excel
las cuales serán útiles en su vida laboral.
Se ha evidenciado que en algunos casos el aprendiz compite consigo mismo para mejorar
el tiempo del proyecto anterior.
Algunos aprendices registran tiempo dedicado al proyecto por fuera del ambiente de
aprendizaje y no necesariamente en la fase que tiene que ver con el desarrollo o
codificación, registran tiempos dedicados a los requerimientos en los casos en los cuales
deben ir a hablar con el cliente, dichos registros a veces se deben hacer de forma escrita de
no contar con un computador como recurso.
El aprendiz empieza a adquirir la disciplina de documentar los defectos encontrados, las
interrupciones y los tiempos dedicados a las actividades.
6 Conclusiones
La intensidad horaria asignada a este resultado de aprendizaje es de 4 horas a la semana,
durante las cuales el aprendiz se dedica a programar la mayor parte del tiempo, además del
diligenciamiento de los formatos de PSP, pero no se verán los resultados deseados a menos
que ocurra una integración de los conceptos de PSP con los demás resultados de
aprendizaje que tiene el aprendiz en su etapa lectiva, además, sería una buena práctica para
aplicar al proyecto de formación.
Aplicar métricas de software a los proyectos puede ser percibido como una carga adicional
sin tener en cuenta las ventajas que trae, la enseñanza de este conocimiento debería estar
orientado a la práctica con la asistencia permanente de los guiones de PSP.
Debido a la falta de experiencia del instructor respecto al registro de efectos, los
aprendices no han obtenido el beneficio esperado en este aspecto, se espera que con la guía
adecuada ellos puedan identificar o inyectar un defecto en cualquier etapa y así
minimizarlos en futuros proyectos.
Agradecimientos
Deseo expresar mis agradecimientos a los aprendices de los grupos de Análisis y Desarrollo de
Sistemas de Información del Centro de Automatización de la Regional Caldas de los grupos:
865206, 900100, 941824 y 751326, ya que sin su ayuda no se hubiese podido recopilar toda
esta valiosa información.
Referencias
Humphrey, W. (1995). PSP(sm): A self-Improvement Process for Software Engineers.
7
Duque. C. A. (2015). Título: Sistema de Gestión de Competencias. Universidad Autónoma de
Manizales, Manizales, Caldas.
Duque. C.A, & Giraldo, O. AM. (2014). Desarrollo de un sistema de gestión de competencias aplicando métricas de software y proceso unificado. Revista Vector, Vol 9, 41-47.