August 18, 2009

On the definition of architecture

I've recently blogged about my view on (enterprise) architecture (see e.g. here and here). In this article I'll investigate the definition aspect of enterprise architecture in more detail. As a word of warning: I'm not going to propose yet another definition for the concept of enterprise architecture. For those who find such a discussions interesting, have a look at thispost on Erik Proper's blog, and make sure you notice the comment by Hans Bot.

The IEEE 1471-2000 definition of architecture is as follows:

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.

In this presentation, Richard Hill gives a good definition for the terms used in this definition:

  • fundamental organization means essential, unifying concepts and principles
  • system includes application, system, platform, system-of-systems, enterprise, product line, ...
  • environment is developmental, operational, programmatic, … context of the system

Defining these things so strictly gives us, architects, the feeling that we're doing something rational. That terms mean the same thing to everyone. That Enterprise Architecture is, somehow, objective. To many, architecture is indeed about providing rational arguments about enterprise transformation. It is how I use the concept of architecture in my work as consultant - at BiZZdesign - also. However, theoretically this does not add up. As a scholar, I find that disturbing. The point is that architecture, by definition, is subjective. Here's why.

First of all, when adopting IEEE 1471-2000, we assume that all enterprises to be systems. I've recently had a few interesting debates with systems-thinkers who indeed assume the world to consist of systems, be it closed technical systems or open social systems (as a side note: in western society this seems to be the predominant view of the world indeed. However, why not see enterprises as organisms?). The question, then, is: what is a system?

Following the FRISCO report (highly recommended), a system is defined as follows:

A system is a special model, whereby all the things contained in that model (all the system components) are transitively coherent, i.e. all of them are directly or indirectly related to each other form a coherent whole. A system is conceived as having assigned to it, as a whole, a specific characterisation (the so-called "systemic properties").

In other words, a system is a model. FRISCO defines model as follows:

A model is a purposely abstracted, clear, precise and unambiguous conception.
A model denotation is a precise and unambiguous representation of a model, in some appropriate formal or semi-formal language.

Thus, FRISCO makes a distinction between abstract models, and 'tangible' model representations. A conception, in FRISCO, is:

A conception is a special actand resulting from an action whereby a human actor aims at interpreting a perception in his mind, possibly in a specific action context.

The list of definitions goes on and on, building a solid framework for 'thinking in terms of systems'. Summarizing, FRISCO asserts that people view the world (perception), make sense of it (conception) and through the process of summarizing, focus, et cetera, form (mental) models. Even more, systems are defined as a special case of models.

Coming back to the topic of this blog post: the above implies a second layer of abstraction. First of all, seeing the world in terms of systems is a choice. Secondly, systems are 'in the mind of the observer' and therefore inherently subjective. Surely, by communicating about our mental pictures of the world, we can attempt to 'synchronize' our world views but still.

To complicate matters further, there's a third layer of abstraction involved here. IEEE 1471 asserts that architecture is about the fundamental organization of systems. What is fundamental is, of course, also in the eye of the beholder. This means that, when discussing architectures, we're really working at an abstract³ level.

The practical consequences and relevancy of this blog post may seem low. Admittedly, the post is theoretical indeed. The point, however, is that architects should be very aware of the fact that they're working on an abstraction of an abstraction of an abstraction of something in the real world. Changing a line in an architecture diagram, or inventing a new principle doesn't alter the real world!


August 7, 2009

How Google’s strategy fits the architecture of my life


Some claim, with reference to many recent product launches, that Google is hardly affected by the current economic crisis. Whether this is true or not, I did recently realize that Google is a big part of my (digital) life. In this blogpost I’ll briefly explore “the architecture of my life” and relate it to Google’s strategy.

Enterprise Architecture

The concept Enterprise Architecture (EA) means different things to different people. In an earlier post I already briefly explained my view on ‘architecture’ as a concept. Summarizing:


· Definition dimension - Following the ANSI/IEEE Std 1471 :: ISO/IEC 42010 standard: system have an architecture, whether we choose to document it or not. To put it differently: architecture is a property of the system, most notably its ‘fundamental organization’ as well as ‘the principles underlying its design and evolution’.

· Documentation and communication dimension - Architectures may be documented. Typical forms of architecture documentation consist of models (diagrams) and principles. The Archimate language has recently been adopted by the Open Group as a standard language for architecture diagrams.

· Use dimension - Insight in the architecture of systems can be used in changing systems; either using an organic (bottom-up) approach or a systems engineering ( top-down) approach. This implies that clear goals must be articulated for architects. Frequently these goals pertain to effectiveness criteria.

· Process dimension - In changing systems (according to predefined goals), architects tend to follow a specific approach. This ‘way of working’ aspect frequently involves figuring out what the current (IST) architecture of the system under consideration is, what the to be (SOLL) architecture of the system should be, and planning ‘migration’ from one such state as another. The TOGAF ADM, also by the Open Group, is considered to be the industry standard with respect to this dimension. However, it has also attracted a lot of criticism, mostly pertaining to the fact it ignores the social complexity of enterprise systems (i.e., the human factor).

My life from an architecture perspective

Describing my life from an architecture perspective could be an interesting task indeed. Following the above mentioned definition, this would require – among other things – to answer questions such as: what is the fundamental organization of my life? What are the principles governing my life? Since this could potentially require quite a bit of explanation, I’ll stick to the short version here (more info can be found on my personal website).


The above diagram illustrates, in the Archimate language, some aspects of my life. First of all, I am married. This is modeled as an assignment of the actor ‘Bas van Gils’ to the ‘husband’ role, which is part of the ‘marriage’ collaboration. The joint responsibility of husband and wife (we have two kids) is modeled as the assignment of the marriage to the function ‘take care of kids’. In a similar fashion, the fact that I’m also an academic who writes paper is modeled using a role which is assigned to the process ‘write papers’. Surely, scholars sometimes read papers as well, but I’ve left this out of the model for now.

Furthermore, the process also includes some information about my use of technology. In the process of paper writing, I use two types of functionality which are modeled as application services: ‘bibliography management’ and ‘digital library’. For the former I use the ‘BiBTeX’ application, for the latter I use ‘Google Scholar’. These relations are modeled using the ‘realization relation’ from Archimate. Similarly, the diagram also shows that I tend to use ‘online communicaton’ services (most notably Google Mail and Google Talk) as well as ‘telephony’ services. For these I use the devices ‘work phone’ and ‘home phone’.

Obviously, this is only a limited subset of what I am all about. It does not, for example, include my love for the bridge game, or my interest in many different types of music. Nor does it show that I used to fiddle with linux technology a lot in an attempt to stay in control. In terms of architecture terminology, I used to adopt the principle that I should install and maintain software systems with respect to online communication whenever possible. As a consequence, I had my own web server with a private domain, hosting a blog, E-mail, photo gallery and so on.

I still have the server, and it still hosts a (personal) blog. Coming back to the central theme for this post, though, I’ve noticed that Google has taken over many of these functions as illustrated in the above diagram.

This brings me to the central theme of this post: why is that? Why have I abandoned the above principle in favor of the principle Use Google’s services rather than doing it yourself or seeking other alternatives. In the next section I’ll firstly present a brief overview of my understanding of Google’s strategy. After that, I’ll relate this discussion to my personal situation.

Google’s strategy

Like (enterprise) architecture, strategy means different things to different people. It is frequently equated with ‘plan’, as in ‘a strategy to get from here to there’. In the field of strategic management, however, strategy relates to positioning the firm with respect to its environment (side note: yes, I know that the two interpretations are strongly related. In order to conquer / maintain a certain competitive position one has to execute certain actions which can be planned. This, however, is the crucial point: strategy is frequently incremental and can only be analyzed in hind sight).


The above figure shows (my interpretation of) the business system of Google. The business system concept (as explained in the book “Strategy Synthesis”) is relatively straightforward. The central concept in business level strategy is ‘sustainable competitive advantage’. In order to study the sources of competitive advantage, one studies the business (product x market combination) in terms of resource base, activity system and product offering.

The figure shows that Google has a huge list of products associated with its advertisement business. These products include search, google mail, blogger, etcetera. The revenue model for this business is simple: place relevant advertisements in the tool that is used. For this, Google mainly uses its AdWords program. According to its financial statement, more than 99% of Google’s revenue comes from its advertisement business. This implies that less than 1% of its revenue comes from selling (business) software and such.

There are many synergies to be reaped between the two businesses. For example, at the resource base level Google can easily use shared infrastructure (such as its data centers and impressive network all over the world) as well as its staff (side note: people are not assets, as Tom Graves recently explained. However, in the business system model they are positioned in the resource base). With respect to synergies at the level of its product offering, it is interesting to see that Google appears to be mimicking Microsoft’s strategy in the 1990s … but with a twist. In the 1990s it seemed that Microsoft was all too happy that many people used its software (windows and office) at home – not always legally. As popularity grew, more and more people wanted to use the same software at work which resulted in more business licenses sold and, hence, the dominant position of Microsoft in the area of office software.

Similarly, to many ‘home users’, using Google’s products is free. My guess is that Google wants to build a strong reputation, get people hooked to its products (and sell a lot of advertisements in the process) so that, hopefully, in the future many licenses for its other tools can be sold.

Google’s strategy & the architecture of my life

Having briefly discussed the ‘architecture of my life’ as well as my interpretation of what’s going on at Google, it is now time to address the central question for this post: how does Google’s strategy fit my life. To answer this, I’ll briefly go into some of the principles I attempt to adopt as well as Google products that I like.

First of all, notice that there already quite a few Google products in the Archimate diagram above. I wondered why this is the case. After all, I used to ‘do everything myself’. Some examples clarify why I switched. I’ll readily admit that I am pretty much an E-mail junky. I check my E-mail several times per day. Usually every hour at least. I really wanted to have access to my E-mail no matter where I am. Since it is not always possible to log into my own computer (using ssh) and use my favorite mailer (mutt), I was desperately seeking alternatives. Given Google’s incredible spam filter, an alternative was quickly found. Added advantage is the mobile Gmail application, making it possible to check my E-mail on my cell phone.

Similarly, I used to host our family picture album on my own server. However, I noticed the security aspects of this system were seriously flawed. Even more, I found out that I was quickly running out of disk space. A switch to Google’s Picasa solved this for me. The list goes on.

One of my recent annoyances is the fact that I’m constantly carrying two mobile phones around. The basic principle is simple: I carry one phone only for business and personal communication including voice and SMS. I quickly learned that dual-sim phones are rare, no solution to be expected there. Again: enter Google. Google recently announced Google Voice: an impressive service which allows you to route phone calls and SMS messages to any desired phone depending on who is calling, time of day, and so on. Just what the doctor ordered as it helps me follow the above principle. Unfortunately it is not available in the Netherlands just yet.

Another interesting aspect of digital life is document management. I currently story my (personal) documents on a secured repository (using subversion) to be able to easily synchronize between computers. Not an ideal situation but it works. It’s no big secret that Google is on the edge of the cloud computing movement. It’s online office suite is far from perfect but it has the advantage of (a) having all your documents online, and (b) being able to easily synchronize using Gears. And to top it all off, the upcoming Google Wave tool integrates all of the above.

Referring to the earlier analysis of Google’s strategy, it does seem that Google develops the tools that makes “everyone’s” life easier and offers them for free. In the process they make a lot of money. Sure. Eventually, they’ll probably also sell a lot more software. Also, a lot of the privacy pundits are all over Google as they’re worried that Google ‘knows too much’ about our lives. Good, it keeps Google on its toes. From my point of view: I’m happy that Google helps me live my digital life.