Software development is a complex process, and developers are often uncertain how long it will take to complete any given project. Fixing errors in software, for example, can make up a significant portion of its development time, and developers are motivated not to release software with errors because it could damage their reputation with customers. Last-minute design changes are also common. Large organizations seem to have more late projects than smaller ones, and may benefit from hiring individual programmers on contract to write software rather than using in-house development teams. Adding people to a late software project does not help; according to Brooks' Law, doing so increases the delay.