<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://thoughtshapes.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>ThoughtShapes - Premature Technology Selection is the Root of Many Evils - Comments</title>
 <link>http://thoughtshapes.com/node/70</link>
 <description>Comments for &quot;Premature Technology Selection is the Root of Many Evils&quot;</description>
 <language>en</language>
<item>
 <title>Hi Robert!
What you say</title>
 <link>http://thoughtshapes.com/node/70#comment-593</link>
 <description>&lt;p&gt;Hi Robert!&lt;/p&gt;
&lt;p&gt;What you say makes a lot of sense, no surprise there, but I&#039;m currently working on a project where the decision to use a particular database technology was made early on... pretty much at the beginning.  Why?  Well I don&#039;t want to use the wimpy excuse that &quot;I wasn&#039;t working on the project at the time this decision was made&quot;, and even if I was I might not have been in position to directly work around this decision.   Some of the decisions to select a database early were based on the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Our product is a website that we want to achieve scale on.  And we wanted to be able to make performance measurements ASAP. &lt;/li&gt;
&lt;li&gt; A database brings decades of doing certain things well.  And we wanted to leverage that &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Having said that, I also should tell you that:  A) We are using Agile just as you describe  and B) I &amp;gt;think&amp;lt; we used something akin to the repository concept in order to isolate the DB from other production code so that the other groups (we have multiple scrum teams running) wouldn&#039;t be blocked.  I say Akin because we don&#039;t have a true in memory repository.  We use NMock to &quot;stub&quot; out interfaces and inject test data.&lt;br /&gt;
With both of these statements, we are in a position (should we need to go in this direction) where we could change the DB, remove the DB etc, in a &quot;safe&quot;: we have unit tests to catch dependencies but is anything truly 100% safe ;), and speedy (in a sprint) manner.   &lt;/p&gt;
&lt;p&gt;Having said all that, I do struggle (as I mentioned to Rjae) with the fact that we have what some people would consider business logic written into stored procedures, and I worry what the implications of changing the DB technologies would be underneath the interfaces we have.&lt;/p&gt;
&lt;p&gt;So I have no problem with you saying &quot;start with an in memory repository first.&quot;  I truly feel that Agile and your 4th point &quot;I’d make remaining neutral with respect to the piece of technology a design requirement and ensure that the development team knew to isolate that decision behind the appropriate interfaces&quot; above are the ones that help us rule the day.  &lt;/p&gt;
&lt;p&gt;Great post!  There is a TON of good material here.  I&#039;ll come back to this post frequently.&lt;/p&gt;
</description>
 <pubDate>Fri, 02 Nov 2007 20:24:09 -0400</pubDate>
 <dc:creator>Jay</dc:creator>
 <guid isPermaLink="false">comment 593 at http://thoughtshapes.com</guid>
</item>
<item>
 <title>Premature Technology Selection is the Root of Many Evils</title>
 <link>http://thoughtshapes.com/node/70</link>
 <description>&lt;p&gt;I see a great many projects start off on the wrong foot by trying to decide all of their implementation technologies at the beginning of a project.  Usually there’s a project kick-off meeting where everyone flies in from various locations to get introduced to all of the players and decide on things like what database engine are we going to use?  What technology will we use to handle our data access?  What user interface technologies should we use?  Should we use web services?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://thoughtshapes.com/node/70&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://thoughtshapes.com/node/70#comments</comments>
 <category domain="http://thoughtshapes.com/taxonomy/term/6">Design</category>
 <category domain="http://thoughtshapes.com/taxonomy/term/2">Development</category>
 <category domain="http://thoughtshapes.com/taxonomy/term/22">Management</category>
 <category domain="http://thoughtshapes.com/taxonomy/term/18">Team</category>
 <pubDate>Fri, 02 Nov 2007 16:22:34 -0400</pubDate>
 <dc:creator>Rob Scott</dc:creator>
 <guid isPermaLink="false">70 at http://thoughtshapes.com</guid>
</item>
</channel>
</rss>
