WCF Service Software Factory thoughts…

March 24, 2008

Today, I completed a hands on lab from codeplex that shows off the features of what the service factory can do. The reason why I did this tutorial is that I have decided to strengthen my career with WCF and SOA and to also try and strengthen my architect skills. The reason why I picked the service software factory for part of my studies is a few reasons:

  • It’s new to me. I have been too scared to use it in production environments because of my lack of knowledge about it
  • It’s Guidance automation packages are extensible and are very focused for the decision makers/architects
  • It provides a lot of code generation and task automation of some of the monotonous things that programming in WCF can sometimes make you feel. i.e. it will probably take you 2+ hours to just THINK about how many projects you will have, what to call them, and how to layout your solution in general.

So after I have finished it I am now left with a question in my head. I do not have anyone that works with me currently that is at a very high architect’s level or works with one so I cannot ask the question to colleagues. My question is: How realistic is the use of the software factory to create production systems. Sure it’s enterprise level but how easy would it be to make code changes to already generated files? Yes it can be done, but then you can no longer re-generate the file with the software factory or else your changes get overwritten. How stable are these tools when code files start to hit the hundred’s and dependency complexity between files and projects increases? I understand the code is open source and that any potentially blocking issues could theoretically be fixed but that’s beside the point. I would love to know how many architects/senior developers actually produce production code for large projects (by large I mean enterprise level, million dollar plus projects). My personal view on this is split in two. On one hand I love the fact that I’m no longer writing the word ‘public <return type> <method Name>{//blab la };’ constantly and that it is automatically generated for me. It makes me feel very productive. I love the fact that I can just click on a Guidance Automation Task project type and know that I am adhering to “best practises” without having to think about structuring my solution myself ( I know that one should always consider each scenario individually and that these projects can be modified via recipes etc). I become worried when thinking about what happens when you need to modify the automatically generated code. I become worried when I think about the readability and quality of generated code. I also worry about how reliable these automation tools are. Finally I worry about the fact that I’m not sure how many senior developers out there actually use the software factory. In my limited 6 years of developing I have only come across one developer that has used it and he wasn’t a developer, he was actually an architect/senior consultant.


I will be taking the safer option for now by continuously trying to improve my WCF skills and knowledge without worrying too much about learning about the software factory until I meet some more senior architects that can swear by it and maybe even visually show me some implementations on some projects and how it positively affected productivity.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: