Enterprise architecture is the process of identifying the principles and standards by which an enterprise will organize itself to achieve its business goals most effectively.
We can organize these standards into domains, such as:
- Business – goals, organization, relationships
- Information – data, semantics
- Technology – hardware and software tools
- Solutions – compositions of standards from other domains.
So, what’s the difference between architecture and design?
The simplest answer is that an architectural standard is a design element that we intend to use in multiple solutions.
When we create a design, we strive to incorporate the relevant architectural standards that the enterprise has agreed on. We aim to avoid “reinventing the wheel.” For example, if there is already an enterprise standard for “person’s last name” or “connection-oriented network protocol,” we try to use that pre-existing standard.
When we design for a specific business goal, the result will include a mix of unique elements and architectural elements. If we can anticipate similar future business goals, we can craft our design to be easily reusable. That is, we can create new architectural elements for this design, and our design will contain fewer one-off elements.
Why go to the trouble?
More commonality across our solutions allows our staff to be more deeply trained and cross-trained, allows us to build solutions faster, and allows users of our solutions to learn them faster. We hope that by avoiding variety that does not add value, we can produce feature-rich information systems more efficiently.