"IT Isn't Different After All": Implications of Normalized Systems for the Industrialization of Software Development

Evolvability has emerged as a crucial non-functional requirement for software. Normalized Systems (NS) theory studies how modular structures in software respond to increasing amounts of change. The theory is based on concepts such as stability from systems theory and consists of the derivation of four principles, which locate and identify so-called combinatorial effects. The theory also shows how code generators (called expanders) can be built of which the absence of combinatorial effects towards anticipated changes can be proven. The implications of NS theory for the large-scale production of software are discussed. First, NS theory shows that addressing the high demands in terms of evolvability of software, requires new levels of fine-grained modularity in theory and practice. Second, NS theory shows that this modularity can only be achieved by highly structured and automated software development processes. Several steps towards realizing this in practice are discussed. It is concluded that by applying concepts from traditional engineering such as in NS theory, new levels of fine-grained modularity can be reached to move closer to industrialization of software development, thereby answering the ever-increasing call for more evolvability in software.

[1]  Kris Ven,et al.  Towards evolvable software architectures based on systems theoretic stability , 2012, Softw. Pract. Exp..

[2]  Meir M. Lehman,et al.  Rules and Tools for Software Evolution Planning and Management , 2001, Ann. Softw. Eng..

[3]  Dieter Van Nuffel,et al.  Towards designing modular and evolvable business processes , 2011 .

[4]  W. Edwards Deming,et al.  Out of the Crisis , 1982 .

[5]  Wil M. P. van der Aalst,et al.  Conformance checking of processes based on monitoring real behavior , 2008, Inf. Syst..

[6]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[7]  Jack Joseph,et al.  Oracle Fusion Middleware , 1997 .

[8]  Jan Verelst,et al.  Normalized systems: re-creating information technology based on laws for software evolvability , 2009 .

[9]  Philip Huysmans,et al.  On the feasibility of normalized enterprises : applying normalized systems theory to the high-level design of entreprises , 2011 .

[10]  August-Wilhelm Scheer,et al.  ARIS - Business Process Modeling , 1998 .

[11]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[12]  Kris Ven,et al.  The transformation of requirements into software primitives: Studying evolvability based on systems theoretic stability , 2011, Sci. Comput. Program..

[13]  John A. Zachman,et al.  A Framework for Information Systems Architecture , 1987, IBM Syst. J..

[14]  Wil M. P. van der Aalst Process mining , 2012, CACM.

[15]  Jan Mendling,et al.  Modularity in Process Models: Review and Effects , 2008, BPM.

[16]  Remco M. Dijkman,et al.  On the usefulness of subprocesses in business process models , 2010 .