Conceptual Integrity in Large Systems

The central argument of the Mythical Man Month from Fred Brooks is that conceptual integrity is the most important consideration in system design, and that conceptual integrity will only be achieved if the design comes from one, or a few resonant minds. I will contend that conceptual integrity is the most important consideration in system … Continue reading Conceptual Integrity in Large Systems


In Defense of Design Before Coding

Software design as a separate activity from implementation -- "up front" design -- got a bad press with agile methods. Agile advocates say the design should be emergent. They say, design without coding is waterfall. It's a waste of time. I understand that you don't want to design the whole system up front. But at … Continue reading In Defense of Design Before Coding

Platform War

I started my career writing flash applications. Then I moved to Java. Both are middleware technologies that abstract the underlying operating system and enable cross-platform interoperability. I've actually never wrote a professional application that relied directly on a specific operating system. This was fine to me. "Write once, run everywhere" was great for productivity. For … Continue reading Platform War

10 Tips to Fail with Enterprise Integration

If you want to make enterprise integration needlessly complicated, follow these tips. 1. Model poorly A poor model is always a nice way to make things more complicated than they should. Examples: You can name thing badly. You can model everyting as strings (key, list, etc.). Or you can reuse overly generic abstractions in multiple … Continue reading 10 Tips to Fail with Enterprise Integration

Reality Box

The world is constantly changing. From electricity to cars to television to the internet, most generations have seen at least one breakthrough.  This will continue, and it's certain that my generation will witness another technological shift. Interestingly, how we react to new technologies changes itself with time.  For a lot of new technologies, my first … Continue reading Reality Box


Fred Brooks started it all. In The Mythical Man Month, he quotes a study saying individual difference between low and high performers can vary by an order of magnitude Since then this myth of 10x productivity difference has persisted in our industry. Nowadays it's best seen in the use of words like rockstar, guru or … Continue reading 10x