Ok, maybe the title is a bit strong, but it is the one thing that struck with me when I was reading through a posting on ESB-Oriented Architecture at IBM DeveloperWorks. This is the part that struck me:
Rather than the IT field of dream’s slogan of “if you build it, they will come,” a more appropriate slogan comes from Extreme Programming (XP): “You aren’t gonna need it.” This slogan is shorthand for a very practical principle:
Always implement things when you actually need them, never when you just foresee that you need them.
This principle—don’t build it until you need it—is the opposite of the IT field of dreams. Rather than building it because you hope that someone will want it, do not build it until you know someone wants it. Then you can make sure to build what they want, not what you think they might eventually want. And you will not incur the costs of building it until you are also ready to reap the benefits of having built it. This principle is just a good business philosophy, and it applies to the IT department as much as any other parts of the business.
This may have some applicability at a ‘micro’ level, say, when you are deciding whether or not to write a function or class — a task that may take minutes or hours. But, I think it absolutely misses the mark for larger scale efforts that might take months or years. I believe this posturing also reflects the disdain that the ‘agile‘ and XP herds have for sound architectural principles. Coding is not architecture. Nor is it proper documentation.
A successful enterprise architecture strategy should reflect a robust enough understanding of the business that it supports to be able to anticipate when changes are needed and build them before the business actually needs them. This is how architecture adds value to the enterprise, not just to a project. However, if you enter into a reactive process where you are trying to build out significant infrastructure at the same time that a project or projects is intending to consume it you will likely fail.
To put it in the terms of the posting: the business would have come (and gone) because you couldn’t build it fast enough to add value. And rare is the project that will just hang around for a year while you quickly try to deliver. Something.
Technorati Tags:
ibm, architecture, badideas, developerworks, esb