In recent years there has been a lot of talk about technical debt in various fields. Technical debt is the cost that an individual or a group of people will incur in future for hasty decisions in the present, which are often motivated by lack of resources and/or time.
The idea of debt and the interest growing with it are often overlooked when making decisions in projects, and we are often found to have to deal with the side effects only when the weight of the debt is too heavy to carry.
In the past decades, tools and methodologies have changed in many engineering aspects, but legacy data is often left unattended until there is a need to use it. In more complex ecosystems, this attitude results in data being ignored until it starts impacting other aspects of the project.
Smells are recognised in the computer science literature as a violation of design principles. These are the cause of technical debt, and they have been a group in different taxonomies and surveys that make them recognisable. Detecting and characterising inadequate design approaches and their impact on the design ecosystem has led computer science to better educational resources and develop more robust and reusable designs. Similarly, an awareness of the violation of design principles in engineering can help us work better in our field.
We are working on a taxonomy of CAD smells, methodologies to detect them and strategies to deal with them.