Holistic Enterprise Development Approach is an overall view, in which an enterprise refers to an organization (or ecosystem), which is by nature, a dynamic socio-technical “system” – a “system of systems” – as it consists of number of distinct systems (combinations of processes, people, applications etc.). Those systems are interrelated and interdependent on each other. Holistic enterprise development approach covers all the development aspects from strategy planning to operations. This approach supports organization’s mission, vision and strategy execution by developing business-driven capabilities to produce services and products to customers. Holistic development combines both a) customer oriented (“outside-in”) and b) organization internal behavior and structure oriented (“inside-out”) approaches. The holistic enterprise development can be supported by the Service-Driven Approach (SDA), which focuses on services (instead of projects) as primary units of design, development and operations. By focusing on services, enterprise development (or an IT function) can be organized as a “production line” that produces services.
The Service-Driven Approach (SDA) is focused on services as fundamental units of value creation, planning, development and control. The service concept is crucial, as “everything is a service” and everything can be provided and consumed as a service. And, all the development targets are services by nature, all the organizational capabilities provide services, customer-orientation is related to service-centric thinking, value can be linked to a service etc. Services are designed based on customer needs and other business demands, as well as existing and required capabilities of the organization. Services can be associated with values they deliver in the overall value chain of the organization. Services can be designed, developed and deployed independently as autonomous Building Blocks (those of which can be associated to Microservices and API-economy approaches). All the services can be linked to business demands and finally to strategic goals via capabilities of the organization. The Service-Driven development can be supported by practical and pragmatic model-based method. It enables visibility and traceability between all the elements that are related to services with an organization and its environment.
From the IT organization point of view, the holistic development that is based on the Service-Driven Approach, can be organized to a value-chain based operational model, which is analogous to a production line. This production line produces services from “ideas to operations”. All the organization structures (such as units or functions) and capabilities are integrated into a single “machine”, that is operated according to Lean principles. Work within this production line is managed with a single backlog of development items, and related tasks are followed with a Kanban board. This simplified, pragmatic and light-weight process provides overall visibility and transparency.
Holistic development of an organization can be supported by many frameworks, methods and tools etc. There are several frameworks available *), each of which covering only certain aspects of operational development. But there is no overall, holistic framework, that covers all the aspects from strategy development to operations – from “idea to production”. Thus, there could be an “framework of the frameworks”, a meta-framework, on top of the other frameworks. Such a comprehensive meta-framework could combine and complement the most relevant existing frameworks and methods into one, integrated framework, which can be formulated as an operational model and then be implemented. Holistic development supported by meta-framework provides an overall insight and transparency to overall operational development of an organization. Such a meta-framework assists management and business developers of an organization to better govern and execute the organization’s strategies to daily business operations. The meta-framework provides a holistic, practical and comprehensive approach for operational development of an organization. The meta-framework gives a high level overview of organization’s behavior and structure: customers, business partners, products and services, capabilities, organization structures, applications, technologies, programs & projects, portfolios etc. This abstraction layer provides a) an overall insight to all the aspects of organization, b) information of each and every building blocks and how they relate with each other and c) guidance to management and business developers to focus on essential development areas and targets. This enables the organization to develop its operational capabilities to more efficient and cost-effective to produce more value: to better align with customer expectations. The meta-framework can be supported by an agile- and lean method(s), which can be supported by an appropriate visualization and analysis tool…
*) Frameworks & methods: EFQM, ISO 9000, ISO 27000, Lean, Six Sigma, Balanced Scorecards, Business Model Canvas, Business Motivation Model (BMM), Business Reference Model, BiSL, Value Stream Mapping, Capability-based Planning (CBP), COBIT, TOGAF, COSO ERM, SABSA, MSP, PRINCE2, PMBOK, ITIL, SIAM, IT4IT, Spice, SAFe, DevOps, Agile, Scrum, Kanban, OODA loop, Viable System Model (VSM) etc.
Method – A Pragmatic Approach
The method of the Holistic Enterprise Development Approach leverages on Lean & Agile practices, and can be used to value-driven holistic development of an enterprise. This method is a continuum, in which development targets (Services), are flowing in a value delivery chain (Service Delivery Chain), from “ideas to operations”.
The method is visualized as hexagon, which consists of hexagons, each of which is representing specific aspect (figure below). According to “systems thinking”, all the aspects and their elements relate to each other. This approach is supported by model-based method: all the elements can be modeled with an appropriate modeling tool, from which all the diagrams can be published continuously. This enables continuous visibility to all the development activities. Modeling enables pragmatic approach to development, which ensures that all the relevant viewpoints are taken into consideration right from the early phases of development of new services and products.
This method (figure above) can be adjusted to what is appropriate in the context of the development case. The idea behind this model-based method is to enable visibility and traceability between all the elements of the aspects (hexagons). With the help of the modeling tool, not only visualizations but also many kinds of analyses can be made, such as impact analysis of the change activities in the Enterprise Architecture (EA). All these aspects and their diagrams can be published straight from the modeling tool in HTML or document format. By this way all the development work can be made continuously visible to all the stakeholders.
The scale and scope of the development target area can vary from organization level to segment- or single solution level. This model-based development method enables visibility and traceability e.g. between services and strategic goals, and also between services and other elements of the enterprise architecture.
Service-Driven Approach, SDA
The Service-Driven Approach (SDA) is focused on services as primary units of value creation, planning, development and control. The Service-Driven Approach concentrates on individual services as vertical slices of the organization’s architecture landscape. The services are to be planned based on customer needs by utilizing modern service design concepts and methods. Then those services are developed and deployed independently as autonomous Operation Building Blocks (OBB), that are operated as IT-services. All the services are linked with strategic goals of the organization, which connections supports the strategy execution.
There can be identified several types of services as follows (according to ArchiMate and TOGAF):
1. Business Service
– A business service represents an explicitly defined exposed business behavior
– A business service is associated with a value (e.g. customer value-add, value for the organization)
– A business service can be realized by a business process or -function, to which an organization structure (such as unit or group or role) can be assigned
– A business service can be realized by manual and automated phases, some of which can be supported or performed by application services
2. Application Service
– An application service represents an explicitly defined exposed application behavior
– An application service exposes the functionality of an application to its environment
– This functionality is accessed through one or more application interfaces
– An application service can be associated with a Use Case
3. Technology Service
– A technology service represents an explicitly defined exposed technology behavior
– A technology service exposes the functionality of a node to its environment
– This functionality is accessed through one or more technology interfaces
– technology services may include e.g. messaging, storage, naming, and directory services
– An IT-service can be a combination of service types 1-3,
– according to ITIL definition:
– A service provided by an IT service provider
– An IT service is made up of a combination of information technology, people and processes
– A customer-facing IT service directly supports the business processes of one or more customers and its service level targets should be defined in a service level agreement
Service-Driven Development Method
The Service-Driven Approach is simplified in the figure below. It is important always to analyse WHY before WHAT. The purpose for the change before defining the behavioral and structural parts of the change / service. A service can be e.g. a) business change in the form of business service (that encapsulates concerning business processes and business functions), or b) application change in the form of application service (that encapsulates application components, application functions and -processes).
The development operating model of the organization can be defined as a value stream, in which services flow through the “production line”. First the services are designed as service concepts, the developed as logical services, and finally deployed to production as realized services. The fundamental unit of development target is a “service”. A service encapsulates all the behavior and structure. A service can be designed e.g. based on certain viewpoints, such as customer perspective (outside-in) or intra-organizational perspective (inside-out). The basic idea is illustrated in the figure below.
The Lean EA Framework can be utilized in Service-Driven Approach. For more details see “Lean EA Framework“.
Modeling & publishing
Holistic Enterprise Development is based on the modelling supported Service-Driven Approach, which is pragmatic and concrete method for holistic development. These can be supported by a modeling tool such as Sparx EA, Archi or QPR EA. The models with diagrams shall be published and made available in the organization, as visualization is important aspect according to principles of Lean philosophy. Most of the modeling tools provide publishing functionalities of architecture deliverables (diagrams). E.g. Sparx EA and Archi enables HTML reporting.
Goals are the primary initiators for all the development activities of an organization. All the goals shall be derived from strategic goals of the organization. As such, this approach is aligned with so called “Goal-Based Strategy Model” (Azevedo et al. 2015).
Business models can used as starting points to design services or required capabilities. This approach utilize tools such as Business Model Canvas (BMC) and Value Proposition Canvas for quick analysis of the planned services. This enables fast learning with small amount of work, to give the first feedback about the planned services before the development starts.
Capabilities represent the current and desired abilities of an organization, in relation to its strategy and its environment. Capabilities are realized by various elements such as people, processes and systems. The importance of capabilities as central concepts, is related to their role and meaning to link the goals to enterprise architecture – the behavior and structure of the organization. Another definition for capability is as follows: “a capability is a particular ability or capacity that a business may possess or exchange to achieve a specific purpose or outcome”. The Capability-Based Planning (CBP) technique can be utilized when developing capabilities. CBP can be used to set investment priorities that would deliver the most value to an organization, according to the organizational strategy. When developing an organization, concept of “capability” is to be used as a fundamental building block.
Services represent substantial and valuable behaviors that the organization provides to its customers. In addition to those business services that can be associated with value, there are enabler services that support the business processes and -functions that realize the topmost business services. These supporting services can be e.g. application services and technology- or infrastructure services. All the services participate to support the goal-based capabilities. For service design, several useful methods can be used, such as Customer Journey Map and Service Blueprint.
Portfolios are used to manage all the services, applications and projects as well as development activities of the organization.
Operations aspect links developed services to concrete, deployed IT-services. If necessary, additional data can be imported from other systems such as CMDB or ITSM, to provide more information concerning running IT-services.
Kanban board is used to manage and to visualize all the development tasks and activities.
Holistic = An approach which observes the enterprise as a whole: not any distinct part or aspect, but the completeness. It applies systems thinking: an enterprise is a complex “system of systems”, it is more than the sum of its parts. It is a “network of elements and relations between them”.
Capability = A capability represents an ability that an active structure element, such as an organization, person, or system, possesses [ArchiMate]. Capabilities are typically expressed in general and high-level terms and typically require a combination of organization, people,
processes, and technology to achieve [Togaf]. Capability concept is used e.g. in Togaf, ArchiMate, and SAFe.
Feature = A feature is a service provided by the system that fulfills stakeholder needs. Each feature includes a statement of benefits and defined acceptance criteria [SAFe].
Service = An overloaded term, which can be referred to as follows:
1) A “business service” that is provided by the organization to its customers, which can be associated with value
2) An “application service” that is provided by an application, to support processes and business services of the organization, which can be associated with value
3) A “technology service” that supports applications by providing needed platform and infrastructure (can be also referred to “platform service” or “infrastructure service”), can be associated with value
4) An “IT-service” that is defined as follows: “A means of delivering value to customers by facilitating outcomes customers want to achieve” (ITIL Glossary).
Note! An “application service” (2) is also closely related a “microservice“, which is a fundamental unit of development in Microservices Architecture (MSA). A microservice is suitable for agile and DevOps -styled development, as microservices are autonomous by their nature. Whole system landscape can be built up based on small microservices, which makes the whole enterprise/ecosystem more agile and flexible for continuously changing conditions in a modern volatile business environment. Microservices are also analogous to APIs (Application Programming Interfaces), as microservices expose their operations via “application interfaces” that are made available via so called “APIs”. In addition, a MSA is an opposite architecture style compared to traditional monoliths. The benefit of using microservices comes with the agility and speed of their design, development and deployment. Every changes into monolith systems cause time consuming and expensive development cycles. However, in reality the system landscapes in large organizations are often combinations of different architecture styles and development practices – which leads to so called “Bimodal IT” (see Gartner’s definition here )…
Customer-centricity = develop business to provide a positive Customer Experience (CX), to ensure delivering customer value. The development method shall comply with the customer centricity
Continuous Improvement = streamlining work and reducing unnecessary efforts, costs, delays etc. – continuously – are guiding principles for the development work and for the development method and practices
Simplicity = the development method and related framework shall be simple and easy to use