<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Can You Defend Your Technical Decisions?</title>
	<atom:link href="http://regulargeek.com/2009/12/07/can-you-defend-your-technical-decisions/feed/" rel="self" type="application/rss+xml" />
	<link>http://regulargeek.com/2009/12/07/can-you-defend-your-technical-decisions/</link>
	<description>Where programming, the internet and social media collide.</description>
	<lastBuildDate>Mon, 21 May 2012 05:30:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Software Engineering Tasks: Design &#124; Regular Geek</title>
		<link>http://regulargeek.com/2009/12/07/can-you-defend-your-technical-decisions/comment-page-1/#comment-3342</link>
		<dc:creator>Software Engineering Tasks: Design &#124; Regular Geek</dc:creator>
		<pubDate>Thu, 17 Dec 2009 14:19:46 +0000</pubDate>
		<guid isPermaLink="false">http://regulargeek.com/?p=1310#comment-3342</guid>
		<description>[...] Design Published in December 17th, 2009  Posted by Rob Diana in Career, Programming Last week I mentioned receiving an email asking what a software engineer typically does. In that post, I talked about defending technical [...]</description>
		<content:encoded><![CDATA[<p>[...] Design Published in December 17th, 2009  Posted by Rob Diana in Career, Programming Last week I mentioned receiving an email asking what a software engineer typically does. In that post, I talked about defending technical [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Rodrigues</title>
		<link>http://regulargeek.com/2009/12/07/can-you-defend-your-technical-decisions/comment-page-1/#comment-3314</link>
		<dc:creator>Kevin Rodrigues</dc:creator>
		<pubDate>Thu, 10 Dec 2009 08:16:37 +0000</pubDate>
		<guid isPermaLink="false">http://regulargeek.com/?p=1310#comment-3314</guid>
		<description>The choice is available for software development organizations creating their own product but for consultant organizations and their developers it is difficult to make a call on the technology or the software to be used.</description>
		<content:encoded><![CDATA[<p>The choice is available for software development organizations creating their own product but for consultant organizations and their developers it is difficult to make a call on the technology or the software to be used.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul W. Homer</title>
		<link>http://regulargeek.com/2009/12/07/can-you-defend-your-technical-decisions/comment-page-1/#comment-3305</link>
		<dc:creator>Paul W. Homer</dc:creator>
		<pubDate>Mon, 07 Dec 2009 20:49:28 +0000</pubDate>
		<guid isPermaLink="false">http://regulargeek.com/?p=1310#comment-3305</guid>
		<description>Sure, it happens all of the time. History is one of our most common reasons why &quot;it is not perfect&quot; :-)

Still, if the original choice works and there is no real &#039;external&#039; incentive to change it, then we tend not to. Until there is enough technical debt, the choice stays the same but the defensibility of the choice is considerable eroded.  

I tried to explain my above rational once at an interview for a consulting job, only to have the interviewer (rudely) tell me that I was &quot;wrong&quot; (one should NEVER create their own database, ever). 

I believe that nothing about software should be picked randomly (or by habit), but that doesn&#039;t always mean that my rational for making a choice will remain reasonable over time. Sometimes I can&#039;t defend myself (so I always try not to).</description>
		<content:encoded><![CDATA[<p>Sure, it happens all of the time. History is one of our most common reasons why &#8220;it is not perfect&#8221; <img src='http://regulargeek.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Still, if the original choice works and there is no real &#8216;external&#8217; incentive to change it, then we tend not to. Until there is enough technical debt, the choice stays the same but the defensibility of the choice is considerable eroded.  </p>
<p>I tried to explain my above rational once at an interview for a consulting job, only to have the interviewer (rudely) tell me that I was &#8220;wrong&#8221; (one should NEVER create their own database, ever). </p>
<p>I believe that nothing about software should be picked randomly (or by habit), but that doesn&#8217;t always mean that my rational for making a choice will remain reasonable over time. Sometimes I can&#8217;t defend myself (so I always try not to).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Diana</title>
		<link>http://regulargeek.com/2009/12/07/can-you-defend-your-technical-decisions/comment-page-1/#comment-3304</link>
		<dc:creator>Rob Diana</dc:creator>
		<pubDate>Mon, 07 Dec 2009 17:40:09 +0000</pubDate>
		<guid isPermaLink="false">http://regulargeek.com/?p=1310#comment-3304</guid>
		<description>Paul

The changing requirements are something that completely changes a project. At the time it may have been completely reasonable, but if assumptions or requirements change, then your technical decisions may become an issue. Decisions need to take into account what purpose is as well. Internal applications have different restrictions that applications being sold as an installable product.

I once had an application that needed to be designed so that connectivity would not be required. As the project progressed, the basic assumption had changed due to some connectivity contract that was made. We had to change our design of a large portion of the project in order to work with the new assumptions. It happens.</description>
		<content:encoded><![CDATA[<p>Paul</p>
<p>The changing requirements are something that completely changes a project. At the time it may have been completely reasonable, but if assumptions or requirements change, then your technical decisions may become an issue. Decisions need to take into account what purpose is as well. Internal applications have different restrictions that applications being sold as an installable product.</p>
<p>I once had an application that needed to be designed so that connectivity would not be required. As the project progressed, the basic assumption had changed due to some connectivity contract that was made. We had to change our design of a large portion of the project in order to work with the new assumptions. It happens.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul W. Homer</title>
		<link>http://regulargeek.com/2009/12/07/can-you-defend-your-technical-decisions/comment-page-1/#comment-3302</link>
		<dc:creator>Paul W. Homer</dc:creator>
		<pubDate>Mon, 07 Dec 2009 17:04:58 +0000</pubDate>
		<guid isPermaLink="false">http://regulargeek.com/?p=1310#comment-3302</guid>
		<description>Even if you&#039;ve made the technical decisions based on lots of technical knowledge and strong rationalizations, that doesn&#039;t mean the choice is defensible. I&#039;ll give a simple example.

When I started the project, it was going to be a stand-alone web appliance that operates outside of the normal IT infrastructure. Just plug it in, and it works. Because of this, I picked a custom data-persistence approach. I basically built a simple, but hugely flexible quasi-relational database that required absolutely no human management. Since the data itself was mostly read-only, not only did this make the solution super-fast, but it was also super-expressive (and very simple to build on), and super-reliable. It worked exceedingly well.

The product morphed into an enterprise-based software product, and the first question everyone asked was &quot;What is the database you are using?&quot; In those days, the mantra was &quot;relational or death&quot; (or something equally extreme), so every time I tried to explain how the database worked and that it needed no administration, I was often shouted down by IT insisting that I use their X-brand database. It was a sad introduction into how inflexible people could be. 

From a commercial product perspective, it&#039;s easier and way better to just go with the established technology of the day. It&#039;s what they want, and it&#039;s what they know (even though it might not be what is right). A crappy product that sells (unfortunately) is better than a great one that doesn&#039;t.</description>
		<content:encoded><![CDATA[<p>Even if you&#8217;ve made the technical decisions based on lots of technical knowledge and strong rationalizations, that doesn&#8217;t mean the choice is defensible. I&#8217;ll give a simple example.</p>
<p>When I started the project, it was going to be a stand-alone web appliance that operates outside of the normal IT infrastructure. Just plug it in, and it works. Because of this, I picked a custom data-persistence approach. I basically built a simple, but hugely flexible quasi-relational database that required absolutely no human management. Since the data itself was mostly read-only, not only did this make the solution super-fast, but it was also super-expressive (and very simple to build on), and super-reliable. It worked exceedingly well.</p>
<p>The product morphed into an enterprise-based software product, and the first question everyone asked was &#8220;What is the database you are using?&#8221; In those days, the mantra was &#8220;relational or death&#8221; (or something equally extreme), so every time I tried to explain how the database worked and that it needed no administration, I was often shouted down by IT insisting that I use their X-brand database. It was a sad introduction into how inflexible people could be. </p>
<p>From a commercial product perspective, it&#8217;s easier and way better to just go with the established technology of the day. It&#8217;s what they want, and it&#8217;s what they know (even though it might not be what is right). A crappy product that sells (unfortunately) is better than a great one that doesn&#8217;t.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.394 seconds -->

