sábado, 7 de diciembre de 2013

I Congreso Internacional de Ingeniería de Sistemas
Universidad Autónoma del Perú, 21-23 de Noviembre de 2013


Deuda Técnica, estudio del impacto del uso de la metáfora en instancias de reflexión de metodologías ágiles

 Joel Jonathan Jara Guerra1

1 Alumno de la carrera de Ingeniería de Sistemas, Universidad Autónoma del Perú. Carretera Panamericana Sur Km. 16.3 Mz. A Lt. 06, Villa El Salvador, Lima 1. jjaraguerra@gmail.com

Resumen

El presente artículo  se inicia  con la descripción de Deuda Técnica, Estudio del impacto del uso de la metáfora en instancias de reflexión de metodologías agiles. Al final se presenta  las metodologías agiles más utilizadas.

Palabras clave: Deuda técnica, proyecto, metodología ágil, feeback.

Introducción

La Deuda Técnica es una excelente metáfora (creada por Ward Cunningham) que nos ayuda a pensar sobre algunos problemas del desarrollo de software. Según la metáfora, hacer las cosas rápido y mal nos incrementa la deuda técnica, la cual es similar a la deuda financiera. Al igual que la deuda financiera, la deuda técnica tiene pago de intereses, que vienen en la forma del esfuerzo extra que será necesario hacer en el futuro por una elección rápida y mala de diseño.

Algunos dicen que el código desprolijo que es producido por personas que no conocen buenas prácticas de diseño (son ignorantes en el tema) no debería llamarse "deuda técnica". En este enfoque, la expresión "Deuda Técnica" se reserva para los casos en que las personas toman una decisión consciente de adoptar una estrategia de diseño que no es sustentable a largo plazo, pero que genera beneficios a corto plazo.

En última instancia somos las personas las que tenemos responsabilidad sobre la deuda técnica no hay nadie más entre nosotros y el código. Es cierto que podemos apoyarnos en generadores de código y en frameworks pero es decisión de la organización, del departamento o nuestra elegirlos y en muchos casos de su evolución. Son importantes en cuanto a que te evitan la realización de tareas mecánicas y en cuanto a que marcan un camino común en el desarrollo pero hay que tener en cuenta que es importante que el código generado sea de calidad porque es posible que en un futuro el equipo que se vaya a encargar de seguir evolucionando el producto no disponga de ese generador (desgraciadamente es algo que casi nunca se tiene en cuenta).

El Manifiesto Ágil o Metodología Ágil


Las metodologías ágiles surgen como una alternativa a las metodologías tradicionales. Son una forma de reacción a ellas, principalmente debido al hecho de que las metodologías tradicionales no han sido capaces de resolver todos los problemas que persiguen al desarrollo de proyectos de software desde sus inicios.

Estamos descubriendo mejores maneras de desarrollo de software, tanto por nuestra propia experiencia como ayudando a terceros. A través de esta experiencia hemos aprendido a valorar:


Individuos y sus interacciones sobre Procesos y Herramientas
Software funcionando sobre Documentación exhaustiva
Colaboración con el cliente sobre Negociación del contrato
Responder al cambio sobre Seguir un plan

Un método de desarrollo de software ágil es aquel capaz de adaptarse a los cambios, especialmente de los requisitos, según el feedback constante y temprano del cliente. El objetivo es minimizar el tiempo y el coste de realizar un proyecto de software, pero manteniendo la calidad. Todo esto se traduce en un ímpetu por las pruebas continuas, preferentemente automatizadas, y la integración continua para crear versiones de forma seguida para poderlas mostrar al cliente y recoger su opinión.

Los 12 principios son un manifiesto que distingue un proceso ágil de lo tradicional.2


Figura 1: Los 12 Principios de los métodos ágiles



Es indudable que estos métodos se estén utilizando, en su totalidad o parte, por la mayoría de las empresas, podemos observar en la ilustración el porcentaje de distribución de los métodos ágiles utilizados.

Figura 2: Distribución de Metodologías Agiles utilizadas en la actualidad.3

Conclusiones

Posiblemente en el artículo, se refiere a las metodologías ágiles y lo nuevo que precisamente no son las técnicas que utilizan, sino el hecho de reconocer que las personas son lo más importante para que el desarrollo del proyecto de software sea un éxito, la importancia de tener satisfecho al cliente cuando se le entrega el proyecto y no solo en el momento del inicio de este con un contrato. Son necesarios métodos que acepten los cambios del cliente, reaccionar ante los cambios con velocidad y destreza y cambiar la dirección manteniendo el equilibrio del proyecto.
Las metodologías ágiles surgen como una necesidad a la hora de satisfacer los cambiantes requerimientos de desarrollo de los sistemas actuales, pero manteniendo la calidad del producto resultante. Por eso es que han sido adoptadas por variadas organizaciones de desarrollo de software como lo demuestra el estudio anteriormente analizado.
Sin embargo, existen algunos problemas que a criterio de los autores dificultan todavía su correcta implementación:
− Lograr la participación activa y comprometida del usuario formando parte del equipo de desarrollo durante todo el proyecto.
− La no fijación de pautas suficientes respecto de la ingeniería del producto.
− La conformación del equipo del proyecto con recursos que puedan adaptarse a las metodologías ágiles.

Referencias Bibliográficas:


·         Santiago Matalonga (2013). Deuda Técnica en instancias de reflexión de metodologías ágiles. Presentado en el I Congreso Internacional de Ingeniería de Sistemas Universidad Autónoma del Perú,  Peru2.

·         http://www.versionone.com/pdf/7th-Annual-State-of-Agile-Development-Survey.pdf3.

·         PFC Raúl Úbeda (2009). Métodos ágiles para el desarrollo de software. PFC Raúl Úbeda Métodos ágiles para el desarrollo de software Descargado desde: http://www.upcommons.upc.edu/pfc/bitstream/2099.1/6859/1/PFC%20Ra%C3%BAl%20%C3%9Abeda%20%20M%C3%A9todos%20%C3%A1giles%20para%20el%20desarrollo%20de%20software.pdf

·         http://sedici.unlp.edu.ar/bitstream/handle/10915/19292/Documento_completo.pdf?sequence=1
Cuadro de texto: Figura 1: Los 12 Principios de los métodos agiles

No hay comentarios:

Publicar un comentario