|
As you already know, I'm a great fan of simplicity. I've had my share of failures falling into lots of pits on the battle-field of systems integration. Sometimes I even wonder if there is any benefit of integration at all. The dream is always promising, but in reality we're often disappointed by costs, duration, change inflexibility and complexity in general. Well, IT-life cannot be that easy, can it? Just keeping things simple, not integrating at all? In fact, it can. As I have pointed out often, the software development process should be made simpler by disentangling a couple of things like "Methods, Techniques and Tools" or "Project Execution and Project Control" or "Productivity goals in terms of Costs versus Time and Efficiency versus Effectiveness" and more.
But what about the software (architecture) itself? The last few decades came with lots of beautiful technologies like Windows, Client/Server, Internet, Flash/Flex, Virtualization like Cloud-computing and more. Users got really exited about all these possibilities and for a while, so were the developers. It's always fun working with cool technology, isn't it? Well, as long as you don't have to pay for it, wait for it or change it . Using a 3 or 4-layer model or Service Oriented Architecture already helps a lot but it is not enough. And even, when not implemented properly, it only adds complexity and therefore ruining the benefits in the long term. Recently I've met some good people from the University of Antwerpen, professors Jan Verelst and Herwich Mannaert. They've explored a simple idea. How to design an application with all components on any level having only one input and one output interface? They've called it: "Normalized Systems". Sounds a bit like SOA, but without the middleware and really deeply into the application itself. Of course it's more than just an idea. They've developed a couple of design principles for it as well and have written a book about it. The benefits are obvious. Simpler design, easier development, less risk with changes, lower maintenance costs, better offshoring and outsourcing possibilities, flexible technology adoption and more. Wow, where have I heard this before? Almost every technology vendor has written these gains in large capitals in their sales collateral . The fun part is that in a chat with Jan and Herwich, they revealed that after having executed a couple of projects with this theory, they've really proved the promises and even more, a less dependence of fancy tools. Bad news for the technology vendors but apparently their tools proved their worth best in complex environments. Maybe they contributed to the complexity first en delivered tools to cope with it afterwards . For me "Normalized Systems" is the way forward. It fits beautifully into my ideas of disentanglement of processes and even better, it leaves space for technology innovations without having to start all over again every time. Have fun keeping it simple .
Add as favourites (33) | Quote this article on your site
|