Thomas Sundberg

October 13, 2012

All computer systems are equal

This post has been migrated to

All computer systems are equal, but some systems are more equal than others. At least on a high level.

They are all subject to these actions:

  • Enter data
  • Apply business rules – morph the data
  • Persist
  • Retrieve the transformed data

The business value of the system is in the data retrieved from the system. The value is created when the business rules are applied on the input. There is no business value in the input. You might express the relationship as:

Business rules (Data) = Business value

There are differences between systems. The data that is added is different. The business rules are different. The data storage is different. The business values are different.


The biggest challenge is often to understand what the customer actually wants. When that has been understood, you have to figure out a logical flow of the information and how the business rules should be applied.

The rest is technology. Technology is less important than most managers think. It doesn’t matter if you aren’t an expert on a particular tool or technology. If you need to be an expert, the solution is probably too complicated.


The enlightened, or sometimes cynical, developer has realized that all we do is shuffling text. The things entered are text; the business rules transforms the text and retrieving the business values are done by returning text transformed by the business rules.

This view also implies that if you need to focus on something else, then replace all complicated things with better abstractions. This could for example be data storage. If there isn’t any need for a database from your current perspective, replace it with a simple class that holds the values in some collection instead. There is no need for a mocking framework in many simple cases. A trivial, hardcoded class is sometimes enough. Some people will think that this is cheating. I think it is just being smart and focusing on the right thing.


The differences between systems are actually a lot smaller than what some people want to think. Stuff are entered, transformed, persisted and returned. That’s it. This view tends to provoke people a lot. But I am still waiting for somebody to show me any computer system that is radically different.

Remember Albert Einstein’s words: “Everything should be made as simple as possible, but no simpler.”

Always strive for KISS, Keep It Simple Stupid.


Thank you Johan Helmfrid and Malin Ekholm for your feedback. It is, as always, much appreciated.


Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at

%d bloggers like this: