Technical Quality: Good practices in the development of Free Software

Technical Quality: Good practices in the development of Free Software

Technical Quality: Good practices in the development of Free Software

As in every aspect of our life that we build, technical quality (absence of structural failures), in a software development is also a fundamental key factor in <strong>success</strong> thereof.

Hence, make a evaluation deep and continuous technical quality of the product developed, in this case, mainly the bar code, it's a priority "sine qua non", so that it not only fulfills the objective for which it was created, but so that it does not cause other problems, as a result of its deficient technical quality.

Technical Quality: Concept - Introduction

Technical quality

Un software product o digital tool (application, program, system) developed with technical quality facilitates the maintenance and reusability of it, either in part or completely.

Also, give and keep technical quality a software product, it is not something that should be done lightly, since software has become today one of the main assets and strategic objectives of organizations, because each day, the most important processes of these and their survival in itself, depend on the functioning of the , and even more no faults or errors in their daily lives.

"The technical quality of a digital tool is established to the extent that the writing of the source code and the architecture of the digital tool is free of structural flaws that may block its use or reuse and that also facilitate understanding in the reading and modification of the Source code". Technical Evaluation - Guide to publish digital tools | Code for Development Initiative of the Inter-American Development Bank

What characteristics define the technical quality of a software?

  • Flexibility: To offer full operation without major licensing limitations.
  • Portability: To grant a multiplatform operation, focused on free operating systems.
  • Scalability: To have the proper documentary and informative support for decision making.
  • Interoperability: To achieve successful interconnection with other software products.
  • Discharge: To allow its deployment and use in different contexts and use cases.

Technical Debt: Concept

Technical Debt

Therefore, around the world many mechanisms, standards, programs, norms or good practices to ensure that each software product created has the highest level of technical quality, and does not accumulate over time, any level of technical debt. Rules, like the previous ISO / IEC 9126 and the current ISO / IEC 25000. Programsas Sonaqube and Better Code Hub. And mechanisms or procedures, such as the use of metrics of the kind of Blocker Issues o Duplicated lines.

"When software is built, the difference between how it should be built correctly (from a technical point of view) and how it was actually built is known as technical debt. That debt, if things are not done correctly, will increase or accumulate over time and will cause it to cost more and more to implement new functionalities or simply maintain that software. It is as if it were a mortgage that a bank has granted us". The technical quality of the software, a key success factor (technical debt) | Excentia

Good practices to achieve Technical Quality

Good technical quality practices

For our article, we have taken as an example the Best Practices conceived and disclosed by the "Code for Development Initiative" of the Interamerican Development Bank, on the scope of technical evaluation, which must be carried out when developing software products (digital tools), especially free and open, in order to guarantee the technical quality thereof.

Among the latests Moravia's compositions good practices offered by them, are the ones mentioned below:

  • Write short units of code: To facilitate understanding of the code.
  • Write simple units of code: To facilitate code verification.
  • Write the code once: To mitigate duplicate errors and avoid duplicate changes.
  • Keep drive interfaces small: To facilitate the reuse of them.
  • Different responsibilities separated in different modules: To facilitate the change of them.
  • Pair of architecture components loosely: To favor the isolation of the components.
  • Keep the architecture components balanced: To facilitate understanding of the code.
  • Keep your code base small: To facilitate software maintenance.
  • Automate testing: To streamline work and prevent mistakes.
  • Write clean code: To avoid complexity in an already optimized code.

To expand this information, on the Best Practices in terms of Documentation for the development of Free software, by the "Code for Development Initiative" of the Interamerican Development Bank you can click on the following link: Technical Assessment - Guide to publish digital tools. And in a last post we will explore the part referring to good practice about licensing of the Free and Open Software themselves.

Finally, if you want to read our previous related article called "Good practices to develop free and open Software: Documentation", click here.

Conclusion

Conclusion

We hope that this "useful little post" the «Buenas prácticas» in the field of «calidad técnica» that must be guaranteed to any software product developed, especially if it is «Software libre y abierto», is of great interest and utility, for the entire «Comunidad de Software Libre y Código Abierto» and of great contribution to the diffusion of the wonderful, gigantic and growing ecosystem of applications of and for «GNU/Linux».

And for more information, always do not hesitate to visit any Online library as OpenLibra y jedit to read books (PDFs) on this topic or others knowledge areas. For now, if you liked this «publicación», don't stop sharing it with others, in your Favorite websites, channels, groups, or communities of social networks, preferably free and open as Mastodon, or secure and private like Telegram.

Or simply visit our home page at DesdeLinux or join the official Channel Telegram from DesdeLinux to read and vote for this or other interesting publications on «Software Libre», «Código Abierto», «GNU/Linux» and other topics related to «Informática y la Computación», and the «Actualidad tecnológica».


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.