Architecture Principles The Cornerstones of Enterprise Architecture Danny Greefhorst (dgreefhorst@archixl.nl) Erik Proper (erik.proper@tudor.lu) 1 Agenda • Some definitions on architecture and principles • Conceptual model – Scientific versus normative principles – Credos versus norms – Architecture versus design • Generic process – – – – Determining drivers Determining principles Specifying principles … • Example 2 Problem statement • Enterprises evolve continuously and need some means of deliberate control in order to focus on their key drivers (agility, cost, …) • Enterprise architecture as a whole enables such controls, but is overloaded with viewpoints and does not focus on the essence • Architecture principles focus on the essence of architecture and provide an anchor in a sea of change • The foundations for architecture principles, as well as their practical application have received little attention and is still ill-defined 3 Architecture “The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution” IEEE 1471 “Theoretically, architecture is the normative restriction of design freedom. Practically, architecture is a consistent and coherent set of design principles.” J. Dietz “Those properties of a mission, its solution and their environment that are necessary and sufficient for a solution to be fit for purpose for its mission in that environment” L. Fehskens 4 Architecture Principles “Principles are general rules and guidelines, intended to be enduring and seldom amended, that inform and support the way in which an organization sets about fulfilling its mission.” TOGAF “A statement of the organization’s philosophy of information systems expressed in terms of objectives and goals in each domain area.” PRISM 5 6 7 8 9 Principles “1a: a comprehensive and fundamental law, doctrine, or assumption b (1): a rule or code of conduct (2): habitual devotion to right principles <a man of principle> c: the laws or facts of nature underlying the working of an artificial device, 2: a primary source: origin, 3a: an underlying faculty or endowment <such principles of human nature as greed and curiosity> b: an ingredient (as a chemical) that exhibits or imparts a characteristic quality, 4: Christian Science: a divine principle: god” Webster 10 Scientific principles versus normative principles • Scientific principle – A law or fact of nature underlying the working of an artifact. • Normative principle – A declarative statement that normatively prescribes a property of something. 11 Examples of scientific principles • Exposure effect: “repeated exposure to stimuli for which people have neutral feelings will increase the likeability of the stimuli” K. Lidwell • Performance load: “the greater the effort to accomplish a task, the less likely the task will be accomplished successfully” K. Lidwell • Archimedes principle: “any object, wholly or partially immersed in a fluid, is buoyed up by a force equivalent to the weight of the fluid displaced by the object” Archimedes 12 Normative principles: credos and norms • Credo – A normative principle expressing a fundamental belief. • Norm – A normative principle in the form of a specific and measurable statement. • We should follow citizen logic. • • Applications should be decoupled. • Credo The status of customer requests is readily available inside and outside the organization. Communication between application services will take place via an enterprise-wide application service bus. Norm 13 Desired design properties • Requirement – A required property of an artifact. • Design principle – A normative principle on the design of an artifact. As such, it is a declarative statement that normatively restricts design freedom. • Design instruction – An instructive statement that describes the design of an artifact. • Architecture principle – A design principle included in an architecture. As such, it is a declarative statement that normatively prescribes a property of the design of an artifact, which is necessary to ensure that the artifact meets its essential requirements. 14 Architecture versus design Architecture Design Essentials dictated by the mission (problem, need or opportunity) and its environment Decisions compatible with the architecture A different architecture implies a different mission Different designs may address the same mission Defines a class of acceptable solutions Defines a single specific solution About suitability or fitness for purpose, as defined by the mission About engineering optimization, within architectural constraints Role of the architect is mostly to make correct inferences about the mission, solution and environment Role of the designer is mostly to make correct decisions about the solution Architecture is done by architects Design is done by developers Primary audience is mission and solution stakeholders, which usually includes designers and implementers Primary audience is solution implementers About the mission and solution in their environmental context, i.e., outward looking About components and subsystems of the solution, i.e., inward looking Source: L. Fehskens 15 Conceptual model Proposition Scientific principle underpins Desired property Desired design property Principle leads to Design directive Requirement motivates Credo Normative principle Design principle Norm Architecture principle Design instruction 16 Generic process for architecture principles Assess Determine drivers Determine principles Manage compliance Specify principles Apply principles Aim Act Handle changes Classify principles Validate and accept principles 17 Drivers for architecture principles • Goals & objectives – targets that stakeholders seek to meet, • Values – fundamental beliefs shared between people in an enterprise, • Issues – problems that the organization faces in reaching the goals, • Risks – problems that may occur in the future and that hinder the enterprise in reaching its goals, • Potential rewards – chances and their potential reward for enterprises, and • Constraints – restrictions that are posed by others inside or outside the enterprise, including existing normative principles. 18 Architecture principle “generating” questions • For goals and objectives – What is needed to attain the goal or objective? • For issues – What is needed to solve the issue? • For values – What is needed to realize this value? • For risks – What is needed to minimize the probability or the impact of the risk? • For potential rewards – What is needed to attain the potential reward? • For constraints – What is needed to enforce the constraint? 19 Filtering out things that are not architecture principles • Does it describe a functionality that is needed? In that case it is probably a (functional) requirement. • Does it describe something that needs to be done? If it does, then it is probably an action. • Are there objective arguments that support it? If it does not, then it is probably a (potential) strategic decision or business principle? • Does it have impact on the design of the organization and/or the IT environment? If if does not, then it is probably a business principle (if it influences the daily business operations) or an IT principle (if it influences the daily IT operations). • Does it have impact on the design of multiple systems? If it does not, then it is probably a design principle or design decision. 20 Quality criteria for architecture principles: SMART • Specific – Is it specific enough for people to understand its intention and its effect? – Are all words unambiguous and clear, or definitions provided otherwise? – Are all important consequences identified? • Measurable – Is it possible to determine whether a behavior is in line? • Achievable – Can the implications be performed by or adhered to without prerequisites? – Is it acceptable to all stakeholders? – Is it properly and sufficiently motivated? • Relevant – – – – • Does it describe a fundamental and essential choice? Does it provide limitations on the design of the organization? Does it clearly distinguish itself from other principles? Will following it lead to a significant improvement? Time framed – Is it stable in context and time? 21 Quality criteria for sets of principles • Representative – Is the set representative for the problem domain? – Are all important aspects of the problem domain covered? • Accessible – – – – Is the easily accessible to readers? Can the set be found and retrieved by everyone in the organization? Are they limited in number? Do they have a common structure (template) and similar level of detail and abstraction? • Consistent – Are there no obvious conflicts between principles in the set? 22 Example: insurance company Goal: To be the provider of the cheapest insurances. Value: Operational excellence Issue: There is a lot of redundancy in the processes and IT systems. Principle: Systems are designed to be customer-facing Risk: It is getting increasingly difficult to find the right IT specialist for maintaining certain legacy IT systems. Potential reward: Migrating to new and more agile technology. Principle: Business processes are automated and standardized Constraint: Current IT staff does not have any knowledge on new technology. 23 Other key messages • Architecture principle development is an iterative and collaborative process, which should include validation and formal acceptance • Architecture principles should be used to: – determine downstream artifacts – determine compliance – stimulate discussion! • Architecture principle development depends on contextual factors: – Type of architecture (enterprise, reference, solution) – Maturity of the architecture function – The environment, the required change, the stakeholders and the person leading the change 24 Upcoming book 25 Questions? 26