<?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>Polymorphic Rants &#187; Agile</title>
	<atom:link href="http://www.lucagrulla.it/blog/category/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lucagrulla.it/blog</link>
	<description>The blog formerly known as "(s)ragionamenti polimorfici"</description>
	<lastBuildDate>Wed, 16 Jun 2010 09:42:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Javascript testing</title>
		<link>http://www.lucagrulla.it/blog/2010/06/15/javascript-testing/</link>
		<comments>http://www.lucagrulla.it/blog/2010/06/15/javascript-testing/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 22:41:48 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/blog/?p=243</guid>
		<description><![CDATA[Javascript has become in the last years the language for rich web applications,  but still it rarely receives the level of attention it deserves.
Libraries such jQuery boost our productivity but the code we often end up writing tend  to be a big ball of mud, with an entangled mix of presentation logic, busines logic and server side [...]]]></description>
			<content:encoded><![CDATA[<p>Javascript has become in the last years <em>the</em> language for rich web applications,  but still it rarely receives the level of attention it deserves.</p>
<p>Libraries such <a title="jQuery" href="http://www.jquery.com" target="_blank">jQuery</a> boost our productivity but the code we often end up writing tend  to be a <a title="big bal of mud" href="http://en.wikipedia.org/wiki/Big_ball_of_mud" target="_blank">big ball of mud</a>, with an entangled mix of presentation logic, busines logic and server side interaction,  all incredibly hard to test and to maintain.</p>
<p>It&#8217;s time to move away from this approach and start writing better quality Javascript.</p>
<p>The very first step required to avoid Javascript spaghetti code is start thinking to <strong>Javascript as a</strong><strong> first class language</strong>, and start dealing with it with the same mindset and approach we would use for any server side language.</p>
<p>With this new approach in the same way we identify roles and integration points  in server side code we want to start building <strong>abstractions</strong> in our Javascript codebase.</p>
<p>With the right abstractions in place we are defining clear boundaries between different parts of the system, and as a consequence our code is simpler, we promote reuse  and the <a title="DRY principle" href="http://en.wikipedia.org/wiki/Don't_repeat_yourself" target="_blank">DRY principle</a>, and  we are finally enabling better testing.</p>
<p>Let&#8217;s look at any standard Web 2.0 Javascript code from this new perspective: now the DOM and HTTP are two clear integration points.</p>
<p>Our javascript code manipulates the DOM adding  nodes or changing existing nodes content in the same way any other language would interact with a database. Each call to a server over HTTP via Ajax is exactly the same of calling a web server from our server side code.</p>
<p>With these very two first abstractions in mind, we can start rewriting our code, isolating these interactions behind clearly defined objects.</p>
<p>Now the javascript code is not a ball of mud anymore, but a network of objects that collaborate. With these smaller objects  in place we can now<strong> favour interaction based tests</strong>, moving away from any dependency on the DOM and on the HTTP protocol.</p>
<p>The identified abstractions let me actually mock  and stub things out and test if the different tiers in my javascript code are exchanging the right messages. This separation of concerns keep the business logic nicely isolated from the user interface transformations, enabling also a cleaner state based testing for that specific part of the code (there are no more dependencies on the DOM).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2010/06/15/javascript-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Italian Agile Day 2009: date announced</title>
		<link>http://www.lucagrulla.it/blog/2009/08/02/italian-agile-day-2009-date-announced/</link>
		<comments>http://www.lucagrulla.it/blog/2009/08/02/italian-agile-day-2009-date-announced/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 18:42:25 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[IAD09]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/blog/?p=234</guid>
		<description><![CDATA[Friday, 20th of November 2009, the 6th Italian Agile Day will be held in Bologna.

It&#8217;s a great opportunity to share experiences and practices, learn, discuss and meet other praticioners part of the  Agile community&#8230;and moreover it&#8217;s free  
I&#8217;ll see you there !
]]></description>
			<content:encoded><![CDATA[<p>Friday, 20th of November 2009, the <a title="Italian Agile Day" href="http://www.agileday.it/front/2009/italian-agile-day-2009/" target="_blank">6th Italian Agile Da</a>y will be held in Bologna.</p>
<p><img class="aligncenter" title="Italian Agile Day 2009" src="http://www.agileday.it/mediakit/IAD468.gif" alt="" width="468" height="60" /></p>
<p>It&#8217;s a great opportunity to share experiences and practices, learn, discuss and meet other praticioners part of the  Agile community&#8230;and moreover it&#8217;s free <img src='http://www.lucagrulla.it/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I&#8217;ll see you there !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2009/08/02/italian-agile-day-2009-date-announced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What has to be ready for the beginning of  a project ?</title>
		<link>http://www.lucagrulla.it/blog/2009/07/05/what-has-to-be-ready-for-the-beginning-of-a-project/</link>
		<comments>http://www.lucagrulla.it/blog/2009/07/05/what-has-to-be-ready-for-the-beginning-of-a-project/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 13:08:08 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[communication]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/blog/?p=231</guid>
		<description><![CDATA[The beginning of a project is always a hectic period where several things have to be put in place in order to be able to start the actual development from a solid position.
Interestingly enough, I see that what is important to have ready for ThoughtWorkers most of the time is not what has to be [...]]]></description>
			<content:encoded><![CDATA[<p>The beginning of a project is always a hectic period where several things have to be put in place in order to be able to start the actual development from a solid position.</p>
<p>Interestingly enough, I see that what is important to have ready for ThoughtWorkers most of the time is not what has to be ready for other people.</p>
<p>Given that obviously every project is different and deserve specific attention, here is my list of things that has to be ready before the kick off of iteration 1.<strong> </strong></p>
<p><strong>Infrastructure</strong></p>
<p>A repository, a Continuos Integration Environment with <a title="Cruise" href="http://www.studios.thoughtworks.com/cruise-continuous-integration" target="_blank">Cruise</a> (or suitable alternatives) installed and working, a QA environment where we can deploy every successful build whenever we want, a basic build script (i.e. build/run tests/package). Pairing boxes, each one with exactly the same configuration.</p>
<p><strong>Architecture</strong></p>
<p>Just identify  the core services/components, there&#8217;s no need to go into detail for each one at this time of the project. If we identify what is the main responsibility of a service is good enough for now, the details will be discovered later in the project. If we can easily identify the way services will communicate (web service ? message broker ?) good, if not through good OO principles we can abstract the low level mechanism and reduce the cost of change later, deferring the final decision to the point in the project where we have more understanding of the technological constraints.</p>
<p><strong>Patterns</strong></p>
<p>Pairing and frequent pair rotation will help in spreading the knowledge of the approach to solve specific problems and in maintaining consistency throughout the code base, so most of the time there is no need of defining a sort of &#8220;project dictionary&#8221; of valid patterns at day 1.<br />
If we&#8217;re introducing new approaches to solve a specific problem, it&#8217;s important to highlight pros and cons of the approach so that people know what they are doing once pairing.</p>
<p>Most of the time these are probably enough to start Iteration 1.</p>
<p>All the other decisions can (and sometimes should&#8230;) be deferred to a later stage.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2009/07/05/what-has-to-be-ready-for-the-beginning-of-a-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>QA productivity metrics</title>
		<link>http://www.lucagrulla.it/blog/2009/03/31/qa-productivity-metrics/</link>
		<comments>http://www.lucagrulla.it/blog/2009/03/31/qa-productivity-metrics/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 08:48:47 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[quality]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/blog/?p=210</guid>
		<description><![CDATA[In a lot of companies  the productivity  of a QA is measured through the number of defects she raised: the  more defects she finds, the harder she works, therefore the better she is.
This approach has an interesting corollary:  if you have really good QAs you don&#8217;t have good developers. If your QAs are finding a lot [...]]]></description>
			<content:encoded><![CDATA[<p>In a lot of companies  the productivity  of a QA is measured through the number of defects she raised: the  more defects she finds, the harder she works, therefore the better she is.</p>
<p>This approach has an interesting corollary:  if you have really good QAs you don&#8217;t have good developers. If your QAs are finding a lot of defects this means that your developers are quite poor and are regularly introducing defects in the code base.</p>
<p>This approach isn&#8217;t obviously team oriented: QA and Development are seen as two separate and independent entities that interact through a specific contract.</p>
<p>If we truly believe in collaboration the most important productivity metrics are not related to a specific role/set of skills but to the team capability of deliver quality software in time and in budget.</p>
<p>We need to ask ourselves why the defects are finding their way into the application deployed in the live environment (incomplete acceptance criteria ? not enough analysis or understanding of the domain ? gap in the test suite ?), and fix the issue as a team, not just using that number as the boundary between two streams of work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2009/03/31/qa-productivity-metrics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Local optimization doesn&#8217;t necessarily mean improvement</title>
		<link>http://www.lucagrulla.it/blog/2009/02/14/local-optimization-doesnt-necessarily-mean-improvement/</link>
		<comments>http://www.lucagrulla.it/blog/2009/02/14/local-optimization-doesnt-necessarily-mean-improvement/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 14:00:24 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[continuous improvement]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[waste]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/blog/?p=209</guid>
		<description><![CDATA[Delivering software is a pretty complex activity that requires interaction between people with different skill sets.
One of the cornerstone of Agile Development is continuous improvement, and one of the tool often used to learn and improve  is the retrospective.
In a context where the collaboration is not effective, people tend to look for local optimization instead [...]]]></description>
			<content:encoded><![CDATA[<p>Delivering software is a pretty complex activity that requires interaction between people with different skill sets.<br />
One of the cornerstone of Agile Development is continuous improvement, and one of the tool often used to learn and improve  is the <a title="Retrospectives" href="http://www.retrospectives.com/" target="_blank">retrospective</a>.</p>
<p>In a context where the collaboration is not effective, people tend to look for local optimization instead of seeing the big picture, and you have things such  the &#8220;QA retrospective&#8221;  or the  &#8220;Developer retrospective&#8221;.</p>
<p>In this scenario a &#8220;QA retrospective&#8221; (as the Dev&#8217;s one, or a BA&#8217;s one)  is probably more harmful than anything else; the specific issues that will be identified won&#8217;t address the whole activity of delivering software but will only be focused on that specific step (&#8220;we need <em>x</em> to do y&#8221;).</p>
<p>But what is the impact of that step in the overall process ?</p>
<p>How that step fits into the chain of event that will take a business idea to be delivered as a software artifact (hopefully in a timely and quality fashion ) ?</p>
<p>Don&#8217;t get me wrong: it&#8217;s definitively through specific improvements that you improve your overall process but if  don&#8217;t frame your changes in the big picture, it&#8217;s more likely that your changes will impact your process in the wrong direction and actually cause an additional waste.</p>
<p>Each attempt of optimization should therefore start from the clear analysis of what is wrong from a high level point of view and only then it&#8217;s time to shift our attention to the specific details of each step.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2009/02/14/local-optimization-doesnt-necessarily-mean-improvement/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Signs of poor communication</title>
		<link>http://www.lucagrulla.it/blog/2008/09/28/signs-of-poor-communication/</link>
		<comments>http://www.lucagrulla.it/blog/2008/09/28/signs-of-poor-communication/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 23:23:53 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/wordpress/2008/09/28/signs-of-poor-communication/</guid>
		<description><![CDATA[Walking in an office and just looking around for 10 minutes is enough to have a feelingof the level of communication in the environment.
When:

co-located people communicate mainly via IMs, mails, or comments on online collaborative tools instead of face-to-face conversation
a heavyweight tool is the preferred way for driving the work flow instead of using it [...]]]></description>
			<content:encoded><![CDATA[<p>Walking in an office and just looking around for 10 minutes is enough to have a feelingof the level of communication in the environment.</p>
<p><em>When</em>:</p>
<ul>
<li>co-located people communicate mainly via IMs, mails, or comments on online collaborative tools instead of face-to-face conversation</li>
<li>a heavyweight tool is the preferred way for driving the work flow instead of using it only for backup and tracking</li>
<li>on the whiteboard you can read the outcomes of the retrospective of 7 months before</li>
</ul>
<p>There&#8217;s <span style="font-style: italic">definitively</span> something <span style="font-style: italic">wrong</span>.</p>
<p>What about your team ? How many of the above bullet points are you ticking off ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2008/09/28/signs-of-poor-communication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Article: Seniority, Respect, Authority and an Agile Team</title>
		<link>http://www.lucagrulla.it/blog/2008/05/25/article-seniority-respect-authority-and-an-agile-team/</link>
		<comments>http://www.lucagrulla.it/blog/2008/05/25/article-seniority-respect-authority-and-an-agile-team/#comments</comments>
		<pubDate>Sun, 25 May 2008 22:54:46 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[infoq]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/wordpress/2008/05/25/article-seniority-respect-authority-and-an-agile-team/</guid>
		<description><![CDATA[Here on InfoQ some interesting thoughts around Seniority and Authority in an Agile team.
]]></description>
			<content:encoded><![CDATA[<p><a title="Seniority, Respect, Authority and an Agile Team" href="http://www.infoq.com/news/2008/05/seniority-conflict-agile-team" target="_blank">Here</a> on <a href="http://www.infoq.com">InfoQ</a> some interesting thoughts around Seniority and Authority in an Agile team.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2008/05/25/article-seniority-respect-authority-and-an-agile-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Essap 2008</title>
		<link>http://www.lucagrulla.it/blog/2008/04/09/essap-2008/</link>
		<comments>http://www.lucagrulla.it/blog/2008/04/09/essap-2008/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 21:48:48 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[ESSAP]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/wordpress/2008/04/09/essap-2008/</guid>
		<description><![CDATA[For the third year the European Summer School of Agile Programming(Essap) is a great opportunity to learn more about Agile Methodologies.
Here the website of the school: check it out.
]]></description>
			<content:encoded><![CDATA[<p>For the third year the European Summer School of Agile Programming(Essap) is a great opportunity to learn more about Agile Methodologies.</p>
<p><a title="Essap" href="http://essap.dicom.uninsubria.it/">Here</a> the website of the school: check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2008/04/09/essap-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EasyMock experience</title>
		<link>http://www.lucagrulla.it/blog/2008/02/23/easymock-experience/</link>
		<comments>http://www.lucagrulla.it/blog/2008/02/23/easymock-experience/#comments</comments>
		<pubDate>Sat, 23 Feb 2008 13:10:17 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/wordpress/2008/02/23/easymock-experience/</guid>
		<description><![CDATA[For the last two weeks I&#8217;ve worked with EasyMock and coming from a JMock background it&#8217;s easy to make a comparison between the two libraries.
I have to say that I&#8217;m less than impressed by EasyMock: the whole concept of the two different states (recording and active) for the mock library looks unreasonable.
Let&#8217;s look on how [...]]]></description>
			<content:encoded><![CDATA[<p>For the last two weeks I&#8217;ve worked with <a href="http://www.easymock.org/">EasyMock</a> and coming from a JMock background it&#8217;s easy to make a comparison between the two libraries.</p>
<p>I have to say that I&#8217;m less than impressed by EasyMock: the whole concept of the two different states (recording and active) for the mock library looks unreasonable.</p>
<p>Let&#8217;s look on how we can create a mock with EasyMock:<br />
<code> MyInterface mock =EasyMock.mock(MyInterface.class);<br />
//expectation<br />
mock.myMethod();<br />
//activation step<br />
mock.replay();<br />
//actual call to the mock<br />
mock.myMethod();<br />
//verification that the method has been called<br />
mock.verify();<br />
</code><br />
There&#8217;s also a more DSLish style of defining expectations, that I personally prefer (it differentiates clearly  the definition of the expectation from the actual method call).</p>
<p><code> EasyMock.expects(mock.myMethod());</code></p>
<p>This style is the only one available when the expectation is more complex:</p>
<p><code> EasyMock.expects(mock.myMethod()).andReturn(true);</code></p>
<p>But what if I want to define that a certain method will be called on the stub, no matter how many times ?</p>
<p>I can either use a different way of creating the mock:<br />
<code> EasyMock.createNiceMock(MyInterface.class); </code></p>
<p>or using the DSL way:</p>
<p><code>EasyMock.expects(mock.myMethod()).anyTimes() </code></p>
<p>I think that having two ways of defining the same expectation pretty confusing, specially when you&#8217;re using the API for the first time.<br />
What I&#8217;m looking for in a mock library is the possibility of  defining the expectations in a concise but expressive way (DSL please&#8230;) and then inject the dependency in my main object. Period. Done.</p>
<p><a title="JMock" href="http://www.jmock.org/">JMock2</a> is pretty close, but I have to admit the the inner class notation with all those curly brackets around is not helping.</p>
<p>A fellow <a href="http://www.thoughtworks.com">ThoughtWorker</a> have just released <a title="Mockito" href="http://code.google.com/p/mockito/" target="_blank">Mockito</a>: it looks like it&#8217;s taking the best from EasyMock and JMock and put in a single library..will it be true ? I&#8217;ll give it a try and I&#8217;ll let you know <img src='http://www.lucagrulla.it/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2008/02/23/easymock-experience/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Be lo-fi to be ready for changements</title>
		<link>http://www.lucagrulla.it/blog/2007/12/02/be-lo-fi-to-be-ready-for-changements/</link>
		<comments>http://www.lucagrulla.it/blog/2007/12/02/be-lo-fi-to-be-ready-for-changements/#comments</comments>
		<pubDate>Sun, 02 Dec 2007 13:42:54 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://www.lucagrulla.it/wordpress/2007/12/02/be-lo-fi-to-be-ready-for-changements/</guid>
		<description><![CDATA[I&#8217;m just back from the ThoughtWorks Immersion in our Pune office and one of the most interesting concept that came back to London with me is lo-fi.
Yes, lo-fi: nothing about planning, TDD, gummy bears and other fancy core agile things.
Just about being lo-fi.
This has actually been a core concept for me in the last years, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just back from the <a href="http://www.lucagrulla.it/wordpress/wp-admin/www.thoughtworks.com">ThoughtWorks</a> Immersion in our Pune office and one of the most interesting concept that came back to London with me is <em>lo-fi</em>.</p>
<p>Yes, lo-fi: nothing about planning, TDD, gummy bears and other fancy core agile things.</p>
<p>Just about being lo-fi.</p>
<p>This has actually been a core concept for me in the last years, but hearing it from the trainers has been a pleasure confirm.</p>
<p>What do I mean with &#8220;being lo-fi&#8221; ?</p>
<p>That concepts are trillions of time more important than the way we capture the them.</p>
<p>Write your stories on cards, play with them, move the cards around, rip them off if they are useless.</p>
<p>Design, architecture and layout of a UI can be fleshed out on a whiteboard and captured with a photo; big flip-charts are working lot better of mails and Word documents for defining agreement in the team.</p>
<p>All these lo-fi techniques help you focusing on the values of what you&#8217;re doing: if after a design meeting you roll out a lovely UML class diagramÂ  you will be a bit reclutant to throw it in the bin if in the next meeting the team decides to take a different solution just because ittook you a decent amount of time for creating it with all the necessary details with Visio).</p>
<p>If you&#8217;re able to work on your ideas and not on the artifacts you will keep your process light and flexible as you need, able to quickly adapt to changes and decided improvements.</p>
<p>And if at the end of your process (but only at the end !!) you really need to formalize all the outcomes, do it&#8230;but keep in mind that from that point in advance you will be naturally less open to changements.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucagrulla.it/blog/2007/12/02/be-lo-fi-to-be-ready-for-changements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
