<?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/"
	>

<channel>
	<title>Inkzee &#187; Lean Startup</title>
	<atom:link href="http://blog.inkzee.com/index.php/tag/lean-startup/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.inkzee.com</link>
	<description>How to read more in less time</description>
	<lastBuildDate>Wed, 12 May 2010 13:23:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Being a lean startup</title>
		<link>http://blog.inkzee.com/index.php/2009/12/24/being-a-lean-startup/</link>
		<comments>http://blog.inkzee.com/index.php/2009/12/24/being-a-lean-startup/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 19:25:12 +0000</pubDate>
		<dc:creator>abarrera</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Continuous deployment]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Eric Ries]]></category>
		<category><![CDATA[inkzee]]></category>
		<category><![CDATA[Lean Startup]]></category>

		<guid isPermaLink="false">http://blog.inkzee.com/?p=75</guid>
		<description><![CDATA[After working as a freelancer on the biggest social network in Spain, I&#8217;ve come to value the principles of what Eric Ries calls, the Lean Startup. Among all the things he talks about, one of them stroke really powerful with us, and that is, the notion on Continuous Development. Having experienced the slowness of development [...]]]></description>
			<content:encoded><![CDATA[<p>After working as a freelancer on the biggest social network in Spain, I&#8217;ve come to <strong>value the principles</strong> of what <a href="http://www.startuplessonslearned.com">Eric Ries</a> calls, the<a href="http://www.startuplessonslearned.com/2008/09/lean-startup.html"> <strong>Lean Startup</strong></a>. Among all the things he talks about, one of them stroke really powerful with us, and that is, the notion on <a href="http://www.startuplessonslearned.com/search/label/continuous%20deployment"><strong>Continuous Development</strong></a>. Having experienced the slowness of development in my previous company, I realized that what Eric proposes was<strong> key to the success of Inkzee</strong>.</p>
<p>We meditated the decision, and we got to the conclusion it was worth the effort and that we would, not only learn a lot during the process, but that we would get<strong> greater productivity on the long run</strong>. So off we went to implement the <a href="http://radar.oreilly.com/2009/03/continuous-deployment-5-eas.html"><strong>5 steps</strong></a> Eric proposes:</p>
<ol>
<li><strong>Continuous integration server</strong>: We created our own home brewed mini system that allows us to add new tests that get started every time we need them. For now it&#8217;s a rather rudimentary system but does the job handsomely.</li>
<li><strong>Source control commit check</strong>: We already had a source control system, so we just added all the commit checks. At first we thought this was a waste of time, but with some time we realized how many bugs we had/introduced without this. We added 3 very basic checks, a python syntax check (with pylint) , a very basic php syntax check and the automatic triggering of all the unit tests we have. These checks also enforced a common style rules for all the code under SVN, a somehow gruesome task at first (all the old code was triggering the syntax and style checks), but very rewarding in the end.</li>
<li><strong>Simple deployment script</strong>: We had a very small deployment script but we fine tuned it so that it work flawlessly with the new AWS infrastructure. As for now, we make all the deployments in the same fashion, something that reduces the number of flaws you can introduce in this step. The script also creates a backup copy of the previous running code, in case you need to revert to the old version because of some critical error. As to date we&#8217;ve never needed to revert anything <img src='http://blog.inkzee.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li><strong>Real-time alerting</strong>: We introduced a lot of Munin plugins to monitor all type of parameters on our servers. We even developed some very simple Munin plugins for Tokyo Cabinet. We are still missing some alerting here. We have all the graphs but we still need to setup some alerting framework to detect weird situations.</li>
<li><strong>Root cause analysis (<a href="http://www.startuplessonslearned.com/2008/11/five-whys.html">5 whys</a>):</strong> This is probably the most critical part of the process. We&#8217;ve realized that this 5th step is what makes all the previous ones work. This process is an iterative one, you start with a small thing but with time, it will grow into an amazing process that&#8217;s is able to detect the slightness problem way before it makes it to the live servers. We&#8217;ve become used to always ask the 5 whys and it&#8217;s helping in improving the quality of the software we code.</li>
</ol>
<p>So all in all, it&#8217;s an incredible experience we are still figuring out but that to date, has been impressive. We&#8217;ve managed to do 14 code uploads in a single day with no bugs whatsoever, plus stopped introducing small potentially critical bugs in the code base and all the way into production. If you want to give it a try, please do read the original posts by Eric Ries, you wont regret it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inkzee.com/index.php/2009/12/24/being-a-lean-startup/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

