calidad-tecnica-buenas-practicas-desarrollo-software-libre-01

Como en todo aspecto de nuestra vida que construimos, la calidad técnica (ausencia fallos estructurales), en un desarrollo de software es también un factor clave fundamental del éxito del mismo.

Por ende, hacer una evaluación profunda y continua de la calidad técnica del producto desarrollado, en este caso, principalmente el código, es una prioridad sine qua non”, para que el mismo no solo cumpla con el objetivo para el cual fue creado, sino para que no cause otros problemas, a raíz de su deficiente calidad técnica.

calidad-tecnica-buenas-practicas-desarrollo-software-libre-02

Calidad Técnica

Un producto de software o herramienta digital (aplicación, programa, sistema) desarrollado con calidad técnica facilita el mantenimiento y reusabilidad de la misma, ya sea en parte o completamente.

Además, darle y mantener la calidad técnica de un producto de software, no es algo que deba hacerse a la ligera, ya que, el software se ha convertido hoy en día, en uno de los principales activos y objetivos estratégicos de las organizaciones, debido a que cada día, los procesos más importantes de estas y su supervivencia en si misma, dependen del funcionamiento del software, y más aún sin fallas o errores en su día a día.

La calidad técnica de una herramienta digital se establece en la medida en que la escritura del código fuente y la arquitectura de la herramienta digital esté libre de fallos estructurales que puedan bloquear su uso o reutilización y que además faciliten la comprensión en la lectura y modificación del Código Fuente. Evaluación Técnica – Guia para publicar herramientas digitales | Iniciativa Código para el Desarrollo del Banco Interamericano de Desarrollo

¿Que características definen la calidad técnica de un Software?

  • Flexibilidad: Para ofrecer un funcionamiento pleno sin mayores limitaciones por temas de licenciamiento.
  • Portabilidad: Para otorgar un funcionamiento multiplataforma, enfocado en Sistema operativos libres.
  • Escalabilidad: Para contar con el debido soporte documental e informativo para la toma de decisiones.
  • Interoperabilidad: Para lograr la interconexión satisfactoria con otros productos de software.
  • Licenciamiento: Para permitir su despliegue y utilización en distintos contextos y casos de uso.

calidad-tecnica-buenas-practicas-desarrollo-software-libre-03

Deuda Técnica

Por lo tanto, alrededor del mundo se han creado y/o establecido muchos mecanismos, estándares, programas, normas o buenas prácticas para garantizar que cada producto de software creado cuente con el nivel más alto de calidad técnica, y no acumule con el tiempo, ningún nivel de deuda técnica. Normas, como la anterior ISO/IEC 9126 y la actual ISO/IEC 25000. Programas, como Sonaqube y Better Code Hub. Y mecanismos o procedimientos, tales como el uso de métricas del tipo de Blocker Issues o Duplicated lines.

Cuando se construye un software, a la diferencia entre cómo se debería construir correctamente (desde un punto de vista técnico) y como se ha construido realmente se le conoce como deuda técnica. Esa deuda, si las cosas no se hacen correctamente, se irá incrementando o acumulando con el tiempo y provocará que cada vez cueste más implementar nuevas funcionalidades o simplemente mantener ese software. Es como si se tratara de una hipoteca que nos ha concedido un banco. La calidad técnica del software, factor clave de éxito (la deuda técnica) | Excentia

calidad-tecnica-buenas-practicas-desarrollo-software-libre-04

Buenas prácticas de calidad técnica

Para nuestro artículo, hemos tomado de ejemplo, las Buenas prácticas concebidas y divulgadas por la “Iniciativa Código para el Desarrollo” del Banco Interamericano de Desarrollo, sobre el ámbito de la evaluación técnica, que debe llevarse a la hora de desarrollar productos de software (herramientas digitales), sobre todo libres y abiertos, para así garantizar la calidad técnica del mismo.

Entre las buenas prácticas ofrecidas por ellos, se encuentran las mencionadas a continuación:

  • Escribir unidades cortas de código: Para facilitar la comprensión del código.
  • Escribe unidades simples de código: Para facilitar la verificación del código.
  • Escribe el código una vez: Para mitigar errores duplicados y evitar la duplicación de cambios.
  • Mantener las interfaces de la unidad pequeñas: Para facilitar la reutilizar de las mismas.
  • Distintas responsabilidades separadas en módulos distintos: Para facilitar el cambio de los mismos.
  • Pareja de componentes de arquitectura sin apretar: Para favorecer el aislamiento de los componentes.
  • Mantener los componentes de arquitectura equilibrados: Para facilitar la comprensión del código.
  • Mantenga su base de código pequeña: Para facilitar el mantenimiento del software.
  • Automatice las pruebas: Para agilizar el trabajo y prevenir errores.
  • Escribir código limpio: Para evitar la complejidad en un código ya optimizado.

Para ampliar dicha información, sobre las Buenas prácticas en materia de Documentación para el desarrollo del Software Libre, por parte de la “Iniciativa Código para el Desarrollo” del Banco Interamericano de Desarrollo se puede hacer clic en el siguiente enlace: Evaluación Técnica – Guía para publicar herramientas digitales. Y en una última publicación exploraremos la parte referente a las buenas prácticas sobre el licenciamiento del Software Libre y Abierto de ellos mismos.

Por último, si deseas leer nuestro artículo anterior relacionado llamado Buenas prácticas para desarrollar Software libre y abierto: Documentación”.

licencias-desarrollo-software-libre-codigo-abierto-buenas-practicas-04

Conclusión

Esperamos que esta “pequeña y útil publicación” sobre las «Buenas prácticas» en el ámbito de la «calidad técnica» que se debe garantizar a cualquier producto de software desarrollado, sobre todo si es «Software libre y abierto», sea de mucho interés y utilidad, para toda la «Comunidad de Software Libre y Código Abierto» y de gran contribución a la difusión del maravilloso, gigantesco y creciente ecosistema de aplicaciones de y para «GNU/Linux».

 

Fuente: desdelinux

¿Quién está en línea?

Hay 15968 invitados y ningún miembro en línea