<?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>Tech Seige</title>
    <link>http://www.patrickhynds.com/</link>
    <description>Technology vs. Life</description>
    <copyright>DTS</copyright>
    <lastBuildDate>Wed, 02 Jun 2010 15:56:03 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.7.5016.2</generator>
    <managingEditor>patrick@dtsnh.com</managingEditor>
    <webMaster>patrick@dtsnh.com</webMaster>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=31f23d7c-6a61-4697-ab1a-4c268bfc8e02</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=31f23d7c-6a61-4697-ab1a-4c268bfc8e02</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=31f23d7c-6a61-4697-ab1a-4c268bfc8e02</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=31f23d7c-6a61-4697-ab1a-4c268bfc8e02</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">I have noticed a very interesting reaction
   recently to the way Apple has been throwing their weight around controlling who and
   what can be put in the appstore. Until a month or so ago there was a legion of companies
   and developers in my own circle, figuring out how they would enter the market and
   what they would develop, but that has changed dramatically in light of Apples series
   of what I consider large mistakes if not outright blunders. Pulling the storm trooper
   card on the guys that got the prototype phone, pulling the rug out from under Mono
   Touch, going to war with Adobe and also seeming <a href="http://shiftyjelly.wordpress.com/2010/06/01/sentence-first-verdict-afterwards/">to
   persecute all those that raise a voice in protest</a> has put an enormous chill on
   most of those that I know that were looking to build applications for the iPhone and
   iPad. I own an iPhone and have bought an iPad so I am not a hater, just not a blind
   supplicant. I do not have any products launched or targeted to the AppStore (and have
   shelved those plans myself for the reasons many others I talk to are), so I really
   don't see how I can be punished for speaking my mind (Sad that I now believe that
   if Apple had a way of punishing me, I now fully believe they would use it). 
   <p>
      I think this is an example of Absolute Power Corrupts Absolutely. If you grip power
      too tightly you lose it and unless the groupies really do outnumber the rest of us
      this is a dangerous way for Apple to do business. How can we trust developing on a
      platform where the rules seem to change on a whim and which is controlled by those
      whose friends are treated no better than enemies... <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=31f23d7c-6a61-4697-ab1a-4c268bfc8e02" /></p></body>
      <title>In wielding power Apple has hurt itself</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=31f23d7c-6a61-4697-ab1a-4c268bfc8e02</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=31f23d7c-6a61-4697-ab1a-4c268bfc8e02</link>
      <pubDate>Wed, 02 Jun 2010 15:56:03 GMT</pubDate>
      <description>I have noticed a very interesting reaction recently to the way Apple has been throwing their weight around controlling who and what can be put in the appstore.  Until a month or so ago there was a legion of companies and developers in my own circle, figuring out how they would enter the market and what they would develop, but that has changed dramatically in light of Apples series of what I consider large mistakes if not outright blunders.  Pulling the storm trooper card on the guys that got the prototype phone, pulling the rug out from under Mono Touch, going to war with Adobe and also seeming &lt;a href="http://shiftyjelly.wordpress.com/2010/06/01/sentence-first-verdict-afterwards/"&gt;to
persecute all those that raise a voice in protest&lt;/a&gt; has put an enormous chill on
most of those that I know that were looking to build applications for the iPhone and
iPad. I own an iPhone and have bought an iPad so I am not a hater, just not a blind
supplicant. I do not have any products launched or targeted to the AppStore (and have
shelved those plans myself for the reasons many others I talk to are), so I really
don't see how I can be punished for speaking my mind (Sad that I now believe that
if Apple had a way of punishing me, I now fully believe they would use it). 
&lt;p&gt;
   I think this is an example of Absolute Power Corrupts Absolutely. If you grip power
   too tightly you lose it and unless the groupies really do outnumber the rest of us
   this is a dangerous way for Apple to do business. How can we trust developing on a
   platform where the rules seem to change on a whim and which is controlled by those
   whose friends are treated no better than enemies... &lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=31f23d7c-6a61-4697-ab1a-4c268bfc8e02"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=31f23d7c-6a61-4697-ab1a-4c268bfc8e02</comments>
      <category>Software Dev</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=b4c2bfa5-6462-490d-8353-14660804d20f</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=b4c2bfa5-6462-490d-8353-14660804d20f</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=b4c2bfa5-6462-490d-8353-14660804d20f</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=b4c2bfa5-6462-490d-8353-14660804d20f</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">I have been working on commercial products
   for a long time and repeatedly have seen companies compete with similar solutions.
   Often one is the technology leader and innovates while the other plays catch up and
   only survives by clever marketing. Sometimes the laggard can become the market leader,
   but typically only if the innovator makes a mistake (the classic example of a market
   leader losing ground due to a mistake is when New Coke came out). 
   <p>
      When it comes to software products the rule is pretty simple, mistakes in usability
      are the ones that cost marketshare fastest. Customers are pretty tolerant of technical
      issues and bugs since all sofware has them, but if the user feels stupid when trying
      to use your product, they will switch very quickly to an alternative. 
   </p><p>
      Bottom line is that mistakes of ususability are more costly in a competitive market
      than almost anything else, design wisely.<img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=b4c2bfa5-6462-490d-8353-14660804d20f" /></p></body>
      <title>Usability is King</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=b4c2bfa5-6462-490d-8353-14660804d20f</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=b4c2bfa5-6462-490d-8353-14660804d20f</link>
      <pubDate>Sun, 29 Nov 2009 02:34:27 GMT</pubDate>
      <description>I have been working on commercial products for a long time and repeatedly have seen companies compete with similar solutions.  Often one is the technology leader and innovates while the other plays catch up and only survives by clever marketing.  Sometimes the laggard can become the market leader, but typically only if the innovator makes a mistake (the classic example of a market leader losing ground due to a mistake is when New Coke came out).
&lt;p&gt;
   When it comes to software products the rule is pretty simple, mistakes in usability
   are the ones that cost marketshare fastest. Customers are pretty tolerant of technical
   issues and bugs since all sofware has them, but if the user feels stupid when trying
   to use your product, they will switch very quickly to an alternative. 
&lt;p&gt;
   Bottom line is that mistakes of ususability are more costly in a competitive market
   than almost anything else, design wisely.&lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=b4c2bfa5-6462-490d-8353-14660804d20f"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=b4c2bfa5-6462-490d-8353-14660804d20f</comments>
      <category>Software Dev</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=187a0d9b-586a-4c3e-99dc-1f66ae0948cf</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=187a0d9b-586a-4c3e-99dc-1f66ae0948cf</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=187a0d9b-586a-4c3e-99dc-1f66ae0948cf</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=187a0d9b-586a-4c3e-99dc-1f66ae0948cf</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">For many, many years I have been writing
   and reviewing contracts between my company and clients. As a result I have some insights
   into how things can be made to work more simply. 
   <p>
      First up, this is not legal advice, just me sharing some experiences. You should always
      run your contracts by your lawyer to ensure you aren't painting yourself into a corner
      you did not intend. 
   </p><p>
      Second, I have always tried to standardize contracts as much as possible and educate
      prospective clients up front as to what our process was for setting up contracts.
      Often the client will have their own ideas and their own contracts, but life is much
      better if you get the majority of clients to use your system rather than having to
      make a project out of every deal. I find that the more reasonable my process and contracts
      the more likely the client will accept my contracts rather than insist on using their
      own. 
   </p><p>
      Third, you must always remember that contracts are to govern the relationship between
      you and the customer when things to wrong. They almost never come up when the project
      comes off to mutual satisfaction. They are insurance if done well and they are a death
      sentence if they are done badly in cases where the project goes off the rails. 
   </p><p>
      Fourth, contracts are not personal, they are just part of business. If you are doing
      business with someone you like and trust then there is a temptation to skip on the
      contractual completeness or correctness. THIS IS A MISTAKE! Always think in terms
      of what would happen if the project went sideways and the person you had to deal with
      was not the one with whom you set things up. This has happened to me on a regular
      basis and the only defense is to have solid contracts. 
   </p><p>
      I hope to post more information like this in the future. <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=187a0d9b-586a-4c3e-99dc-1f66ae0948cf" /></p></body>
      <title>Contracts 101</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=187a0d9b-586a-4c3e-99dc-1f66ae0948cf</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=187a0d9b-586a-4c3e-99dc-1f66ae0948cf</link>
      <pubDate>Mon, 16 Nov 2009 16:15:39 GMT</pubDate>
      <description>For many, many years I have been writing and reviewing contracts between my company and clients.  As a result I have some insights into how things can be made to work more simply.
&lt;p&gt;
   First up, this is not legal advice, just me sharing some experiences. You should always
   run your contracts by your lawyer to ensure you aren't painting yourself into a corner
   you did not intend. 
&lt;p&gt;
   Second, I have always tried to standardize contracts as much as possible and educate
   prospective clients up front as to what our process was for setting up contracts.
   Often the client will have their own ideas and their own contracts, but life is much
   better if you get the majority of clients to use your system rather than having to
   make a project out of every deal. I find that the more reasonable my process and contracts
   the more likely the client will accept my contracts rather than insist on using their
   own. 
&lt;p&gt;
   Third, you must always remember that contracts are to govern the relationship between
   you and the customer when things to wrong. They almost never come up when the project
   comes off to mutual satisfaction. They are insurance if done well and they are a death
   sentence if they are done badly in cases where the project goes off the rails. 
&lt;p&gt;
   Fourth, contracts are not personal, they are just part of business. If you are doing
   business with someone you like and trust then there is a temptation to skip on the
   contractual completeness or correctness. THIS IS A MISTAKE! Always think in terms
   of what would happen if the project went sideways and the person you had to deal with
   was not the one with whom you set things up. This has happened to me on a regular
   basis and the only defense is to have solid contracts. 
&lt;p&gt;
   I hope to post more information like this in the future. &lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=187a0d9b-586a-4c3e-99dc-1f66ae0948cf"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=187a0d9b-586a-4c3e-99dc-1f66ae0948cf</comments>
      <category>Management</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=d0b0c83b-1ca4-487f-9af9-efbcf20660b9</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=d0b0c83b-1ca4-487f-9af9-efbcf20660b9</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=d0b0c83b-1ca4-487f-9af9-efbcf20660b9</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d0b0c83b-1ca4-487f-9af9-efbcf20660b9</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">As I work to build commercial software
   products I am regularly forced to remember that bug is a relative term. That sounds
   like a weasely way to explain away a fault in your software, but it really does turn
   out to be true especially when you have been on the ISV side of the conversation. 
   <p>
      Back in August Steven Sinofsky posted a very insider view of <a href="http://blogs.msdn.com/e7/default.aspx">how
      the Windows 7 team triaged bug reports</a> on the Windows 7 Engineering blog. Microsoft
      products enjoy (a mixed blessing) more previewing eyes and shared opinions than most
      everyone. The bottom line you have to understand to put these things in perspective
      is that the creator of the software is on the hook for supporting, maintaining, justifying
      and profiting from their product. While the customer is always right about what they
      want, they aren't always right in their belief of how my product should work. 
   </p><p>
      Case in point. I have worked with and for ISVs for more than a decade now and I have
      seen time and again the process of a potential or current customer insisting that
      a feature must be added or a functionality changed. Not always, but often when the
      ISV has caved and added a feature that they did not feel would add value the negative
      feedback drowned out the voices that were asking for it. 
   </p><p>
      In software development for commercial use you have to follow the advice of the song
      lyrics sometimes, namely "If you can't please everyone, then you've got to please
      yourself". 
   </p><p>
      Ultimately if your product fails you can't blame a customer or even a group of them
      for demanding things that ultimately took you off mission. Each customer complaint
      or feature request is a gift (as the book title goes), but it is not always one that
      you should embrace. This also goes for resellers, sales staff, developers and everyone
      else who is not on the blame line for the acceptance of the product by the market.
      That responsibility falls on the product owner who is often the business owner and
      visonary, or in cases like Microsoft a senior manager or executive. 
   </p><p>
      If everyone remembered this we would probably have better software overall... <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=d0b0c83b-1ca4-487f-9af9-efbcf20660b9" /></p></body>
      <title>Bugs are in the eyes of the beholder</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=d0b0c83b-1ca4-487f-9af9-efbcf20660b9</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=d0b0c83b-1ca4-487f-9af9-efbcf20660b9</link>
      <pubDate>Thu, 12 Nov 2009 21:02:29 GMT</pubDate>
      <description>As I work to build commercial software products I am regularly forced to remember that bug is a relative term.  That sounds like a weasely way to explain away a fault in your software, but it really does turn out to be true especially when you have been on the ISV side of the conversation.
&lt;p&gt;
   Back in August Steven Sinofsky posted a very insider view of &lt;a href="http://blogs.msdn.com/e7/default.aspx"&gt;how
   the Windows 7 team triaged bug reports&lt;/a&gt; on the Windows 7 Engineering blog. Microsoft
   products enjoy (a mixed blessing) more previewing eyes and shared opinions than most
   everyone. The bottom line you have to understand to put these things in perspective
   is that the creator of the software is on the hook for supporting, maintaining, justifying
   and profiting from their product. While the customer is always right about what they
   want, they aren't always right in their belief of how my product should work. 
&lt;p&gt;
   Case in point. I have worked with and for ISVs for more than a decade now and I have
   seen time and again the process of a potential or current customer insisting that
   a feature must be added or a functionality changed. Not always, but often when the
   ISV has caved and added a feature that they did not feel would add value the negative
   feedback drowned out the voices that were asking for it. 
&lt;p&gt;
   In software development for commercial use you have to follow the advice of the song
   lyrics sometimes, namely "If you can't please everyone, then you've got to please
   yourself". 
&lt;p&gt;
   Ultimately if your product fails you can't blame a customer or even a group of them
   for demanding things that ultimately took you off mission. Each customer complaint
   or feature request is a gift (as the book title goes), but it is not always one that
   you should embrace. This also goes for resellers, sales staff, developers and everyone
   else who is not on the blame line for the acceptance of the product by the market.
   That responsibility falls on the product owner who is often the business owner and
   visonary, or in cases like Microsoft a senior manager or executive. 
&lt;p&gt;
   If everyone remembered this we would probably have better software overall... &lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=d0b0c83b-1ca4-487f-9af9-efbcf20660b9"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=d0b0c83b-1ca4-487f-9af9-efbcf20660b9</comments>
      <category>Development</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=6033d371-8899-4b1f-bd56-9261185d6d14</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=6033d371-8899-4b1f-bd56-9261185d6d14</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=6033d371-8899-4b1f-bd56-9261185d6d14</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=6033d371-8899-4b1f-bd56-9261185d6d14</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">Lately I have been working on developing
   a new product key system and realized that one of the core rules of the road is not
   documented anywhere I can find (which is crazy in this day and age when everything
   is supposed to have already been said). 
   <p>
      The rule is pretty simple once you think of it. You should never include the numbers
      0 or 1 or the letters L, O or I in a license key that you require users to ever type.
      The reason is that there is too much chance of confusion that will cause the key to
      fail. Zero looks like the letter "O", lower case "L" looks like 1 and upper case "I"
      in many fonts. 
   </p><p>
      A simple set of rules, but ignored way too often. The only exception and I think it
      should be used sparingly is when the key is all numberics since that should remove
      the ambiguity provided you clearly state that the key is all numeric. 
   </p><p>
      Random ramblings perhaps, but it will save you down the road on customer support calls
      and that means money!<img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=6033d371-8899-4b1f-bd56-9261185d6d14" /></p></body>
      <title>Product Key Rules</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=6033d371-8899-4b1f-bd56-9261185d6d14</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=6033d371-8899-4b1f-bd56-9261185d6d14</link>
      <pubDate>Mon, 28 Sep 2009 21:43:27 GMT</pubDate>
      <description>Lately I have been working on developing a new product key system and realized that one of the core rules of the road is not documented anywhere I can find (which is crazy in this day  and age when everything is supposed to have already been said).
&lt;p&gt;
   The rule is pretty simple once you think of it. You should never include the numbers
   0 or 1 or the letters L, O or I in a license key that you require users to ever type.
   The reason is that there is too much chance of confusion that will cause the key to
   fail. Zero looks like the letter "O", lower case "L" looks like 1 and upper case "I"
   in many fonts. 
&lt;p&gt;
   A simple set of rules, but ignored way too often. The only exception and I think it
   should be used sparingly is when the key is all numberics since that should remove
   the ambiguity provided you clearly state that the key is all numeric. 
&lt;p&gt;
   Random ramblings perhaps, but it will save you down the road on customer support calls
   and that means money!&lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=6033d371-8899-4b1f-bd56-9261185d6d14"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=6033d371-8899-4b1f-bd56-9261185d6d14</comments>
      <category>Software Dev</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=7dc20cba-366b-4a42-9531-ba60c9e842b4</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=7dc20cba-366b-4a42-9531-ba60c9e842b4</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=7dc20cba-366b-4a42-9531-ba60c9e842b4</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=7dc20cba-366b-4a42-9531-ba60c9e842b4</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">Microsoft has just announced that there
   are security flaws in the Active Template Library (ATL). While many developers will
   think that this only applies to C programmers and while to some extent they are correct
   I think it is important to take a lesson from this issue. Micheal Howard has posted
   a <a href="http://blogs.msdn.com/sdl/archive/2009/07/28/atl-ms09-035-and-the-sdl.aspx">very
   informative post to the MSDN Security blog</a> that I think is well worth the read
   for all developers (not just C and C++ programmers). 
   <p>
      Too many organizations think that they can ignore code once it has been written, but
      the price of secure code (like freedom) is constant vigilance. <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=7dc20cba-366b-4a42-9531-ba60c9e842b4" /></p></body>
      <title>ATL Security Vulnerability</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=7dc20cba-366b-4a42-9531-ba60c9e842b4</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=7dc20cba-366b-4a42-9531-ba60c9e842b4</link>
      <pubDate>Wed, 29 Jul 2009 00:31:09 GMT</pubDate>
      <description>Microsoft has just announced that there are security flaws in the Active Template Library (ATL).  While many developers will think that this only applies to C programmers and while to some extent they are correct I think it is important to take a lesson from this issue.  Micheal Howard has posted a &lt;a href="http://blogs.msdn.com/sdl/archive/2009/07/28/atl-ms09-035-and-the-sdl.aspx"&gt;very
informative post to the MSDN Security blog&lt;/a&gt; that I think is well worth the read
for all developers (not just C and C++ programmers). 
&lt;p&gt;
   Too many organizations think that they can ignore code once it has been written, but
   the price of secure code (like freedom) is constant vigilance. &lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=7dc20cba-366b-4a42-9531-ba60c9e842b4"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=7dc20cba-366b-4a42-9531-ba60c9e842b4</comments>
      <category>security</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c</wfw:commentRss>
      <slash:comments>8</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
   My favorite interviewers Carl Franklin and Richard Campbell invited me to appear again
   on <a href="www.dotnetrocks.com">.Net Rocks</a> recently. We talked at length about
   the circumstances that we often see that cause technical projects in particular to
   fail. 
   <p>
      Initial feedback has been quite positive so if you happen to listen to it I hope you
      like it as well. This particular episode is found <a href="http://www.dotnetrocks.com/default.aspx?showNum=438">here</a><img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c" /></p></body>
      <title>My .Net Rocks Show on Why Project Fail</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c</link>
      <pubDate>Wed, 22 Apr 2009 19:06:07 GMT</pubDate>
      <description>
My favorite interviewers Carl Franklin and Richard Campbell invited me to appear again on &lt;a href="www.dotnetrocks.com"&gt;.Net
Rocks&lt;/a&gt; recently. We talked at length about the circumstances that we often see
that cause technical projects in particular to fail. 
&lt;p&gt;
   Initial feedback has been quite positive so if you happen to listen to it I hope you
   like it as well. This particular episode is found &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=438"&gt;here&lt;/a&gt;&lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=8ff71a19-d5b3-4ccc-b400-0aeca24cd95c</comments>
      <category>Development</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=caa73189-bda9-4bea-ba7e-eedc36c9ce7e</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=caa73189-bda9-4bea-ba7e-eedc36c9ce7e</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=caa73189-bda9-4bea-ba7e-eedc36c9ce7e</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=caa73189-bda9-4bea-ba7e-eedc36c9ce7e</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">Most of the people I know feel uniquely
   qualified to say how a particular commercial software product should work based on
   their experiences of using it. It doesn't matter which product you pick, it is always
   the same. The problem with this is that it is almost impossible for an individual
   to be objective about whether their use of a product is mainstream or even typical.
   The consequence is that listening to the advice of all your customers is a good idea,
   but you have to pick and choose which suggestions you actually implement as part of
   your roadmap. 
   <p>
      Ultimately it is the vendor that decides what they will offer. The customer often
      gets confused about who is steering the boat. So I respect and completely understand
      the position that a commercial software vendor has the right to decide that some complained
      about aspect of the product is "as designed" if they believe it is not important to
      their plans for the product. The other side of this coin is that it is your customers
      that decide if you have run the boat onto the rocks or not. And they tend to vote
      with their feet. 
   </p><p>
      The best course is to always get as much feedback from your user community as possible
      and pick through that information objectively. One great question is whether the customer
      would pay more for the product if it had their proposed feature, character or ability.
      If the answer is no then that should tell you something. <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=caa73189-bda9-4bea-ba7e-eedc36c9ce7e" /></p></body>
      <title>Who decides the roadmap for commercial software</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=caa73189-bda9-4bea-ba7e-eedc36c9ce7e</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=caa73189-bda9-4bea-ba7e-eedc36c9ce7e</link>
      <pubDate>Mon, 13 Apr 2009 15:27:35 GMT</pubDate>
      <description>Most of the people I know feel uniquely qualified to say how a particular commercial software product should work based on their experiences of using it.  It doesn't matter which product you pick, it is always the same.  The problem with this is that it is almost impossible for an individual to be objective about whether their use of a product is mainstream or even typical.  The consequence is that listening to the advice of all your customers is a good idea, but you have to pick and choose which suggestions you actually implement as part of your roadmap.
&lt;p&gt;
   Ultimately it is the vendor that decides what they will offer. The customer often
   gets confused about who is steering the boat. So I respect and completely understand
   the position that a commercial software vendor has the right to decide that some complained
   about aspect of the product is "as designed" if they believe it is not important to
   their plans for the product. The other side of this coin is that it is your customers
   that decide if you have run the boat onto the rocks or not. And they tend to vote
   with their feet. 
&lt;p&gt;
   The best course is to always get as much feedback from your user community as possible
   and pick through that information objectively. One great question is whether the customer
   would pay more for the product if it had their proposed feature, character or ability.
   If the answer is no then that should tell you something. &lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=caa73189-bda9-4bea-ba7e-eedc36c9ce7e"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=caa73189-bda9-4bea-ba7e-eedc36c9ce7e</comments>
      <category>Management</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=9a632393-d839-4f43-a40d-97788eca34bd</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=9a632393-d839-4f43-a40d-97788eca34bd</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=9a632393-d839-4f43-a40d-97788eca34bd</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9a632393-d839-4f43-a40d-97788eca34bd</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">I promised to upload my presentations from
   last month's New Hampshire Code Camp so here they are... 
   <p>
      I delivered the keynote address for the event covering how to survive as a developer
      in this depressed economy. 
      <br /><a href="http://www.patrickhynds.com/content/binary/NH%20Code%20Camp%20Feb%202009%20Keynote.ppt">NH
      Code Camp Feb 2009 Keynote.ppt (592.5 KB)</a></p><p>
      I also got to debut a new session on How to prevent project failure and a follow on
      called Project Specification for Survival and Profit. The reviews on that second session
      have caused me to combine them a bit and create what I think is a single, better session
      that I am going to be presenting at the Boston Code Camp tomorrow. 
      <br /><a href="http://www.patrickhynds.com/content/binary/How%20to%20prevent%20project%20failure%20v1.ppt">How
      to prevent project failure v1.ppt (559.5 KB)</a><br /><a href="http://www.patrickhynds.com/content/binary/Project%20Specification%20for%20Survival%20and%20Profit%20v1.ppt">Project
      Specification for Survival and Profit v1.ppt (464 KB)</a></p><p>
      Sorry for the delay in posting, lots of travel lately, but that is not unusual for
      me... <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=9a632393-d839-4f43-a40d-97788eca34bd" /></p></body>
      <title>NH Code Camp Presentations</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=9a632393-d839-4f43-a40d-97788eca34bd</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=9a632393-d839-4f43-a40d-97788eca34bd</link>
      <pubDate>Fri, 27 Mar 2009 19:28:54 GMT</pubDate>
      <description>I promised to upload my presentations from last month's New Hampshire Code Camp so here they are...
&lt;p&gt;
   I delivered the keynote address for the event covering how to survive as a developer
   in this depressed economy. 
   &lt;br&gt;
   &lt;a href="http://www.patrickhynds.com/content/binary/NH%20Code%20Camp%20Feb%202009%20Keynote.ppt"&gt;NH
   Code Camp Feb 2009 Keynote.ppt (592.5 KB)&lt;/a&gt; 
&lt;p&gt;
   I also got to debut a new session on How to prevent project failure and a follow on
   called Project Specification for Survival and Profit. The reviews on that second session
   have caused me to combine them a bit and create what I think is a single, better session
   that I am going to be presenting at the Boston Code Camp tomorrow. 
   &lt;br&gt;
   &lt;a href="http://www.patrickhynds.com/content/binary/How%20to%20prevent%20project%20failure%20v1.ppt"&gt;How
   to prevent project failure v1.ppt (559.5 KB)&lt;/a&gt; 
   &lt;br&gt;
   &lt;a href="http://www.patrickhynds.com/content/binary/Project%20Specification%20for%20Survival%20and%20Profit%20v1.ppt"&gt;Project
   Specification for Survival and Profit v1.ppt (464 KB)&lt;/a&gt; 
&lt;p&gt;
   Sorry for the delay in posting, lots of travel lately, but that is not unusual for
   me... &lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=9a632393-d839-4f43-a40d-97788eca34bd"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=9a632393-d839-4f43-a40d-97788eca34bd</comments>
      <category>Management</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=d7b89645-688f-4486-b229-86760c3cd1f2</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=d7b89645-688f-4486-b229-86760c3cd1f2</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=d7b89645-688f-4486-b229-86760c3cd1f2</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d7b89645-688f-4486-b229-86760c3cd1f2</wfw:commentRss>
      <slash:comments>8</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">I have worked on many software development
   projects, both commercial and line of business and every single time I talk about
   optimization to a developer they always jump to the same conclusion. They think I
   mean speed of execution. I grant that the majority of the time when people talk about
   optimization that is what they mean, but it is not 100% of the time correct. Often
   I care more about the maintainability of an application especially if I know it is
   destined (or doomed) to morph quite a bit over the next year or so. In these case
   it is often an application that will be used by employees and many of the standard
   assumptions do not apply. Take our Intranet for instance. It is only used by employees
   and our closest contractors. We use it for tracking customers and projects, for forecasting
   sales and even timesheets. I don't care if it is 5% slower, I want it to be adaptable
   since we are an agile company. I don't mess with the code every week or even every
   quarter, but the code is written in such a way that I or any other developer on staff
   can go in and very quickly add a field or add other features very quickly. We didn't
   sacrifice security (that would be unacceptable), but we did forgo the multi tier architechure
   and stored procedures for parameterized queries. This is a sin in many circles, but
   if the application's backend is single use (only one application) then there is much
   less advantage to all the abstraction. I am sure the arguments will flow down on me
   now, but I see the same drive for complexity without purpose (real advantage I mean)
   in the Java world where code portability is everything and yet almost no one ever
   avails themselves of that costly feature. The next time someone asks you to optimize
   something ask them if they mean for performance or maintainability and let the funny
   stares begin...<img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=d7b89645-688f-4486-b229-86760c3cd1f2" /></body>
      <title>Code Optimization when speed is not the only goal...</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=d7b89645-688f-4486-b229-86760c3cd1f2</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=d7b89645-688f-4486-b229-86760c3cd1f2</link>
      <pubDate>Thu, 18 Sep 2008 21:44:44 GMT</pubDate>
      <description>I have worked on many software development projects, both commercial and line of business and every single time I talk about optimization to a developer they always jump to the same conclusion.  They think I mean speed of execution.  I grant that the majority of the time when people talk about optimization that is what they mean, but it is not 100% of the time correct.  Often I care more about the maintainability of an application especially if I know it is destined (or doomed) to morph quite a bit over the next year or so.  In these case it is often an application that will be used by employees and many of the standard assumptions do not apply.
Take our Intranet for instance.  It is only used by employees and our closest contractors.  We use it for tracking customers and projects, for forecasting sales and even timesheets. I don't care if it is 5% slower, I want it to be adaptable since we are an agile company.  I don't mess with the code every week or even every quarter, but the code is written in such a way that I or any other developer on staff can go in and very quickly add a field or add other features very quickly.  We didn't sacrifice security (that would be unacceptable), but we did forgo the multi tier architechure and stored procedures for parameterized queries.  This is a sin in many circles, but if the application's backend is single use (only one application) then there is much less advantage to all the abstraction. I am sure the arguments will flow down on me now, but I see the same drive for complexity without purpose (real advantage I mean) in the Java world where code portability is everything and yet almost no one ever avails themselves of that costly feature.

The next time someone asks you to optimize something ask them if they mean for performance or maintainability and let the funny stares begin...&lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=d7b89645-688f-4486-b229-86760c3cd1f2"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=d7b89645-688f-4486-b229-86760c3cd1f2</comments>
      <category>Development</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=5e0ac609-67ec-4c1a-86ad-f72260003779</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=5e0ac609-67ec-4c1a-86ad-f72260003779</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=5e0ac609-67ec-4c1a-86ad-f72260003779</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=5e0ac609-67ec-4c1a-86ad-f72260003779</wfw:commentRss>
      <slash:comments>12</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">StrangeLoop has finally announced their
   AppScaler device!<br /><br /><a href="http://www.campbellassociates.ca/blog/PermaLink,guid,1ee1c4cd-fa2f-4934-91d8-7eba7c7cbcb6.aspx">Richard
   Campbell</a> told me about his involvement in StrangeLoop a while ago and I have been
   dying to tell people about it, but until now it has been confidential.<br /><br />
   Basically the AppScaler takes a web farms major headaches and lifts them into the
   loadbalancer and out of the way of your developers.  It really is a cool strategy
   because it gives sites real performance gains over hosting Session State on a state
   server or in a database along with a whole host of other performance enhancing and
   bandwidth saving features.<br /><br />
   Check out the recent <a href="http://www.networkworld.com/includes/ads-pre.html">article
   at NetWorkWorld.com</a> about it.<img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=5e0ac609-67ec-4c1a-86ad-f72260003779" /></body>
      <title>Big boost for ASP.Net scalability</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=5e0ac609-67ec-4c1a-86ad-f72260003779</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=5e0ac609-67ec-4c1a-86ad-f72260003779</link>
      <pubDate>Tue, 22 May 2007 00:24:28 GMT</pubDate>
      <description>StrangeLoop has finally announced their AppScaler device!&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.campbellassociates.ca/blog/PermaLink,guid,1ee1c4cd-fa2f-4934-91d8-7eba7c7cbcb6.aspx"&gt;Richard
Campbell&lt;/a&gt; told me about his involvement in StrangeLoop a while ago and I have been
dying to tell people about it, but until now it has been confidential.&lt;br&gt;
&lt;br&gt;
Basically the AppScaler takes a web farms major headaches and lifts them into the
loadbalancer and out of the way of your developers.&amp;nbsp; It really is a cool strategy
because it gives sites real performance gains over hosting Session State on a state
server or in a database along with a whole host of other performance enhancing and
bandwidth saving features.&lt;br&gt;
&lt;br&gt;
Check out the recent &lt;a href="http://www.networkworld.com/includes/ads-pre.html"&gt;article
at NetWorkWorld.com&lt;/a&gt; about it.&lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=5e0ac609-67ec-4c1a-86ad-f72260003779"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=5e0ac609-67ec-4c1a-86ad-f72260003779</comments>
      <category>Development</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=29163151-12fa-4b9a-bc8e-6a25d1096e5b</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=29163151-12fa-4b9a-bc8e-6a25d1096e5b</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=29163151-12fa-4b9a-bc8e-6a25d1096e5b</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=29163151-12fa-4b9a-bc8e-6a25d1096e5b</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Chad Hower is a smart guy and I came across his post on <a href="http://www.codeproject.com/gen/design/UnconventialWisdom.asp">protecting
      the software you write from pirates</a> right at a time that we were revisting the
      question ourselves.<br /><br />
      On the whole I agree with Chad, while he comes off as against anti-piracy in the beginning
      of the post, in the end you realize that he is just advocating for a measured response. 
      I couldn't agree more.<br /><br />
      This is very much the whole, "In order to save the village we had to destroy it lesson"
      where you get very diminishing returns if you go too far off the deep end in trying
      to make your code pirate proof.
   </p>
        <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=29163151-12fa-4b9a-bc8e-6a25d1096e5b" />
      </body>
      <title>Preventing Software Piracy</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=29163151-12fa-4b9a-bc8e-6a25d1096e5b</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=29163151-12fa-4b9a-bc8e-6a25d1096e5b</link>
      <pubDate>Mon, 06 Nov 2006 19:07:28 GMT</pubDate>
      <description>&lt;p&gt;
   Chad Hower is a smart guy and I came across his post on &lt;a href="http://www.codeproject.com/gen/design/UnconventialWisdom.asp"&gt;protecting
   the software you write from pirates&lt;/a&gt; right at a time that we were revisting the
   question ourselves.&lt;br&gt;
   &lt;br&gt;
   On the whole I agree with Chad, while he comes off as against anti-piracy in the beginning
   of the post, in the end you realize that he is just advocating for a measured response.&amp;nbsp;
   I couldn't agree more.&lt;br&gt;
   &lt;br&gt;
   This is very much the whole, "In order to save the village we had to destroy it lesson"
   where you get very diminishing returns if you go too far off the deep end in trying
   to make your code pirate proof.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=29163151-12fa-4b9a-bc8e-6a25d1096e5b"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=29163151-12fa-4b9a-bc8e-6a25d1096e5b</comments>
      <category>security</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=e112c13e-e319-4332-921a-0ddf13a319eb</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=e112c13e-e319-4332-921a-0ddf13a319eb</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=e112c13e-e319-4332-921a-0ddf13a319eb</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=e112c13e-e319-4332-921a-0ddf13a319eb</wfw:commentRss>
      <slash:comments>0</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Having been involved in many software projects, some commercial, some consulting,
      some disasterous, I have noticed some trends that I would like to share.<br /><br />
      If you are commissioning (read paying or betting your job) a development project,
      you have to avoid being wishful.  If you just trust that the developers you hired
      are professionals and will keep you out of trouble it might actually happen that way,
      but you are playing Russian Roulette.  Even some of the best developers get overtaxed
      or lazy or stupid or all of these things at once.  If you don't get very explicit
      in what you want you will pay for it.  
      <br /><br />
      To avoid some of this I recommend that you:<br />
       - Specify the system in as much detail as possible<br />
       - Provide statements relative to how the system will be used and the intent
      of the project<br />
       - Emphasis should be placed on what YOU define to be acceptable. 
      Define terms up front such as "commercial quality" and "easy to use"<br /><br />
      The less you leave up to the imagination the better.  Also insist on frequent
      demos throughout the process with opt out options if things are just too off track.<br /><br />
      Always remember that consulting is based on who takes the risk.  In a fixed bid
      engagement the developer takes most of the risk and therefore the price is uplifted
      accordingly.  In a time and materials engagement it is the buyer who takes all
      the risk and often it is the buyer who must ensure things are proceeding according
      to plan.<br /><br />
      In the end it is the specification that will decide if the developers did their job
      or not...
   </p>
        <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=e112c13e-e319-4332-921a-0ddf13a319eb" />
      </body>
      <title>Specifications</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=e112c13e-e319-4332-921a-0ddf13a319eb</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=e112c13e-e319-4332-921a-0ddf13a319eb</link>
      <pubDate>Thu, 05 Oct 2006 13:42:37 GMT</pubDate>
      <description>&lt;p&gt;
   Having been involved in many software projects, some commercial, some consulting,
   some disasterous, I have noticed some trends that I would like to share.&lt;br&gt;
   &lt;br&gt;
   If you are commissioning (read paying or betting your job) a development project,
   you have to avoid being wishful.&amp;nbsp; If you just trust that the developers you hired
   are professionals and will keep you out of trouble it might actually happen that way,
   but you are playing Russian Roulette.&amp;nbsp; Even some of the best developers get overtaxed
   or lazy or stupid or all of these things at once.&amp;nbsp; If you don't get very explicit
   in what you want you will pay for it.&amp;nbsp; 
   &lt;br&gt;
   &lt;br&gt;
   To avoid some of this I recommend that you:&lt;br&gt;
   &amp;nbsp;-&amp;nbsp;Specify the system in as much detail as possible&lt;br&gt;
   &amp;nbsp;- Provide statements relative to how the system will be used and the intent
   of the project&lt;br&gt;
   &amp;nbsp;-&amp;nbsp;Emphasis should be placed on what YOU define to be acceptable.&amp;nbsp;
   Define terms up front such as "commercial quality" and "easy to use"&lt;br&gt;
   &lt;br&gt;
   The less you leave up to the imagination the better.&amp;nbsp; Also insist on frequent
   demos throughout the process with opt out options if things are just too off track.&lt;br&gt;
   &lt;br&gt;
   Always remember that consulting is based on who takes the risk.&amp;nbsp; In a fixed bid
   engagement the developer takes most of the risk and therefore the price is uplifted
   accordingly.&amp;nbsp; In a time and materials engagement it is the buyer who takes all
   the risk and often it is the buyer who must ensure things are proceeding according
   to plan.&lt;br&gt;
   &lt;br&gt;
   In the end it is the specification that will decide if the developers did their job
   or not...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=e112c13e-e319-4332-921a-0ddf13a319eb"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=e112c13e-e319-4332-921a-0ddf13a319eb</comments>
      <category>Management</category>
    </item>
    <item>
      <trackback:ping>http://www.patrickhynds.com/Trackback.aspx?guid=e12185e9-cd5e-4618-b9a3-84fc0a082a8d</trackback:ping>
      <pingback:server>http://www.patrickhynds.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.patrickhynds.com/PermaLink.aspx?guid=e12185e9-cd5e-4618-b9a3-84fc0a082a8d</pingback:target>
      <wfw:comment>http://www.patrickhynds.com/CommentView.aspx?guid=e12185e9-cd5e-4618-b9a3-84fc0a082a8d</wfw:comment>
      <wfw:commentRss>http://www.patrickhynds.com/SyndicationService.asmx/GetEntryCommentsRss?guid=e12185e9-cd5e-4618-b9a3-84fc0a082a8d</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div dir="ltr" align="left">
          <font face="Arial" color="#0000ff" size="2">
            <span class="781390300-20062006">When
      you are working on commercial software or even just industrial strength business software
      you have to balance things.  Time to market is everything and while
      you must have usable, quality code, you have to get it done.</span>
          </font>
        </div>
        <div dir="ltr" align="left">
          <font face="Arial" color="#0000ff" size="2">
            <span class="781390300-20062006">
            </span>
          </font> 
   </div>
        <div dir="ltr" align="left">
          <font face="Arial" color="#0000ff" size="2">
            <span class="781390300-20062006">One
      of the things that is hardest to balance is performance tuning, it is often best
      to put the lion's share on hold until version 1.x or even 2.0. </span>
          </font>
        </div>
        <div>
          <font face="Arial" color="#0000ff" size="2">
            <span class="781390300-20062006">
            </span>
          </font> 
   </div>
        <div>
          <font face="Arial" color="#0000ff" size="2">
            <span class="781390300-20062006">Most
      software companies to not invest heavily in performance tuning in the first version
      of a product since it usually requires alot of work and often customer reactions will
      force you to make changes that might invalidate the tuning anyways.</span>
          </font>
        </div>
        <div>
          <font face="Arial" color="#0000ff" size="2">
            <span class="781390300-20062006">
            </span>
          </font> 
   </div>
        <div>
          <font face="Arial" color="#0000ff" size="2">
            <span class="781390300-20062006">You
      should certainly consider doing serious performance tuning if the feedback
      from QA is that your software is too slow under load to give to a customer,
      but that is just common sense.</span>
          </font>
          <br />
        </div>
        <img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=e12185e9-cd5e-4618-b9a3-84fc0a082a8d" />
      </body>
      <title>Performance Tuning and Version 1.0</title>
      <guid>http://www.patrickhynds.com/PermaLink.aspx?guid=e12185e9-cd5e-4618-b9a3-84fc0a082a8d</guid>
      <link>http://www.patrickhynds.com/PermaLink.aspx?guid=e12185e9-cd5e-4618-b9a3-84fc0a082a8d</link>
      <pubDate>Tue, 20 Jun 2006 00:35:53 GMT</pubDate>
      <description>&lt;div dir=ltr align=left&gt;&lt;font face=Arial color=#0000ff size=2&gt;&lt;span class=781390300-20062006&gt;When
   you are working on commercial software or even just industrial strength business software
   you have to balance things.&amp;nbsp;&amp;nbsp;Time to market is&amp;nbsp;everything and while
   you must have usable, quality code, you have to get it done.&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;div dir=ltr align=left&gt;&lt;font face=Arial color=#0000ff size=2&gt;&lt;span class=781390300-20062006&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div dir=ltr align=left&gt;&lt;font face=Arial color=#0000ff size=2&gt;&lt;span class=781390300-20062006&gt;One
   of the things that is hardest to balance is performance tuning, it is often&amp;nbsp;best
   to put the lion's share on hold until version 1.x or even 2.0.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial color=#0000ff size=2&gt;&lt;span class=781390300-20062006&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial color=#0000ff size=2&gt;&lt;span class=781390300-20062006&gt;Most software
   companies to not invest heavily in performance tuning in the first version of a product
   since it usually requires alot of work and often customer reactions will force you
   to make changes that might invalidate the tuning anyways.&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial color=#0000ff size=2&gt;&lt;span class=781390300-20062006&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial color=#0000ff size=2&gt;&lt;span class=781390300-20062006&gt;You should
   certainly consider doing&amp;nbsp;serious performance tuning&amp;nbsp;if the feedback from
   QA is that&amp;nbsp;your software&amp;nbsp;is too slow under load to give to a customer, but
   that is just common sense.&lt;/span&gt;&lt;/font&gt;
   &lt;br&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.patrickhynds.com/aggbug.ashx?id=e12185e9-cd5e-4618-b9a3-84fc0a082a8d"&gt;</description>
      <comments>http://www.patrickhynds.com/CommentView.aspx?guid=e12185e9-cd5e-4618-b9a3-84fc0a082a8d</comments>
      <category>Software Dev</category>
    </item>
  </channel>
</rss>