POT without Guidance
Building applications is boring. Building frameworks is way more interesting. I mean, who wouldn’t want to build a dependency injection framework with an event broker, commands, controllers, containers, and UI parts to build composite distributed enterprise applications? Unfortunately, at some point you would need to deal with the boring task of teaching developers to use it. What if you could build a second framework to produce automated developer guidance for your first framework? And if you combine your first framework with the automated guidance produced by your second framework, you’ve got yourself a Software Factory. How cool is that!
Luckily, Guidance Automation Toolkit from Microsoft takes care of the second task. It is a software factory factory, i.e. a software factory you use to build other software factories. Now we’re talking! I’m going start building one of those babies right now! I can almost see the long assembly lines of my shiny new factory and dozens of code monkeys pushing buttons and cranking out production quality code in Elbonia.
Oh, wait a sec… I just had to explain the difference between a controller and a container to one of the code monkeys… Another code monkey just asked me about the difference between an event and a command… I don’t get it; it’s all in the automated guidance; why aren’t they using it… Now it’s my boss, asking for status; we were supposed to go live in November…
Seriously
If you are successfully using Guidance Automation Toolkit to build your own software factories, please feel free to post flaming comments on this page. I would love to learn from your experience. I have taken a look at GAX/GAT and DSL tools several times during the past two years. Every time I left with a feeling that these tools are way too heavy to be practical in an average enterprise application development project. I work with very smart people and feel that by the time I’m done building a factory, they will be done with our current project and will be working on the next one.
There was one thing that caught my attention – Text Template Transformation Toolkit (T4). It is a template engine, similar to CodeSmith that you can use to generate code on the fly, similar to how Visual Studio or xsd.exe generate code for strongly-typed datasets. It is a part of both GAT and DSL toolkits. Unfortunately, I couldn’t find any examples of using T4 without building a DSL or a Guidance Package. Heck, even trying to come up with a search string for Google turned out to be a challenge. This is unfortunate because ready-to-use T4 templates would be immediately helpful in my application development projects.
What does POT have to do with Guidance?
POT is an abbreviation I thought of while learning T4. It stands for Plain Old Template (similar to POX and POJO, pun intended). I think that software developers would benefit from having more POT (ready-to-use T4 templates) then from having more Guidance (Software Factories built on top of overengineered frameworks). So, I’m starting my own initiative, POT without Guidance to deal the software factory factories a crushing blow…
Nah! I’ll just make a set of ready-to-use templates that I can use quickly in my work. But may be others will like them too, start publishing their own and we will be able to find POT quickly. Check out this (more serious) article and let me know what you think.


