<?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>Alessandro Astarita Blog &#187; scrum</title>
	<atom:link href="http://www.astarita.org/blog/tag/scrum/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.astarita.org/blog</link>
	<description>Unix is user friendly. It&#039;s just selective about who its friends are.</description>
	<lastBuildDate>Thu, 07 Jan 2010 01:06:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Perché è indispensabile fare refactoring?</title>
		<link>http://www.astarita.org/blog/2009/02/22/perche-e-indispensabile-fare-refactoring/</link>
		<comments>http://www.astarita.org/blog/2009/02/22/perche-e-indispensabile-fare-refactoring/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 17:23:10 +0000</pubDate>
		<dc:creator>Alessandro</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.astarita.org/blog/?p=28</guid>
		<description><![CDATA[In questo periodo mi sto interessando alle metologie agili, Scrum e XP in particolare. Leggendo il blog di Ron Jeffries, uno dei fondatori di XP, ho letto un articolo interessante sul refactoring. Ho tradotto le parti salienti qui di seguito.
Traduzione in italiano da: Why is refactoring a must? di Ron Jeffries.
&#8220;Per avere successo con Scrum, [...]]]></description>
			<content:encoded><![CDATA[<p>In questo periodo mi sto interessando alle <a href="http://it.wikipedia.org/wiki/Metodologia_agile">metologie agili</a>, <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a> e <a href="http://en.wikipedia.org/wiki/Extreme_Programming">XP</a> in particolare. Leggendo il <a href="http://xprogramming.com/blog/">blog</a> di <strong>Ron Jeffries</strong>, uno dei fondatori di XP, ho letto un articolo interessante sul <strong>refactoring</strong>. Ho tradotto le parti salienti qui di seguito.</p>
<p>Traduzione in italiano da: <a href="http://xprogramming.com/blog/needles/why-is-refactoring-a-must/">Why is refactoring a must?</a> di Ron Jeffries.</p>
<blockquote><p>&#8220;Per avere successo con Scrum, XP o ogni altra metodologia agile, bisogna fare <strong>refactoring</strong>. Non è opzionale, <strong>è indispensabile</strong>.&#8221;</p></blockquote>
<ol>
<li> Scrum richiede che alla fine di ogni Sprint sia consegnato <strong>software <em>&#8220;completato&#8221;</em></strong>. Sta al team decidere cosa vuole dire <em>&#8220;completato&#8221;</em>, ma generalmente significa eseguito, testato, integrato e pronto a funzionare.</li>
<li>Gli Sprint durano un mese nella definizione Scrum classica, di meno nelle moderne implementazioni. Il team, quindi deve consegnare software <em>&#8220;completato&#8221;</em> nelle prime due settimane o nel primo mese dalla partenza del progetto.</li>
<li>Il software in questione deve essere sviluppato a partire dal backlog del Product Owner. <strong>Il backlog deve contenere funzionalità</strong>. Per seguire Scrum correttamente, non si può consegnare elementi infrastrutturali, bisogna consegnare funzionalità.</li>
<li>Nelle prime iterazioni non ci sarà tempo per costruire la robusta infrastruttura di cui il prodotto finale avrà necessità. <strong>Si svilupperà solo una parte di infrastruttura.</strong></li>
<li>Il prodotto finale, ad ogni modo, avrà bisogno di una infrastruttura completa, potente e robusta.</li>
<li><strong>L&#8217;infrastruttura</strong> del software, quindi, <strong>deve cambiare</strong> perché all&#8217;inizio non è possibile averla, ma alla conclusione del progetto è indispensabile.</li>
<li>Ci sono pochi modi per cambiare l&#8217;infrastruttura. È possibile riscriverla ad ogni Sprint, oppure <strong>si può farla evolvere</strong>. Riscriverla di continuo è inefficiente, quindi farla evolvere gradualmente diventa necessario. <strong>L&#8217;evoluzione del software è refactoring</strong>. Il refactoring non è che questo.</li>
</ol>
<p>Si deve far evolvere l&#8217;infrastruttura. Non è una regola, è una legge naturale. Fin quando non si impara a<strong> far evolvere il design</strong>, Scrum potrà portare vantaggi, ma sicuramente non funzionerà al meglio delle possibilità, portando rallentamenti man mano che il tempo passa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.astarita.org/blog/2009/02/22/perche-e-indispensabile-fare-refactoring/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
