Some companies seem to think that doing a Big Design Up Front (BDUF) before starting out implementing a BizTalk solution is the way to go. However it isn’t a BDUF from the aspect that they first would like to go through all their requirements and then through a waterfall style design phase for all of the requirements they have in mind. Had it been BDUF it would have been bad. now it’s worse. They want to install an all purpose integrations plattform with full support for BPM, Human Workflow and Governance from day one.
Although I’m not an agile fanatic of any sort, I just don’t believe that should or can be done. You can’t just decide on all the pieces you wish you had in your infrastructure and go out and buy them and think you will get the benefit of those pieces included with the purchase. For that matter it’s not even certain the pieces you think you want are the pieces your business really needs. And what’s worse, doing so is a fast way to waste a huge amount of money. Although they are all great products, you just can’t put what you needed for that – SQL Server, BizTalk Server, MOSS, K2, SOA Software and a couple of other products – together from day one when starting out establishing a new integration plattform. You are smart if you start small. Integration is about being agile, BizTalk is about being agile. Being able to exchange one product for another whilst not impacting the rest of the systems within the company. You can’t just install an enterprise architecture because you want to “start doing SOA”. Sorry to those of you missing out on all that juicy license money 😉
Now with that said, you can do a BDUF if you wan’t to. I believe there are sitiations where that method works, although I think a slightly more agile approach is more likely to succeed. But even if you do, don’t translate that design directly over to products and a Big Bang install and think you’re there. It’s just not that easy.
I was thinking about this while building lego with my son recently, and I took this picture. You can draw your own conclusions as to its meaning.