<?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>GString *blog = g_string_new(&#34;Hacking&#34;); &#187; GNU</title>
	<atom:link href="http://gabrielfalcao.com/category/gnu/feed/" rel="self" type="application/rss+xml" />
	<link>http://gabrielfalcao.com</link>
	<description>Hacking for a better world</description>
	<lastBuildDate>Thu, 21 Jan 2010 10:59:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New projects + agile = releases</title>
		<link>http://gabrielfalcao.com/2009/07/05/new-projects-agile-releases/</link>
		<comments>http://gabrielfalcao.com/2009/07/05/new-projects-agile-releases/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 20:50:31 +0000</pubDate>
		<dc:creator>Gabriel Falcão</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://gabrielfalcao.com/?p=113</guid>
		<description><![CDATA[When I lived in Belo Horizonte/MG, I used to make hack parties with some friends of mine (nothing to say about all those pizzas and beer).
The hack parties had no specific goal, but a main idea: Hack some free software, and share the knowledge.
Many of us, but specifically Lincoln and I, used to create new [...]]]></description>
			<content:encoded><![CDATA[<p>When I lived in Belo Horizonte/MG, I used to make hack <a href="http://leoserra.iaaeee.org/">parties</a> <a href="http://lincoln.alfaiati.net/">with</a> <a href="http://cascardo.info/">some</a> <a href="http://blog.kov.eti.br/">friends</a> <a href="http://fujii.iaaeee.org/diario/">of</a> <a href="http://metaldot.alucinados.com/">mine</a> (nothing to say about all those pizzas and beer).</p>
<p>The hack parties had no specific goal, but a main idea: Hack some free software, and share the knowledge.</p>
<p>Many of us, but specifically Lincoln and I, used to create new projects in every hack party,but only a handful of those were actually released. It was often matter for jokes like: &#8220;Oh, you are up to raise the &#8220;too many projects&#8221; exception&#8221;.</p>
<p>I have two words for that fact: &#8220;not agile&#8221;.</p>
<p>Our projects were often <a href="http://en.wikipedia.org/wiki/Proof_of_concept">POCs</a>, and we had no culture of TDD, short releases and so on.</p>
<p>But since I started to work at <a href="http://globo.com">Globo.com</a>, I learned so much about agile, specially Scrum. And some months ago I&#8217;ve just accomplished what I call as &#8220;agile feeling&#8221;.</p>
<p>I mean, it&#8217;s a feeling that I can deliver software with quality in a short period of time.</p>
<p>But how ?</p>
<p>The idea is quite simple, you just have to follow some principles:</p>
<h2>Think simple</h2>
<p>This basically means focusing at the problem at hand, never trying to solve future problems you don&#8217;t have. Most of the time the problems your foresaw will never happen, yet you spent a lot of time preparing for them.</p>
<h2>Test before programming</h2>
<p>Write tests for small parts of your software, they will be very modular, and you will get a trust-able software, and I can assure you that you will be 100% able to embrace the changes.</p>
<h2>Release fully functional versions, with simple features</h2>
<p>As human beings, we want to embrace all possibilities and solve all possible problems at once.</p>
<p>But this is not agile at all. Talk to your client, be pragmatic, he will like to listen the truth: &#8220;You can not ship a full-featured final version of software within the term. But you can totally ship a primary version, fully functional, with all the basic needs of the client. Keep improving the software in next releases&#8221;</p>
<p>I tried to summarize those thoughts, but I need blog posts for each one.</p>
<h1>Applying those thoughts to personal projects</h1>
<p>As I said, I have unfinished projects, and they are still unfinished, mostly because were started with a non-agile approach, and I can&#8217;t get interested to finish them.</p>
<p>But there are a few projects I worked in, and others I am the creator. For instance:</p>
<ul>
<li>Dead Parrot, a pythonic RESTFul framework django-based. Is on release 0.1-hellopolly, being used within some globo.com projects.</li>
<li>Ma-Chérie, a simple filesystem-based web application to navigate through pictures. Current release: 0.1</li>
<li>Sponge, a tiny web framework built on top of CherryPy and used Genshi as default template language. Sponge is the base of Ma-Chérie. Current release: 0.1</li>
<li>Pyccuracy, s BDD acceptance testing tool. <a href="http://tinyurl.com/heynemann">Heynemann</a> started that project, as a comitter, I worked in the biggest refactoring. Current release 1.0.3-viagra</li>
<li>Sleepy, is a crude, slow and rough template language, 100% based in regular expressions (which mades sleepy so slow). Actually I do not plan release it by now,  I am just having some proofs of concept of how possible is to write a template language 100% regex based, just with TDD.</li>
</ul>
<p>All projects above, except Sleepy, were released as well, all them were developed with TDD and have  a good code coverage.</p>
<p>But the big deal is that, actually they will never get finished, for a simple reason. They will be in continuous development and continuous released as well.</p>
<p>By the way, if you want to contribute, just go to <a href="https://github.com/gabrielfalcao">my github</a> profile and check them out.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielfalcao.com/2009/07/05/new-projects-agile-releases/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New blog!</title>
		<link>http://gabrielfalcao.com/2008/06/29/new-blog/</link>
		<comments>http://gabrielfalcao.com/2008/06/29/new-blog/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 20:41:00 +0000</pubDate>
		<dc:creator>gabriel</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GObject]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://gabrielfalcao.com/?p=3</guid>
		<description><![CDATA[i&#8217;m proud to present my brand new blog!
It&#8217;s awesome to be able to publish hackerish stuff like GObject, Python, GNOME, and anything else related to coding and freedom.
For now that is all!
]]></description>
			<content:encoded><![CDATA[<p>i&#8217;m proud to present my brand new blog!</p>
<p>It&#8217;s awesome to be able to publish hackerish stuff like GObject, Python, GNOME, and anything else related to coding and freedom.</p>
<p>For now that is all!</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielfalcao.com/2008/06/29/new-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
