ESL…Is It What You Want Or What You Need?
Last week I was sitting in a meeting having an extended discussion on what information and benefits could be derived from an ESL transaction model of a system. It reminded me of the words of those immortal philosophers, The Rolling Stones, “You can’t always get what you want, but if you try sometimes you just might find, you get what you need”. I believe this is a philosophy that needs to be taken to heart by those struggling with the move to transaction level modeling.
I see a recurring struggle in the minds of many people new to ESL; they have all this hype and optimism that ESL will solve all of their problems. Guarantee that their systems will work and be successful. Of course this optimism is dashed by the cold hard reality that design is still design. Intelligent decisions need to be made. Trade-offs need to be understood, the costs and risks must be weighted to make the best choice for the target application of the system. This is where ESL shines.
People want a panacea where any designer can describe a system at a high level and from this understand all the trade-offs implied by their architecture. What they get is the ability to quantify the choices and decisions that are made. They have to understand what it is they are doing, what questions need to be asked and they have to intelligently model, exercise and analyze the system to get the information allowing them to implement an optimal architecture. ESL provides the ability to quickly understand the system and understand the trade-offs that are being made before the design is committed to a particular architectural alternative. To be fair, those new to ESL often have this expectation because they’ve been oversold, overhyped and promised the world to justify the investment needed to get to ESL.
The challenge is to identify what you really need immediately from the system level analysis. It’s usually easy to come up with a list of things you want, but what do you really need? You’ll never get everything you want, but if you try to indentify what’s really important, what are the choices that are going to have the largest impact on your system; you may just find you get the information you need at the transaction level.
I would invite those of you who’ve had some experience finding what you need, or figuring out what you wanted that really was not needed at this level, to share your knowledge.