Programmers often prioritize functionality over usability, focusing on ensuring features work without considering ease of use. This "it works" mentality can result in interfaces that are difficult to understand. Usability testing is sometimes seen as an unnecessary delay and expense rather than an important part of the design process. However, usability should be considered everyone's responsibility and needs to be checked continuously throughout development. Outsourcing usability entirely risks project failure, as occasional input and end testing are not enough to catch usability issues.