A lot of people are struggling to think of a problem, although no one can have a completely definite answer, but the "Dream Broken Code" in the book, and personal thinking, still can get some enlightenment: computer strict logic and precision, with the human not strict logical, vague and changeable mode of thinking between the contradictions, Barriers to communication between people and machines. The cost of communication and collaboration between development teams leads to the paradox of the author Brooks Law of the man-moon myth-the addition of manpower to projects that have been delayed will only keep them from delaying. The goal of the project is not clear, the target changes to change, so sometimes decide what to say, more difficult than how to say. Project goals are unrealistic, and from the outset you want to be a system that is right for everyone and can do everything, resulting in the same ending as a perpetual motive. I think most people know the ancient Bible the Parable of CMB Betta, the reason why software engineering is difficult to succeed, may be hidden in this fable revelation, essentially lies in the problem of communication: Software users and software communication, software requirements and developers of communication, programmer and Programmer communication, programmer and machine communication. All of these layers are stacked up to build a barrier to success across the shore. Perhaps one day all these communication barriers can be eliminated, people can easily understand each other, software engineering Babel can really easily build up.
Dream Break code Reading notes of the third