Está en la página 1de 1

Digital Guide

Páginas Web Hosting Servidores Dominios Online Marketing Correo Electrónico '| Productos IONOS

Creación De Páginas Web Diseño Web Desarrollo Web Derecho Digital

IONOS » Digitalguide » Páginas web » Desarrollo web » Deuda técnica explicada

! 15.10.20 | Desarrollo web " # $ %

Productos asociados

MyWebsite

Ver tarifas &

Hosting para
agencias
Ofrece un servicio fiable y de alto
rendimiento a tus clientes con un
Deuda técnica: las posibles consecuencias de pack hosting de IONOS.

ahorrar en el desarrollo de software Ver packs &

Cuando un equipo de desarrollo actúa de manera ahorrativa o con prisas en el desarrollo de software o en la
planificación de las infraestructuras informáticas, este ahorro se acaba pagando en forma de deuda técnica.
La deuda técnica denomina las consecuencias derivadas de las negligencias, errores o deficiencias
deliberadas o involuntarias en relación con el código. Las correcciones y medidas de mantenimiento
Artículos Favoritos
posteriores frenan la productividad y generan elevados costes adicionales
adicionales. ¿Qué hay que tener en cuenta
para evitar la deuda técnica en el desarrollo de software?
Crear páginas web de
peluquerías
A continuación, te mostramos cómo
Índice
puedes crear una página web
1. ¿Por qué se habla de deuda técnica?
2. El cuadrante de la deuda técnica: cuatro tipos de deuda profesional para tu peluquería de
3. ¿Qué origen puede tener la deuda técnica? forma rápida, económica y sencilla...
4. Deuda técnica y desarrollo ágil de software
5. ¿Qué efectos tiene la deuda técnica sobre el desarrollo de software?
6. ¿Cómo se puede evitar la deuda técnica? La página web de una agencia
inmobiliaria
La página web de tu inmobiliaria se
¿Por qué se habla de deuda técnica?
convierte, así, en un factor clave para

En 1992, Ward Cunningham, programador y coautor del Manifiesto por el desarrollo ágil de software, destacar frente a tus competidores...
introdujo la metáfora de la deuda técnica. Con este concepto, Cunningham quería ilustrar la importancia que
la refactorización es decir, la corrección regular del código, tiene para el software. Solo de esta forma es
Crear una página web de
posible evitar que un software genere siempre mas deuda por las crecientes deficiencias operativas y
reformas
estructurales
estructurales.
Con las herramientas adecuadas,
El término deuda también implica intereses, puesto que la deuda técnica es relevante para las empresas podrás crear fácilmente una página
contratantes sobre todo desde el punto de vista financiero. La deuda técnica no solo implica más esfuerzo web conforme a la ley...
y una menor productividad debido a las medidas de mantenimiento posteriores, sino también más
costes. Cuanto más descuida la dirección de un equipo el mantenimiento de una infraestructura o aplicación
informática defectuosa, más intereses genera la deuda y más caras resultan las correcciones del código. Crear la página web de una
clínica dental
Una página web para tu clínica dental
ayuda a tus futuros pacientes a
! Definición: Deuda técnica
encontrarte fácilmente y a hacerse
Con deuda técnica, se definen los errores, carencias y deficiencias deliberadas o involuntarias
una idea de los servicios que ofreces...
en el código que se generan por falta de comunicación, dirección de equipo, cualificación o
publicación apresurada de productos y que aumentan constantemente debido a la falta de
refactorización. Página web de fotógrafo
Conoce los componentes principales
de una página web para fotógrafos y
El cuadrante de la deuda técnica: cuatro tipos de deuda cómo conseguir el mayor número de
visitas posible...
Según Ward Cunningham, la deuda técnica se origina debido a deficiencias en el código que, por falta de
tiempo o presupuesto
presupuesto, obligan a adoptar una solución más rápida del problema, aunque deficiente. Un
código escrito de manera minuciosa y exhaustiva es laborioso y requiere mucho tiempo. Por este motivo, a
veces los desarrolladores optan por un código sucio con el objetivo de ahorrar así tiempo y esfuerzo. Pero
este ahorro se paga con deuda.

Para Cunningham, este aspecto económico de la programación no es algo inusual o antinatural. En caso
de que la deuda técnica no se compense mediante refactorización ni el código se optimice con regularidad, el
desarrollo acabará por interrumpirse o detenerse debido a los intereses metafóricos.

Martin Fowler, autor de Refactoring: Improving the Design of Existing Code, concretó la metáfora de
Cunningham y subdividió la deuda técnica en cuatro tipos, que representó en el cuadrante de la deuda
técnica
técnica:

Deuda imprudente Deuda prudente

Deuda deliberada
Falta de tiempo/presupuesto Priorización de un suministro rápido de
Refactorización descuidada software y compromiso de
refactorización

Deuda involuntaria
Falta de cualificación La refactorización constante elimina
Documentación insuficiente errores y carencias de programación
Sobreingeniería históricos y ayuda a aprender de los
Anti patrones de diseño errores
Erosión de software

Según Cunningham y Fowler, la deuda técnica se puede generar tanto de manera deliberada como
involuntaria. Puesto que la tecnología y la programación incluyen revisiones y mejoras continuas, es
prácticamente imposible evitar la hediondez del código y la erosión del código
código. El software también
envejece y, a falta de actualizaciones y refactorización, también genera deudas. En la mayoría de los casos,
sin embargo, la deuda técnica se debe a decisiones económicas o fallos de programación deliberados o
involuntarios.

¿Qué origen puede tener la deuda técnica?


Aunque generalmente la deuda técnica siempre tiene los mismos efectos sobre el desarrollo de software, las
causas pueden ser muy variadas. Aquí se las presentamos:

Falta de gestión de calidad: los proyectos se desarrollan sin mecanismos de prueba, medición y
control de calidad y generan deuda de manera continua.

Presión económica: debido a las exigencias del cliente o a la presión de la competencia, se da


prioridad a factores económicos y a un desarrollo rápido en detrimento de la limpieza del código.

Falta de cualificación: los conocimientos técnicos del equipo de desarrollo no se corresponden con
las exigencias de un código limpio y elegante. La consecuencia es una hediondez de código o un código
espagueti.

Documentación/comunicación insuficientes: el proceso de desarrollo transcurre sin documentar


las ampliaciones y modificaciones del código en paralelo. Además, las modificaciones del código no se
registran ni comunican a los programadores posteriores. Las posibilidades para la refactorización son
limitadas o inexistentes.

Refactorización en diferido: la deuda técnica aceptada deliberadamente no se salda a corto plazo,


puesto que la refactorización se pasa por alto o se aplaza.

Desarrollo paralelo de aplicaciones: las fases de desarrollo que transcurren en paralelo, pero no
se coordinan, provocan la acumulación de deuda.

Código demasiado complejo: los párrafos de código son demasiado complicados o ilógicos. Las
pequeñas modificaciones pueden provocar más fallos y multiplicar la deuda. En el peor de los casos,
también aquí se genera un código espagueti.

Procesos de desarrollo desestructurados: el desarrollo de aplicaciones comienza antes de que se


definan y decidan un diseño o unos procesos concretos.

Externalización del código: las fases de desarrollo se subcontratan y, durante el proceso posterior
de unión, provocan errores en el código que la dirección del equipo debe aceptar o ignorar.

Modificaciones repentinas en el proceso: debido a la falta de tiempo, las modificaciones


repentinas en el código no se comprueban.

Deuda técnica y desarrollo ágil de software


Ward Cunningham no solo definió la metáfora de la deuda técnica, sino que también es coautor y primer
firmante del Manifiesto por el desarrollo ágil de software. El objetivo de esta filosofía de desarrollo de
software es fomentar un desarrollo y publicación de aplicaciones más flexibles y productivos por
medio de principios y axiomas.

En lugar de permanecer durante largos periodos de tiempo ligados a grandes proyectos, los equipos, más
pequeños e independientes, se esfuerzan por conseguir fases de trabajo más breves y publicaciones
más rápidas de proyectos de menor envergadura, tales como aplicaciones, partes de programas y
actualizaciones.

El desarrollo ágil de software tiene como consecuencia que los equipos escriban y modifiquen un código en
pequeños pasos y las fases de trabajo se finalicen a más velocidad. Cuando la atención se centra en la
rapidez y la productividad, aumenta el peligro de producir un código sucio y, con ello, acumular
deuda técnica
técnica. Sobre todo, cuando el desarrollo ágil de software no va de la mano con la refactorización, la
deuda aumenta de manera inevitable.

¿Qué efectos tiene la deuda técnica sobre el desarrollo de


software?
Los efectos de la deuda técnica se corresponden con los de los créditos en el sector financiero. Si la deuda no
se reduce de manera puntual y regular, se generan intereses
intereses, que se muestran en forma de desarrollo
ralentizado, descenso en la productividad y aumento de los costes.

Por lo tanto, a los clientes les interesa acompañar el desarrollo a largo plazo con un proceso completo de
gestión de calidad
calidad, para no tener que pagar la rapidez y el ahorro en la producción y la publicación de los
productos con costosas correcciones posteriores de errores o, incluso, un parón en el desarrollo.

¿Cómo se puede evitar la deuda técnica?


Debido a las nuevas tecnologías y la evolución en los planteamientos dentro del desarrollo de software, no es
posible evitar la deuda técnica por completo. De hecho, incluso se la acepta con el fin de publicar programas
y aplicaciones de manera regular y rápida y no atar a los equipos a proyectos de forma prolongada. No
obstante, existen medidas preventivas para evitar o reducir la generación o el crecimiento de la deuda:

Procesos estandarizados para la refactorización y la gestión de calidad.


Herramientas siempre actualizadas para la medición y el análisis de errores.
Adaptación de los conocimientos especializados al estado actual de la tecnología de la información
mediante formación continua o composición de los equipos de acuerdo con las cualificaciones.
Diseño claro de códigos mediante división en clases, métodos comprensibles y escritura legible para
programadores posteriores o externos.
Responsabilidades claras y distribución de tareas en equipos para evitar duplicaciones, redundancias y
pasos de trabajo contraproducentes.
Arquitectura informática siempre actualizada por medio de vigilancia, medición y gestión de calidad
constantes.

! 15.10.20 | Desarrollo web " # $ %

Artículos similares

Unit testing: la prueba de cali- Test-driven development: así El behavior-driven develop-


dad para software funciona este método ment en el desarrollo ágil de
! 14.03.2019 | Desarrollo web ! 01.10.2020 | Desarrollo web software
Los unit tests son uno de los métodos Los programadores usan el test-driven ! 01.10.2020 | Desarrollo web

más eficaces para identificar el mayor development (TDD), el desarrollo guiado El behavior-driven development (BDD) es
número de errores en el código fuente por pruebas, para poner a prueba ciertos un componente esencial del desarrollo
durante las primeras etapas de elementos del código y controlar así el ágil de software. Esta técnica no se basa
desarrollo del software. La característica proceso de creación de software. Las en un lenguaje de programación
más especial consiste en aislar a los pruebas o test ayudan a crear una concreto, sino en un formato de texto a
componentes en un entorno de prueba arquitectura más limpia y a reducir los partir del cual se pueden realizar
neutral para realizar el test. Así, en caso bugs. El TDD se lleva a cabo de forma pruebas de forma automática. El llamado
de que se presenten errores, estos se cíclica: tras escribir un test fallido, se desarrollo guiado por comportamiento
pueden atribuir fácilmente al módulo implementa el código productivo, que... facilita el uso de herramientas complejas
que está bajo... sin conocimientos en programación que
ponen a prueba la...

" # $ % " # $ % " # $ %

" # %

Empresa Uso de Cookies Privacidad Centro de Ayuda © 2021 1&1 IONOS España S.L.U.

También podría gustarte