Software Technology
Recently, I actually saw the Chinese translation in the city library (English version name "Software Craftsmanship"), it seems that the speed of the library is not my original thinking, only 3 months I saw it. . Although DearBook has long publicized the big flag, I actually succeeded this book from the library. In our city library, even what "Computer ×" broke, you can't borrow, because there are too many people.
However, I actually borrow this lonely in the library (only this one).
This book actually I think it is a better technical book in general in general. She only talks about a question "Software Technology" forgiveness, I am ignorant, I now understand why there is always a master's programmer always calling my own craftsman, listening to "customs", in fact, people come from " "Da Ya" is obtained in the vulgar. If you read this book, you will understand.
Some classic perspectives in the book are as follows, for everyone to see (体 文 为 is personal point of view).
1. In short, the key issue of software engineering is that it has forgotten our simple fact that "is a development software". (Chapter 2 Software Engineering Difficulties? Chinese P13)
The author is committed to proved organized, and the software development process of organizational, and a classic example: "Mary Had a Little Lamb". And it will be derived from the varying sound. This proves the uncertainty of demand documents. Thereby moving the foundation of traditional software engineering. And thereby raised who can replace software engineering.
2. For many projects, software engineering is not so applicable. Software engineering is created, in order to solve the problems encountered in the super-large project, these projects need a huge team that requires continuation of the year. However, most software development projects are completed by relatively small teams. (Chapter 3 Understanding Software Development P30)
Not? The scope of software engineering is narrow, the author thinks so. However, many of our software companies think so, why should we develop according to the set of software projects, we want the software that customers need, not the martyrs of software engineering. In fact, the author is not this. Because I will understand after I read the book, I don't want the software engineering, but I want to throw a metaphor of the "project" of the software engineering. Because most software development processes cannot be measured with metering tools, so they can not engineered .
3, in my opinion, software development is a new thing, which combines three art, science and engineering, and its ultimate goal is to provide a practical system for users. The best way to describe this view is to use the metaphor of "software technology", ... (Chapter 4 Looking for a better metaphor P36-37)
It is the software development process we need to be art, aesthetics and measurable, mechanical synthesis. In fact, from the perspective of identifying, anything has its own two-sided or even more, we can't just emphasize other aspects. But in this sense, I think this book is not suitable for the current China, because we have not attached importance to engineering, what processes do not do, there is no need to do so, if so Then, this book will never be the original meaning of the translator to the majority of Chinese readers.
4. If the members in the project do not have the skills necessary to perform the project process, then the best process in the world will not save the fate of the project failed; in contrast, the truly excellent developer can make any process maximum Usage. (Chapter 5, Reissue Software Development P48)
The process emphasizes people's role. In fact, in the mechanical processing workshop, there are some kinds of precision requirements to be high, and the technicians who have a skill can be taken, so you will not surprise how workers will be 8,000, even higher. Similarly, a high level of software craftsman is like this. "Programming is a craft", this sentence will definitely make many persistent programmers tears. However, most people are also known as a craftsman. 5, software developers are not too little, but too much. We don't lack people developing software. (Chapter 6 does not have to license process P57)
Every recruitment, including the recruitment of people in Microsoft, will have many people to apply. Are we even suspected whether the recruiting company is making a show? Do we not be right? The view in the book is: Bachelor = Mixed four years in school, if a person uses four years to learn from an excellent developer, rather than studying a degree in school, there will be different effects. The author believes that the method of identifying talents can be a personal reputation and personal recommendation. This is a bold point of view. In fact, our company is such a choice, the effect is also very good.
6. Software processes represent another relationship between developers and users: software craftsmen provide users with useful, easy to use tools, and believe that everyone can understand software development. (Chapter 7 Processology What is the impact of the system of the system P69)
Software technology should rebuild the contact between users and developers. In reality, the relationship between users and developers is often distorted. Personal users are weak and pitiful, listening to the version update of the software developer. The group users are often taking the nose, vertical eye, no matter how you explain, it is necessary to change by demand, one word cannot be changed. Can developers and users build mutual understanding and help each other, trust each other's relationship, the world will be happy!
7, there is an old family, if there is a treasure. Software development has only young people to do it, which has become a thinking of thinking - but this amount is wrong. As the work is more and more, the software craftsman can get more and more experienced experience. (Chapter 9 Craftsman's Management P101)
I remember that there was a "analytical programmer agriculture" article, and the article said: A excellent programmer may laugh in the rivers and lakes before he is 30 years old, I am afraid that they are still inevitable when they are forty years old. Into disappeared. For example, many domestic masters: seeking Bojun, Yan Yuan Dynasty, Wang Zhidong, etc. ... Everyone is either to do management, anyway, no longer encodes. So, what is the craftman coming? So there is not much craftsman in our country for choice.
8, apprentices are more effective than school education (Chapter 10 becoming a software craftsman P111)
However, I don't know if there is such a teaching method in mainland China. Software craftsman belt apprentice, not a graduate student. I doubtful to the ideal picture of the apprentice four-seam study in the book. Even if you want the teacher to be from a software craftsman, can he are willing to accept you as a science, even if you accept your hand, you will teach your craftsmanship ? It is known that China's tradition is "leaving one hand". Otherwise, Master's rice bowl has been a problem. I am the most confused for the book is here.
9,,,,,, (Chapter 11 Crafts Master P120)
"Techniques privately useful use of a company", this sentence is enough to let us wake up. So we insist on using C / C , don't confuse the Java and C #. Of course, if you are a new choice, then you will be based on your development project.
10. Due to the fact that "developers can constantly learn", the software engineers have created a "skill lack" illusion. Since the software engineering neglects the existence of individuals, this result is natural. (Chapter 15 "Software Engineering" harm P169) is an original sin of software engineering. We are all victims. "At least two years used Java 1.3 and Swing experience in developing CRM applications on Windows2000." It is also beneficiaries, allowing companies to confirm some people, form a huge development Team, holding a lot of monthly salary. However, the effect is the low level of software, BUGS.
There are still a lot of shocking perspectives in the book, and you can't list it. Such as Java is harmful to the health of the project, etc., I am afraid I will let the Java programmers go crazy. All in all, find a craftsman to find 100 normal programmers. But now I am more willing to regard software technology as the improvement of software engineering, because now, the software engineering has not really deeply in-depth, and talks.