Photo by Sean Pollock on Unsplash
Words have meaning and when organized in proper grammatical structures, that meaning is transmitted to provide communication. When words no longer hold to their meaning, then communication is hampered and misunderstandings arise. I therefore think it is important that I give my preferred definitions of Enterprise and Software Engineering before we get into my thoughts and reflections.
First, Let’s Define Each Word Separately
Enterprise
An enterprise is defined as a legal entity possessing the right to conduct business on its own, for example to enter into contracts, own property, incur liabilities and establish bank accounts. An enterprise may be a corporation, a quasi- corporation, a non-profit institution, or an unincorporated enterprise.
Source: https://data.oecd.org/entrepreneur/enterprises-by-business-size.htm
Software
Software, instructions that tell a computer what to do. Software comprises the entire set of programs, procedures, and routines associated with the operation of a computer system. The term was coined to differentiate these instructions from hardware—i.e., the physical components of a computer system.
Source: https://www.britannica.com/technology/software
Engineering?
Engineering is the creative application of science, mathematical methods, and empirical evidence to the innovation, design, construction, and maintenance of structures, machines, materials, devices, systems, processes, and organizations.
Source: https://pressbooks.bccampus.ca/engineeringinsociety/chapter/chapter-1/
Now, Let’s Put Them Back Together
Definition of Enterprise Engineering
Enterprise Engineering is the creative application of science, mathematical methods, and empirical evidence to the innovation, design, construction, and maintenance of a legal entity possessing the right to conduct business on its own.
Definition of Software Engineering
Software Engineering is the creative application of science, mathematical methods, and empirical evidence to the innovation, design, construction, and maintenance of programs, procedures, and routines associated with a computer system.