bits 14.
There are 3 basic points in How to Build Good Software:
- Reusing good software is easy; it is what allows you to build good things quickly;
- Software is limited not by the amount of resources put into building it, but by how complex it can get before it breaks down; and
- The main value in software is not the code produced, but the knowledge accumulated by the people who produced it.
These points make me to think software development as a more social profession than technical one. Good software is a reflection of good interactions within an organization. If the communication between people is painful, it becomes much harder to accumulate knowledge about organizational needs, to reduce complexity and reuse pieces of the software.