Recently, "Software Engineering" and "Software Technology" are non-mapped to fight for fierce, "Software Engineering" supporters, "Software Process", "Software Process" supporters must give up "software engineering". After the "Software Process" published from "Software Craftsmanship", it also set off a burst of ripples in the domestic software community. This article explains the opinion of my own family, I hope to help calm the unnecessary argument. Mount Taishan Beidou Fred Brooks in its 1986 famous papers "No Silver Bullet - Essence and Accident in Software Engineering" ("There is no silver-software engineering in the fundamental and secondary issues"), the software engineering is discounted Solve two types of problems, one is determined by the complexity, consistency, variability and invisibility of the software development, referred to as the fundamental problem, these fundamental issues determine There is a simple technique or management advance, which can significantly improve the efficiency and quality of software development in a short time (10 years). In the past 20 years, Brooks' debut seems to be correct. Another problem is, such as a secondary issue such as software build, etc., is a secondary problem because solving these problems can only improve the overall part of the entire software development process. It can be seen that, like many people, the meaning of "software engineering" in the eyes of Brooks is very broad, and almost all technologies and management issues in software development can be included in the "software engineering". This software engineering that carries the software development method, I call it "Generalized Software Engineering". Pete McBreen debates in "Software Craftsmanship" (some people in the "Craftsmanship" translation of "Craftsmanship", there is no way to translate into a "craft", Software Engineering and Software Craftsmanship are actually metaphor, a synonym, in this question It is not necessary, the key is that the key is that the content of Chinese translation should try to reflect the original meaning) The new metaphor of "Software Technology" is replaced by "Software Engineering" metaphor, because "software engineering" metaphor will lead to people " "Software development process of organizational, measurable ', superstitious so-called standard software development process, so that software development methods rigid, letter, and" software process "brief, guide people to re-emphasis on people's factors, emphasizing Individual experience, the importance of skills. In my opinion, Pete McBreen is criticized in the book, and the spending of Fred Brooks is only focusing on those determined, the amount of the secondary problem is noted, and the complex, consistent, consistent, consistent, consistent, the software development itself is Software engineering, variable, invisible fundamental problem, I call it "narrow software engineering". The most concerned about software technology is actually the fundamental problem in software engineering, because of its intrinsic complexity, consistency, variability, and invisibility, people can even have clear descriptions and analysis of these issues. It is more unable to determine, can be measured, and "narrow software project" is either regardless of these "fuzzy" problems, or if it is not enough, the root problem is the key to determining the success or failure of the software development project.