Technical debt and how to avoid it