Purpose, Scope, and Rationale

Purpose

Keeping an updated view of IT spending can be daunting. It is a major undertaking to figure out how to structure your data when designing and implementing a cost management model with aggregations, dataflows, information gathering, etc. The Ardoq IT Cost Management (ITCM) use case comes preconfigured to provide a quick start-up and fast results.

But why undertake the journey of Cost Management? Below in “Why do IT Cost Management in Ardoq?” we cover the 5 clear-cut benefits for a company to dive into ITCM.

This metamodel document describes the rationale for doing ITCM, sets the scope for the use case, and provides a deep understanding of how to apply and expand ITCM.

Scope

This use case documents and analyzes the current high-level cost of key capabilities and the technology that supports them. It provides the means to answer 2 key questions:

  • What is the cost of key business and technical capabilities?

  • What is the cost of my application and server portfolio?

A large part of IT and capability cost comes from people and processes that deliver, implement and maintain the technology and capabilities. The costs associated with people, organization, and processes are not covered in the current scope of ITCM but will be part of future versions of ITCM. In this version, cost is only derived from servers and applications.

Rationale

The subject of IT Cost Management can be immense. To narrow the scope of our IT Cost Management Guide whilst delivering the most value for the amount of work needed, we have made the following decisions:

Infrastructure Cost is Server Cost

Servers are part of the whole IT infrastructure, so why not include, for example, the cost of data centers? In our experience, servers are assets that have direct and tangible costs derived directly from the procurement of the hardware. Datacenter cost, for example, consists of ongoing rent, power, cooling, etc., and is more difficult to make concrete and accurate. If you have completed the IT Lifecycle Management use case guide, all your servers should already be in Ardoq, ready to be enriched with cost information.

Running Costs and Projects/Change Initiatives

The cost of a business capability and applications are more than just running the underlying technology. People in the organization deliver the capabilities they also develop and maintain the servers and applications through change initiatives and as part of daily maintenance. Ardoq acknowledges the need to account for this cost. We are currently developing an improved metamodel to describe organizations and the foundation for describing change initiatives. Once these are in place, they will be included in the ITCM use case.

Why Not Technology Business Management (TBM)?

Technology Business Management (TBM) is a value-management framework [...]. Founded on transparency of costs, consumption, and performance[...]

Ardoq is based on a practical subset that gives immediate insight into cost and how it’s related to business capabilities. It is possible to start with our model and then expand to something more comprehensive - like TBM - when the outcomes demand that level of detail. You can find more information here: TBM Council.

Why Do IT Cost Management in Ardoq?

ITCM in Ardoq gives you 5 clear advantages:

  1. Optimize your IT spending - from a business and IT management perspective

    Cost management has many perspectives depending on who is looking. Application owners might want clear insight into one or more applications and the cost consumed from the servers hosting the application. Business stakeholders would be keener to understand the cost of key business capabilities and if the spending is on par with the importance of the capability. CIOs responsible for IT budgets can easily locate major IT cost-pools by using technical capabilities.

  2. Provide a clear view of the source of costs

    Understanding these relationships can be the difference between success and failure in cost management. Ardoq’s flexible graph database presents all data - including cost - as a set of related and interlinked assets. Great emphasis is placed on the relationship between assets. This allows you to better understand dependencies, opportunities, and constraints. In addition, Ardoq lets you aggregate from individual point costs up to departments, capabilities, and strategies that are relevant for decision-making.

  3. Create a clear weighted overview of capability and technology costs

    Having full control over the financial impact an application has on one or more capabilities can be the key to correctly account for IT spending. If your most expensive application helps realize more capabilities but one particular capability more than others, Ardoq’s predefined IT Cost Management use case allows you to precisely allocate consumed cost.

  4. Set the foundation for allocation, show- and chargeback

    The IT Cost Management use case in Ardoq is designed to get you quickly started and provide value from the get-go. But what if the financial management of your company needs more advanced insights? The ITCM use case is designed to scale and grow as the maturity and demands grow, for instance, if more advanced topics like budget allocations or showback is required.

  5. Enable future use cases

    The ITCM use case is designed to provide value on its own but also sets the foundation for development in adjacent areas where cost information is necessary. For example Application Rationalization, Strategic Change Prioritization, Strategy to Execution, or other topics where cost/benefit analysis is pertinent.

Metamodel

Before we get into the metamodel, it is important to understand some core financial terms. Core to the cost model is the concept that the same 5 cost properties can be added to any component type, be it an application, a business product, or a business capability. 2 of these properties are entered directly, while the cost model calculates the other 3. The metamodel is depicted in the figure below.

The basic cost properties are CAPEX and OPEX.

  • CAPEX represents a Capital Expenditure that results in the acquisition of an asset and is typically a one-time expense. From an accounting point of view, the value of that asset must then be depreciated and tax deducted over its lifetime.

  • OPEX represents an Operational Expenditure when the business buys a product or service on a pay-as-you-go basis. This ongoing cost is fully tax-deductible in the year it is incurred.

How organizations categorize expenses as CAPEX and OPEX can vary. Ardoq’s model is flexible enough to support your organization’s way of working. You can easily configure the model to match your categorizations and still get the benefit from the queries, aggregations, and reports that we provide.

A simple example might be the cost of an individual server. The cost of the server hardware could be categorized as CAPEX since the organization owns an asset the value of which will depreciate with time. However, the cost of the power required to run the server would be considered OPEX, as it is an ongoing expense.

cost of an individual server

Component Types

The base model for the ITCM use case captures cost data on four component types:

  1. Server

  2. Application

  3. Business Capability

  4. Technical Capability

Since the model rests on the same five field properties, these will be explained in more detail after the key components types are introduced.

Server

Ardoq defines a server as a computer without a screen. As Ardoq sees it, a server is a unit of computing hardware dedicated to managing specific resources (RAM, CPU, Storage, etc.). Servers may be specialized by function, depending on their hardware configuration or the software products deployed onto them. If information about servers is not available in your instance of Ardoq, please perform the Information Technology Lifecycle Management (ITLM) Use Case.

Ardoq’s concept of server component type can be compared to the ArchiMate concept of a Device.

If you have followed the ITLM use case then servers in Ardoq can be either physical, virtual, or containers. In this use case, CAPEX and OPEX can be assigned to both types of servers. But be aware that if the cost of a virtual server is accounted for in the cost of the physical server hosting it, adding cost to the virtual server will apply this specific cost twice. This caveat will be mended in future releases of the ITCM use case.

Application

As covered in greater detail in the Application Lifecycle Management Metamodel article, an application is the configuration of lower-level software or technology to provide specific business capability or technology capability, perform a defined task, or analyze specific information.

Application is the component that binds together the technology and business domains and is an essential part of ITCM.

Business Capabilities

“A business capability is a set of resources that, by working

together, gives the organization the ability to purposefully

produce a particular business output” (Hadaya, Pierre, and Bernard Gagnon. 2017. Business Architecture: The Missing Link in Strategy Formulation, Implementation and Execution)

To put it in simpler terms, a business capability describes what a business does without explaining how. More than one department can be involved in delivering a business capability, and internal organizational structure changes more often than what a business does, so the best practice is to not replicate a business’ organizational structure.

In ITCM, the business capabilities show the cost of running a business. In this version of ITCM, the business capability only accounts for cost consumed from applications, and cost inherited from servers to applications. If your business capabilities are not documented in Ardoq yet, please see Business Capability Modeling: Best Practice Module Guide and Business Capability Realization Guide.

Understanding Business Capability Cost

A business capability is a logical construct that only reflects cost that is “consumed,” producing what the business capability delivers. In this first version of ITCM, only application cost, and by inheritance, server cost, is included in the calculation of business capability cost. A more in-depth explanation of which mechanisms guide the cost calculations is provided in Fields, Calculations and Dataflow below.

business capability cost

Technical Capability

Technical capabilities are used to provide a helpful abstraction from specific technical systems to generic functionality provided by applications. In the context of ITCM, technical capabilities describe the IT cost from an IT-management perspective.

The image below exemplifies the applications and underlying servers supporting the technical capability “Integration”. This example shows the applications used to supply the organization's IT-systems, with data from other sources. To define technical capabilities in your organization, please see the TCM guide.

technical capability

Division of Cost Between Business and Technical Capabilities

Business capabilities and technical capabilities are inherently different in that they represent different perspectives on cost:

  • Business capabilities portray the cost of running the business

  • Technical capabilities portray the cost of running IT

Therefore the cost of an application is aggregated in its full, to both capability types.

Fields, Calculations, and Dataflow

Fields on the Components

Field

Type

Description

Definition

CAPEX

Number (input)

Capital Expenditure

OPEX

Number (input)

Operational Expenditure

Total Direct Cost

Calculated Number

The cost is directly tied to the specific component. Ex. license, support & maintenance etc.

The sum of CAPEX+OPEX

Total Consumed Cost

Calculated Number

The cost inherited from a source component. Ex an Applications cost + the server costs for running on the application

Total Direct + Consumed Cost from underlying Components

Total Cost

Calculated Number

Shows the Total Cost of the Component

Total Direct + Total Consumed Cost from the Component in question

Total Consumption Percentage

Calculated text

Data Quality field showing the sum of the “Cost Consumption Percentage” reference field by component type.

Ex: Both Tech and Business Capability consumes cost from Application. Tech is over-allocated and Business is under-allocated:

Technical Capability: 110%, Business Capability: 70%

Cost Consumption Percent Data Quality

Calculated checkbox

Data Quality field showing if the component’s cost is over-allocated.

Take the above example: this checkbox would be set to ‘checked’ because Technical Capability is over-allocated

References

ITCM is implemented using 2 kinds of references:

Reference

Description

Is Supported By

Represents the operation of one component is a requirement or precondition for the operation of another.

Ex: an Application Is Supported By a Server

Is Realized By

Represents that a component implements the logical requirements, behaviors, or characteristics defined by another component.

Ex: a Business Capability Is Realized By an Application

Dataflow

The fields used to calculate cost can be applied to all component types in the model. Consequently, ITCM can be extended to more component types than the ones we suggest in this metamodel (see Extending the metamodel). The application of these fields to multiple component types is illustrated in the figure below.

One of the goals of ITCM is to aggregate CAPEX and OPEX up from low-level components to components that represent business areas - such as business capabilities. The cost fields must also exist on business area component types to allow that aggregation to happen. You will not set direct values on the cost fields in these component types but a value will be calculated by aggregating the values from the lower-level components they are connected to. For instance, the application and server components.

application and server components

The aggregation of cost is controlled by three things:

  1. The references between business and technical capability, and the application, as well as the references between application and server component (see References)

  2. The fields “Cost Consumption” and;

  3. “Cost Consumption Percentage” on references

The references are important in the aggregation of cost, which is why it’s important to be mindful about creating the right connections. As described further under Extending the metamodel, the type of references is irrelevant. The direction is important for the cost aggregation to work. Below is an example of the references between the 4 component types.

component types

Fields on the references

Field

Type

Description

Cost Consumption

Checkbox

Indicates whether or not the cost of the source component should be included in the cost aggregation

Cost Consumption Percentage

Number (input)

Allows to specify a percentage of a source components cost that will be aggregated to target components consumed cost

For the calculations to work both the fields have to be present on all the references between the Component Types where cost aggregations are wanted. The field Cost Consumption needs to be set to “checked” - if left unchecked, the algorithm will ignore the cost of this particular component.

Calculations

The aggregation of cost follows a simple yet powerful algorithm, which is segmented in two steps:

  1. If at least one of the references between the target and source component (ex Application and Server) has a value above 0 (zero) in the “Cost Consumption Percentage” field. The algorithm divides exactly according to the percentage. For instance:

    1. Cost of a Server is 15,000 and it supports two Applications using an even split of cost (7,500 to each Application)

    2. Application A has CAPEX and OPEX totaling 22,000.

      1. Total Cost of Application A is therefore 39,500

    3. Application A Realized only one Business Capability that consumes 100% of the Applications cost.

    4. Application B has CAPEX and OPEX totaling 26,000

      1. Total Cost of Application B is therefore 33,500

    5. Application B Realizes two Business Capabilities with:

      1. 25% of cost consumed by Capability A1.1 (Cost Consumption Percentage = 25).

      2. 75% of cost consumed by Capability A1.2 (Cost Consumption Percentage = 75)

    6. Capability A1.1 consumes

      1. 39,500 from Application A

      2. 8,375 from Application B (25% of 33,500)

    7. Capability A1.2 consumes 25,125 (75% of 33,500)

    8. The parent Capability A1 receives the roll-up cost from Capability A1.1 and A1.2

  2. If the “Cost Consumption Percentage” field is empty or 0 (zero) on all references, then the cost is evenly distributed over the number of references.

The image below visualizes the above example of Ardoq’s cost model.

Ardpq cost model

Quality of the Use Case

The quality of the result of this use case depends on the desired outcome, and the effort and data put into Ardoq. To achieve a high-quality output, ensure a high-quality input. Be mindful of weighted allocation (Cost Consumption Percentage) where the consumption of costs is unevenly distributed.

Practical Implementation in Ardoq

If previous use cases are complete, the ITCM does not require further component types or references. Prerequisite use cases are: Information Technology Lifecycle Management, Application Lifecycle Management, Business Capability Realization Guide, and the Technical Capability Modeling side quest are already complete, the ITCM use case does not require further component types or references. What the ITCM use case delivers is a structure, and calculations to enable uniform and flexible cost aggregation no matter which component types and references are used. The Gremlin code for the calculated fields previously described can be found in the Gremlin code section further below in this document.

Workspaces

Ardoq recommends the simplest model to do the job. The picture below illustrates the workspaces and their relations used to implement the ITCM bundle.

ardoq workspaces

If You Have an Existing Dataset in Ardoq

You might have an existing dataset you’d like to massage the ITCM use case into. Due to Ardoq’s flexible model, you have many possible ways to develop the data set, with so many possible outcomes that Ardoq could not pre-create a use case implementation plan that’ll work in all cases. It is possible to create the fields of the ITCM use case in your own components and references. Remember to adjust the Gremlin code (see the Gremlin code section) to match the specific model. For help adjusting the Gremlin code please contact your dedicated Customer Success Manager.

To make implementation easier be mindful of the following:

  • The field Cost Consumption is located on all the references where cost aggregation is relevant. In the ITCM bundle that field is checked by default.

  • If the field is incorporated in an existing model and data, make sure to create the field to be checked as default.

  • To ensure that the default value is set on the relevant references, go to Grid editor, right-click under references, and 'set to default value'. This will 'check' all the fields in the selected workspace'.

ardpq references

Extending the Metamodel

Ardoq’s flexible model and the approach to cost aggregation implemented in this use case makes it possible to expand the model if you need to add component types.

Using data centers as an example, if you already have the information in your Ardoq dataset and you want to include the cost of extended infrastructure, the only missing piece is to associate the fields with the datacenter component type. Then, ensure that the reference is from server to the data center components and associate the Cost Consumption and Cost Consumptions Percentage fields with the reference type. The cost will aggregate automatically.

The example below shows a model where Department component type has been added to the cost aggregation flow.

ardoq department component

In this example, Department component type, and the reference Consumes have been added to the model.

The fields relevant to cost (see the Fields on the Components and Fields on the references sections) have been added to the model.

Now, the cost aggregation flow will include departments the same way as business capabilities.

When doing this be aware that the field Cost Consumption on the reference between business capability and department, should be unchecked, disabling the cost aggregation flow.

If left checked:

  • The cost-related fields are also implemented on the Is Realized By reference from business capability to department, and the cost will automatically aggregate from Department to Business Capability.

  • The Business Capability already receives cost directly from Application.

  • Business Capability costs double because it receives application cost from both Department and Application

Gremlin Code

This section contains the Gremlin Code used to implement the Calculated Fields of the ITCM use case.

Total Consumed Cost

This contains the Gremlin Code that aggregates the underlying components cost to the target component Total Consumed Cost. The code checks the field Cost Consumption, and only aggregates cost if it is checked. The code also takes into account the specific weighting in Cost Consumption Percentage.

g.V(ids).

project('id', 'name', 'value').

by(id).

by('name').

by(

coalesce(

emit().repeat(__.in('ardoq_parent')).

outE().has('cost_consumption', 'true').as('percentage').inV().as('totalCost').

math('percentage * totalCost / 100').

by(choose(

has('cost_consumption_percentage'),

values('cost_consumption_percentage'),

__.as('reference').inV().

inE().has('cost_consumption', 'true').outV().

where(eq('reference')).

by(label).

by(outV().label()).

count().

map{ 100 / it.get() }).math('floor _ ')).

by(values('total_consumed_cost', 'total_direct_cost').sum()).

sum(),

constant(0)

)

)

Total Cost:

The Total Cost Gremlin Code sums up the value of Total Consumed Cost and Total Direct Cost.

totaldirectcost = 'total_direct_cost'

totalconsumedcost = 'total_consumed_cost'

def calculateTotalCost(it) {

a=it.get().values(totaldirectcost)[0] as Double

b=it.get().values(totalconsumedcost)[0] as Double

return (a + b).round(2)

}

g.V(ids)

.and(

has(totaldirectcost),

has(totalconsumedcost))

.project('id', 'name', 'value').

by(id).

by('name').

by(map{calculateTotalCost(it)})

Total Consumption Percentage

This Gremlin Code calculated the sum of a component's total Cost Consumption Percentages to other components. The cost allocation is divided into the target Component Type. For example if an Application has specific weights on references to both Business and Technical Capabilities. Then the Gremlin Code will calculate the sum of Cost Consumption Percentages to Business and Technical Capabilities separately. A result could, for example, be “Technical Capability: 110%, Business Capability: 70%

g.V(ids).

project('id', 'name', 'value').

by(id).

by('name').

by(

inE().has('cost_consumption_percentage').

group().

by(otherV().label()).

by(values('cost_consumption_percentage').sum()).

map{ it.get().keySet().collect{ key -> "${key}: ${it.get().get(key)}%" }.join(', ') }

)

Cost Consumption Percent Data Quality

This code checks if the sum of the Cost Consumption Percentage from one given component to another Component Type exceeds 100%. If it does, the checkbox named Cost Consumption Percent Data Quality is set to ‘checked’.

g.V(ids).

project('id', 'name', 'value').

by(id).

by('name').

by(

inE().has('cost_consumption_percentage').

group().

by(otherV().label()).

by(values('cost_consumption_percentage').sum()).

map{ it.get().values().any{percentage -> percentage > 100} }

)

Conclusion

Did this pique your interest? To get access to our pre-configured ITCM bundle, including all the fields, calculations, dashboards, presentations, surveys and broadcasts, go to the best practice module and download the ITCM use case bundle. Now you’re ready to take on IT Cost Management in Ardoq.

Document versions

Date

Responsible

Rationale

Mar 25, 2022

Rasmus Valther Jensen

Published

Apr 6, 2022

Rasmus Valther Jensen

Incorporated Organizational Unit in the metamodel

Did this answer your question?