Worth reading, before you blame the developers for failed IT projects. In many cases they are just trying to do their job, but are hindered by management. As a developer I try to understand why a certain functionality is needed. Is there a better way? May I join the brainstorming session with the business units to better understand the business need?