Skip to main content

Micro domains are everywhere

A micro domain is a single responsibility of a task, piece of code, or anything at all. It was suggested to me that micro domains is a good thing and you can use it to ensure productivity. These were the reasons to incorporate micro domains in your company.

When using micro domains you will give each developer a responsibility in the code that only they care about. They will make sure that this piece of code is well documented, maintains high quality and takes care of any changes that has to be made.

This will increase productivity because everyone knows their micro domain and may produce change at highest rates and also should be able to maintain highest quality. As good as it may sound this is an illusion.

  • While productivity may be at high rate in the micro domain, changes that affects several domains will be very slow when developers has to get along, decide about a common interface between their domains and it will take several meetings just getting the simplest of things done.

  • What if Developer Joe gets hit by a bus?

  • Micro domains will create islands of coding standards and it will not support distribution of knowledge between co-workers. It will also result in much worse quality than expected, since only one pair of eyes have watch a piece of code at any time.

I think that we've established by this time that micro domains are evil.

Why do I see micro domains everywhere?

As soon as you have people, you have micro domains. That is because we like to own responsibilities, and we don't like to share success. I guess this is much worse in a hierical organization than a flat, but I do manage to step on peoples toes from time to time, when I thought we had collective responsibility and I didn't see the clear line of your micro domain.

As you've already noticed there are micro domains in everything

  • You're a project manager and can't take critique or suggestions about how your project should be run.

  • You're a database administrator and you won't listen when a suggestion about normalization in your database is proposed.

  • You're a CEO and you can't criticize the developers about their code quality without making people upset.

  • You're a consultant that manages to create more work opportunities in a existing client, and gets frowned upon by the sales department.

When micro domains hinders me from doing my job properly, I get frustrated. When I have to ask for permission doing a database changes, instead of giving suggestions, it has gone completely out of hand.

Kill the micro domains! Embrace collective responsibility.

comments powered by Disqus