<?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:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Matt Terski's Blog</title>
    <link>http://www.terski.com/blog/</link>
    <description>Writing tomorrow's legacy applications today</description>
    <copyright>Matt Terski</copyright>
    <lastBuildDate>Sat, 11 Jun 2005 04:17:08 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.7.5016.0</generator>
    <managingEditor>blogg@terski.com</managingEditor>
    <webMaster>blogg@terski.com</webMaster>
    <item>
      <trackback:ping>http://www.terski.com/blog/Trackback,guid,1df88858-fe09-4bd4-986f-699a6bff3e75.aspx</trackback:ping>
      <pingback:server>http://www.terski.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.terski.com/blog/PermaLink,guid,1df88858-fe09-4bd4-986f-699a6bff3e75.aspx</pingback:target>
      <wfw:comment>http://www.terski.com/blog/CommentView,guid,1df88858-fe09-4bd4-986f-699a6bff3e75.aspx</wfw:comment>
      <wfw:commentRss>http://www.terski.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1df88858-fe09-4bd4-986f-699a6bff3e75</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.damonpayne.com/PermaLink,guid,5d81269b-1b34-4407-9cb3-3a462f4dfa70.aspx">Damon
      seems fired-up </a>about the new DSL tools in Visual Studio 2005. But he asks:
   </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <em>Why limit the use of this tool to visual studio users?  Suppose you work
      in a business with a fairly well defined domain, such as selling mutual funds for
      a specific company.  If you could define your domain entities, attributes, connections,
      rules, etc and then put this tool into the hands of people like, oh, say, business
      analysts you may have a very powerful code-generation and/or documentation tool that
      is usable by the people who supposedly know the business best.</em>
          </p>
        </blockquote>
        <p>
      I'll tell you why.
   </p>
        <p>
      When presented with the idea, most people will claim they want a tool that allows
      a domain expert, rather than a software developer, to create software. Or at least
      they’ll say they want a tool that lets the domain expert <em>configure</em> or <em>assemble</em> software.
      After all, who knows the business better than a business person? Give these people
      a nice DSL tool or BizTalk and let <em>them</em> construct the system.
   </p>
        <p>
      In my experience, however, I've found this desire is not genuine. It's incredibly
      difficult to get the business folks to commit to a domain model. I’m not implying
      that we developers are necessarily any smarter or more analytical, but we’re better
      equipped – and more interested – in creating a logical domain model of a business
      than a business person is. If you, the developer, create a domain model, a business
      expert can probably tell you where the model falls short of reality. But I’ve yet
      to meet a business person that could synthesize a good domain model. Get five business
      experts in the room and you’ll get five varying models (of the same business).
   </p>
        <p>
      More importantly, business folks don’t really want responsibility for the solution.
      For most developers, our work is an expense to the business and the business will
      (rightly) try to minimize that expense. A company needs to keep its toilets operating;
      this is another expense. The company also wants to spend as little money as possible
      on toilet operation. But, when a toilet breaks, the business folks don’t want an easy-to-use,
      next-generation set of pipe-wrenches. They want a plumber – someone with valuable
      expertise in something other than the business’ own core-competency.
   </p>
        <p>
      Likewise, a company needs to keep its software operating. The moment a business person
      makes a software change that unexpectedly halts the inflow of revenue, they won’t
      want a great tool. “They'll want a throat to choke,” as my friend Philippe says.
   </p>
        <p>
      Despite these comments, I’m a firm believer in modeling tools. I think they are useful
      and will become increasingly effective. But they won’t turn business analysts into
      programmers. They will be used by software developers to make ourselves more productive
      – much like a better pipe wrench could make a plumber more productive. These tools
      will alter the nature of our work, and businesses will earn a better return on their
      software development investment. But the role of the software developer won't be going
      away. Luckily for us, nearly all companies need toilets and software to stay in business.
   </p>
        <img width="0" height="0" src="http://www.terski.com/blog/aggbug.ashx?id=1df88858-fe09-4bd4-986f-699a6bff3e75" />
      </body>
      <title>Business Analysts and DSL Tools</title>
      <guid>http://www.terski.com/blog/PermaLink,guid,1df88858-fe09-4bd4-986f-699a6bff3e75.aspx</guid>
      <link>http://www.terski.com/blog/PermaLink,guid,1df88858-fe09-4bd4-986f-699a6bff3e75.aspx</link>
      <pubDate>Sat, 11 Jun 2005 04:17:08 GMT</pubDate>
      <description>&lt;p&gt;
   &lt;a href="http://www.damonpayne.com/PermaLink,guid,5d81269b-1b34-4407-9cb3-3a462f4dfa70.aspx"&gt;Damon
   seems fired-up &lt;/a&gt;about the new DSL tools in Visual Studio 2005. But he asks:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
   &lt;em&gt;Why limit the use of this tool to visual studio users?&amp;nbsp; Suppose you work
   in a business with a fairly well defined domain, such as selling mutual funds for
   a specific company.&amp;nbsp; If you could define your domain entities, attributes, connections,
   rules, etc and then put this tool into the hands of people like, oh, say, business
   analysts you may have a very powerful code-generation and/or documentation tool that
   is usable by the people who supposedly know the business best.&lt;/em&gt; 
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
   I'll tell you why.
&lt;/p&gt;
&lt;p&gt;
   When presented with the idea, most people will claim they want a tool that allows
   a domain expert, rather than a software developer, to create software. Or at least
   they’ll say they want a tool that lets the domain expert &lt;em&gt;configure&lt;/em&gt; or &lt;em&gt;assemble&lt;/em&gt; software.
   After all, who knows the business better than a business person? Give these people
   a nice DSL tool or BizTalk and let &lt;em&gt;them&lt;/em&gt; construct the system.
&lt;/p&gt;
&lt;p&gt;
   In my experience, however, I've found this desire is not genuine. It's incredibly
   difficult to get the business folks to commit to a domain model. I’m not implying
   that we developers are necessarily any smarter or more analytical, but we’re better
   equipped – and more interested – in creating a logical domain model of a business
   than a business person is. If you, the developer, create a domain model, a business
   expert can probably tell you where the model falls short of reality. But I’ve yet
   to meet a business person that could synthesize a good domain model. Get five business
   experts in the room and you’ll get five varying models (of the same business).
&lt;/p&gt;
&lt;p&gt;
   More importantly, business folks don’t really want responsibility for the solution.
   For most developers, our work is an expense to the business and the business will
   (rightly) try to minimize that expense. A company needs to keep its toilets operating;
   this is another expense. The company also wants to spend as little money as possible
   on toilet operation. But, when a toilet breaks, the business folks don’t want an easy-to-use,
   next-generation set of pipe-wrenches. They want a plumber – someone with valuable
   expertise in something other than the business’ own core-competency.
&lt;/p&gt;
&lt;p&gt;
   Likewise, a company needs to keep its software operating. The moment a business person
   makes a software change that unexpectedly halts the inflow of revenue, they won’t
   want a great tool. “They'll want a throat to choke,” as my friend Philippe says.
&lt;/p&gt;
&lt;p&gt;
   Despite these comments, I’m a firm believer in modeling tools. I think they are useful
   and will become increasingly effective. But they won’t turn business analysts into
   programmers. They will be used by software developers to make ourselves more productive
   – much like a better pipe wrench could make a plumber more productive. These tools
   will alter the nature of our work, and businesses will earn a better return on their
   software development investment. But the role of the software developer won't be going
   away. Luckily for us, nearly all companies need toilets and software to stay in business.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.terski.com/blog/aggbug.ashx?id=1df88858-fe09-4bd4-986f-699a6bff3e75"&gt;</description>
      <comments>http://www.terski.com/blog/CommentView,guid,1df88858-fe09-4bd4-986f-699a6bff3e75.aspx</comments>
      <category>Business</category>
    </item>
    <item>
      <trackback:ping>http://www.terski.com/blog/Trackback,guid,af58ad62-f89c-42d5-964c-ba6f0a345131.aspx</trackback:ping>
      <pingback:server>http://www.terski.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.terski.com/blog/PermaLink,guid,af58ad62-f89c-42d5-964c-ba6f0a345131.aspx</pingback:target>
      <wfw:comment>http://www.terski.com/blog/CommentView,guid,af58ad62-f89c-42d5-964c-ba6f0a345131.aspx</wfw:comment>
      <wfw:commentRss>http://www.terski.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=af58ad62-f89c-42d5-964c-ba6f0a345131</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      [<a href="http://www.booch.com/architecture/blog.jsp">Grady Booch</a>] ... <em>Glen
      Vandergurg's collection of </em><a href="http://www.vanderburg.org/Misc/Quotes/soft-quotes.html"><em>quotations
      on software design</em></a><em> make for fun reading.</em></p>
        <p>
      I've seen many of these before. A few that I haven't are hilarious.
   </p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <em>To a database person, every nail looks like a thumb. Or something like that. </em>
          </p>
        </blockquote>
        <p align="right">
          <em>- Jamie Zawinski</em>
        </p>
        <img width="0" height="0" src="http://www.terski.com/blog/aggbug.ashx?id=af58ad62-f89c-42d5-964c-ba6f0a345131" />
      </body>
      <title>Quotations on Software Design</title>
      <guid>http://www.terski.com/blog/PermaLink,guid,af58ad62-f89c-42d5-964c-ba6f0a345131.aspx</guid>
      <link>http://www.terski.com/blog/PermaLink,guid,af58ad62-f89c-42d5-964c-ba6f0a345131.aspx</link>
      <pubDate>Fri, 13 May 2005 03:16:08 GMT</pubDate>
      <description>&lt;p&gt;
   [&lt;a href="http://www.booch.com/architecture/blog.jsp"&gt;Grady Booch&lt;/a&gt;] ... &lt;em&gt;Glen
   Vandergurg's collection of &lt;/em&gt;&lt;a href="http://www.vanderburg.org/Misc/Quotes/soft-quotes.html"&gt;&lt;em&gt;quotations
   on software design&lt;/em&gt;&lt;/a&gt;&lt;em&gt; make for fun reading.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
   I've seen many of these before. A few that I haven't are hilarious.
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
   &lt;em&gt;To a database person, every nail looks like a thumb. Or something like that. &lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p align=right&gt;
   &lt;em&gt;- Jamie Zawinski&lt;/em&gt; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.terski.com/blog/aggbug.ashx?id=af58ad62-f89c-42d5-964c-ba6f0a345131"&gt;</description>
      <comments>http://www.terski.com/blog/CommentView,guid,af58ad62-f89c-42d5-964c-ba6f0a345131.aspx</comments>
      <category>Software Engineering</category>
    </item>
    <item>
      <trackback:ping>http://www.terski.com/blog/Trackback,guid,15ad6f9b-f483-410c-8247-02efab508666.aspx</trackback:ping>
      <pingback:server>http://www.terski.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.terski.com/blog/PermaLink,guid,15ad6f9b-f483-410c-8247-02efab508666.aspx</pingback:target>
      <wfw:comment>http://www.terski.com/blog/CommentView,guid,15ad6f9b-f483-410c-8247-02efab508666.aspx</wfw:comment>
      <wfw:commentRss>http://www.terski.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=15ad6f9b-f483-410c-8247-02efab508666</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div class="Section1">
          <p>
         I’ve been trading my engineering skills for money since I graduated from college.
         Last week, I talked to some undergraduates who are looking to do the same. 
      </p>
          <p>
         It was a panel discussion at the <a href="http://www.msoe.edu/">Milwaukee School of
         Engineering</a>. Members of an Industry Advisory Committee fielded questions from
         students in the <a href="http://www.msoe.edu/eecs/se/">software engineering program</a>.
         The general idea was, we panel members would provide our sage advice to students about
         to enter the industry. I expected to be asked what a software engineer actually did
         all day, what tools and languages were important to know, etc. 
      </p>
          <p>
         The first student, wasting no time, asked, “How many of your companies are outsourcing
         software jobs to other countries?” 
      </p>
          <p>
         Our collective response: Silence. Each panelist waited for another to answer. 
      </p>
          <p>
         After a few seconds a fellow panelist finally spoke up and we began taking turns answering
         the question and giving our varied opinions on the subject. Most of us said our companies
         were either outsourcing abroad already or had plans to do so in the near future. 
      </p>
          <p>
         It shows what is front and center in the minds of these future graduates. It can’t
         be comforting to think that the education you’re working hard to acquire might
         not get you a job. It’s a topic I think about, too. But it’s not something
         I’m worried about. 
      </p>
          <p>
            <a href="http://www.ventureblog.com/contributors.html#klaws">Kevin Laws</a> has written
         excellent piece that explains why: <a href="http://www.ventureblog.com/articles/indiv/2003/000208.html">The
         Irony of Outsourcing</a>. According to Kevin, the irony is: 
      </p>
          <p style="MARGIN-LEFT: 0.5in">
            <i>
              <span style="FONT-STYLE: italic">Every engineer knows a company that is outsourcing
         engineering work to India or China, and many are wondering if their jobs are next.
         Engineers in Silicon Valley are now waking up to the same angst that their technologies
         have caused in workers elsewhere. Silicon Valley, welcome to America.</span>
            </i>
          </p>
          <p style="TEXT-ALIGN: justify">
            <span>But it’s not all bad news. Rather it’s the result of increasing
         productivity. And in the long run, it’s better for everybody. To find out why, <a href="http://www.ventureblog.com/articles/indiv/2003/000208.html">read
         Kevin’s article</a>. </span>
          </p>
        </div>
        <img width="0" height="0" src="http://www.terski.com/blog/aggbug.ashx?id=15ad6f9b-f483-410c-8247-02efab508666" />
      </body>
      <title>The Irony of Outsourcing</title>
      <guid>http://www.terski.com/blog/PermaLink,guid,15ad6f9b-f483-410c-8247-02efab508666.aspx</guid>
      <link>http://www.terski.com/blog/PermaLink,guid,15ad6f9b-f483-410c-8247-02efab508666.aspx</link>
      <pubDate>Wed, 10 Dec 2003 04:57:47 GMT</pubDate>
      <description>&lt;div class=Section1&gt;
   &lt;p&gt;
      I&amp;#8217;ve been trading my engineering skills for money since I graduated from college.
      Last week, I talked to some undergraduates who are looking to do the same. 
   &lt;/p&gt;
   &lt;p&gt;
      It was a panel discussion at the &lt;a href="http://www.msoe.edu/"&gt;Milwaukee School of
      Engineering&lt;/a&gt;. Members of an Industry Advisory Committee fielded questions from
      students in the &lt;a href="http://www.msoe.edu/eecs/se/"&gt;software engineering program&lt;/a&gt;.
      The general idea was, we panel members would provide our sage advice to students about
      to enter the industry. I expected to be asked what a software engineer actually did
      all day, what tools and languages were important to know, etc. 
   &lt;/p&gt;
   &lt;p&gt;
      The first student, wasting no time, asked, &amp;#8220;How many of your companies are outsourcing
      software jobs to other countries?&amp;#8221; 
   &lt;/p&gt;
   &lt;p&gt;
      Our collective response: Silence. Each panelist waited for another to answer. 
   &lt;/p&gt;
   &lt;p&gt;
      After a few seconds a fellow panelist finally spoke up and we began taking turns answering
      the question and giving our varied opinions on the subject. Most of us said our companies
      were either outsourcing abroad already or had plans to do so in the near future. 
   &lt;/p&gt;
   &lt;p&gt;
      It shows what is front and center in the minds of these future graduates. It can&amp;#8217;t
      be comforting to think that the education you&amp;#8217;re working hard to acquire might
      not get you a job. It&amp;#8217;s a topic I think about, too. But it&amp;#8217;s not something
      I&amp;#8217;m worried about. 
   &lt;/p&gt;
   &lt;p&gt;
      &lt;a href="http://www.ventureblog.com/contributors.html#klaws"&gt;Kevin Laws&lt;/a&gt; has written
      excellent piece that explains why: &lt;a href="http://www.ventureblog.com/articles/indiv/2003/000208.html"&gt;The
      Irony of Outsourcing&lt;/a&gt;. According to Kevin, the irony is: 
   &lt;/p&gt;
   &lt;p style="MARGIN-LEFT: 0.5in"&gt;
      &lt;i&gt;&lt;span style="FONT-STYLE: italic"&gt;Every engineer knows a company that is outsourcing
      engineering work to India or China, and many are wondering if their jobs are next.
      Engineers in Silicon Valley are now waking up to the same angst that their technologies
      have caused in workers elsewhere. Silicon Valley, welcome to America.&lt;/span&gt;&lt;/i&gt; 
   &lt;/p&gt;
   &lt;p style="TEXT-ALIGN: justify"&gt;
      &lt;span&gt;But it&amp;#8217;s not all bad news. Rather it&amp;#8217;s the result of increasing
      productivity. And in the long run, it&amp;#8217;s better for everybody. To find out why, &lt;a href="http://www.ventureblog.com/articles/indiv/2003/000208.html"&gt;read
      Kevin&amp;#8217;s article&lt;/a&gt;.&amp;nbsp;&lt;/span&gt; 
   &lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.terski.com/blog/aggbug.ashx?id=15ad6f9b-f483-410c-8247-02efab508666"&gt;</description>
      <comments>http://www.terski.com/blog/CommentView,guid,15ad6f9b-f483-410c-8247-02efab508666.aspx</comments>
      <category>Software Engineering</category>
    </item>
  </channel>
</rss>