Strategies for your enterprise architecture: people or documentation ?

Here is an interesting thought of a colleague yesterday (Thomas Vermassen – Lead Architect ORES) on documenting IT systems:

You have basically two strategies for keeping your Enterprise Architecture knowledge under control.

The first one is to capitalize on people. If your organization is stable enough you can assign clear responsibilities and you should be able to find the right information by finding the right person.

The second one is to capitalize on documentation. Through deliverables you make sure everything is described as it should be. This is most suitable if you have a high collaborators turnover like when you work with a lot of sub-contractors.

The ideal world is probably to have both.

I’m a deliverable minded person and I so I tend to prefer the second one. I value information sharing as it often avoids job protection and silo thinking. The notion of deliverable is also linked to another value that I like : personal contribution.

Also when the architecture is complex I don’t see how you can just book a meeting with someone in oder for him to explain you the 100 business processes in scope. That must be why clever people write books……


In IT solution architecture, Microsoft  uses the PASSME acronym for Non Functional Requirements (NFRs):
  • Performance
  • Availability
  • Scalability
  • Security
  • Maintainability
  • Extensibility

Why I didn’t buy a new MacBook Pro

In 2010 I left IBM and I started as a freelancer.

I needed a new computer.

A friend of mine had a MacBook Pro. He has always been an excellent ITer so I decided to follow his advise and give Mac a try. I bought a MacBook Pro. The best one. The most expensive one.

Was it a better experience than Windows ? Not really. My Mac’s performance decreased with time just like it would with a windows PC.

I even had regression: very annoying crashes due to the GPU switches. I has to install freeware (GfxCardStatus – to be able to use my mac.

When the MacBook pro disk gets full the performance gets really very bad making the computer unusable.

At the store they told me the only solution was to format and re-install… Last week I decided to re-install the OS from the original CD. I really hesitated to try Ubuntu on MacBook Pro. Before I upgraded to “El Captain” I checked if my GPU problem was still there and in fact it had disappeared ! I could connect to an external display which was impossible since years… So I decided to report to Apple.

Here is what I sent to Apple as a comment to the crash report:

GPU switch crashes my Macbook Pro 2010.  For example when connecting to external monitor.

This week I reinstalled with the original CD OSX 10.6.3 and I could extend my desktop to a second screen. After OSX updates it’s now crashing again.

I conclude that it’s a software problem and that Apple OSX suffers from regression for managing the GPU.

I’m obliged to play with GfxCardStatus to maintain my mac up and running in a decent way.

Many software that are initially designed on windows don’t work well or just don’t work on Mac : MS Office, Sparx EA, MAMP, Java, Flash…

So finally :

  • The overall MacBook experience is not better
  • I have much more freedom and choice on Android and Windows
  • You have less viruses on Mac Vs Windows but  can install Ubuntu or boot Linux on any PC.
  • Apple is 50% more expensive

In 2010 I had also bought an iPad 1. The hardware is still ok but it has also become unusable : impossible to update most of the apps.

Bye bye Apple.…

Classify your business processes and focus on the most valuable ones

(Original post : in 2007 I think since I was working at IBM…)
What to do with a Business Process Management Platform ?

IBM’s Software Portfolio contains Business Process Management Tools. When and how you should use a BPM platform such as WebSphere Business Process Manager depends on the type of Business Process that you want to automate.

Types of Business Processes

I classify 4 types of Business Processes in a 2 dimensional table – 1 is not enough and 3 is too much for marketing :-).


The horizontal axis is the differentiation axis:

  • Differentiating : You have business processes which are truly differentiating : your company is the only one to make it that way, or produces that type of products or services.
  • Non-Differentiating : Those business processes are just standard business processes. You do the same as the competition in that domain.

The vertical axis is the “core business” axis:

  • Core business processes : those business processes are core to your company. Example : Credit or Payment processes in a Bank.
  • Non Core business processes : those business processes aren’t really linked to your company but you need to have them. Example : Payroll, Company Cars, Building Maintenance and Security…


Good Boys

For two cases, it really makes sense to master a BPM platform in house :

  • “Non-Differntiating” and “Core Business” Business Processes. Those business processes just belong to your industry and so you need to have them. For instance, in the Pharma industry, you need to communicate with the FDA in order to commercialize drugs. In that case, it’s a good idea to try to automate the business processes in order to reduce cost to a maximise. I qualify this zone as “OPTIMIZE” business processes.
  • Differentiating and Core Business : those business processes is your battle field. It’s the place to win new customers by being faster, smarter and offer more than the competition. Those processes are in the INNOVATE zone. It’s the place where you can innovate. Working with a strong BPM and SOA platform can help you achieve your goals faster by providing IT agility.

Bad Boys

For the two other cases, it’s less obvious why you’d need a BPM platform. However:

  • Non-Differentiatng and Non-Core Business : in this case you run business processes which are not really important for you and that will not help you to win market share. This kind of processes should be outsourced to other companies : I put them in the OUTSOURCE zone. Example : outsourcing of Company Cars Pool Management to external companies like ?LeasePlan. If you absolutely want to keep those processes in-house, you’d better manage them right in order to avoid hidden costs and benchmark them. A BPM platform is a plus in that case only.
  • Differentiating and Non-Core Businesses : the first question is to know WHY you are doing this. You have diversified your company with differentiating processes which are non-core. You have two options to handle this : make them core business by adapting the strategy – adding a business unit- or stop doing them by selling or outsourcing them to someone who wants to make them strategic. If they can’t be dropped or promoted to the strategy, you’ll need to manage them you can take advantage of the BPM platform you have bought for your core-processes. Just keep them independant such that you can sell them at any time.

Which Core Business Processes would benefit the most from a BPM platform ?

It depends. You can jump into the “Winning the Customer Battle” by providing better services but you can also cut down prices and/or increase margins by optimizing . IBM wants to help companies to Innovate by becoming the Innovator’s Innovator (See and after all optimization sometimes requires innovation….

Next question : How does processes stability play a role ?

How to search for objects with name containing ‘?’ in SPARX Enterprise Architect ?

I had to search more than 2 minutes for this, so I post it.

The question is how to escape special characters in the SPARX EA search.

Answer : You need to escape the ? using square braquets: [?]

Since the wildcard is ‘*’, the SQL is

SELECT Name FROM t_object where NAME like ‘*[?]*’

Useful links: