<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>SILC - Solution Implementation Life Cycle</title>
        <link>http://geekswithblogs.net/codesailor/category/2809.aspx</link>
        <description>This category includes information about what I call the "SILC" or Solution Implementation Life Cycle.  Not all software is built anymore.  So implementing solutions becomes a matter of both COTS and built components.  This category is for discussing the methodologies associated with implementing technology solutions. </description>
        <language>en-US</language>
        <copyright>Brian Lanham</copyright>
        <managingEditor>codesailor@yahoo.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Hosted Source Code Control Solution</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/10/31/126432.aspx</link>
            <description>&lt;p&gt;I understand that CollabNet has a hosted version of Subversion but their site is a tad confusing in this regard.  Anyone out there recommend a hosted source code control solution?&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126432"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=126432" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/126432.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/10/31/126432.aspx</guid>
            <pubDate>Fri, 31 Oct 2008 13:49:58 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/126432.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/10/31/126432.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/126432.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/126432.aspx</trackback:ping>
        </item>
        <item>
            <title>The Cini Mini Syndrome</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/08/02/124198.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Many years ago I purchased my first house.  One of the first morning's in the house (a Saturday I believe) my  (ex) wife fetched breakfast at Burger King while I continued installing child safety devices.  She returned with baked, unhealthy yet totally tasty and satisfying treats from the King.  Among the choices was a box (or two) of Cini-Mini's.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I stared at the box quickly becoming fascinated with the design.  I have always been a curious type.  Also, I am a process geek.  I am interested in learning about how things are designed and built.  Although I was just finishing college, I was already feeling &lt;u&gt;the frustrations of poor / no process&lt;/u&gt;.  While staring at the box I started pondering the design.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I can't seem to find an image of the box so my textual description will have to do.  Things I noticed about the box:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;1) &lt;u&gt;Graphics&lt;/u&gt; - The graphics on the box (such as the Burger King trademark logo and the name of the product) are printed at an angle with respect to the sides of the box.&lt;br /&gt;
2) &lt;u&gt;Size&lt;/u&gt; - The container is designed to hold precisely 4 miniature cinnamon rolls.  The cinnamon rolls are an unusual size for cinnamon rolls.  The icing container holds enough icing for the four cinnamon rolls.  (It's actually a little more than I like.)&lt;br /&gt;
3) &lt;u&gt;Layout&lt;/u&gt; - The container is designed to provide a space to house a single container of icing.  As such, the icing containers are not part of the box and, instead, are inserted into the overall container at purchase time.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;While standing there observing these aspects of the container a thought occurred to me that has stayed with me over the years.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;em&gt;"More design time went into this box of Cini-Minis than into most software systems."&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Does that make anyone else sad?  If you think about it for a minute, you can see the Vision document forming in your mind…&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;1) &lt;u&gt;Sales &amp;amp; Marketing&lt;/u&gt; - If we put the graphics at right angles to the container then we can get as many graphics on a single container.  Furthermore, angular graphics are more catchy than perpendicular graphics.  At what angle shall the graphics be printed?&lt;br /&gt;
2) &lt;u&gt;The Food Itself &lt;/u&gt;-  How many rolls shall we put?  This one is great because it drives EVERYTHING.  They must have conducted some research into approximately how much food a test group consumes.  How much icing is consumed with the number of rolls we've chosen?  Do we need to redesign the container for the amount of icing?&lt;br /&gt;
3) &lt;u&gt;Preparation&lt;/u&gt; - Is the size of the roll conducive to our existing kitchen equipment?  How long does it take to prepare this item?  &lt;br /&gt;
4) &lt;u&gt;Shipping&lt;/u&gt; - Let's put the icing in the container at purchase time.  This way we can flatten the containers completely for shipping.  This also allows us to ship the containers in a non-refrigerated vehicle.&lt;br /&gt;
5) &lt;u&gt;ROI&lt;/u&gt; - How much will we charge?  Is this amount profitable given the manufacturing of the containers, the food, the size, the marketing, etc.?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Many of these items are business and system supplemental requirements but you can easily play a similar scenario to form use cases.   So what's my point?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;u&gt;&lt;em&gt;Cini-Mini Syndrome (noun)&lt;/em&gt;&lt;/u&gt; - A situation wherein less effort is expended sufficiently planning and designing a business software system than a snack.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Think about the business systems you have in your organization.  Did anyone consider integration?  Reuse?  Modularity?  Service-Orientation?  Or, instead, did someone throw together a system as quickly as possible and now they spend their days maintaining it by quickly adding new functionality or updating records in the database directly?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;The next time you are building a software system, use a simple litmus test.  "Do I have enough information to implement Cini-Minis?"  Have you before or do you now experience The Cini-Mini Syndrome?   What advice do you have for combating these situations?&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124198"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124198" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/124198.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/08/02/124198.aspx</guid>
            <pubDate>Sat, 02 Aug 2008 16:40:51 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/124198.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/08/02/124198.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/124198.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/124198.aspx</trackback:ping>
        </item>
        <item>
            <title>Free &lt;&gt; Open Source &lt;&gt; Free</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/07/12/123758.aspx</link>
            <description>&lt;p&gt;For those of you who know me, I work very hard to speak very precisely.  As such, I become frustrated at the repeated abuse (incorrect use) of terms.  Among these, it is my opinion that there is some abuse among the terms "free", "open source", and, well, "free" (yes, I am repeating myself) in the context of software.  I am going to provide my definitions for these terms.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Free (in terms of &lt;em&gt;Purchase Price&lt;/em&gt;)&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;There is a lot (and by that I mean A LOT) of free software.  Utilities, full-featured product suites, operating systems, database servers, development tools, the list goes on and on (and on and on and on and on...).  Not all of these products are, however, &lt;strong&gt;open source&lt;/strong&gt;.  So while there are many (many, many) products that are freely available, you won't always be granted access the source code.  In summary...&lt;/p&gt;
&lt;p align="center"&gt;&lt;em&gt;Not all free software is also open source software.&lt;/em&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;u&gt;Open Source&lt;/u&gt;&lt;/p&gt;
&lt;p align="left"&gt;This generally refers to software where in the source code (in part or whole) is exposed.  There is a common misconception that all open source software is free.  Granted, most open source software is, indeed, free.  However, there are some for-cost systems whose source is available for a fee.  This is not common but does occur on occasion.  &lt;/p&gt;
&lt;p align="left"&gt;&lt;u&gt;Free (in terms of &lt;em&gt;Total Cost of Ownership&lt;/em&gt;)&lt;/u&gt;&lt;/p&gt;
&lt;p align="left"&gt;I think it's safe to guess that if you are reading this you know that "free software" is not free to obtain, implement, integrate, and maintain.  The costs for each system (beyond the development/purchase cost) is called the &lt;strong&gt;Total Cost of Ownership&lt;/strong&gt;.  I won't spend a lot of time writing about this because it probably is well understand.&lt;/p&gt;
&lt;p align="left"&gt;So that's it, just want to set the stage for my next blog entry.  What are your thoughts on this?&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=123758"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=123758" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/123758.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/07/12/123758.aspx</guid>
            <pubDate>Sat, 12 Jul 2008 23:14:10 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/123758.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/07/12/123758.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/123758.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/123758.aspx</trackback:ping>
        </item>
        <item>
            <title>Required Features &lt;&gt; Requirements</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/04/29/121761.aspx</link>
            <description>&lt;p&gt;Those of you who know me know that I am a stickler for using the proper word.  A &lt;em&gt;shovel&lt;/em&gt; and a &lt;em&gt;spade&lt;/em&gt; are not the same thing.  The term "requirements" is suffering a similar fate.  Although requirements have come in many varieties over the decades, the current &lt;em&gt;de facto&lt;/em&gt; standard is to capture functional requirements as &lt;u&gt;use cases&lt;/u&gt; or some similar mechanism (&lt;u&gt;user stories&lt;/u&gt;, for example).  Unfortunately, however, I often see a bulleted list of "features" described as "requirements".  &lt;/p&gt;
&lt;p&gt;Don't get me wrong, feature lists are an important (perhaps even essential) part of the requirements gathering process.  They should not, however, be mistaken for "complete requirements".  The requirement model is a complex, living organism that consists of significantly more than a simple list of features.  The sunny-day scenario is easy (and maybe even boring as a result).  You need to expand (GREATLY) on the "feature" to describe the &lt;u&gt;exceptional conditions&lt;/u&gt; and situations associated with it.&lt;/p&gt;
&lt;p&gt;Use the correct terminology where possible.  If you have a list of "things the system ought to do" in Excel(R), do not mistake that list for requirements.  On the other hand, don't throw it out either.  This &lt;u&gt;feature list&lt;/u&gt; is an important part of understanding the features that the system must provide to be effective at automating some business process.  But it is only the beginning of understanding.&lt;/p&gt;
&lt;p&gt;So, if you were to look at artifacts created as part of a requirement model, consider the following:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Feature List - This can be on a sheet of notebook paper (yes, I wrote "paper").&lt;/li&gt;
    &lt;li&gt;Vision Document&lt;/li&gt;
    &lt;li&gt;Use Case Outlines&lt;/li&gt;
    &lt;li&gt;Use Case Details&lt;/li&gt;
    &lt;li&gt;Use Case Diagrams&lt;/li&gt;
    &lt;li&gt;Supplemental (Non-Functional) Requirements&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What's that?  &lt;u&gt;Activity Diagrams&lt;/u&gt;?  Oh don't &lt;em&gt;even&lt;/em&gt; get me started on business modeling...&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=121761"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=121761" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/121761.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/04/29/121761.aspx</guid>
            <pubDate>Tue, 29 Apr 2008 18:42:25 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/121761.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/04/29/121761.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/121761.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/121761.aspx</trackback:ping>
        </item>
        <item>
            <title>Using Third-Party Components</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/04/18/121361.aspx</link>
            <description>&lt;p class="MsoNormal"&gt;&lt;em&gt;This entry is originally from the &lt;a href="http://www.rvnug.org/"&gt;Roanoke Valley .NET User Group&lt;/a&gt; newsletter.&lt;/em&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;This month the UG held a luncheon, sponsored by Telerik, about their products.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;One of the UG members, George Matzko, mentioned the potential pitfalls associated with using 3&lt;sup&gt;rd&lt;/sup&gt;-party components.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;In this month’s newsletter I want to discuss that as it seems to be both an important topic and a topic of recent interest.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;The Benefits of Using 3&lt;sup&gt;rd&lt;/sup&gt;-Party Components&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Time to Market&lt;/u&gt; – This is arguably the most obvious benefit.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;If you buy a 3&lt;sup&gt;rd&lt;/sup&gt;-party component that exposes the functionality needed then you can reduce the time to market for the overall product.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Maintenance&lt;/u&gt; – Instead of you needing to fix defects and provide updates, the vendor does this.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Generally, vendors provide fixes at no charge (although upgrades are usually offered at a cost).&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This alleviates the maintenance burden from your team.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Research&lt;/u&gt; – Vendors are focused on &lt;em style="mso-bidi-font-style: normal"&gt;their&lt;/em&gt; aspect of &lt;em style="mso-bidi-font-style: normal"&gt;your&lt;/em&gt; business.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Component vendors, for example, focus on their components to provide a discrete yet robust functionality base.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This allows you to focus on your core business.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Basically, you are buying their research and development effort expended by the vendor.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Education&lt;/u&gt; – Usually 3&lt;sup&gt;rd&lt;/sup&gt;-party vendors provide sample code for how to use their products.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The samples, however, can also demonstrate good (and bad) coding practices.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This can be an opportunity to educate your team.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;The Pitfalls of 3&lt;sup&gt;rd&lt;/sup&gt;-Party Components&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Vendor Tie-In&lt;/u&gt; – Of course, purchasing a vendor product ties you to that product.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;If, for example, you purchase a grid control (a fairly common purchase even today) and you use it in several applications, you are essentially bound to that version of that control.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;You may upgrade to a new version of the platform (&lt;em style="mso-bidi-font-style: normal"&gt;e.g. &lt;/em&gt;going from .NET 2.0 to 3.x) and the grid is not supported.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Maintenance Contracts&lt;/u&gt; – Larger-scale components can ship with maintenance options.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Maintenance contracts are generally priced as a percentage of the cost of the base product.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;While a 24-hour turnaround time on issues helps, the contract itself can be costly.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Learning&lt;/u&gt; – Instead of learning the intrinsic controls in your platform (such as ASP.NET controls), your team needs to learn the 3&lt;sup&gt;rd&lt;/sup&gt;-party components.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;This means that if you hire team members who use the intrinsic controls &lt;em style="mso-bidi-font-style: normal"&gt;or&lt;/em&gt; components from other vendors, you need to set aside training time for them.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;Upgrades &amp;amp; Testing&lt;/u&gt; – Just because the vendor (supposedly) tested their software doesn’t mean you can skip testing in your environment.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;You need to make sure you have appropriate tests for your applications and that they consider the upgrades to 3&lt;sup&gt;rd&lt;/sup&gt;-party components.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;What pitfalls have you experienced?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Do you have success stores for 3&lt;sup&gt;rd&lt;/sup&gt;-party components?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Share your vendor-related experiences with the rest of the NUG!&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Happy Alignment!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=121361"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=121361" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/121361.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/04/18/121361.aspx</guid>
            <pubDate>Fri, 18 Apr 2008 18:09:53 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/121361.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/04/18/121361.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/121361.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/121361.aspx</trackback:ping>
        </item>
        <item>
            <title>Buy vs. Build</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/04/10/121170.aspx</link>
            <description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;&lt;em&gt;This entry is originally from the &lt;a href="http://www.rvnug.org/"&gt;Roanoke Valley .NET User Group&lt;/a&gt; newsletter.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Buy vs. Build – How to Decide&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Last month we talked about adopting new technologies. Related to adopting new technologies is the “buy vs. build” conundrum. You should &lt;em style="mso-bidi-font-style: normal"&gt;always consider&lt;/em&gt; purchasing an existing system &lt;u&gt;if you can find one that meets the requirements&lt;/u&gt;. &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;However, there are occasions when it makes more sense to build the solution. &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;Before making a buy vs. build decision, &lt;u&gt;you still need requirements&lt;/u&gt;. Once you have a baseline set of requirements, you can consider Commercial Off-the-Shelf (COTS) products.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;font face="Calibri" size="3"&gt;Buy vs. Build Considerations&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Not everything is as cut-and-dry as we would like. It may seem that you can simply review the features of a range of off-the-shelf applications and compare the features to determine whether or not a product is a good fit. Unfortunately, it’s not that simple. You need to consider other aspects as well. I like to think of the considerations in three categories including functional, non-functional and business.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;u&gt;Functional&lt;/u&gt; items relate explicitly to the functional requirements of the given system. Can users attach notes to patient records?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Can users reconcile to a certain date?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Can users define their own templates?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;These are often the obvious items to consider and generally lead to a quick analysis. Either the product supports the feature or it doesn’t. There are some exceptions to this, of course, but you get the picture.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;u&gt;Non-functional&lt;/u&gt; items relate to the supplemental requirements of the given system. Does it run on my network (&lt;em style="mso-bidi-font-style: normal"&gt;e.g.&lt;/em&gt; 100MB vs. 1GB Ethernet)?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Is it browser-based?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Does it have an API for integrating with my existing financial systems?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Can I use it with Active Directory®?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;These items can be obvious but some may be tricky. For example, the system may, print reports but you may not be able to customize them. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;u&gt;Business&lt;/u&gt; items relate to the overall business impact of the product. These items are the most often overlooked and yet &lt;u&gt;can be the most costly&lt;/u&gt;. &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;What are the base and maintenance costs?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;What are the initial training costs for both the business and technology staffs?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;What are the refresher training costs? What is the level of effort associated with installation and (for disaster recovery) reinstallation? &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;font face="Calibri" size="3"&gt;To Buy or Not to Buy…&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;It may seem obvious that if the TCO for the COTS product is greater than or equal to the cost of building, you should buy. There may, however, be scenarios wherein you should build instead of buy, despite the TCO of the COTS products. While there are several reasons for going against the flow, one of the more substantial reasons is &lt;u&gt;training&lt;/u&gt;. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;If you can find a low-risk project, consider using it as a training effort. This will allow your team to learn that new technology without adversely impacting the business. What this really means, mathematically, is that you have included the cost of staff training &lt;em style="mso-bidi-font-style: normal"&gt;in general&lt;/em&gt; in the gap analysis. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;em style="mso-bidi-font-style: normal"&gt;&lt;font face="Calibri" size="3"&gt;Tip:&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Excel® makes a great gap analysis matrix. You can quickly evaluate various solutions (including building) and &lt;u&gt;quantify your analysis and the final decision&lt;/u&gt;.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;How do you make buy vs. build decisions?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;What experiences have you had with your decisions?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Share your adoption stories and lessons learned with the rest of the NUG!&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Happy Alignment!&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=121170"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=121170" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/121170.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/04/10/121170.aspx</guid>
            <pubDate>Thu, 10 Apr 2008 19:12:26 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/121170.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/04/10/121170.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/121170.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/121170.aspx</trackback:ping>
        </item>
        <item>
            <title>Introducing &amp; Adopting New Technology</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/02/11/119460.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;This entry is originally from the &lt;a href="http://www.rvnug.org"&gt;Roanoke Valley .NET User Group&lt;/a&gt; newsletter.&lt;/em&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;As we discussed last month, technology is ever-changing. We talked about ways to maintain your skills and knowledge level. It is hard enough to introduce yourself to new technology. However, you’re not the only one who needs the introduction. Roanoke Code Camp 2008 is going to be here in a few weeks and you will be bombarded with all the wonderful newness to come from .NET. Now that &lt;em style="mso-bidi-font-style: normal"&gt;you&lt;/em&gt; know about the new dewflanchy, how are you going to get your team members and your manager to get on the bandwagon?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;One of the biggest mistakes people make with respect to new technologies is failing to plan for adopting them. &lt;u&gt;You should consider new technologies as candidates for adoption until proven otherwise.&lt;/u&gt; I am not saying that every new gizmo that comes from Redmond (or elsewhere) is appropriate for your business. I am, however, saying that when you learn about new technologies, you should consider adding them to your tool chest. Here is some advice for aligning your current technology business with new technologies.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;font face="Calibri" size="3"&gt;When Informed of Upcoming Technologies…&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;1.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;u&gt;Evaluate&lt;/u&gt; – Determine what problems it solves. If it solves a problem you have, consider adopting it. Establish an evaluation plan for the newbie. Don’t just take it at face value. Use a formal project and assign resources to conduct a quantitative analysis. By assigning resources, constraints (budget, schedule) and goals, you improve the chances of reaching an end point.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;a.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Does it fit your enterprise architecture?&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;b.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Is it a cost-effective solution? &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;2.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;u&gt;Adopt&lt;/u&gt; – If you choose to adopt the new technology, create a formal adoption plan to answer the following questions. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;a.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;How are you going to introduce the new technology to the organization? &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;b.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;How are you going to upgrade the existing solutions to avail yourself of the new technology?&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1; mso-add-space: auto"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;c.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;How are you going to start using it in new solutions?&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;font face="Calibri" size="3"&gt;When Learning a New Technology…&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;1.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;u&gt;Educate Others&lt;/u&gt; – If you feel the newbie can benefit the organization, prepare 30-60 minutes presentation for your team. Provide a general overview instead of specifics. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;2.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;u&gt;Prove It&lt;/u&gt; – Create a proof of concept or three. Make a sandbox (virtual) environment to start demonstrating some of the features of the new technology.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Calibri" size="3"&gt;3.&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;u&gt;Use It &lt;em style="mso-bidi-font-style: normal"&gt;Appropriately&lt;/em&gt;&lt;/u&gt; – Don’t force it. Look for &lt;em style="mso-bidi-font-style: normal"&gt;fit &lt;/em&gt;opportunities to utilize the new features. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;How do you adopt new technology?&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;What is missing?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;What questions do you have?&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Share your adoption stories and lessons learned with the rest of the NUG!&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Happy Alignment!&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119460"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119460" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/119460.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/02/11/119460.aspx</guid>
            <pubDate>Mon, 11 Feb 2008 19:54:31 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/119460.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/02/11/119460.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/119460.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/119460.aspx</trackback:ping>
        </item>
        <item>
            <title>Save Time with UI Storyboards</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/02/01/119197.aspx</link>
            <description>&lt;p&gt;The old adage that 'a picture is worth a thousand words' is never truer in software development than in relation to the User Interface (UI) Storyboard.  I am working on requirement modeling today and I am once again reminded of the value that simple storyboards can add to overall requirement modeling.&lt;/p&gt;
&lt;p&gt;Even though I know how to build it "the right way", I tend to model some requirements and feel that I have enough information to start designing and/or coding.  I was creating a design model this morning for a subsystem and had a lot of detail in it.  I started working on the data model, however, and several questions popped into my head.  &lt;/p&gt;
&lt;p&gt;While trying to answer the question, I repeatedly went back and forth between the requirements artifacts and the design artifacts.  It was like trying to get the bubbles out of a carpet.  Every time I smoothed one bubble, another appeared in a remote location.  Then I started thinking along the lines of "how will the user actual perform this task?"  I quickly realized that the problem domain is not as well understood as I had thought initially and that more detail &lt;em&gt;is&lt;/em&gt; needed in this iteration.&lt;/p&gt;
&lt;p&gt;I spent about an hour creating a simple UI storyboard focused on the question that had arisen.  Fortunately for me, it not only paid off to help answer that question, it also raised several other situations I had not considered but that could prove the initial design inadequate.&lt;/p&gt;
&lt;p&gt;I was chatting with a friend about UI storyboards and we discussed different tools we use to create them.  Here are my suggestions for successful UI storyboarding.  By "successful" I mean that you get a big value from a relatively small effort.&lt;/p&gt;
&lt;p&gt;In my vernacular, a UI storyboard is NOT a prototype and NOT a proof of concept.  It is an organization tool that allows you to preview a sequence of events without expending a lot of effort.&lt;/p&gt;
&lt;p&gt;I use &lt;u&gt;Microsoft(R) PowerPoint(R)&lt;/u&gt; for most storyboarding.  &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;It offers a wide range of display &amp;amp; visualization tools, navigation options, and deployment formats.&lt;/li&gt;
    &lt;li&gt;It is generally more available than other products such as Microsoft(R) Visio(R).  Visio is GREAT for UI storyboarding.  However, as a consultant, I run into a lot of situations where clients don't have Visio.  &lt;/li&gt;
    &lt;li&gt;It is relatively quick.  I have a few UI storyboards from past projects on which I rely to provide a baseline.  A few changes to the Master Slide and I am off and running.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have also used other tools.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;u&gt;Visio&lt;/u&gt; - As stated above, I like Visio for a UI storyboard tool but I find it is not as common as other tools.&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;HTML&lt;/u&gt; - I have done a few storyboards in HTML.  You might think that it seems a very logical choice, especially for Web apps.  I find a few problems with it.
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;Effort&lt;/strong&gt; - It is relatively time consuming.  Without writing code (such as a Master Page), you will have to redo a lot of work for each page.  For example, if you remove a page or add a new page in a multi-page process, you might have to modify "main menu" links &lt;em&gt;on &lt;u&gt;every&lt;/u&gt; page&lt;/em&gt;.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Expectations&lt;/strong&gt; - Viewers have higher expectations.  I find that people viewing a PowerPoint presentation tend to have less expectations and, therefore, more ability for abstraction than with HTML.  I can only assume it is because they are viewing the storyboard in a browser and, as such, expect &lt;em&gt;everything&lt;/em&gt; to "work".&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;u&gt;Tear-Off Sheets&lt;/u&gt; - I love this option as well.  It is extremely fast and provides virtually immediate feedback.  I actually start with these when in a group setting and then migrate to a digital format.&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;Whiteboard&lt;/u&gt; - I love whiteboards too but they don't have the permanence that tearoff sheets have.  This is why someone put a camera on your phone!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Don't skip storyboarding.  In fact, if you don't feel like opening Word(R) and typing, create a storyboard.  If you are new to storyboarding, you will be amazed at how many questions are answered with relatively little effort.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119197"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119197" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/119197.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/02/01/119197.aspx</guid>
            <pubDate>Fri, 01 Feb 2008 20:06:03 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/119197.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/02/01/119197.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/119197.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/119197.aspx</trackback:ping>
        </item>
        <item>
            <title>Role on Project &lt;&gt; Job Title</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/01/28/119018.aspx</link>
            <description>&lt;p&gt;I don't know if I'm more sensitive to it these days or if I am just hearing it more, but there is a definite problem in managing human resources on technology projects.  &lt;/p&gt;
&lt;p align="center"&gt;&amp;lt;keep reading when you finish laughing at that understatement&amp;gt;&lt;/p&gt;
&lt;p&gt;It seems that with increasing regularity (or I have been living under a rock), people are assigning roles on projects based on the job titles of team members.  For example, suppose you are hire someone to fill the position of "Business Analyst".  Now let's also suppose that the new hire is a programmer as well.   That is, this new hire has both business analysis skills as well as programming skills.&lt;/p&gt;
&lt;p&gt;Let's say that this new hire is assigned as a Business Analyst for the Accounting department.  Now say a project starts and this person is added to the project as the business analyst.  It is not uncommon these days to hear "well we don't need a developer cuz that new person can write code."&lt;/p&gt;
&lt;p&gt;WHAT!?!?!  As crazy as it sounds, I have seen very similar situations.  Of course, the roles and titles are different but the gist is the same.  &lt;/p&gt;
&lt;p&gt;While it's true that there are situations where we have to wear multiple hats, it is important to make sure this is done appropriately.  Some roles require objectivity that is compromised by wearing multiple hats.  &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;u&gt;Developer &amp;amp; &amp;lt;anything else&amp;gt;&lt;/u&gt; - Developers, like all humans, tend to migrate toward their comfort zone when the going gets tough.  This means that whether or not requirements are well defined or design is complete, when the schedule gets tight (and it will), the multi-hat-wearer will start writing code.  And we all know how this turns out...&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;Project Manager &amp;amp; &amp;lt;anything else&amp;gt;&lt;/u&gt; - Seriously, the PM should really be too busy to produce business model documentation.&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;Subject Matter Expert &amp;amp; &amp;lt;anything else&amp;gt;&lt;/u&gt; - There seems to be a tendency to have the SME participate in various roles.  SME &amp;amp; Business Analyst.  SME &amp;amp; Tech Lead.  and so on.  The SME is, practically by definition, almost NEVER objective.  (is that written in english?)  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So make a list of all the roles needed for the project.  Assign people to the roles appropriately based on the following criteria:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;u&gt;Critical Path&lt;/u&gt; - Divide the SDLC into major aspects such as Business &amp;amp; Requirement Modeling &amp;amp; Analysis; Analysis &amp;amp; Design; and so on.  This is important so that one person isn't responsible for the work that leads to their work.  Dig?&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;Objectivity &amp;amp; Focus&lt;/u&gt; - Some positions &lt;em&gt;require&lt;/em&gt; objectivity and focus.  Developers should have a say in requirements.  Project managers shouldn't be testing software.  If you think that a person in one of these roles won't be busy on a single project, then have them participate on other projects in the same or a very similar roll.  In my experience, it's better to have a PM that is part-time and focused than other.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This isn't perfect, of course.  Sometimes we do have to play multiple roles that can (and do) result in a conflict of interest.  Try, try, try to keep them separate.  Fight the urge to just write code.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119018"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=119018" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/119018.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/01/28/119018.aspx</guid>
            <pubDate>Tue, 29 Jan 2008 02:34:42 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/119018.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/01/28/119018.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/119018.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/119018.aspx</trackback:ping>
        </item>
        <item>
            <title>I Fought the Artificial Key...</title>
            <link>http://geekswithblogs.net/codesailor/archive/2008/01/21/118766.aspx</link>
            <description>&lt;p&gt;and the Artificial Key won.&lt;/p&gt;
&lt;p&gt;I don't know what my problem is with artificial keys.  I am a HUGE advocate of natural keys.  My problem is, I tend to use "natural" keys where one really doesn't exist.  For some reason, I am fixated on &lt;u&gt;avoiding duplication&lt;/u&gt;.  However, I tend forget what is an appropriate duplication and what isn't.  Take the following example:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Entity-Relationship Diagrams" src="http://geekswithblogs.net/images/geekswithblogs_net/codesailor/3571/o_ArtificialKeyERD.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;What do I care if someone duplicates a URL?  I mean, really...does it matter if the same link is listed twice?  It does NOT.  Sheesh!  I am just killing myself.&lt;/p&gt;
&lt;p&gt;So, in the end, had I conducted a little database design I would have never incurred the problem.  So the next time you see me blogging about databound controls or database design issues...please remind me to use artificial keys where appropriate.  Thanks!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=118766"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=118766" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/codesailor/aggbug/118766.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Brian Lanham</dc:creator>
            <guid>http://geekswithblogs.net/codesailor/archive/2008/01/21/118766.aspx</guid>
            <pubDate>Tue, 22 Jan 2008 01:34:53 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/codesailor/comments/118766.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/codesailor/archive/2008/01/21/118766.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/codesailor/comments/commentRss/118766.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/codesailor/services/trackbacks/118766.aspx</trackback:ping>
        </item>
    </channel>
</rss>