<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Thoughts on Software Development</title>
    <link>http://www.reliablesoftware.com/DasBlog/</link>
    <description>"Publication - is the Auction Of the Mind of Man" Emily Dickinson</description>
    <language>en-us</language>
    <copyright>Reliable Software, Inc.</copyright>
    <lastBuildDate>Mon, 02 Jun 2008 02:47:05 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.1</generator>
    <managingEditor>weblogcomments@reliablesoftware.com</managingEditor>
    <webMaster>weblogcomments@reliablesoftware.com</webMaster>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=1fa49845-b93c-425f-ab56-224694398cf0</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,1fa49845-b93c-425f-ab56-224694398cf0.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,1fa49845-b93c-425f-ab56-224694398cf0.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=1fa49845-b93c-425f-ab56-224694398cf0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">On Friday, June 6 of Microsoft's Tech-Ed
   I will be hosting a Birds of a Feather Session on the topic "Software + Services is
   For Small Companies Too". It will be held in Room S330 E at noon.<br /><br />
   To continue the conversation, please add your comments and opinions to this blog post.
   If you are unable to attend feel free to add your thoughts as well here.<br /><br />
   Here are some questions to get you started thinking about the topic:<br /><br />
   What is Software + Services?          
   <br />
             
   <br />
   Are small companies afraid of software + services? Are they afraid of cloud computing?
   Why?          
   <br />
             
   <br />
   Doesn't cloud computing leverage the efforts of small companies? If cloud computing
   makes IT a commodity, doesn't this allow small companies to be even more nimble in
   their development efforts?          
   <br />
             
   <br />
   What are the real advantages that large companies have over small companies? What
   about the innovators dillemma? How do large companies keep their current customers
   happy and assure future growth through innovation?  Doesn't this help small companies.
   Doesn't cloud computing help small companies innovate even more?<br /><br /><p></p><a href="http://teched2008.leveragesoftware.com/profile_view.aspx?customerid=michaelstiefel"><img src="http://teched2008.leveragesoftware.com/businesscard.aspx?customerid=michaelstiefel" alt="Join Me at Tech·Ed Connect!" border="0" /></a><img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=1fa49845-b93c-425f-ab56-224694398cf0" /></body>
      <title>Software + Services Is For Small Companies Too</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,1fa49845-b93c-425f-ab56-224694398cf0.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,1fa49845-b93c-425f-ab56-224694398cf0.aspx</link>
      <pubDate>Mon, 02 Jun 2008 02:47:05 GMT</pubDate>
      <description>On Friday, June 6 of Microsoft's Tech-Ed I will be hosting a Birds of a Feather Session on the topic "Software + Services is For Small Companies Too". It will be held in Room S330 E at noon.&lt;br&gt;
&lt;br&gt;
To continue the conversation, please add your comments and opinions to this blog post.
If you are unable to attend feel free to add your thoughts as well here.&lt;br&gt;
&lt;br&gt;
Here are some questions to get you started thinking about the topic:&lt;br&gt;
&lt;br&gt;
What is Software + Services?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
Are small companies afraid of software + services? Are they afraid of cloud computing?
Why?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
Doesn't cloud computing leverage the efforts of small companies? If cloud computing
makes IT a commodity, doesn't this allow small companies to be even more nimble in
their development efforts?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
What are the real advantages that large companies have over small companies? What
about the innovators dillemma? How do large companies keep their current customers
happy and assure future growth through innovation?&amp;nbsp; Doesn't this help small companies.
Doesn't cloud computing help small companies innovate even more?&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;a href="http://teched2008.leveragesoftware.com/profile_view.aspx?customerid=michaelstiefel"&gt;&lt;img src="http://teched2008.leveragesoftware.com/businesscard.aspx?customerid=michaelstiefel" alt="Join Me at Tech·Ed Connect!" border="0"&gt;&lt;/a&gt; &lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=1fa49845-b93c-425f-ab56-224694398cf0" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,1fa49845-b93c-425f-ab56-224694398cf0.aspx</comments>
      <category>Microsoft .NET;SOA;Software Development</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=457b4176-fa3c-45c8-8927-31a3b5126dab</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,457b4176-fa3c-45c8-8927-31a3b5126dab.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,457b4176-fa3c-45c8-8927-31a3b5126dab.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=457b4176-fa3c-45c8-8927-31a3b5126dab</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I have put my VSLive! talk, explaining
   how to use Windows Comunication Foundation and Windows Workflow Foundation together
   to create distributed applications in the Presentations section of my web site.<br /><p></p><img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=457b4176-fa3c-45c8-8927-31a3b5126dab" /></body>
      <title>Workflow Services Using WCF and WF Uploaded</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,457b4176-fa3c-45c8-8927-31a3b5126dab.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,457b4176-fa3c-45c8-8927-31a3b5126dab.aspx</link>
      <pubDate>Fri, 04 Apr 2008 02:36:37 GMT</pubDate>
      <description>I have put my VSLive! talk, explaining how to use Windows Comunication Foundation and Windows Workflow Foundation together to create distributed applications in the Presentations section of my web site.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=457b4176-fa3c-45c8-8927-31a3b5126dab" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,457b4176-fa3c-45c8-8927-31a3b5126dab.aspx</comments>
      <category>All;Microsoft .NET;SOA;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=fe8fda89-cbf3-4f8e-82c2-b199e37bf19d</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,fe8fda89-cbf3-4f8e-82c2-b199e37bf19d.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,fe8fda89-cbf3-4f8e-82c2-b199e37bf19d.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=fe8fda89-cbf3-4f8e-82c2-b199e37bf19d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Quick answer: When I don't know about it?
   When two experienced co-workers do not know also?<br /><br />
   I was working on a workflow code sample for an upcoming talk, when I started getting
   ridculous compilation errors. 
   <br /><br />
   The compiler could not find the rules definition file when it was clearly available.
   The workflow designer could find it because I could associate it with a policy activity.
   The compiler falsely complained about an incorrect type association in a data bind,
   but it was clearly correct. Once again the designer had no problem doing the data
   bind.<br /><br />
   I tried to find an answer on Google with little success. After two hours of experimenting,
   I tried a different Google query and came up with the following link: <a href="https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=612335&amp;SiteID=1">https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=612335&amp;SiteID=1.</a><br /><br />
   The essence of the solution is the following:<br /><p><font color="#000000">"this is a well-known problem with code files that have
      desigable classes in them - the class that is to be designed has to be the first class
      in the file.  If you do the same thing in windows forms you get the following
      error: the class Form1 can be designed, but is not the first class in the file. Visual
      Studio requires that designers use the first class in the file. Move the class code
      so that it is the first class in the file and try loading the designer again."</font></p><p><font color="#000000">It turns out I had changed a struct that was defined first in
      my file to a class. I moved that class to the end of the file and "mirabile dictu"
      everything worked.</font></p><p><font color="#000000">So if this is a well known problem, why can't we get an error
      message just like in the Windows Forms case? 
      <br /></font></p><p><font color="#000000">While it was clearly my mistake, Microsoft has a share of the
      blame here. Clearly this requirement makes it easier to build the workflow designer.
      It would have been just as easy to check if this class was not defined first, and
      issue an error message.</font><br /></p><font color="#000000"><span></span></font><p></p><img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=fe8fda89-cbf3-4f8e-82c2-b199e37bf19d" /></body>
      <title>When Is a Well Known Problem Not Well Known?</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,fe8fda89-cbf3-4f8e-82c2-b199e37bf19d.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,fe8fda89-cbf3-4f8e-82c2-b199e37bf19d.aspx</link>
      <pubDate>Fri, 28 Mar 2008 18:03:06 GMT</pubDate>
      <description>Quick answer: When I don't know about it? When two experienced co-workers do not know also?&lt;br&gt;
&lt;br&gt;
I was working on a workflow code sample for an upcoming talk, when I started getting
ridculous compilation errors. 
&lt;br&gt;
&lt;br&gt;
The compiler could not find the rules definition file when it was clearly available.
The workflow designer could find it because I could associate it with a policy activity.
The compiler falsely complained about an incorrect type association in a data bind,
but it was clearly correct. Once again the designer had no problem doing the data
bind.&lt;br&gt;
&lt;br&gt;
I tried to find an answer on Google with little success. After two hours of experimenting,
I tried a different Google query and came up with the following link: &lt;a href="https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=612335&amp;amp;SiteID=1"&gt;https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=612335&amp;amp;SiteID=1.&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
The essence of the solution is the following:&lt;br&gt;
&lt;p&gt;
   &lt;font color="#000000"&gt;"this is a well-known problem with&amp;nbsp;code files that have
   desigable classes in them - the class that is to be designed has to be the first class
   in the file.&amp;nbsp; If you do the same thing in windows forms you get the following
   error: the class Form1 can be designed, but is not the first class in the file. Visual
   Studio requires that designers use the first class in the file. Move the class code
   so that it is the first class in the file and try loading the designer again."&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font color="#000000"&gt;It turns out I had changed a struct that was defined first in
   my file to a class. I moved that class to the end of the file and "mirabile dictu"
   everything worked.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font color="#000000"&gt;So if this is a well known problem, why can't we get an error
   message just like in the Windows Forms case? 
   &lt;br&gt;
   &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font color="#000000"&gt;While it was clearly my mistake, Microsoft has a share of the
   blame here. Clearly this requirement makes it easier to build the workflow designer.
   It would have been just as easy to check if this class was not defined first, and
   issue an error message.&lt;/font&gt;
   &lt;br&gt;
&lt;/p&gt;
&lt;font color="#000000"&gt;&lt;span&gt; &lt;/span&gt;&lt;/font&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=fe8fda89-cbf3-4f8e-82c2-b199e37bf19d" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,fe8fda89-cbf3-4f8e-82c2-b199e37bf19d.aspx</comments>
      <category>All;Microsoft .NET;Software Development;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=de4bd4fe-242d-494c-b13f-1d77f01dfc9b</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,de4bd4fe-242d-494c-b13f-1d77f01dfc9b.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,de4bd4fe-242d-494c-b13f-1d77f01dfc9b.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=de4bd4fe-242d-494c-b13f-1d77f01dfc9b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I did a short <a href="http://www.cstechcast.com/home.aspx?Episode=14">podcast </a>for
   Consortio Services about Software as a Service as part of their weekly techcast. 
   <br /><br />
   I very briefly cover what SaaS is about and some of the critical issues facing organizations
   looking at delivering services using the SaaS model.<p></p><img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=de4bd4fe-242d-494c-b13f-1d77f01dfc9b" /></body>
      <title>SaaS Podcast</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,de4bd4fe-242d-494c-b13f-1d77f01dfc9b.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,de4bd4fe-242d-494c-b13f-1d77f01dfc9b.aspx</link>
      <pubDate>Thu, 06 Mar 2008 05:42:48 GMT</pubDate>
      <description>I did a short &lt;a href="http://www.cstechcast.com/home.aspx?Episode=14"&gt;podcast &lt;/a&gt;for
Consortio Services about Software as a Service as part of their weekly techcast. 
&lt;br&gt;
&lt;br&gt;
I very briefly cover what SaaS is about and some of the critical issues facing organizations
looking at delivering services using the SaaS model.&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=de4bd4fe-242d-494c-b13f-1d77f01dfc9b" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,de4bd4fe-242d-494c-b13f-1d77f01dfc9b.aspx</comments>
      <category>All;SOA;Software Development</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=5b1e5222-d09f-4000-a9ef-e3cd200dd5ef</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,5b1e5222-d09f-4000-a9ef-e3cd200dd5ef.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,5b1e5222-d09f-4000-a9ef-e3cd200dd5ef.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=5b1e5222-d09f-4000-a9ef-e3cd200dd5ef</wfw:commentRss>
      <title>Speaking at VSLive! in San Francisco April 1-3.</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,5b1e5222-d09f-4000-a9ef-e3cd200dd5ef.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,5b1e5222-d09f-4000-a9ef-e3cd200dd5ef.aspx</link>
      <pubDate>Tue, 04 Mar 2008 17:24:29 GMT</pubDate>
      <description>I am going to be giving two talks and a workshop at VS Live! in San Francisco.&lt;br&gt;
&lt;br&gt;
The first talk is an &lt;a href="http://vslive.com/2008/sf/corenet.aspx#vc7"&gt;"Introduction
to Windows Workflow Foundation"&lt;/a&gt; where I explain both the business reasons why
Microsoft developed Workflow Foundation as well as the technical fundamentals. This
talk will help you understand not only how to build workflows, but when it makes sense
to do so and when to use some other technology.&lt;br&gt;
&lt;br&gt;
The second is "&lt;a href="http://vslive.com/2008/sf/corenet.aspx#vc63"&gt;Workflow Services
Using WCF and WWF&lt;/a&gt;". WCF allows you to encapsulate business functionality into
a service. Windows Workflow Foundation allows you to integrate these services into
long running business processes. The latest version of the .NET Framework (3.5) makes
it much easier to use these technologies together to build some very powerful business
applications.&lt;br&gt;
&lt;br&gt;
On Thursday I will give a &lt;a href="http://vslive.com/2008/sf/workshops.aspx#vpo2"&gt;whole
day tutorial&lt;/a&gt; on Workflow Foundation where will dive into the details of how to
use this technology to build business applications.&lt;br&gt;
&lt;br&gt;
Other speakers will talk about VSTS, ALM, Silverlight, AJAX, .NET Framework 3.0 and
3.5, Sharepoint 2007, Windows WF, Visual Studio 2008, SQL Server 2008, and much more.&lt;br&gt;
&lt;br&gt;
If you have not already registered for VSLive San Francisco, you can receive a $695
discount on the Gold Passport if you register using priority code&lt;font color="#000000" face="Times New Roman" size="3"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt; &lt;span style="color: red;"&gt;SPSTI&lt;/span&gt;.
More at &lt;a title="blocked::http://www.vslive.com/sf" href="http://www.vslive.com/sf"&gt;www.vslive.com/sf&lt;/a&gt; 
&lt;o:p&gt;
   &lt;br&gt;
   &lt;br&gt;
&lt;/o:p&gt;
&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000" face="Times New Roman" size="3"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;.&lt;/span&gt;&lt;/font&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img src="http://www.reliablesoftware.com/DasBlog/content/binary/VSSF08_SeeMe_SPSTI.gif" border="0"&gt;&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=5b1e5222-d09f-4000-a9ef-e3cd200dd5ef" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,5b1e5222-d09f-4000-a9ef-e3cd200dd5ef.aspx</comments>
      <category>All;Microsoft .NET;SOA;Software Development;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=96a71539-a8f8-4259-9b87-61111ef1cb8a</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,96a71539-a8f8-4259-9b87-61111ef1cb8a.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,96a71539-a8f8-4259-9b87-61111ef1cb8a.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=96a71539-a8f8-4259-9b87-61111ef1cb8a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">One of the great features in Visual Studio
   is the ability to startup more than one project at the same time. You do not need
   to create two solutions, for example, for a client and a server to be able to debug
   them both.<br /><br />
   I thought everybody knew how to do this, but when I found out that two members of
   a project team I am working with did not, I decided to blog how to do this.<br /><br />
   Select the solution in the Solution Explorer, right mouse click and you will see the
   following menu:<br /><p></p><img src="http://www.reliablesoftware.com/DasBlog/content/binary/StartupProjects.bmp" border="0" /><br /><br />
   Select the Set Startup Projects menu item, and a property page will appear that lists
   all the properties in the project. For example:<br /><br /><img src="content/binary/StartupProjectsPropertyPage1.bmp" border="0" /><br /><br />
   You can associate an action with each of the projects: None, Start, or Start without
   debugging.<br /><br /><img src="http://www.reliablesoftware.com/DasBlog/content/binary/StartupProjectsPropertyPageDropdown.bmp" border="0" /><br /><br />
   When you start execution, the projects that you wanted to startup will begin execution.
   If you allowed debugging, and set breakpoints, the debugger will stop at the appropriate
   places.<br /><img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=96a71539-a8f8-4259-9b87-61111ef1cb8a" /></body>
      <title>Starting Up Multiple Projects in Visual Studio 2008</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,96a71539-a8f8-4259-9b87-61111ef1cb8a.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,96a71539-a8f8-4259-9b87-61111ef1cb8a.aspx</link>
      <pubDate>Tue, 12 Feb 2008 20:13:48 GMT</pubDate>
      <description>One of the great features in Visual Studio is the ability to startup more than one project at the same time. You do not need to create two solutions, for example, for a client and a server to be able to debug them both.&lt;br&gt;
&lt;br&gt;
I thought everybody knew how to do this, but when I found out that two members of
a project team I am working with did not, I decided to blog how to do this.&lt;br&gt;
&lt;br&gt;
Select the solution in the Solution Explorer, right mouse click and you will see the
following menu:&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img src="http://www.reliablesoftware.com/DasBlog/content/binary/StartupProjects.bmp" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
Select the Set Startup Projects menu item, and a property page will appear that lists
all the properties in the project. For example:&lt;br&gt;
&lt;br&gt;
&lt;img src="content/binary/StartupProjectsPropertyPage1.bmp" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
You can associate an action with each of the projects: None, Start, or Start without
debugging.&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.reliablesoftware.com/DasBlog/content/binary/StartupProjectsPropertyPageDropdown.bmp" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
When you start execution, the projects that you wanted to startup will begin execution.
If you allowed debugging, and set breakpoints, the debugger will stop at the appropriate
places.&lt;br&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=96a71539-a8f8-4259-9b87-61111ef1cb8a" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,96a71539-a8f8-4259-9b87-61111ef1cb8a.aspx</comments>
      <category>All;Microsoft .NET;Software Development</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=731a52aa-4ecb-4a59-97da-f45aa10a1503</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,731a52aa-4ecb-4a59-97da-f45aa10a1503.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,731a52aa-4ecb-4a59-97da-f45aa10a1503.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=731a52aa-4ecb-4a59-97da-f45aa10a1503</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div class="ItemText">
          <p>
            <font color="#000000" size="3">My Windows Workflow Shortcuts are now available on
         Amazon's Kindle Reader!</font>
          </p>
          <p>
            <font color="#000000" size="3">
              <a href="http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S70O/ref=sr_1_3/104-7015412-8703104?ie=UTF8&amp;s=books&amp;qid=1202776042&amp;sr=8-3">http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S70O/ref=sr_1_3/104-7015412-8703104?ie=UTF8&amp;s=books&amp;qid=1202776042&amp;sr=8-3</a>
              <br />
              <a href="http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S70Y/ref=sr_1_12/104-7015412-8703104?ie=UTF8&amp;s=books&amp;qid=1202776042&amp;sr=8-12">http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S70Y/ref=sr_1_12/104-7015412-8703104?ie=UTF8&amp;s=books&amp;qid=1202776042&amp;sr=8-12</a>
              <br />
              <a href="http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S71I/ref=sr_1_14/104-7015412-8703104?ie=UTF8&amp;s=books&amp;qid=1202776042&amp;sr=8-14">http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S71I/ref=sr_1_14/104-7015412-8703104?ie=UTF8&amp;s=books&amp;qid=1202776042&amp;sr=8-14</a>
              <br />
              <a href="http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S6Z0/ref=sr_1_10/104-7015412-8703104?ie=UTF8&amp;s=books&amp;qid=1202776042&amp;sr=8-10">http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S6Z0/ref=sr_1_10/104-7015412-8703104?ie=UTF8&amp;s=books&amp;qid=1202776042&amp;sr=8-10<br /></a>
              <br />
            </font>
          </p>
          <p>
            <font color="#000000" size="3">The associated source code (and links to the shortcuts
         on Safari) are still on my </font>
            <a href="ct.ashx?id=bcce3b20-c995-4c52-82ee-b140a6d33fc0&amp;url=http%3a%2f%2fwww.reliablesoftware.com%2fbook.html">
              <font color="#000000" size="3">web
         site</font>
            </a>
            <font color="#000000" size="3">. </font>
          </p>
          <p>
            <font color="#000000" size="3">This experiment is my first foray into the world of
         digital publishing and it will be interesting to see how it turns out. As of the moment,
         Amazon has no more Kindles <a href="http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Device/dp/B000FI73MA">left</a>.
         If and when you use Kindle, let me know what you think of it as a mechanism for distributing
         technical content.<br /></font>
          </p>
          <p>
            <br />
          </p>
        </div>
        <p>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=731a52aa-4ecb-4a59-97da-f45aa10a1503" />
      </body>
      <title>Windows Workflow Shortcuts Now Available on Amazon Kindle</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,731a52aa-4ecb-4a59-97da-f45aa10a1503.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,731a52aa-4ecb-4a59-97da-f45aa10a1503.aspx</link>
      <pubDate>Tue, 12 Feb 2008 00:45:21 GMT</pubDate>
      <description>&lt;div class="ItemText"&gt;
   &lt;p&gt;
      &lt;font color="#000000" size="3"&gt;My Windows Workflow Shortcuts are now available on
      Amazon's Kindle Reader!&lt;/font&gt;
   &lt;/p&gt;
   &lt;p&gt;
      &lt;font color="#000000" size="3"&gt;&lt;a href="http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S70O/ref=sr_1_3/104-7015412-8703104?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202776042&amp;amp;sr=8-3"&gt;http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S70O/ref=sr_1_3/104-7015412-8703104?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202776042&amp;amp;sr=8-3&lt;/a&gt;
      &lt;br&gt;
      &lt;a href="http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S70Y/ref=sr_1_12/104-7015412-8703104?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202776042&amp;amp;sr=8-12"&gt;http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S70Y/ref=sr_1_12/104-7015412-8703104?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202776042&amp;amp;sr=8-12&lt;/a&gt;
      &lt;br&gt;
      &lt;a href="http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S71I/ref=sr_1_14/104-7015412-8703104?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202776042&amp;amp;sr=8-14"&gt;http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S71I/ref=sr_1_14/104-7015412-8703104?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202776042&amp;amp;sr=8-14&lt;/a&gt;
      &lt;br&gt;
      &lt;a href="http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S6Z0/ref=sr_1_10/104-7015412-8703104?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202776042&amp;amp;sr=8-10"&gt;http://www.amazon.com/Building-Applications-Windows-Workflow-Foundation/dp/B00132S6Z0/ref=sr_1_10/104-7015412-8703104?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202776042&amp;amp;sr=8-10&lt;br&gt;
      &lt;/a&gt;
      &lt;br&gt;
      &lt;/font&gt;
   &lt;/p&gt;
   &lt;p&gt;
      &lt;font color="#000000" size="3"&gt;The associated source code (and links to the shortcuts
      on Safari) are still on my &lt;/font&gt;&lt;a href="ct.ashx?id=bcce3b20-c995-4c52-82ee-b140a6d33fc0&amp;amp;url=http%3a%2f%2fwww.reliablesoftware.com%2fbook.html"&gt;&lt;font color="#000000" size="3"&gt;web
      site&lt;/font&gt;&lt;/a&gt;&lt;font color="#000000" size="3"&gt;. &lt;/font&gt;
   &lt;/p&gt;
   &lt;p&gt;
      &lt;font color="#000000" size="3"&gt;This experiment is my first foray into the world of
      digital publishing and it will be interesting to see how it turns out. As of the moment,
      Amazon has no more Kindles &lt;a href="http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Device/dp/B000FI73MA"&gt;left&lt;/a&gt;.
      If and when you use Kindle, let me know what you think of it as a mechanism for distributing
      technical content.&lt;br&gt;
      &lt;/font&gt;
   &lt;/p&gt;
   &lt;p&gt;
      &lt;br&gt;
   &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=731a52aa-4ecb-4a59-97da-f45aa10a1503" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,731a52aa-4ecb-4a59-97da-f45aa10a1503.aspx</comments>
      <category>All;Microsoft .NET;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=306e3133-8cd0-4e5a-9aa1-ad4fc7d14c92</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,306e3133-8cd0-4e5a-9aa1-ad4fc7d14c92.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,306e3133-8cd0-4e5a-9aa1-ad4fc7d14c92.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=306e3133-8cd0-4e5a-9aa1-ad4fc7d14c92</wfw:commentRss>
      <title>Debugging .NET Framework Libraries</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,306e3133-8cd0-4e5a-9aa1-ad4fc7d14c92.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,306e3133-8cd0-4e5a-9aa1-ad4fc7d14c92.aspx</link>
      <pubDate>Thu, 17 Jan 2008 14:28:02 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
   &lt;font face="Times New Roman" size="3"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000" face="Times New Roman" size="3"&gt;You
   can use the debugger in Visual Studio 2008 to step into some of the .NET Enterprise
   Libraries. This is a feature I asked for a number of years ago. Scott Guthrie just
   blogged about this. Here is his post and it includes &lt;/font&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;font face="Times New Roman" size="3"&gt;
   &lt;o:p&gt;&lt;/o:p&gt;
   the list of libraries to which this applies and some information about how to do it:&lt;/font&gt;
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
   &lt;font face="Arial" size="2"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;a title="blocked::http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx" href="http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2008/01/16/net-framework-library-source-code-now-available.aspx&lt;/a&gt;
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
   &lt;font face="Times New Roman" size="3"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;font face="Times New Roman" size="3"&gt;Here
   is a short MSDN video about this:&lt;/font&gt;
   &lt;o:p&gt;
      &lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;
      &lt;br&gt;
   &lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
   &lt;font face="Arial" size="2"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;a title="blocked::http://www.microsoft.com/uk/msdn/screencasts/screencast/304/Debugging-Into-the-NET-Framework-Source-Code-with-Visual-Studio-2008.aspx" href="http://www.microsoft.com/uk/msdn/screencasts/screencast/304/Debugging-Into-the-NET-Framework-Source-Code-with-Visual-Studio-2008.aspx"&gt;http://www.microsoft.com/uk/msdn/screencasts/screencast/304/Debugging-Into-the-NET-Framework-Source-Code-with-Visual-Studio-2008.aspx&lt;/a&gt;
   &lt;o:p&gt;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
   &lt;font face="Arial" size="2"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;
   &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
   &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=306e3133-8cd0-4e5a-9aa1-ad4fc7d14c92" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,306e3133-8cd0-4e5a-9aa1-ad4fc7d14c92.aspx</comments>
      <category>All;Microsoft .NET</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=50e845e2-7de7-4834-9728-637c4406903a</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,50e845e2-7de7-4834-9728-637c4406903a.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,50e845e2-7de7-4834-9728-637c4406903a.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=50e845e2-7de7-4834-9728-637c4406903a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font color="#000000" face="Times New Roman" size="3">The Windows Workflow Foundation
      (WF) ships with a Policy Activity that allows you to execute a set of rules against
      your workflow. This activity contains a design time rules editor that allows you to
      create a set of rules. At run time, the Policy Activity runs these rules using the
      WF Rules engine. </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3">Among other features, the rules
      engine allows you to prioritize rules and to set a chaining policy to govern rules
      evaluation.<span style="">  </span>The rules engine uses a set of Code DOM expressions
      to represent the rules. These rules can be run against any managed object, not just
      a workflow. Hence, the mechanisms of the rules engine have nothing to do with workflow.
      You can actually instantiate and use this rules engine without having to embed it
      inside of a workflow. You can use this rules engine to build rules-driven .NET applications.</font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3"> </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3">I gave a <a href="../presentations.html##Workflow">talk</a> at
      the last Las Vegas VSLive! that demonstrates how to do this. The first sample in the
      talk uses a workflow to demonstrate the power of the rules engine. The second and
      third samples use a very simple example to demonstrate how to use the engine outside
      of a workflow.</font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3"> </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3">Two problems have to be solved.<span style="">  </span>You
      have to create a set of Code DOM expressions for the rules. You have to host the engine
      and supply it the rules and the object to run the rules against. </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3"> </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3">While the details are in the
      slides and the examples, here is the gist of the solution. </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3"> </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3">To use the rules engine at runtime,
      you pull the workflow rules out of some storage mechanism. The first sample uses a
      file. A WorkflowMarkupSerializer instance deserializes the stored rules to an instance
      of the RuleSet class.<span style="">  </span>A RuleValidation instance validates
      the rules against the type of the business object against which you will run the rules
      against. The Execute method on the RuleExecution class is used to invoke the rules
      engine and run the rules.</font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3"> </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3">How do you create the rules?
      Ideally you would use some domain language, or domain based application, that would
      generate the rules as Code DOM expressions. If you were masochistic enough, you could
      create those expressions by hand. </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3"> </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3">As an alternative, the second
      sample hosts the Workflow rules editor dialog (RuleSetDialog class) to let you create
      the rules. Unfortunately, like the workflow designer, this is a programmer's tool,
      not a business analyst's tool. <span style=""></span>A WorkflowMarkupSerializer
      instance is used to serialize the rules to the appropriate storage.<br /></font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3"> </font>
        </p>
        <p style="margin: 0in; font-family: Calibri; font-size: 11pt;">
          <font color="#000000" face="Times New Roman" size="3">I would be interested in hearing
      about how people use this engine to build rules driven applications.</font>
        </p>
        <p>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=50e845e2-7de7-4834-9728-637c4406903a" />
      </body>
      <title>Using the WF Rules Engine Outside of a Workflow</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,50e845e2-7de7-4834-9728-637c4406903a.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,50e845e2-7de7-4834-9728-637c4406903a.aspx</link>
      <pubDate>Thu, 22 Nov 2007 19:23:55 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;The Windows Workflow Foundation
   (WF) ships with a Policy Activity that allows you to execute a set of rules against
   your workflow. This activity contains a design time rules editor that allows you to
   create a set of rules. At run time, the Policy Activity runs these rules using the
   WF Rules engine. &lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;Among other features, the rules
   engine allows you to prioritize rules and to set a chaining policy to govern rules
   evaluation.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The rules engine uses a set of Code DOM expressions
   to represent the rules. These rules can be run against any managed object, not just
   a workflow. Hence, the mechanisms of the rules engine have nothing to do with workflow.
   You can actually instantiate and use this rules engine without having to embed it
   inside of a workflow. You can use this rules engine to build rules-driven .NET applications.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;I gave a &lt;a href="../presentations.html##Workflow"&gt;talk&lt;/a&gt; at
   the last Las Vegas VSLive! that demonstrates how to do this. The first sample in the
   talk uses a workflow to demonstrate the power of the rules engine. The second and
   third samples use a very simple example to demonstrate how to use the engine outside
   of a workflow.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;Two problems have to be solved.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;You
   have to create a set of Code DOM expressions for the rules. You have to host the engine
   and supply it the rules and the object to run the rules against. &lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;While the details are in the
   slides and the examples, here is the gist of the solution. &lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;To use the rules engine at runtime,
   you pull the workflow rules out of some storage mechanism. The first sample uses a
   file. A WorkflowMarkupSerializer instance deserializes the stored rules to an instance
   of the RuleSet class.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;A RuleValidation instance validates
   the rules against the type of the business object against which you will run the rules
   against. The Execute method on the RuleExecution class is used to invoke the rules
   engine and run the rules.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;How do you create the rules?
   Ideally you would use some domain language, or domain based application, that would
   generate the rules as Code DOM expressions. If you were masochistic enough, you could
   create those expressions by hand. &lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;As an alternative, the second
   sample hosts the Workflow rules editor dialog (RuleSetDialog class) to let you create
   the rules. Unfortunately, like the workflow designer, this is a programmer's tool,
   not a business analyst's tool.&amp;nbsp;&lt;span style=""&gt;&lt;/span&gt;A WorkflowMarkupSerializer
   instance is used to serialize the rules to the appropriate storage.&lt;br&gt;
   &lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;
   &lt;font color="#000000" face="Times New Roman" size="3"&gt;I would be interested in hearing
   about how people use this engine to build rules driven applications.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=50e845e2-7de7-4834-9728-637c4406903a" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,50e845e2-7de7-4834-9728-637c4406903a.aspx</comments>
      <category>All;Microsoft .NET;SOA;Software Development;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=33ae57d1-2a6c-44a5-bb60-5f65325bfe28</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,33ae57d1-2a6c-44a5-bb60-5f65325bfe28.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,33ae57d1-2a6c-44a5-bb60-5f65325bfe28.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=33ae57d1-2a6c-44a5-bb60-5f65325bfe28</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Meditation is supposed to develop awareness,
   help focus your attention, and relax while increasing your focus. At one of my current
   clients we are developing a Software as a Service (SaaS) application. We have developed
   the following "meditative principles":<br /><br />
   1. It's not done until the tests are done.<br />
   2. If it's broke, fix it first.<br />
   3. If it's not in a script or code, it doesn't exist.<br />
   4. Don't explain, do it (but ask questions if you don't understand).<br /><br />
   And finally (with apologies to Bobby McFerrin),<br /><br />
    "Don't worry, be agile".<br /><br />
   Here is a little song I wrote<br />
   You might want to sing it note for note<br />
   Don't worry be agile<br />
   In every software we have some trouble<br />
   When you worry you make it double<br />
   Don't worry, be agile<br /><br />
   Ain't got no place to lay your head<br />
   Somebody came and took your machine<br />
   Don't worry, be agile<br />
   The manager say your code is late<br />
   He may have to litigate<br />
   Don't worry, be agile<br />
   Look at me I refactor<br />
   Don't worry, be agile<br />
   Here I give you my url<br />
   When you worry call me<br />
   I make you agile<br />
   Don't worry, be agile<br />
   Ain't got no time ain't got no style<br />
   Ain't got not money to make you smile<br />
   But don't worry self organize<br />
   Cause when you worry<br />
   Your face will frown<br />
   And that will bring everybody down<br />
   So don't worry, be agile (now)<br /><br />
   There is this little song I wrote<br />
   I hope you learn it note for note<br />
   Like good little developers<br />
   Don't worry, be agile<br />
   Listen to what I say<br />
   In your software expect some trouble<br />
   But when you worry<br />
   You make it double<br />
   Don't worry, be agile<br />
   Don't worry don't do it, be agile<br />
   Put a smile on your face<br />
   Don't bring everybody down like this<br />
   Don't worry, it will soon pass<br />
   Whatever it is<br />
   Don't worry, be agile<br /><br /><p></p><img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=33ae57d1-2a6c-44a5-bb60-5f65325bfe28" /></body>
      <title>Developer Meditations</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,33ae57d1-2a6c-44a5-bb60-5f65325bfe28.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,33ae57d1-2a6c-44a5-bb60-5f65325bfe28.aspx</link>
      <pubDate>Wed, 31 Oct 2007 17:32:21 GMT</pubDate>
      <description>Meditation is supposed to develop awareness, help focus your attention, and relax while increasing your focus. At one of my current clients we are developing a Software as a Service (SaaS) application. We have developed the following "meditative principles":&lt;br&gt;
&lt;br&gt;
1. It's not done until the tests are done.&lt;br&gt;
2. If it's broke, fix it first.&lt;br&gt;
3. If it's not in a script or code, it doesn't exist.&lt;br&gt;
4. Don't explain, do it (but ask questions if you don't understand).&lt;br&gt;
&lt;br&gt;
And finally (with apologies to Bobby McFerrin),&lt;br&gt;
&lt;br&gt;
&amp;nbsp;"Don't worry, be agile".&lt;br&gt;
&lt;br&gt;
Here is a little song I wrote&lt;br&gt;
You might want to sing it note for note&lt;br&gt;
Don't worry be agile&lt;br&gt;
In every software we have some trouble&lt;br&gt;
When you worry you make it double&lt;br&gt;
Don't worry, be agile&lt;br&gt;
&lt;br&gt;
Ain't got no place to lay your head&lt;br&gt;
Somebody came and took your machine&lt;br&gt;
Don't worry, be agile&lt;br&gt;
The manager say your code is late&lt;br&gt;
He may have to litigate&lt;br&gt;
Don't worry, be agile&lt;br&gt;
Look at me I refactor&lt;br&gt;
Don't worry, be agile&lt;br&gt;
Here I give you my url&lt;br&gt;
When you worry call me&lt;br&gt;
I make you agile&lt;br&gt;
Don't worry, be agile&lt;br&gt;
Ain't got no time ain't got no style&lt;br&gt;
Ain't got not money to make you smile&lt;br&gt;
But don't worry self organize&lt;br&gt;
Cause when you worry&lt;br&gt;
Your face will frown&lt;br&gt;
And that will bring everybody down&lt;br&gt;
So don't worry, be agile (now)&lt;br&gt;
&lt;br&gt;
There is this little song I wrote&lt;br&gt;
I hope you learn it note for note&lt;br&gt;
Like good little developers&lt;br&gt;
Don't worry, be agile&lt;br&gt;
Listen to what I say&lt;br&gt;
In your software expect some trouble&lt;br&gt;
But when you worry&lt;br&gt;
You make it double&lt;br&gt;
Don't worry, be agile&lt;br&gt;
Don't worry don't do it, be agile&lt;br&gt;
Put a smile on your face&lt;br&gt;
Don't bring everybody down like this&lt;br&gt;
Don't worry, it will soon pass&lt;br&gt;
Whatever it is&lt;br&gt;
Don't worry, be agile&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=33ae57d1-2a6c-44a5-bb60-5f65325bfe28" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,33ae57d1-2a6c-44a5-bb60-5f65325bfe28.aspx</comments>
      <category>All;SOA;Software Development</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=bcce3b20-c995-4c52-82ee-b140a6d33fc0</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,bcce3b20-c995-4c52-82ee-b140a6d33fc0.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,bcce3b20-c995-4c52-82ee-b140a6d33fc0.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=bcce3b20-c995-4c52-82ee-b140a6d33fc0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font color="#000000" size="3">My series of four digitial articles have been published
      by Addison-Wesley. You can get the links to purchase them and the associated source
      code from my </font>
          <a href="http://www.reliablesoftware.com/book.html">
            <font color="#000000" size="3">web
      site</font>
          </a>
          <font color="#000000" size="3">. </font>
        </p>
        <p>
          <font color="#000000" size="3">I have tried to explain, in practical terms, what you
      need to know to actually build real world software using Windows Workflow. There is
      a tiny amount of theory to explain the underpinnings. The vast majority of the explanation
      uses code examples to illustrate all the key points. The last shortcut in the series
      has two extended examples that illustrate how to build custom activities.</font>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=bcce3b20-c995-4c52-82ee-b140a6d33fc0" />
      </body>
      <title>Microsoft Windows Workflow Foundation Digital Shortcuts Finally Finished</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,bcce3b20-c995-4c52-82ee-b140a6d33fc0.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,bcce3b20-c995-4c52-82ee-b140a6d33fc0.aspx</link>
      <pubDate>Tue, 21 Aug 2007 02:31:31 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font color=#000000 size=3&gt;My series of four digitial articles have been published
   by Addison-Wesley. You can get the links to purchase them and the associated source
   code from my &lt;/font&gt;&lt;a href="http://www.reliablesoftware.com/book.html"&gt;&lt;font color=#000000 size=3&gt;web
   site&lt;/font&gt;&lt;/a&gt;&lt;font color=#000000 size=3&gt;. &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font color=#000000 size=3&gt;I have tried to explain, in practical terms, what you need
   to know to actually build real world software using Windows Workflow. There is a tiny
   amount of theory to explain the underpinnings. The vast majority of the explanation
   uses code examples to illustrate all the key points. The last shortcut in the series
   has two extended examples that illustrate how to build custom activities.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=bcce3b20-c995-4c52-82ee-b140a6d33fc0" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,bcce3b20-c995-4c52-82ee-b140a6d33fc0.aspx</comments>
      <category>All;Microsoft .NET;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=6ad53956-fadf-46b4-80b2-495c5bc7c51c</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,6ad53956-fadf-46b4-80b2-495c5bc7c51c.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,6ad53956-fadf-46b4-80b2-495c5bc7c51c.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=6ad53956-fadf-46b4-80b2-495c5bc7c51c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">If you were to believe some of the more
      vocal advocates of the agile approach to building software, you would think that the
      word planning is evil. If you change the comparison to agility and discipline, then
      the contrast is more interesting.</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">This is exactly what Barry Boehm and
      Richard Turner do in their book "</font>
          <a href="http://www.amazon.com/Balancing-Agility-Discipline-Guide-Perplexed/dp/0321186125/ref=pd_bbs_sr_1/102-5557133-3566512?ie=UTF8&amp;s=books&amp;qid=1179706435&amp;sr=8-1">
            <font face="Verdana" color="#0000ff" size="3">Balancing
      Agility and Discipline</font>
          </a>
          <font face="Verdana" color="#000000" size="3">".
      They argue that the agile approach to software development, and the discipline approach
      to software development have much to teach each other. Any given project must achieve
      the right mix of agility and discipline based on the nature of the project.</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">One of the more interesting graphs in
      their book makes this point clear:</font>
        </p>
        <p style="MARGIN: 0in">
       
   </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <img style="WIDTH: 778px; HEIGHT: 520px" height="568" src="http://www.reliablesoftware.com/DasBlog/content/binary/AgilityDiscipline.bmp" width="757" border="0" />
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
       
   </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">You have to understand:</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">How mission critical your project is?</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">How many people are on the project?</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">How experienced are your people?</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">Do the people on your project handle
      uncertainty well, or do they prefer order?</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">How dynamic can the changes to requirements
      be?<span style="mso-spacerun: yes">  </span>Do you understand the domain model
      well?</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">As the graph makes clear, the more experienced
      developers you have that can handle vagueness and ambiguity, the more likely you can
      use more agile methods. On the other hand, the more mission critical, the more lives
      at stake, and the larger the project, the more project discipline you need.</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">This is not an all or nothing choice.
      As the book makes clear, most of your projects will need some combination of agility
      and discipline. Nonetheless, no method is a silver bullet.</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">Arthur Pyster (the Deputy Chief Information
      Officer for the FAA) writes in his foreword that even building air traffic control
      systems can incorporate some agile processes.</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">I had not read their book in 2005 when
      I made this entry to my blog: </font>
          <a href="http://www.reliablesoftware.com/DasBlog/PermaLink,guid,847f84e5-3629-400b-807b-c6f8a1345454.aspx">
            <font face="Verdana" color="#0000ff" size="3">http://www.reliablesoftware.com/DasBlog/PermaLink,guid,847f84e5-3629-400b-807b-c6f8a1345454.aspx</font>
          </a>
          <font face="Verdana" color="#000000" size="3">.
      Reading this book reinforced my belief that one must continually evaluate the risk
      associated with a project, and adopt the appropriate methods that reduce that risk.</font>
        </p>
        <p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri">
          <font face="Verdana" color="#000000" size="3">
          </font> 
   </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=6ad53956-fadf-46b4-80b2-495c5bc7c51c" />
      </body>
      <title>Agility vs. Planning</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,6ad53956-fadf-46b4-80b2-495c5bc7c51c.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,6ad53956-fadf-46b4-80b2-495c5bc7c51c.aspx</link>
      <pubDate>Mon, 21 May 2007 00:48:02 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;If you were to believe some of the more vocal
   advocates of the agile approach to building software, you would think that the word
   planning is evil. If you change the comparison to agility and discipline, then the
   contrast is more interesting.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;This is exactly what Barry Boehm and Richard
   Turner do in their book "&lt;/font&gt;&lt;a href="http://www.amazon.com/Balancing-Agility-Discipline-Guide-Perplexed/dp/0321186125/ref=pd_bbs_sr_1/102-5557133-3566512?ie=UTF8&amp;amp;s=books&amp;amp;qid=1179706435&amp;amp;sr=8-1"&gt;&lt;font face=Verdana color=#0000ff size=3&gt;Balancing
   Agility and Discipline&lt;/font&gt;&lt;/a&gt;&lt;font face=Verdana color=#000000 size=3&gt;". They argue
   that the agile approach to software development, and the discipline approach to software
   development have much to teach each other. Any given project must achieve the right
   mix of agility and discipline based on the nature of the project.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;One of the more interesting graphs in their
   book makes this point clear:&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;img style="WIDTH: 778px; HEIGHT: 520px" height=568 src="http://www.reliablesoftware.com/DasBlog/content/binary/AgilityDiscipline.bmp" width=757 border=0&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;You have to understand:&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;How mission critical your project is?&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;How many people are on the project?&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;How experienced are your people?&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;Do the people on your project handle uncertainty
   well, or do they prefer order?&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;How dynamic can the changes to requirements
   be?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Do you understand the domain model
   well?&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;As the graph makes clear, the more experienced
   developers you have that can handle vagueness and ambiguity, the more likely you can
   use more agile methods. On the other hand, the more mission critical, the more lives
   at stake, and the larger the project, the more project discipline you need.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;This is not an all or nothing choice. As the
   book makes clear, most of your projects will need some combination of agility and
   discipline. Nonetheless, no method is a silver bullet.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;Arthur Pyster (the Deputy Chief Information
   Officer for the FAA) writes in his foreword that even building air traffic control
   systems can incorporate some agile processes.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;I had not read their book in 2005 when I made
   this entry to my blog: &lt;/font&gt;&lt;a href="http://www.reliablesoftware.com/DasBlog/PermaLink,guid,847f84e5-3629-400b-807b-c6f8a1345454.aspx"&gt;&lt;font face=Verdana color=#0000ff size=3&gt;http://www.reliablesoftware.com/DasBlog/PermaLink,guid,847f84e5-3629-400b-807b-c6f8a1345454.aspx&lt;/font&gt;&lt;/a&gt;&lt;font face=Verdana color=#000000 size=3&gt;.
   Reading this book reinforced my belief that one must continually evaluate the risk
   associated with a project, and adopt the appropriate methods that reduce that risk.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;
   &lt;font face=Verdana color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=6ad53956-fadf-46b4-80b2-495c5bc7c51c" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,6ad53956-fadf-46b4-80b2-495c5bc7c51c.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=f9d82815-27ed-4cce-9417-bf08913b2b31</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,f9d82815-27ed-4cce-9417-bf08913b2b31.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,f9d82815-27ed-4cce-9417-bf08913b2b31.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=f9d82815-27ed-4cce-9417-bf08913b2b31</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="3">Here are good instructions on how to install RC1 for the .NET Framework
      3.0: </font>
          <a href="http://blogs.msdn.com/pandrew/archive/2006/09/07/745701.aspx">
            <font size="3">http://blogs.msdn.com/pandrew/archive/2006/09/07/745701.aspx</font>
          </a>
          <font size="3">.
      People, including myself, have been having problems getting the Workflow Extensions
      for Visual Studio 2005 installed. I moved the installer file (Visual Studio 2005 Extensions
      for Windows Workflow Foundation RC5(EN).exe) to a different directory from the other
      installation files. The workflow extensions then installed just fine.</font>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=f9d82815-27ed-4cce-9417-bf08913b2b31" />
      </body>
      <title>Installing NET Framework 3.0 RC1</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,f9d82815-27ed-4cce-9417-bf08913b2b31.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,f9d82815-27ed-4cce-9417-bf08913b2b31.aspx</link>
      <pubDate>Mon, 30 Oct 2006 01:39:59 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font size=3&gt;Here are good instructions on how to install RC1 for the .NET Framework
   3.0: &lt;/font&gt;&lt;a href="http://blogs.msdn.com/pandrew/archive/2006/09/07/745701.aspx"&gt;&lt;font size=3&gt;http://blogs.msdn.com/pandrew/archive/2006/09/07/745701.aspx&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt;.
   People, including myself,&amp;nbsp;have been having problems getting the Workflow Extensions
   for Visual Studio 2005 installed. I moved the installer file (Visual Studio 2005 Extensions
   for Windows Workflow Foundation RC5(EN).exe) to a different directory from the other
   installation files. The workflow extensions then installed just fine.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=f9d82815-27ed-4cce-9417-bf08913b2b31" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,f9d82815-27ed-4cce-9417-bf08913b2b31.aspx</comments>
      <category>All;Microsoft .NET;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=95a481ff-c079-4bba-b7ad-dc35524e6b44</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,95a481ff-c079-4bba-b7ad-dc35524e6b44.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,95a481ff-c079-4bba-b7ad-dc35524e6b44.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=95a481ff-c079-4bba-b7ad-dc35524e6b44</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="3">David Chappell (</font>
          <a href="http://www.davidchappell.com/HTML_email/Opinari_No16_8_06.html">
            <font size="3">http://www.davidchappell.com/HTML_email/Opinari_No16_8_06.html</font>
          </a>
          <font size="3">)
      argues that SOA may not foster the service reuse that everyone has been hoping for.
      I think his analysis is correct, but I think with business services we at least
      have a reasonable hope of achieving reuse. Here we are least dealing with the way
      things actually happen in the world as opposed to programmer abstractions such as
      objects or components. That combined with the looser coupling of services gives me
      some hope.<br /><br />
      The reason why frameworks like .NET are successful is they reflect years and years
      of experience with programming problems. Many examples of reuse (such as file systems
      and compilers) are so embedded in our experience that we no longer see them for what
      they are.<br /><br />
      Reuse may fail here as well for all the reasons mentioned in David Chappell's analysis.
      At least now I feel we are on the right track.</font>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=95a481ff-c079-4bba-b7ad-dc35524e6b44" />
      </body>
      <title>Software Reuse and SOA</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,95a481ff-c079-4bba-b7ad-dc35524e6b44.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,95a481ff-c079-4bba-b7ad-dc35524e6b44.aspx</link>
      <pubDate>Fri, 29 Sep 2006 22:00:37 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font size=3&gt;David Chappell (&lt;/font&gt;&lt;a href="http://www.davidchappell.com/HTML_email/Opinari_No16_8_06.html"&gt;&lt;font size=3&gt;http://www.davidchappell.com/HTML_email/Opinari_No16_8_06.html&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt;)
   argues that SOA may not foster the service reuse that everyone has been hoping for.
   I think his&amp;nbsp;analysis is correct, but I think with business services we at least
   have a reasonable hope of achieving reuse. Here we are least dealing with the way
   things actually happen in the world as opposed to programmer abstractions such as
   objects or components. That combined with the looser coupling of services gives me
   some hope.&lt;br&gt;
   &lt;br&gt;
   The reason why frameworks like .NET are successful is they reflect years and years
   of experience with programming problems. Many examples of reuse (such as file systems
   and compilers) are so embedded in our experience that we no longer see them for what
   they are.&lt;br&gt;
   &lt;br&gt;
   Reuse may fail here as well for all the reasons mentioned in David Chappell's analysis.
   At least now I feel we are on the right track.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=95a481ff-c079-4bba-b7ad-dc35524e6b44" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,95a481ff-c079-4bba-b7ad-dc35524e6b44.aspx</comments>
      <category>All;SOA</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=8bc3f62a-4c3f-48d0-878b-7eb96746bc30</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,8bc3f62a-4c3f-48d0-878b-7eb96746bc30.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,8bc3f62a-4c3f-48d0-878b-7eb96746bc30.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=8bc3f62a-4c3f-48d0-878b-7eb96746bc30</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">The </font>
          <a href="http://www.oasis-open.org/committees/download.php/19361/soa-rm-cs.pdf">
            <font size="3">Reference
      Model for Service Oriented Architecture </font>
          </a>
          <font size="3">defines a vocabulary
      for building service-oriented systems. Put together by a technical committee operating
      under the auspices of the OASIS standards organization, it is the result of individuals
      and organizations representing vendors, users, governments, consulting organizations,
      and academic institutions.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">The Reference Model (RM) sees SOA as a means for organizing and using
      distributed capabilities that may be under the control of different ownership domains.
      The RM is not an architecture. It does not attempt to make any architecture normative.
      It does not try to make any standard or set of standards normative. </font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">It does provide a common set of semantics that can be used across different
      implementations. This does sound rather fancy. Nonetheless, just like Moliere's bourgeois
      gentlemen that found out he was speaking prose all his life, many industries have
      been using reference models all along. They just never had to define them explicitly.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">An architect for a residential dwelling knows that if they use the
      term door or window, the builder will understand what is meant. There are widely varied
      implementations of doors and windows depending, for example, if you are building a
      space station or an igloo. Nonetheless, everyone knows what the terms mean. Many of
      these terms are codified in building codes, and by standards bodies, and have evolved
      over the years. The software architecture community moves too quickly for such evolution;
      this is where standards organizations can help.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">Software architectures, for sure,<span style="mso-spacerun: yes"> </span>can
      have </font>
          <a href="http://www.opengroup.org/architecture/togaf8-doc/arch/chap31.html#tag_32_02">
            <font size="3">views
      and viewpoints</font>
          </a>
          <font size="3">, but the terms in which they are discussed
      have to be understood.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">The core concepts that the RM discusses are service, visibility, execution
      context,<span style="mso-spacerun: yes">  </span>service description, real world
      effect,<span style="mso-spacerun: yes">  </span>interaction, and contract and
      policy.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">I will discuss these core concepts over the next few posts.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">None of this work is going on in isolation, or is it intended to denigrate
      other work such as the WS* specifications, or organizations such as the ISO, IEEE,
      IETF, the Ontolog Forum or other groups. The reference model just supplies standard
      definitions so that it becomes easier for each group to communicate with the others.</font>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=8bc3f62a-4c3f-48d0-878b-7eb96746bc30" />
      </body>
      <title>SOA Reference Model Committee Standard</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,8bc3f62a-4c3f-48d0-878b-7eb96746bc30.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,8bc3f62a-4c3f-48d0-878b-7eb96746bc30.aspx</link>
      <pubDate>Fri, 01 Sep 2006 16:32:59 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;The &lt;/font&gt;&lt;a href="http://www.oasis-open.org/committees/download.php/19361/soa-rm-cs.pdf"&gt;&lt;font size=3&gt;Reference
   Model for Service Oriented Architecture &lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt;defines a vocabulary
   for building service-oriented systems. Put together by a technical committee operating
   under the auspices of the OASIS standards organization, it is the result of individuals
   and organizations representing vendors, users, governments, consulting organizations,
   and academic institutions.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;The Reference Model (RM) sees SOA as a means for organizing and using
   distributed capabilities that may be under the control of different ownership domains.
   The RM is not an architecture. It does not attempt to make any architecture normative.
   It does not try to make any standard or set of standards normative. &lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;It does provide a common set of semantics that can be used across different
   implementations. This does sound rather fancy. Nonetheless, just like Moliere's bourgeois
   gentlemen that found out he was speaking prose all his life, many industries have
   been using reference models all along. They just never had to define them explicitly.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;An architect for a residential dwelling knows that if they use the term
   door or window, the builder will understand what is meant. There are widely varied
   implementations of doors and windows depending, for example, if you are building a
   space station or an igloo. Nonetheless, everyone knows what the terms mean. Many of
   these terms are codified in building codes, and by standards bodies, and have evolved
   over the years. The software architecture community moves too quickly for such evolution;
   this is where standards organizations can help.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;Software architectures, for sure,&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;can
   have &lt;/font&gt;&lt;a href="http://www.opengroup.org/architecture/togaf8-doc/arch/chap31.html#tag_32_02"&gt;&lt;font size=3&gt;views
   and viewpoints&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt;, but the terms in which they are discussed
   have to be understood.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;The core concepts that the RM discusses are service, visibility, execution
   context,&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;service description, real world
   effect,&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;interaction, and contract and
   policy.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;I will discuss these core concepts over the next few posts.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;None of this work is going on in isolation, or is it intended to denigrate
   other work such as the WS* specifications, or organizations such as the ISO, IEEE,
   IETF, the Ontolog Forum or other groups. The reference model just supplies standard
   definitions so that it becomes easier for each group to communicate with the others.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=8bc3f62a-4c3f-48d0-878b-7eb96746bc30" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,8bc3f62a-4c3f-48d0-878b-7eb96746bc30.aspx</comments>
      <category>All;SOA</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=52c84cb4-43a2-4135-8994-36456bdad96b</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,52c84cb4-43a2-4135-8994-36456bdad96b.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,52c84cb4-43a2-4135-8994-36456bdad96b.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=52c84cb4-43a2-4135-8994-36456bdad96b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="3">I have updated the workflow examples on my site to the most recent
      Workflow version.</font>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=52c84cb4-43a2-4135-8994-36456bdad96b" />
      </body>
      <title>Workflow Samples Updated</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,52c84cb4-43a2-4135-8994-36456bdad96b.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,52c84cb4-43a2-4135-8994-36456bdad96b.aspx</link>
      <pubDate>Tue, 15 Aug 2006 04:03:15 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font size=3&gt;I have updated the workflow examples on my site to the most recent Workflow
   version.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=52c84cb4-43a2-4135-8994-36456bdad96b" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,52c84cb4-43a2-4135-8994-36456bdad96b.aspx</comments>
      <category>All;Microsoft .NET;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=567cb193-ccdf-44da-a8d4-5721ac7d2b91</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,567cb193-ccdf-44da-a8d4-5721ac7d2b91.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,567cb193-ccdf-44da-a8d4-5721ac7d2b91.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=567cb193-ccdf-44da-a8d4-5721ac7d2b91</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="3">I would like to thank all those who helped me achieve an Microsoft
      MVP award for Visual Developer - Solutions Architect.</font>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=567cb193-ccdf-44da-a8d4-5721ac7d2b91" />
      </body>
      <title>Visual Developer - Solutions Architect Award</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,567cb193-ccdf-44da-a8d4-5721ac7d2b91.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,567cb193-ccdf-44da-a8d4-5721ac7d2b91.aspx</link>
      <pubDate>Tue, 04 Jul 2006 01:08:26 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font size=3&gt;I would like to thank all those who helped me achieve an Microsoft MVP
   award for Visual Developer - Solutions Architect.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=567cb193-ccdf-44da-a8d4-5721ac7d2b91" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,567cb193-ccdf-44da-a8d4-5721ac7d2b91.aspx</comments>
      <category>All;Microsoft .NET</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=9f769974-8f06-444d-abe6-ce7fd7c6bdb8</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,9f769974-8f06-444d-abe6-ce7fd7c6bdb8.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,9f769974-8f06-444d-abe6-ce7fd7c6bdb8.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=9f769974-8f06-444d-abe6-ce7fd7c6bdb8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: Arial; mso-outline-level: 2">
          <font face="Verdana" color="#000000">"You are so young; you stand before beginnings.
      I would like to beg of you,</font>
        </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: Arial; mso-outline-level: 2">
          <font face="Verdana" color="#000000">dear friend, as well as I can, to have patience
      with everything that remains unsolved in your heart. Try to love the questions themselves,
      like locked rooms and like books written in foreign languages. Do not now look for
      the answers. They cannot now be given to you because you could not live them. At present
      you need to live the question."</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana; mso-outline-level: 2">
          <font color="#000000" size="3">
          </font> 
   </p>
        <ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1.5in; DIRECTION: ltr; unicode-bidi: embed" type="disc">
          <li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 3">
            <span style="FONT-STYLE: italic; FONT-FAMILY: Arial">
              <font face="Verdana" color="#000000">Rainer
         Maria Rilke, Letters to a Young Poet</font>
            </span>
          </li>
        </ul>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: Verdana; mso-outline-level: 3">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1">
          <font face="Verdana" color="#000000">I learned programming in high school from a Fortran
      IV manual, which was like learning how to drive a car from the owner's manual—unexciting.
      Later, after taking an operating systems course at MIT, I gave up entirely on programming
      as a profession. I did not want to spend my life doing the same thing over and over
      again.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font color="#000000" size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1">
          <font face="Verdana" color="#000000">What made me change my mind and become a professional
      programmer? In large part it was Gerald M. Weinberg's <span style="FONT-STYLE: italic">The
      Psychology of Computer Programming</span>, which I first read in 1982. Weinberg not
      only demonstrated that programming was more than technology, it is a <span style="FONT-STYLE: italic">social</span> activity,
      but he showed how the social element related to the technical. In essence, he identified
      and addressed the types of fundamental questions that Rilke advised the young poet
      Franz Kappus to study. Such as:</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font color="#000000" size="3">
          </font> 
   </p>
        <ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1in; DIRECTION: ltr; unicode-bidi: embed" type="disc">
          <li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2">
            <span style="FONT-FAMILY: Arial">
              <font face="Verdana" color="#000000">“What does it
         mean when we say a program is good?” I learned from Weinberg that a good program is
         as much a matter of cultural fit as technological merit. A designer has to understand
         that tradeoffs are made not only among technical factors, but among technical, social
         and economic constraints. Too often, I have seen engineers try to build the “perfect”
         product while ignoring ease of use or budget constraints.</font>
            </span>
          </li>
        </ul>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana; mso-outline-level: 2">
          <font color="#000000" size="3">
          </font> 
   </p>
        <ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1in; DIRECTION: ltr; unicode-bidi: embed" type="disc">
          <li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2">
            <span style="FONT-FAMILY: Arial">
              <font face="Verdana" color="#000000">“How do you
         get programmers to work together as a team?” One programmer cannot do it all. Different
         people have different skills, different skills are needed at different parts of the
         project. </font>
            </span>
          </li>
        </ul>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana; mso-outline-level: 2">
          <font color="#000000">
          </font> 
   </p>
        <ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1in; DIRECTION: ltr; unicode-bidi: embed" type="disc">
          <li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2">
            <span style="FONT-FAMILY: Arial">
              <font face="Verdana" color="#000000">“What is leadership
         all about?” How do you manage change and performance? Why do many managers manipulate
         programmers and tread them poorly and then wonder why they get poor results? </font>
            </span>
          </li>
          <li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2">
            <font color="#000000">
            </font>
          </li>
          <li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2">
            <span style="FONT-FAMILY: Arial">
              <font face="Verdana" color="#000000">“How do you
         find good programmers?” And just what does it mean to be a good programmer? Weinberg
         was one of the first to point out the stupidity of aptitude testing for programmers,
         and the importance of understanding individual psychology in dealing with programmers.</font>
            </span>
          </li>
        </ul>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana; mso-outline-level: 2">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1">
          <font face="Verdana">Weinberg confirmed my own intuition that software could have
      an enormous impact on society, and his discussion of programming as a social activity
      helped explain much of the “strange behavior” I saw around me as I began working on
      my first programs. For example, during one of my first projects, I saw that the inability
      of certain people to work together had more impact on the project’s outcome than the
      technological issues being debated.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1">
          <font face="Verdana">Weinberg examined what a naïve programmer would consider just
      technical topics and demonstrated how the elements of human personality and interactions
      between people had just as much, if not more influence over the outcome of a computer
      programming project than the technical issues and debates.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1">
          <font face="Verdana">By understanding the importance of questions such as these, even
      if not every question can be answered in every situation, my value as a programmer
      and designer transcends whatever today’s <span style="FONT-STYLE: italic">technology
      du jour</span> happens to be. I would have to say that Weinberg’s book took years
      off my apprenticeship, and saved me much aggravation.</font>
        </p>
        <p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <font size="3">
          </font> 
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1">
          <font face="Verdana">To this day, I view programming primarily as a human activity,
      with the technical merits secondary. This does not mean you can ignore the technical
      merits. What makes a programmer really great is not technical genius, but an understanding
      of the human context of what he or she is doing. Any programmer who creates a truly
      revolutionary and world-changing program understands this. Others did not, or did
      not care to, and their contributions are hidden behind or overwhelmed by others’ accomplishments.</font>
        </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1">
          <font face="Verdana">It is incredible that a twenty-five year old programming text
      containing examples illustrated with technologies that many programmers today cannot
      even conceive of—I recently taught a programming class where not one of the students
      had any idea what a punched card or paper tape was—is still a great book. </font>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=9f769974-8f06-444d-abe6-ce7fd7c6bdb8" />
      </body>
      <title>My Thoughts on Weinberg's the Psychology of Computer Programming</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,9f769974-8f06-444d-abe6-ce7fd7c6bdb8.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,9f769974-8f06-444d-abe6-ce7fd7c6bdb8.aspx</link>
      <pubDate>Wed, 28 Jun 2006 18:35:20 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: Arial; mso-outline-level: 2"&gt;
   &lt;font face=Verdana color=#000000&gt;"You are so young; you stand before beginnings. I
   would like to beg of you,&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 0.5in; FONT-STYLE: italic; FONT-FAMILY: Arial; mso-outline-level: 2"&gt;
   &lt;font face=Verdana color=#000000&gt;dear friend, as well as I can, to have patience with
   everything that remains unsolved in your heart. Try to love the questions themselves,
   like locked rooms and like books written in foreign languages. Do not now look for
   the answers. They cannot now be given to you because you could not live them. At present
   you need to live the question."&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana; mso-outline-level: 2"&gt;
   &lt;font color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1.5in; DIRECTION: ltr; unicode-bidi: embed" type=disc&gt;
   &lt;li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 3"&gt;
      &lt;span style="FONT-STYLE: italic; FONT-FAMILY: Arial"&gt;&lt;font face=Verdana color=#000000&gt;Rainer
      Maria Rilke, Letters to a Young Poet&lt;/font&gt;&lt;/span&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 1in; FONT-FAMILY: Verdana; mso-outline-level: 3"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1"&gt;
   &lt;font face=Verdana color=#000000&gt;I learned programming in high school from a Fortran
   IV manual, which was like learning how to drive a car from the owner's manual—unexciting.
   Later, after taking an operating systems course at MIT, I gave up entirely on programming
   as a profession. I did not want to spend my life doing the same thing over and over
   again.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1"&gt;
   &lt;font face=Verdana color=#000000&gt;What made me change my mind and become a professional
   programmer? In large part it was Gerald M. Weinberg's &lt;span style="FONT-STYLE: italic"&gt;The
   Psychology of Computer Programming&lt;/span&gt;, which I first read in 1982. Weinberg not
   only demonstrated that programming was more than technology, it is a &lt;span style="FONT-STYLE: italic"&gt;social&lt;/span&gt; activity,
   but he showed how the social element related to the technical. In essence, he identified
   and addressed the types of fundamental questions that Rilke advised the young poet
   Franz Kappus to study. Such as:&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1in; DIRECTION: ltr; unicode-bidi: embed" type=disc&gt;
   &lt;li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"&gt;
      &lt;span style="FONT-FAMILY: Arial"&gt;&lt;font face=Verdana color=#000000&gt;“What does it mean
      when we say a program is good?” I learned from Weinberg that a good program is as
      much a matter of cultural fit as technological merit. A designer has to understand
      that tradeoffs are made not only among technical factors, but among technical, social
      and economic constraints. Too often, I have seen engineers try to build the “perfect”
      product while ignoring ease of use or budget constraints.&lt;/font&gt;&lt;/span&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana; mso-outline-level: 2"&gt;
   &lt;font color=#000000 size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1in; DIRECTION: ltr; unicode-bidi: embed" type=disc&gt;
   &lt;li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"&gt;
      &lt;span style="FONT-FAMILY: Arial"&gt;&lt;font face=Verdana color=#000000&gt;“How do you get
      programmers to work together as a team?” One programmer cannot do it all. Different
      people have different skills, different skills are needed at different parts of the
      project. &lt;/font&gt;&lt;/span&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana; mso-outline-level: 2"&gt;
   &lt;font color=#000000&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;ul style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 1in; DIRECTION: ltr; unicode-bidi: embed" type=disc&gt;
   &lt;li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"&gt;
      &lt;span style="FONT-FAMILY: Arial"&gt;&lt;font face=Verdana color=#000000&gt;“What is leadership
      all about?” How do you manage change and performance? Why do many managers manipulate
      programmers and tread them poorly and then wonder why they get poor results? &lt;/font&gt;&lt;/span&gt; 
   &lt;li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"&gt;
      &lt;font color=#000000&gt;&lt;/font&gt; 
   &lt;li style="MARGIN-TOP: 0px; FONT-SIZE: 12pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"&gt;
      &lt;span style="FONT-FAMILY: Arial"&gt;&lt;font face=Verdana color=#000000&gt;“How do you find
      good programmers?” And just what does it mean to be a good programmer? Weinberg was
      one of the first to point out the stupidity of aptitude testing for programmers, and
      the importance of understanding individual psychology in dealing with programmers.&lt;/font&gt;&lt;/span&gt;
   &lt;/li&gt;
&lt;/ul&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana; mso-outline-level: 2"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1"&gt;
   &lt;font face=Verdana&gt;Weinberg confirmed my own intuition that software could have an
   enormous impact on society, and his discussion of programming as a social activity
   helped explain much of the “strange behavior” I saw around me as I began working on
   my first programs. For example, during one of my first projects, I saw that the inability
   of certain people to work together had more impact on the project’s outcome than the
   technological issues being debated.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1"&gt;
   &lt;font face=Verdana&gt;Weinberg examined what a naïve programmer would consider just technical
   topics and demonstrated how the elements of human personality and interactions between
   people had just as much, if not more influence over the outcome of a computer programming
   project than the technical issues and debates.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1"&gt;
   &lt;font face=Verdana&gt;By understanding the importance of questions such as these, even
   if not every question can be answered in every situation, my value as a programmer
   and designer transcends whatever today’s &lt;span style="FONT-STYLE: italic"&gt;technology
   du jour&lt;/span&gt; happens to be. I would have to say that Weinberg’s book took years
   off my apprenticeship, and saved me much aggravation.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &lt;font size=3&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1"&gt;
   &lt;font face=Verdana&gt;To this day, I view programming primarily as a human activity,
   with the technical merits secondary. This does not mean you can ignore the technical
   merits. What makes a programmer really great is not technical genius, but an understanding
   of the human context of what he or she is doing. Any programmer who creates a truly
   revolutionary and world-changing program understands this. Others did not, or did
   not care to, and their contributions are hidden behind or overwhelmed by others’ accomplishments.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Arial; mso-outline-level: 1"&gt;
   &lt;font face=Verdana&gt;It is incredible that a twenty-five year old programming text containing
   examples illustrated with technologies that many programmers today cannot even conceive
   of—I recently taught a programming class where not one of the students had any idea
   what a punched card or paper tape was—is still a great book. &lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=9f769974-8f06-444d-abe6-ce7fd7c6bdb8" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,9f769974-8f06-444d-abe6-ce7fd7c6bdb8.aspx</comments>
      <category>All;Software Development</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=0b6338de-88db-464f-9795-99f264181c87</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,0b6338de-88db-464f-9795-99f264181c87.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,0b6338de-88db-464f-9795-99f264181c87.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0b6338de-88db-464f-9795-99f264181c87</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="3">Here is my final dnrTV session: <font color="#003300"><a href="http://dnrtv.com/default.aspx?showID=24">http://dnrtv.com/default.aspx?showID=24</a></font><font color="#000000">.
      It covers advanced topics in Windows Workflow Foundation such as synchronization,
      transactions, and compensation.</font></font>
        </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=0b6338de-88db-464f-9795-99f264181c87" />
      </body>
      <title>Last dnrTV Workflow session on Advanced Workflow Topics</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,0b6338de-88db-464f-9795-99f264181c87.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,0b6338de-88db-464f-9795-99f264181c87.aspx</link>
      <pubDate>Mon, 26 Jun 2006 18:40:34 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font size=3&gt;Here is my final dnrTV session: &lt;font color=#003300&gt;&lt;a href="http://dnrtv.com/default.aspx?showID=24"&gt;http://dnrtv.com/default.aspx?showID=24&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;.
   It covers advanced topics in Windows Workflow Foundation such as synchronization,
   transactions, and compensation.&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=0b6338de-88db-464f-9795-99f264181c87" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,0b6338de-88db-464f-9795-99f264181c87.aspx</comments>
      <category>All;Microsoft .NET;Workflow</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=38ada118-f397-4ea7-bb00-9efe438c6a17</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,38ada118-f397-4ea7-bb00-9efe438c6a17.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,38ada118-f397-4ea7-bb00-9efe438c6a17.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=38ada118-f397-4ea7-bb00-9efe438c6a17</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="3">I have signed the petition at: </font>
          <a href="http://www.mwdadvisors.com/resources/stop-the-madness.php">
            <font size="3">http://www.mwdadvisors.com/resources/stop-the-madness.php</font>
          </a>
          <font size="3">.
      SOA does not need another buzz word. I think SOA 2.0 ranks belong even ESB on the
      buzz word list.</font>
        </p>
        <p>
          <font size="3">This is also an experiment. We have heard of viral marketing. Let us
      see if we can have viral common sense.</font>
        </p>
        <p>
       
   </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=38ada118-f397-4ea7-bb00-9efe438c6a17" />
      </body>
      <title>SOA 2.0 is Madness</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,38ada118-f397-4ea7-bb00-9efe438c6a17.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,38ada118-f397-4ea7-bb00-9efe438c6a17.aspx</link>
      <pubDate>Wed, 21 Jun 2006 19:09:40 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;font size=3&gt;I have signed the petition at: &lt;/font&gt;&lt;a href="http://www.mwdadvisors.com/resources/stop-the-madness.php"&gt;&lt;font size=3&gt;http://www.mwdadvisors.com/resources/stop-the-madness.php&lt;/font&gt;&lt;/a&gt;&lt;font size=3&gt;.
   SOA does not need another buzz word. I think SOA 2.0 ranks belong even ESB on the
   buzz word list.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;font size=3&gt;This is also an experiment. We have heard of viral marketing. Let us
   see if we can have viral common sense.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=38ada118-f397-4ea7-bb00-9efe438c6a17" /&gt;</description>
      <comments>http://www.reliablesoftware.com/DasBlog/CommentView,guid,38ada118-f397-4ea7-bb00-9efe438c6a17.aspx</comments>
      <category>All;Software Development</category>
    </item>
    <item>
      <trackback:ping>http://www.reliablesoftware.com/DasBlog/Trackback.aspx?guid=d755fc13-aafe-4960-a2c2-5989f648a8d3</trackback:ping>
      <pingback:server>http://www.reliablesoftware.com/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,d755fc13-aafe-4960-a2c2-5989f648a8d3.aspx</pingback:target>
      <dc:creator>weblogcomments@reliablesoftware.com (Michael Stiefel)</dc:creator>
      <wfw:comment>http://www.reliablesoftware.com/DasBlog/CommentView,guid,d755fc13-aafe-4960-a2c2-5989f648a8d3.aspx</wfw:comment>
      <wfw:commentRss>http://www.reliablesoftware.com/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=d755fc13-aafe-4960-a2c2-5989f648a8d3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
      How do workflow and service oriented architecture relate?
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
      The real question is how service oriented architecture (SOA) and business processes
      relate.
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
      Service orientation is about how to organize and utilize distributed capabilities
      that could be under the control of different owners.<sup>1</sup> Business Process
      Management (BPM) is about modeling, designing, deploying and managing business processes.<sup>2</sup><span style="mso-spacerun: yes">  </span>Business
      processes are the capabilities, or the users of those capabilities. Workflow is a
      technology that builds the automated part of a business process. It integrates human
      decision with synchronous and asynchronous software systems. Of course this is somewhat
      recursive because a workflow could use other services in its implementation. 
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
      For me, SOA and BPM are not in conflict. People talk about layering BPM on top of
      SOA. Or that SOA is for IT folks, and BPM is for business people. In today's world,
      business cannot afford to have people who just think IT, or just think business. Given
      the way the human mind works, multiple models are often needed to think about certain
      problems.<sup>3</sup> SOA and BPM are two different ways to think about the same problem:
      how organizations can best accomplish their missions. Thinking about business process
      will transform how you architect your services. Architecting your services will impact
      how you model your business processes.
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <p style="MARGIN: 0in; VERTICAL-ALIGN: super; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <span style="FONT-SIZE: 12pt">
            <sup>1</sup>
          </span>
          <span style="FONT-SIZE: 10pt">
          </span>
          <span style="FONT-SIZE: 12pt">For
      more information about service oriented architecture take a look at the Reference
      Model that the OASIS TC that I am a member of has produced:<span style="mso-spacerun: yes">  </span></span>
          <a href="http://www.oasis-open.org/committees/download.php/18486/pr-2changes.pdf">
            <span style="FONT-SIZE: 12pt">http://www.oasis-open.org/committees/download.php/18486/pr-2changes.pdf</span>
          </a>
        </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; VERTICAL-ALIGN: super; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <sup>2</sup> See <a href="http://ww6.infoworld.com/products/print_friendly.jsp?link=/article/06/02/20/75095_08FEbpmmap_1.html">http://ww6.infoworld.com/products/print_friendly.jsp?link=/article/06/02/20/75095_08FEbpmmap_1.html</a></p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; VERTICAL-ALIGN: super; FONT-FAMILY: Verdana; mso-outline-level: 1">
          <sup>3</sup> See "Mental Models" by P.N. Johnson-Laird in <span style="FONT-STYLE: italic">Foundations
      of Cognitive Science </span>edited by Michael I. Posner
   </p>
        <p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
       
   </p>
        <img width="0" height="0" src="http://www.reliablesoftware.com/DasBlog/aggbug.ashx?id=d755fc13-aafe-4960-a2c2-5989f648a8d3" />
      </body>
      <title>Workflow and Service Orientation</title>
      <guid>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,d755fc13-aafe-4960-a2c2-5989f648a8d3.aspx</guid>
      <link>http://www.reliablesoftware.com/DasBlog/PermaLink,guid,d755fc13-aafe-4960-a2c2-5989f648a8d3.aspx</link>
      <pubDate>Wed, 21 Jun 2006 18:54:58 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   How do workflow and service oriented architecture relate?
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   The real question is how service oriented architecture (SOA) and business processes
   relate.
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   Service orientation is about how to organize and utilize distributed capabilities
   that could be under the control of different owners.&lt;sup&gt;1&lt;/sup&gt; Business Process
   Management (BPM) is about modeling, designing, deploying and managing business processes.&lt;sup&gt;2&lt;/sup&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Business
   processes are the capabilities, or the users of those capabilities. Workflow is a
   technology that builds the automated part of a business process. It integrates human
   decision with synchronous and asynchronous software systems. Of course this is somewhat
   recursive because a workflow could use other services in its implementation. 
&lt;/p&gt;
&lt;p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-