What is the Silver Bullet? - Different perspectives for Fred Brooks and Brad Cox
Ouyang Jin (Taiwan)
For the past 20 years, people have been looking for methods to solve the method of software crisis, including structural, artificial wisdom, object-oriented, etc., but the Software Master Fred Brooks predicted in the article published in the article in 1986 to find someone else to solve the software crisis. The sword, after ten years, really unfortunately by him. In 1995, Brooks and COX two masters thought of softly thinking about the miles, Brooks still skeptical, while Cox is quite optimistic. In this paper, the two masters have been introduced in the past and rear, and the readers can cause more interest in the future of the software. Because the author's degree of education and skills are far less than the two masters, they can only introduce the essence in their articles, and have not added the author's interpretation or insight to avoid misleading or limit your thoughts and vision of the author. I hope that you will be empty to read the original writings of the two masters and cultivate your own thinking and creativity. Introduction 20 years ago (1975), the father of IBM, the father - FRED BROOKS published a book: "The Mythical Man-Month". He collected the experience and experience of more than 1,000 people in the 1960s to develop OS / 360 large-scale software systems. From the actual experience, he realized that during the development of large-scale software, it is difficult to bring together the design concept of participants and then provide the consistent design concept consistent with the user, thus causing the high complexity of the software to make large-scale software systems often progress. After backward, the cost of the cost and the mistakes are the so-called software crisis (Software Crisis). After 10 years (1986), Brooks published a famous papers - "no silver bullet: essence and account: essence and account" he asserted: "If you can't find the Solver Bao Guofang (Silver Bomb) in Software Crisis within 10 years (There Will Be No Silver Bullet forin Ten Years). This article arouses the discussion and arguments of many software experts, and "No Silver Bullet" has also become a noun. Brooks believes that the various methods found by the software expert are all, solve the fundamental difficulties of the software - the complicated conceptual structure (conceptual structure "and cannot reach the consistency of the concept. The software is naturally not kind! In 1990, the OO master of "Software IC" was first proposed - Brad Cox published an important article for Brooks's view - "There is a silver bullet" means that he found a monk sword - ie some economic The favorable incentives will cause cultural changes in human society, people will be able to create a Software Component similar to hardware wafers (IC), and package complex structures in the assembly make components. It is easy to use, and it is naturally simple and easy to use by these components. In early 1995, Brooks' famous second edition was released, and the book contained a new article on Shangfang Baojian - "No Silver Bullet Refired". In the article, Brooks commended COX articles, but he thought Cox misunderstood his intention. Despite the decade, the software development method has also progressed, but Brooks still believes that the monks still have not appeared; the development of large-scale software systems is still difficult, can only be gradually improved, don't expect the short-term, there will be a monk sword in the short term. The dilemma of the software. At the end of 1995, Brad Cox published a new article - "No Silver Bullet Reconsidered". In this article, COX has deepened the cause of the cultural and thinking changes, and the reason why the skill is explained from the viewpoint of human culture, and the fashionable conclusion of the software is possible. In the past 10 years, Brooks' prediction is the true truth, and the dilemma of the fruit soft body is not only unresolved, but it is more serious. So what will it be next ten years? Interestingly, everyone will appreciate the deep-thinking of the two masters, then look at your personal opinion, may inspire many new foundings, isn't it? 1975 BROOKS In the "The Mythical Man-Month" book This book is the papers, one of which is called "The Mythical Man-Month", and he uses this as a book name.
Between 1956 and 1965, Brooks actually leads the development plan of IBM 360 large computer, including hardware structure and huge OS / 360 operating system, because he has the respect of "The Father of IBM Large Computer". Since OS / 360 is a large-scale software development of up to 1000-oriented divisions work together, he deeply understands the difficulties and challenges of technology and management of large-scale software development. So, he collected its leadership to develop OS / 360 software system, collected in this book. People often take man-month (how many people, do how many months) to calculate the workload of the software, but Brooks discovers that the development of software is closely communicating with people, making the design work is not easy to divide, so Man-Month The method of calculating is a problem with "Mythical. It also draws the famous Brooks rules - "For the progress of the post-legged software development plan, if you add manpower, it will only make it more backward." This is the The meaning of the name of the book name. Brooks deeply feels the conceptual consistency between participants in the experience (Conceptual Integrity) is the most important part of the MOSTAAL INTEGRITY INSTEM Design. Once the skills have a consistent design concept, the software that is co-created is likely to achieve simple (SIMPLICITY) and the effect of StraightForward. In order to achieve this, Brooks advocates attention should focus on the main architecture of the software and separate it separately from the Implementation. The so-called main architecture is: The Complete and Detailed Specification of the User Interface is described in the Complete and Detailed Specification of the User Interface. The main architecture brings together different ideas of each software division, integration into a consistent concept, then presents the user, so that the user feels the softness is from Single Philosophy, not based on a lot of thoughts. Separating the main architecture with the details of the implementation of the large-scale software program, which is a strong way to obtain consistency concepts (Separation of Architectureal Efforts). 1987Brooks In the "NO Silver Bullet" article, since the "The Mythical Man-Month" books, after ten years, although software experts strive to study new methods to solve their difficulties; but Brooks believe these methods, including Higher-order language, OOP, AI, etc., all of them, only solve some conceptual expression skills, and unable to solve fundamental conceptual structures. In the "No Silver Bullet", he divided the difficulties in the use of the Aristotle's use: ● Essence ─ This is a conceptual difficulty in concept (Conceptual). ● ACCIDENTS - This is difficult to express the concept of concepts into computer representations, in rerestation. For example, OOP's abstract data type (ie, category) concept, only improves the design of the design, so removes only the complexity and difficulties of Accidents during abstraction, but does not remove any fundamental complexity . Since there is no way to solve this fundamental difficulty, the original simple and cute soft body has gradually evolved into progress, and the cost is skyrocketing, incorrectly. "Silver Bullet is translated into a monk sword) can immediately calm them. However, Brooks believes: "Not only don't find a monks in front of you, but it is unlikely to find because of the essence of the software.
NOT INLY ARE THERE NO Silver Bullets Now in View, The Very Nature of Software Makes It Unlikely That There Will Be Any This is the fundamental difficulties listed in Brooks. The fundamental characteristics may come from poor communication between programmators, and generate structural errors or time delays; it is also possible because people cannot fully grasp the various possible states of the program; it is also possible to cause side effects from new features. ● Conformity - In large software development, the interface of each small system is often inconsistent, and it is easier to be more inconsistent due to the evolution of time and environment. ● Changeability (Changability) - Software is often a cultural environment that is integrated by various factors such as people, law, hardware equipment and applications, which will change rapidly. ● Invisibility - Software is invisible, which makes it only to make the use of illustrations, making it a great difficult to communicate in mind. These are the nature of the software, and Brooks believes that there is no shortcut to solve (there is no royal road). However, it can be gradually improved. He believes that a feasible program is: * Buy and build) - Software's construction is trying to use existing zero components, don't start with your head. * Rapid Prototyping - Use the repeated development method (iTERATIVE Development) to improve the skin's skinny shape, and seize the need for users. * Growing Organically - There is life-threatening, the method of building large software should be gradually growing, not a construction completion. * Great Designer - people are the core of software, good ways to improve people's creation, but unable to motivate people's original creativity, they must borrow people with creative people. 1990COX View in the "TheRe IS A Silver Bullet" COX starts with the pessimistic view of Brooks in the "No Silver Bullet", Cox wrote: And in "no silver bullet: essence and accounts of software Engineering , "he (Brooks) argues that the difficulties are inevitable, arising from software's inescapable essence -. not from accident, but from some deficiency in how programmers build software today (the" NSB "article, Brooks claimed that the difficulties these software are not Avoiding, it is a fundamental quality originating from the soft body - that is, it is not from some bystain details, but the shortcomings of today's programming software) then, COX is in the soft dilemma mentioned by Brooks, COX from a new point of view To explain it, it will be optimistic. Cox believes that the softness crisis is inevitably faced (IMMOVABLE) is unable to overcome. When the global economy enters the information era, the market produces the economic incentive in the market, which will contribute to cultural changes in people's society (Cultural Change). Coupled with the mild dilemma current: high cost, poor quality, and people are unable to improve them. Make people's views and thinking of the Software, which is trying to establish reusable standard components and component trading markets from the past line and one line of instructions. ).
In this new environment, the value system, the power structure, the power structure, and the software division are repositioned with consumer relationship; completely from the past, the process of paying attention to the process of the process, the value of the components, Basic cultural elements such as ownership, and buying and purchase systems, leading to the Software Industry Revolution of the Software. Software components are similar to the hardware wafer (IC), which puts the complex package of the assembly, and for the user, the adjustment is no longer complicated. Therefore, establishing a soft wafer market, making people no longer trapped in the complicated complicated computation, and focus on the use, value and sale of the component itself, and the complexity and difficulties of the software will disappear. Therefore, the change in culture and thinking will be a monk sword, can overcome the dilemma of the software; and this change is coming, not the marine building! 1995Brooks In the "NO Silver Bullet" Refired article, since Brooks published "No Silver Bullet" in 1987, the "No Silver Bullet" is inspired by many people who have a discussion and argue between the monk swords, such as the aforementioned COX "there is a silver Bullet "Article, and Harel's" Biting The Silver Bullet "article, etc. Brooks under understanding the reaction of all parties, and after testing today's various software design methods, he still believes that the Magic Solutions Are Not Just Around The Corner. Brooks commended COX's "TheRe IS A Silver Bullet" article is an excellent article, but he believes that Cox misunderstands his original, or two: "1" as described in the article, COX writes in the article : "... But from Some Deficiency in How Programmers Buildware Today." Cox interprets the fundamental difficult interpretation as the lack of the software construction method, in fact Brooks so-called fundamental difficulties refer to conceptual complex on the software No matter what method is used, in any time, it must be presented inherent characteristics. As mentioned in the article, COX wrote in the article: "... Brooks argues that the Difficulties Area, ... hopefully. For example, Brooks believes that the complexity of the software system is a portion of the LEVEL. If the subjective component of the miode is formed into large components of the upper layer, the large component is composed of a larger component, and the hierarchical is clearly organized. The degree can be reduced. Also, when the software is largely increasingly organically grown, it can ensure the correctness of the software. The reason why this difficulty can still be improved or removed, but there is no shortcut. Brooks believes that OO is a promising way, but due to the conversion of people's thinking, the company must first cast a fund-loaded cost, can gradually recover its interests, so OO progression It is a snail. There is only it to solve the soft crisis, and it will not be in front of you. At the end of 1995, Cox's view in the "No Silver Bullet" reconsidered article Cox considered Brooks so-called essential difficult - Complexity, CONFORMITY, CHANGABILITY and INVISIBILITY - not the most fundamental, but by a hidden in the depth ( The symptoms caused by causes (Symptoms). This cause is that there is currently a lack of favorable incentives in culture to encourage corporate companies to produce, buy and sell software components, and fewer sub-grandson modules (SUBComponent). If you are professionally available, you will naturally want to make a simple and easy to use the components to be packaged. Cox thinks that Brooks's view is technologically, and his view is human-centric. Due to the difference in opinion, the interpretation of the soft body will naturally obtain different conclusions.
His conclusion is that the monk sword is possible, just this sword is a change of soft thinking, not technological (Technology). If you want to think, the company sells a pencil, there is a pencil, which is less than the small components of this pencil, such as pencil, pen, etc.. In order to make another pencil, you have to pay the pencil and pencil, making the corporate company of the manufacturing pen and other small components. Because of it, the pencil to the pencil, the manufacturer, etc. will be packaged in the heart, so it is easy to use! However, in the software, the company has manufactured a trial table software, selling a set of coupling meter, just a copy action, does not turn off a bit; no need to buy to the manufacturer of the small component, make the widget The manufacturer is helpless, naturally unable to carry out production, packaging and trading; this is the dilemma of the current software. In the new culture in the future, each item is used once, it is necessary to pay the producer of this article, and this producer must pay a fee to the internal items ( SubObject's producer, so that it is pushed to the smallest component. In this environment, complex structures of each level of objects are packaged, which makes all layers of objects are simple and easy, and the complexity of the software is solved. Conclusion It has been mentioned in the foreword. This article is only introduced to Brooks and Cox's article essence. Out your own conclusion. If you are willing, I hope that you can share it with the author, you are grateful! Will it. References [1] Brooks, Frederick The Mythical Man-Month Reading, MA:... Addison-Wesley, 1975. [2] Brooks, Frederick "No Wilver Bullet: Essence and Accidents of Software Engineering," IEEE Computer (April 1987 "), Pp.10-19. [3] Brooks, Frederick. The Mythical Man-Month, The 20th Anniversary Edition. Reading, Ma: Addison-Wesley, 1995. [4] Cox, Brad. Object-Oriented Programming: an Evolutionary Approach, Reading, Ma: Addison-Wesley. [5] COX, BRAD. "There is a silver bullet." Byte (October 1990), PP. 209-218. [6] Cox, Brad. SuperDistribution "Objects as Property On The Electonic Frontier. Reading, MA: Addison-Wesley, 1995. [7] Cox, Brad. "'NO Silver Bullet'" Reconsidered, "American Programmer (NOVERMBER 1995), PP.2-8. [8] Harel, D. "Biting the Silver Bullet: Toward A Brighter Future for System Development," IEEE Computer (January 1992), PP.8-20. Fred Brooks Fred Brooks Leading IBM System / 360 Large Computer Development Plan between 1956-1965 It established the League status of IBM in the commercial computer market. At present, the University of North Carolina At Chapel Hill. 1975 he published "The Mythical Man-Mon TH "book, is a classic masterpiece in software design. After 20 years, the second edition of the book finally listed in 1995, and it will be released 250000.