<?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 - Management - Comments</title>
 <link>http://thoughtshapes.com/taxonomy/term/22</link>
 <description>Comments for &quot;Management&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>
</channel>
</rss>
