The Road to the Maturity of Software Engineering

2009 May 6
by jerry.zhu

The immaturity of software engineering discipline can also be seen from the revolution cycle of scientific disciplines and their formation. According to Thomas Kuhn, scientific revolutions come about because existing paradigms no longer solve existing problems, creating “anomalies” that lead to a crisis. Scientists then start to scrutinize the current paradigm itself and start coming up with alternative paradigms. Eventually, a new paradigm that has the power to resolve the anomalies establishes itself. When a new paradigm is finally adopted, science will have undergone what Kuhn calls a scientific revolution. After the revolution, a new normal science is stabilized. Kuhn’s revolution cycle starts from a pre-paradigmatic stage described below.

 

kuhn

 

The pre-paradigmatic phase represents the “pre-history” of a science, the period in which there is wide disagreement among researchers or groups of researchers about fundamental issues, such as which phenomena should be explored and according to which theoretical principle; what are the relations of the theoretical principles with each other and with theories in related domains; what methods and values should guide the search for new phenomena and new principles; what techniques and instruments can be used, and so forth. While such a state of affairs persists, the discipline cannot be said to be truly scientific. A discipline becomes scientific when it acquires a scientific paradigm, capable of putting an end to the broad disagreement characterizing its initial period. At this stage, the discipline becomes a science. Within the new paradigm, the discipline sets the problems, the terms in which these may be approached to give a valid solution and the means of identifying what constitutes a valid solution. It presents challenging puzzles, supplies clues to solutions and guarantees the competent practitioners success that those of the prescience schools did not. This activity of puzzle-solving within the constraints of the paradigm is referred to by Kuhn as normal science.

 

Software engineering can safely be considered to be in crisis within its current paradigm for wide disagreements on the list of problems. The theoretical foundation of Unified Process no longer meets the demand of today’s complex problems. There are several indicators that point in that direction, like huge diversity of development methodologies etc., and wide disagreement among researchers and practitioners about its “scientific paradigm” (i.e., its formal theoretical foundations). The recognition of current status of software engineering being a Kuhnian crisis gives us a clear understanding of where software engineering should be heading and what should be done about the current crisis, the emergence of a new paradigm to put an end to the methodology war. The decision to reject one paradigm is always simultaneously the decision to accept another, and the judgment leading to that decision involves the comparison of both paradigms with nature and with each other. The transition from a paradigm in crisis to a new one from which a new tradition of normal science can emerge is far from a cumulative process, one achieved by an articulation or extension of the old paradigm. Rather, it is a reconstruction of the field from new fundamentals, a reconstruction that changes some of the field’s most elementary theoretical generalizations as well as many of its paradigm methods and applications. When the transition is complete, the profession will have changed its view of the field, its methods, and its goals.

 

The mature software engineering discipline lies in its alignment with the mature fundamentals of design common to all branches of engineering. It must include the science at the lower level for the principle of design to be scientific. This science is not already given like mathematics but must be created real time. It is the organizational science in the application domain, called business model. It is applied science because it is derived from organizational and systems theories. It models relative unchanging business aspects such as the types of customers, services and products, and value paid for.

 

 

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS