Bugs and guarantees
menu
telegram telegram
Contact me

Bugs and guarantees

There are a few misconceptions about bugs in software and the guarantees of their absence, which people outside the software industry often don’t understand.

First of all, bugs are a natural byproduct of human work. We all make mistakes, either by not fully understanding something or simply by not paying full attention to what we’re doing.

It is generally impossible to create software that is completely free of bugs. All we can do is create software with a certain degree of reliability. Sometimes, increasing that level of reliability is simply not commercially reasonable. Some bugs are cheaper to have than to fix.

For companies that provide software development services to other businesses, it's always important to discuss the guarantees that can be offered in terms of reliability and quality.

The least risky guarantees are those that can be easily tested, automated, and do not involve end users in the validation process. For example, it's generally possible to create software without critical errors that could cause a system outage.

If a certain level of testing is in place and a quality control process is established, it's possible to build software in which most use cases are validated and bug-free. However, not all use cases are always known in advance. That means there may be situations where the system is used in ways it wasn’t originally designed for.

The most risky guarantees are those related to things that are highly subjective or difficult to test across all possible cases. For instance, this includes guarantees about aspects like visual aesthetics.