Data driven is not the silver bullet you think it is

Data driven is not the silver bullet you think it is

In the 2010s, there was a huge buzz around big data. Big data was going to save the world of decision-making. Gather all the information you can about the market, clients, employees, and your product, and just follow where the data will lead you. The big data buzzword went away a bit (I guess we now use it to fuel the AI buzz), but the mindset remained. These days, we call it data-driven, and it’s used every day in management meetings. It’s a great way to give power to your strategy, and the data doesn’t lie…

Read More
I think we should reimagine how we see architecture principles

I think we should reimagine how we see architecture principles

To me, it always seems strange that in a world that thrives on innovation and constant change, every architectural department tries to implement a rigid set of principles that stay in place for years. From software design patterns (think SOLID, DRY, …) to the more strategic layer (think TOGAF, PRINCE2, …), these principles seem to have been around forever. Is anything really timeless and forever the same?

Read More
Internal vs consulting Enterprise Architecture

Internal vs consulting Enterprise Architecture

Today, I want to discuss the two big experiences you can have as an Enterprise Architect: working internally at a company and being a consultant. I’ve done both in the past, so I hope to bring some insights into this topic. I have the feeling that depending on what you have more experience with (internal or consulting), you will have a very different perspective on Enterprise architecture as a whole.

Read More
Architecture in an agile world

Architecture in an agile world

Before we start talking about architecture, it’s a good idea to lay out the foundation of this discussion first. I know there are a million articles about agile and how it will all save us from certain doom and is a money-making machine, but let’s stop the marketing drive for a second and have an honest look at it.

Read More
Business Capabilities, how I like to use them

Business Capabilities, how I like to use them

So we should probably start with this right? Business capabilities (further in this article referred to as capabilities) are the backbone of enterprise architecture. They are also, sadly, one of the most misunderstood things in enterprise architecture. You can think of a capability as something a company can, or is doing. An example here could be, if you are a restaurant, stock management or food preparation.

Read More

The Goldilocks strategy: Finding 'Just Right' in Good, Fast, and Cheap

Picture this: it’s a Tuesday afternoon. You are called into a meeting room by your teamlead. He’s conversing with a client about a big new project they want to develop. After a bit of an introduction about the scope and features of the project, a very unrealistic deadline is proposed. Not only that, but you know from the past that this client has the reputation of having a very limited budget, so the amount of people that would work on the project would be a skeleton crew.

Read More
The economics of clean code

The economics of clean code

“The only way to make the deadline — the only way to go fast — is to keep the code as clean as possible at all times.” — Robert C. Martin I’m afraid I have to disagree with this statement. Let me tell you why. What is clean code There seem to be many opinions surrounding clean code. Some people have an entire architecture of how code should look. Others stick to the actual layout of the code, or length of a class while even others vaguely point towards Robert C. Martin’s books.

Read More
What is a binary tree and why would I ever want to reverse it

What is a binary tree and why would I ever want to reverse it

You have probably already heard the horror stories of code interviews where they ask you to reverse a binary tree on a whiteboard. (if not check this blog post that I profoundly disagree with) Well, a few days ago I was in that exact situation. And I had no idea what the interviewer was talking about. So what are these binary trees and why is it so critical that you know how to inverse them? Let’s find out.

Read More
The simple class

The simple class

I work in many legacy code bases, and in fact, I’ve made it a big part of my career. I love diving into big monoliths that have grown out of proportion and tidying them up. One of the best parts of that work is rewriting a God class into a collection of small reusable classes. Let’s take a look at what makes a simple class great.

Read More
A love letter to legacy projects

A love letter to legacy projects

Monday morning. Your previous project just wrapped up, and they are going to assign you a brand new one. They even promised you the lead on this project. Who said Mondays couldn’t be great? A few hours later and you are staring at the most dreadful code you have ever seen — controllers of more than a thousand lines, PHP that injects jQuery in the views, raw SQL statements that could challenge a Dostoyevsky novel in size. The list goes on and on. This Monday is going to need a ton of coffee.

Read More