7

Click here to load reader

Artículo, Enseñanza de la aplicación de métricas de software a nivel tecnológico

Embed Size (px)

Citation preview

Page 1: Artículo, Enseñanza de la aplicación de métricas de software a nivel tecnológico

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.

Page 2: Artículo, Enseñanza de la aplicación de métricas de software a nivel tecnológico

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.

Page 3: Artículo, Enseñanza de la aplicación de métricas de software a nivel tecnológico

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.

Page 4: Artículo, Enseñanza de la aplicación de métricas de software a nivel tecnológico

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.

Page 5: Artículo, Enseñanza de la aplicación de métricas de software a nivel tecnológico

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.

Page 6: Artículo, Enseñanza de la aplicación de métricas de software a nivel tecnológico

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.

Page 7: Artículo, Enseñanza de la aplicación de métricas de software a nivel tecnológico

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.