<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Kords</title>
	<atom:link href="http://kords.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kords.wordpress.com</link>
	<description>Strings of space and time</description>
	<lastBuildDate>Wed, 17 Sep 2008 14:38:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kords.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Kords</title>
		<link>http://kords.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kords.wordpress.com/osd.xml" title="Kords" />
	<atom:link rel='hub' href='http://kords.wordpress.com/?pushpress=hub'/>
		<item>
		<title>The Prototype</title>
		<link>http://kords.wordpress.com/2008/09/15/the-prototype/</link>
		<comments>http://kords.wordpress.com/2008/09/15/the-prototype/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 11:56:32 +0000</pubDate>
		<dc:creator>asaleh</dc:creator>
				<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[tracer bullets]]></category>

		<guid isPermaLink="false">http://kords.wordpress.com/?p=6</guid>
		<description><![CDATA[Prototyping seems to constantly confuse or scare people. When is it worth it and when is it just wasted effort. Hard question, I guess it depends&#8230; Nuby Startup Geeks In a past recent life, I was attempting my first startup and like any good startup geeks we came up with what we thought was a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kords.wordpress.com&amp;blog=4822150&amp;post=6&amp;subd=kords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Prototyping seems to constantly confuse or scare people. When is it worth it and when is it just wasted effort. Hard question, I guess it depends&#8230;</p>
<h3><strong>Nuby Startup Geeks</strong></h3>
<p>In a past recent life, I was attempting my first startup and like any good startup geeks we came up with what we thought was a hard huge problem, fired up our editors and started coding. Then we hit a few niggles along the road, however, we always resolved to keep going and ignore reality. Why, were we just plain foolish? I guess we might have been, we were approaching the Art of The Startup as a programming assignment. We couldn&#8217;t figure that we were in a different environment. Why believe reality when we had an amazing automated test suite, refactored code to boot and cool pair programming sessions. Also, how can we bear to throw a codebase that we invested so much in &#8211; No never!! We only stopped everything and started fresh when we found competitors who were so far ahead of us that we just could not compete. BIG FAIL!!</p>
<p>A startup environment is a different beast, its all about trying different ideas rapidly and if they fail or don&#8217;t work just throw them away quickly and start fresh. What you want is to get a feel for the problem, as soon as you have the bare minimum start DEMOing like crazy. The code for this is basically irrelevant, if the idea makes sense we&#8217;ll throw away the code and rewrite it the correct way with all the TDD and refactoring trimmings.</p>
<h3>Everyday Prototyping</h3>
<p>You can take that mentality and apply it to any scenario where you want a very quick turn around on an idea. There is no real time limit here, the problem dictates how long this will take. Some problems are easy to prototype others take effort. From experience I would say that most of the time won&#8217;t be taken in the actual building of the prototype but more in researching the problem. Remember, you&#8217;re not building the real thing &#8211; so delay using that crazy sophisticated algorithm until you&#8217;ve prototyped and investigated the problem. Then you&#8217;ll have a clearer understanding of where you stand. Is the problem worth any further effort or should you stop right now. Is that algorithm still adequate or do we need a simpler or more sophisticated approach. Is &#8230; you get the picture&#8230;</p>
<h3>Don&#8217;t Do It</h3>
<p>On the flip side, if you understand the problem or you need to turnaround working functionality quite rapidly, as in a programming assignment perhaps for a client, building the real thing might be your only option. Also, if the time you&#8217;ll take to build the prototype is the same time required to build the real thing, just go ahead and build. However, you can still apply a prototype like approach to help you understand a problem as you&#8217;re developing it with techniques like <em><strong>Tracer Bullets</strong></em> &#8211; as introduced by the <a title="The Pragmatic Programmers" href="http://www.pragprog.com/about" target="_self">Pragmatic Programmers</a>.</p>
<h3>A Sample Prototype</h3>
<p>So, what does prototype code look like? Here&#8217;s a snapshot of code for a prototype I built to understand a problem. After several demos, I decided the problem wasn&#8217;t worth it. At the time I wrote this in Rails with all the functionality in a single controller &#8211; no active-record models just plain old Ruby objects and any state was persisted in the session. It took me a couple of days. Its just a prototype, the best THROW AWAY code in the world, here it is <a title="Sample prototype code" href="http://pastie.textmate.org/private/8yr0ejsdnmmffzxxg4rjzg" target="_blank">http://pastie.textmate.org/private/8yr0ejsdnmmffzxxg4rjzg</a></p>
<h3><strong>Related stuff</strong></h3>
<ul>
<li> <a title="Tracer Bullets and Prototypes" href="http://www.artima.com/intv/tracer.html" target="_self">Tracer Bullets and Prototypes</a></li>
<li><a title="The Pragmatic Programmer" href="http://www.pragprog.com/the-pragmatic-programmer" target="_self">The Pragmatic Programmer</a></li>
<li><a title="Interview with Tim Brown" href="http://www.adaptivepath.com/ideas/essays/archives/000700.php" target="_self">Interview with Tim Brown, CEO of IDEO</a></li>
<li><a title="Deployment Monoculture" href="http://www.infoq.com/presentations/grigsby-deployment-monoculture" target="_self">Deployment Monoculture</a></li>
</ul>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kords.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kords.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kords.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kords.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kords.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kords.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kords.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kords.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kords.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kords.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kords.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kords.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kords.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kords.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kords.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kords.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kords.wordpress.com&amp;blog=4822150&amp;post=6&amp;subd=kords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kords.wordpress.com/2008/09/15/the-prototype/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">asaleh</media:title>
		</media:content>
	</item>
		<item>
		<title>Back Again</title>
		<link>http://kords.wordpress.com/2008/09/11/back-again/</link>
		<comments>http://kords.wordpress.com/2008/09/11/back-again/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 16:27:04 +0000</pubDate>
		<dc:creator>asaleh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Its been a long time since I stopped blogging, but thanks to Mr Craig Webster I&#8217;m back. This is the usual Hello World message, a bit all over the place but we&#8217;ll get there. Before I go, I want to send a big shout to all my peeps keeping it real on twitter and elsewhere. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kords.wordpress.com&amp;blog=4822150&amp;post=1&amp;subd=kords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
Its been a long time since I stopped blogging, but thanks to <a title="Craigs Barking Iguana" href="http://barkingiguana.com/" target="_self">Mr Craig Webster</a> I&#8217;m back.
</p>
<p>
This is the usual Hello World message, a bit all over the place but we&#8217;ll get there. Before I go, I want to send a big shout to all my peeps keeping it real on twitter and elsewhere. Keep those posts coming&#8230;yeah <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kords.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kords.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kords.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kords.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kords.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kords.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kords.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kords.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kords.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kords.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kords.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kords.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kords.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kords.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kords.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kords.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kords.wordpress.com&amp;blog=4822150&amp;post=1&amp;subd=kords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kords.wordpress.com/2008/09/11/back-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">asaleh</media:title>
		</media:content>
	</item>
	</channel>
</rss>
