<?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>mondora spa</title>
	<atom:link href="http://mondora.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mondora.com</link>
	<description>mondora spa</description>
	<lastBuildDate>Mon, 20 May 2013 15:53:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<atom:link rel='hub' href='http://mondora.com/?pushpress=hub'/>
		<item>
		<title>La centralità del ruolo delle metafore unito all’approccio iterativo e al facilitatore  nello sviluppo dei progetti</title>
		<link>http://mondora.com/metafore-sviluppo-progetti/</link>
		<comments>http://mondora.com/metafore-sviluppo-progetti/#comments</comments>
		<pubDate>Mon, 20 May 2013 15:49:50 +0000</pubDate>
		<dc:creator>Fabio Esposito</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[effe]]></category>
		<category><![CDATA[fase]]></category>
		<category><![CDATA[metafore]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7254</guid>
		<description><![CDATA[Da  molti anni ormai siamo legati a modelli di problem solving  che traggono le loro origini dall’esperienza e dalle idee di  Galileo Galilei il quale abbandonò con forza  il linguaggio metaforico e allusivo del Rinascimento per fondare un linguaggio basato &#8230; <a href="http://mondora.com/metafore-sviluppo-progetti/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Da  molti anni ormai siamo legati a modelli di problem solving  che traggono le loro origini dall’esperienza e dalle idee di  Galileo Galilei il quale abbandonò con forza  il linguaggio metaforico e allusivo del Rinascimento per fondare un linguaggio basato su osservazioni oggettive:  il metodo scientifico (che mette in contrapposizione la logica [logos] all’emozione [phatos],  la parte razionale contro la parte irrazionale di ognuno di noi). Tuttavia come spesso accade con l’esclusione di alcuni elementi (ritenuti irrilevanti a ragione o meno) si ottiene sì una semplificazione del quadro generale e di conseguenza un situazione più facilmente gestibile ma anche una riduzione potenziale dei risultati ottenibili.</p>
<p>La tesi che miro a sostenere è che si può aumentare il potenziale dei nostri progetti se si riesce ad amalgamare la spinta motivazionale del lato irrazionale nell’applicazione metodica del lato razionale ed in particolare dell’’utilità della metafora per sviluppare e sostenere l’emotività di progetto. L’obiettivo dovrebbe essere riuscire ad essere razionalmente emotivi.</p>
<p>Cercherò anche di spingermi oltre, cercando di dimostrare che più i progetti sono complessi  più la cura della parte emozionale è necessaria e non trascurabile: il metodo serve ad incrementare l’efficienza del lavoro mentre il  phatos serve a generare quella spinta motivazionale necessaria ad aumentare “senza sforzo apparente” le performance delle persone (efficacia). Per amore di coerenza cercherò di argomentare la centralità della metafora con l’uso di una metafora: l’ONDA.</p>
<p>Tutti noi, al di la del nostro percorso di crescita e formativo ci siamo imbattuti nel corso della nostra vita  in qualche forma d’onda.  Ad esempio dalle più comuni onde del mare  alle onde sonore, o ancora dalle più misteriose onde elettromagnetiche alle onde gravitazionali (queste ultime tanto misteriose che gli scienziati stessi devono ancora dimostrarne l’esistenza).</p>
<p>Vi chiedo un piccolo sforzo e fare un breve viaggio  a ritroso nel tempo sui libri di fisica per  ricordare che un’onda è caratterizzata da: un’oscillazione periodica, un trasporto di energia e da fenomeni di interferenza. Non voglio tediare nessuno approfondendo concetti  che sarebbero  comunque inutili nel proseguo della diserzione. A noi  interessa soprattutto chiarire il concetto di l’interferenza: l’interferenza è il risultato della sovrapposizione di due onde, che produce un’onda somma.</p>
<p>I due casi limite sono quello di onde completamente in fase, in cui c’è un’interferenza chiamata e “costruttiva”, e quello di onde completamente in contro fase, in cui c’è un’interferenza che si chiama totalmente “distruttiva”. Cerchiamo di fissare questi concetti con la una rappresentazione grafica</p>
<p><img class="aligncenter size-full wp-image-7255" alt="Screen Shot 2013-05-20 at 5.44.59 PM" src="http://mondora.com/wp-content/uploads/2013/05/Screen-Shot-2013-05-20-at-5.44.59-PM.png" width="222" height="157" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>L’onda di color rosso rappresenta l’onda somma delle due onde di colore rispettivamente verde e blu. Come si evince abbastanza chiaramente dell’immagine se le due onde sono perfettamente in fase l’onda somma avrà un intensità superiore (esattamente pari alla somma delle intensità) alle due onde singole per cui si dice che si ha un’interferenza costruttiva. Mentre nel secondo caso le due onde non sono in fase e si ottiene un’onda somma la cui intensità è inferiore all’intensità della più intensa delle due onde singole per cui si dice che si ha un’interferenza distruttiva.</p>
<p>Interessante notare comunque come questi due casi estremi diano come risultato una forma d’onda con un andamento regolare. La cosa potrebbe non essere degna di interesse se non fosse che nella pratica è più facile garantire il controllo su fenomeni prevedibili e quindi regolari che nella gestione di  fenomeni con andamenti casuali.</p>
<p>Per i puristi, tengo a chiarire che queste due facce della stessa medaglia e  possono essere utilizzate entrambe a nostro favore. L’interferenza distruttiva non ha sempre un’accezione negativa potrebbe essere una condizione favorevole. Mi spiego meglio se volessi massimizzare un risultato cercherei di sfruttare  l’interferenza costruttiva creando le condizioni per cui le onde lavorino in fase, ma esistono anche situazioni reali in cui potremmo essere interessati a minimizzare un risultato (ad esempio una variabilità di processo) sfruttando le interferenze distruttive.  Una situazione del genere la troviamo nella ingegnerizzazione di processi logistici in cui mira a ridurre la variabilità degli eventi per favorire i processi previsionali e decisionali.</p>
<p>Ma torniamo a noi e caliamo la metafora dell’onda nel contesto che ci interessa.</p>
<p>Partiamo dal caso più semplice: un progetto di sviluppo di un software ad un team di lavoro composto da due persone. Se il lavoro delle due persone genererà due onde in contro fase il risultato sarà nullo indipendentemente dall’intensità e dalla qualità dello sforzo  garantito dai singoli soggetti  ovvero il  risultato sarà il fallimento del progetto indipendentemente dalla bontà delle risorse impiegate. Viceversa se genera due onde perfettamente in fase il risultato sarà eclatante perché l’energia totale di progetto sarà la somma delle energie delle singole persone.</p>
<p>Risulta abbastanza intuitivo comprendere come nel caso di un progetto complesso che coinvolge un team numeroso i rischi del mancato fasamento delle risorse sono pericolosamente alti. La maggior preoccupazione su cui dovremmo incanalare le nostre attenzioni dovrà essere garantire le condizioni affinchè le unità del team rimangano il più possibile in fase per tutta la durata del progetto.</p>
<p>Queste criticità diventano ancor più grandi nella gestione di grandi progetti dove collaborano più persone, appartenenti ad aziende diverse con una scarsa o nulla conoscenza reciproca e magari con l’aggravante dell’impossibilità fisica di lavorare a stretto contatto. Per cercare di mettere in fase il più possibile  tutte queste onde energetiche e massimizzare i risultati sono utili tre cose:</p>
<ul>
<li>L’approccio iterativo ovvero suddividere il percorso in piccole tappe con traguardi volanti molto vicini tra loro: questo approccio riduce naturalmente i possibili percorsi alternativi che le persone possono scegliere per raggiungere il traguardo (e quindi aumenta le possibilità che tutti seguano lo stesso percorso o detto  in altro modo rimangano in fase)  e permette inoltre di spostare il traguardo finale qualora durante il percorso emergesse la volontà o la necessità di farlo (che nella mia interpretazione vale a dire che non è necessario porsi dei limiti precostituiti e poter affrontare il progetto con obiettivi molto più sfidanti senza creare una stress di prestazione nei componenti del team)</li>
<li>Il ruolo del facilitare, una persona dedicata, esterna al team di sviluppo, in grado di poter creare il fasamento delle varie onde;</li>
<li>L’uso delle metafore: per aiutare il gruppo a scegliere lo stesso percorso anche quando prenderanno delle decisioni individuali  e per fornire un metro di giudizio coerente e non soggettivo nella fase di analisi dei risultati.</li>
</ul>
<p>Possiamo fare a meno di tutto questo? Almeno fino a quando i risultati vengono sì. Quando non vengono più, c’è bisogno di un salto. Inventare una nuova metafora. E solo chi ha la mente abbastanza aperta può dedicarsi a questo.</p>
<p>La <b>EFFE</b> ha l’obiettivo di aiutare i componenti del gruppo a rimanere in Fase parola che guarda caso inizia proprio per <b>F</b>.  Per tutti è chiaro la nostra metafora è</p>
<p align="center">LAVORARE IN <b>F</b>ase ovvero produrre un prodotto EasyFastFancyEfficient</p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/metafore-sviluppo-progetti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EFFE nella Definition Of Done</title>
		<link>http://mondora.com/effe-nella-definition-of-done/</link>
		<comments>http://mondora.com/effe-nella-definition-of-done/#comments</comments>
		<pubDate>Wed, 15 May 2013 09:20:00 +0000</pubDate>
		<dc:creator>Francesco Mondora</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[documentazione]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[effe]]></category>
		<category><![CDATA[efficient]]></category>
		<category><![CDATA[fancy]]></category>
		<category><![CDATA[fast]]></category>
		<category><![CDATA[qualità continua]]></category>
		<category><![CDATA[xp]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7247</guid>
		<description><![CDATA[Il team Team Ballo ha ora una lettera in cura: la EFFE. Una lettera che rappresenta la qualità di un proprio elaborato. Easy, Fast, Fancy, Efficient Con questo statement ci ricolleghiamo a delle note pervenute da un cliente e che &#8230; <a href="http://mondora.com/effe-nella-definition-of-done/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;"><img class=" wp-image-7248 alignleft" alt="balli-di-gruppo-estate" src="http://mondora.com/wp-content/uploads/2013/05/balli-di-gruppo-estate-300x248.jpg" width="300" height="248" /></p>
<p style="text-align: left;">Il team Team Ballo ha ora una lettera in cura:</p>
<p style="text-align: center;">la EFFE.</p>
<p style="text-align: left;">Una lettera che rappresenta la qualità di un proprio elaborato.</p>
<p style="text-align: center;"><strong>Easy</strong>, <strong>Fast</strong>, <strong>Fancy</strong>, <strong>Efficient</strong></p>
<p style="text-align: left;">Con questo statement ci ricolleghiamo a delle note pervenute da un cliente e che integriamo nella nostra Definition Of Done.</p>
<h3 style="text-align: left;"></h3>
<h3 style="text-align: left;">Easy</h3>
<p style="text-align: left;">Facile da utilizzare, facile da esercire e anche facile da manutenere e programmare. Il primo obiettivo è il riuscire a incorporare la facilità in ciò che viene prodotto. Un esercizio che viene fatto di continuo e che è molto legato alla semplificazione. Più una soluzione è semplice e più è facile da implementare. Sembra una asserzione scontata, ma nel quotidiano risulta una delle qualità più difficili da raggiungere.</p>
<p style="text-align: left;">Nello sviluppo del software Easy vale la possibilità di poter comunicare agilmente il lavoro fatto, una architettura o altro. L&#8217;identificarsi con una metafora potrebbe essere una strada per riuscire a colmare questa caratteristica.</p>
<p style="text-align: left;">Invece nella fruizione, Easy è molto legato al modo con il quale l&#8217;utente andrà ad utilizzare la piattaforma software. Cicli di interaction design sono necessari per riuscire a costruire un sistema che sia facile da utilizzare.</p>
<h3 style="text-align: left;">Fast</h3>
<p style="text-align: left;">La velocità di erogazione del sistema così come la velocità nello sviluppo delle singole funzionalità sono delle caratteristiche ben apprezzate. Lavorare con il Fast in testa, significa pensare a un sistema che sia il più possibile automatico e che possa essere posto in esercizio nell&#8217;ordine dei minuti, se non dei secondi. Fast nello sviluppo del software riprende tutte le pratiche di XP che coinvolgono la Continuous Integration e lo Unit Testing. Implica una qualità del codice che migliori sempre di più e che rapidamente permetta a tutta l&#8217;infrastruttura software di adattarsi alle nuove caratteristiche.</p>
<h3 style="text-align: left;">Fancy</h3>
<p style="text-align: left;">L&#8217;occhio vuole la sua parte e non è solo una parte estetica. Adottando XP nello sviluppo del software si fa molto refactoring e si fa molta code inspection. I nomi delle classi, dei metodi e delle funzioni sono identificati proprio con un criterio auto-esplicativo. Nel verso opposto l&#8217;approccio allo sviluppo con i metodi agili adotta una strategia di back casting: parto dal punto di arrivo per capire il prossimo passo. Il punto di arrivo in questo caso è avere una interfaccia utente che sia aggraziata e sufficiente; le prime attività sono quelle quindi di lavorare già a questo criterio progettando una interfaccia utente che sia anche lei gradevole come il resto della applicazione.</p>
<h3>Efficient</h3>
<p style="text-align: left;">L&#8217;efficienza nel paradigma della EFFE è la capacità di saper rispondere nel tempo corretto. Dal punto di vista della infrastruttura informativa l&#8217;efficienza di lega all&#8217;esercizio dell&#8217;applicazione stessa. Si misurano i Key Performance Indicators e si garantiscono i Service Level Agreement tramite una policy di service level assurance dove quasi in maniera adattiva l&#8217;applicazione si adegua ai carichi utente.</p>
<p style="text-align: left;">Per quanto riguarda invece il processo l&#8217;efficienza si misura nella capacità di adattare il prodotto a un set di requisiti non stabili e rendere il processo di sviluppo sempre al livello adeguato anche quando le condizioni al contorno non sono molto chiare. Con questo si riesce ad affrontare una Change Request oppure si riesce a far si che il gruppo di lavoro aiuti nella definizione di alcune specifiche mettendoci del contributo.</p>
<p style="text-align: left;">
<p style="text-align: left;">Queste 4 nuove qualità entrano nella Definition Of Done (DOD) e vanno ad incrementare maggiormente la qualità del software prodotto. Alla fine di ogni attività ogni persona all&#8217;interno del Team Ballo risponderà di quanto è Easy, Fast, Fancy e Efficient. Un razionale per ognuna di queste parole è sufficiente per continuare nella strada della qualità continua.</p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/effe-nella-definition-of-done/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cloud: il PaaS alla portata di tutti anche in privato</title>
		<link>http://mondora.com/cloud-il-paas-alla-portata-di-tutti-anche-in-privato/</link>
		<comments>http://mondora.com/cloud-il-paas-alla-portata-di-tutti-anche-in-privato/#comments</comments>
		<pubDate>Thu, 02 May 2013 03:58:03 +0000</pubDate>
		<dc:creator>Francesco Mondora</dc:creator>
				<category><![CDATA[cloud]]></category>
		<category><![CDATA[paas]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7239</guid>
		<description><![CDATA[La macchina a vapore fu una delle maggiori spinte alla rivoluzione industriale. Tuttavia il suo utilizzo richiedeva un investimento iniziale cospicuo per acquistare e installare un macchinario assai complesso e che richiedeva spese di utilizzo e manutenzione elevate. Ma con &#8230; <a href="http://mondora.com/cloud-il-paas-alla-portata-di-tutti-anche-in-privato/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-7242" alt="macchinavapore1" src="http://mondora.com/wp-content/uploads/2013/05/macchinavapore1.jpg" width="559" height="146" />La macchina a vapore fu una delle maggiori spinte alla rivoluzione industriale. Tuttavia il suo utilizzo richiedeva un investimento iniziale cospicuo per acquistare e installare un macchinario assai complesso e che richiedeva spese di utilizzo e manutenzione elevate. Ma con l&#8217;avvento dell’elettricità e delle reti elettriche, si passò da un modello di business completamente diverso: la stipula di un contratto con un fornitore/distributore permetteva di evitare investimenti iniziali e di pagare solo il consumo effettivo.</p>
<p>Con il cloud computing abbiamo a disposizione un meccanismo simile e possiamo pensare di stabilire un modello simile anche nella propria offerta.</p>
<p>Si evitano così i costi d’avvio dell’acquisto e installazione di server e apparecchiature di rete ed i costi di manutenzione e gestione hardware e software. Ottenendo un’infrastruttura IT ad altissimo livello e senza limitazioni, pagando solo il consumo effettivo.</p>
<p>Tipicamente le tipologie di servizi offerti sono:</p>
<ol>
<li><span style="font-size: 16px;">Applicazioni (SaaS)</span></li>
<li><span style="font-size: 16px;">Piattaforme (PaaS)</span></li>
<li><span style="font-size: 16px;">Infrastrutture (IaaS)</span></li>
</ol>
<p>di cui l’utente finale può usufruire, ovunque in qualunque momento e da qualsiasi dispositivo. Tutte e tre le soluzioni sono pensate per essere strutturalmente scalabili e in grado di fornire un “servizio” misurabile di elevata qualità.</p>
<p><img class="aligncenter size-medium wp-image-7243" alt="microsoft-cloud" src="http://mondora.com/wp-content/uploads/2013/05/microsoft-cloud-300x198.gif" width="300" height="198" /></p>
<p>In quest’ottica l’adozione di una soluzione IaaS su una infrastruttura elastica rende reale la semplificazione del processo di sviluppo delle applicazioni senza incorrere però nei problemi di costo e complessità legati all’acquisto ed alla gestione dello strato hardware/software sottostante. I vantaggi per l’azienda dunque sono essenzialmente legati all’incremento della produttività ed alla riduzione dei costi operativi:</p>
<p>Il Time to Market è ridotto con conseguente possibilità di “monetizzare” l’applicazione in tempi più brevi.<br />
Non sono richiesti investimenti iniziali, oltre a quello per la sottoscrizione del contratto di servizio, e conseguentemente sono ridotti i costi operativi.<br />
Viene accelerato il processo di sviluppo, favorendo lo scambio di informazioni e la condivsione di know-how e mettendo a disposizione strumenti di sviluppo collaborativo: è questa una caratteristica essenziale nello sviluppo “collegiale” di un’applicazione</p>
<p>Inoltre la possibilità di integrazione con servizi web garantisce agli sviluppatori di non avere limiti nella customizzazione delle proprie applicazioni, così come non ci sono limiti per la fruizione delle stesse.</p>
<p><strong><span style="font-size: large;">Il paradigma del PAAS</span></strong></p>
<p>Il paradigma del Platform as a Service permette di poter offrire una piattaforma secondo il modello as a service. Il bacino di utenti che utilizza una piattaforma PaaS è quello delle aziende che hanno bisogno di integrare un sistema e vogliono aggredire un mercato nuovo: quello della facilità di estensione da terzi del proprio sistema.</p>
<p>In una visione moderna, le architetture al tendere considerano il fatto che la soluzione software sarà a sua volta erogata anche come Platform as a Service e che sarà estesa da una comunità di integratori.</p>
<p>In questo modo la tecnologia sottostante permetterà agevolmente di offrire il sistema a terzi con politiche diverse e con una unica capacità di gestione. La possibilità di offrire la propria infrastruttura software come un servizio permette di estendere la propria soluzione verso partner o integratori in grado di dar maggior valore ai propri servizi.</p>
<p>Per esempio ci possono essere dei partner che stanno studiando delle nuove forme di comunicazione tramite l’ultima device &#8211; e.g. Google Glasses &#8211; e che vogliono inserire tale soluzione nell&#8217;ecosistema applicativo.</p>
<p>Avere i propri servizi erogati secondo il modello PaaS permette di configurare dei nuovi scenari di business con i propri fornitori e stabilire dei nuovi modi di collaborazione (es. revenue sharing).</p>
<p>Questo modello di lavoro evolve l&#8217;idea che si ha dei framework dello sviluppo rispetto alle piattaorme ed è il punto cruciale in cui i nostri architetti stanno continuamente lavorando per dare maggior beneficio ai nostri clienti.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/cloud-il-paas-alla-portata-di-tutti-anche-in-privato/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum, dalla radice ai frutti</title>
		<link>http://mondora.com/scrum-dalla-radice-ai-frutti/</link>
		<comments>http://mondora.com/scrum-dalla-radice-ai-frutti/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 06:01:46 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[frutti]]></category>
		<category><![CDATA[pratiche]]></category>
		<category><![CDATA[product owner]]></category>
		<category><![CDATA[scrum master]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7231</guid>
		<description><![CDATA[Recentemente ho avuto il piacere di ascoltare Joseph Pelrine, il quale mi ha dato modo di fermarmi a riflettere su che cosa significa realmente implementare Scrum. Ogni tanto mi capita di parlare con persone diverse sulle tematiche Agile e di &#8230; <a href="http://mondora.com/scrum-dalla-radice-ai-frutti/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p dir="ltr"><img class="aligncenter size-full wp-image-7232" alt="tumblr_lopdut0XC11qa9dlko1_500" src="http://mondora.com/wp-content/uploads/2013/04/tumblr_lopdut0XC11qa9dlko1_500.jpg" width="500" height="405" /></p>
<p dir="ltr">Recentemente ho avuto il piacere di ascoltare Joseph Pelrine, il quale mi ha dato modo di fermarmi a riflettere su che cosa significa realmente implementare Scrum.</p>
<p dir="ltr">Ogni tanto mi capita di parlare con persone diverse sulle tematiche Agile e di Scrum, ed è molto interessante osservare che cosa né viene fuori; qualche giorno fa mi sono anche sentito dire: “ma Scrum non è quella cosa dove una volta al giorno vai dagli sviluppatori a rompere le palle per sapere cosa hanno fatto?”.</p>
<p dir="ltr">Mi rendo conto che parlando di Scrum le cose che vengono a galla sono le practices quali il Daily Scrum, il Backlog, lo Sprint Planning Meeting, il Burndown, ecc., forse perché sono le cose più evidenti e semplici da capire, ma in realtà c’è ben altro.</p>
<p dir="ltr">Nella rappresentazione di Joseph possiamo vedere Scrum come un grande albero: le practices sono i rami dell’albero, che se è sano e rigoglioso produce dei frutti che sono i risultati, come la delivery on time e la soddisfazione del cliente. Ma i rami saranno robusti solo in caso di un tronco solido, che è rappresentato da core principles che guidano il processo. Ancora più in basso, il tronco può crescere retto e robusto solo se ci sono delle radici profonde e ben piantate, e queste sono rappresentate dai values di base propri del mindset Agile.</p>
<p dir="ltr">Commitment (inteso come impegno e responsabilità), Focus, Rispetto, Coraggio (nel cambiamento) e Trasparenza, questi sono i 5 valori fondamentali che devono essere nel cuore di un ambiente e una realtà che vuole essere Agile e implementare al meglio Scrum. Sono valori ben visibili durante l’intero processo e nelle practices originali. Senza anche uno di questi elementi l’intero processo risulta compromesso e anche l’albero non può crescere retto.</p>
<p dir="ltr">Ispirati questi valori sono una serie di principi madre che devono essere sempre presi in considerazione, e che rappresentano il motore fondamentale delle nostre azioni.</p>
<p dir="ltr">Avere feedback rapidi: quando vorresti sapere che hai problemi?</p>
<p dir="ltr">Apprendimento continuo: noi impariamo dai nostri errori, l’importante è dunque riconoscerli e agire per evitarli di nuovo.</p>
<p dir="ltr">Conoscere il proprio potenziale: quanto possiamo e riusciamo a dare?</p>
<p dir="ltr">Solo chi ha un rischio diretto può ed è in grado di prendere decisioni.</p>
<p dir="ltr">Fermarsi a ragionare sul significato delle cose: che cosa sto facendo, e perché?</p>
<p dir="ltr">Divertirsi: l’entusiasmo è il motore che ci porta avanti nella giornata lavorativa.</p>
<p dir="ltr">Da questi valori e da questi principi, nascono le note e comuni practices adottate dal framework Scrum, ma che possono e devono essere sempre contestualizzate ed editate per rispondere alle necessità di ogni realtà. Adottarle e seguirle alla lettera per come si è letto su un libro, probabilmente porta solo a disagio e frutti acerbi.</p>
<p dir="ltr">Quindi solo partendo dalle radici si può vedere la crescita dell’albero e infine comprendere cosa realmente è Scrum e cosa non lo è.</p>
<p dir="ltr">Questo è un tema molto attuale se si pensa al trend che sempre di più si può osservare sul mercato: in origine, e mano a mano che Scrum andava affermandosi, le persone lo approcciavano perché volevano apportare un cambiamento e un miglioramento al processo, mentre oggi sempre di più le persone si approcciano a Scrum perché devono, sotto indicazione del management, apportare un miglioramento.</p>
<p><b id="docs-internal-guid-204f8948-3a91-a1b0-163c-6ede49ef420a">Perciò ultimamente le persone che implementano Scrum si fermano e concentrano sulle practices da adottare, dimenticando di far crescere un albero solido che porta i frutti.</b></p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/scrum-dalla-radice-ai-frutti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A metà tra sprint backlog, kanban e pomodoro la gestione del tempo a ritmo di tamburo</title>
		<link>http://mondora.com/a-meta-tra-sprint-backlog-kanban-e-pomodoro-la-gestione-del-tempo-a-ritmo-di-tamburo/</link>
		<comments>http://mondora.com/a-meta-tra-sprint-backlog-kanban-e-pomodoro-la-gestione-del-tempo-a-ritmo-di-tamburo/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 13:54:08 +0000</pubDate>
		<dc:creator>Francesco Mondora</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[pomodoro]]></category>
		<category><![CDATA[scrum]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7222</guid>
		<description><![CDATA[Appena Davide mi ha parlato di questa idea mi è venuta in mente la canoa con il &#8220;tamburista&#8221; che tiene il ritmo a tutti i vogatori. Con questo voglio aprire una possibilità di mitigare Scrum con Kanban e la gestione &#8230; <a href="http://mondora.com/a-meta-tra-sprint-backlog-kanban-e-pomodoro-la-gestione-del-tempo-a-ritmo-di-tamburo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Appena Davide mi ha parlato di questa idea mi è venuta in mente la canoa con il &#8220;tamburista&#8221; che tiene il ritmo a tutti i vogatori.</p>
<p>Con questo voglio aprire una possibilità di mitigare Scrum con Kanban e la gestione del tempo con la tecnica del Pomodoro. Così da avere un tamburo che ritma e scandisce, così come nella canoa, anche la giornata di un team.</p>
<p>In questo caso il tamburo è un pomodoro timer che passa da divenire un pomodoro individuale o di coppia a un vero metronomo di gruppo.  In Scrum oltre al Daily Scrum è difficile avere una idea chiara della gestione del tempo nei termini di cosa succede durante la giornata e della concentrazione nell&#8217;ordine delle prossime ore. Tutto è lasciato alla capacità di organizzazione della coppia o del singolo e alcune tecniche come GTD o la tecnica del Pomodoro sono di grande aiuto per riuscire a rimanere focalizzati.</p>
<p style="text-align: center;"><a href="http://mondora.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-12-at-8.12.19-AM.png"><img class="aligncenter  wp-image-7223" alt="Screen Shot 2013-04-12 at 8.12.19 AM" src="http://mondora.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-12-at-8.12.19-AM.png" width="521" height="418" /></a></p>
<p>Nell&#8217;idea iniziale lo stream giornaliero è comandato dallo sprint backlog che è comandato dalla user story o dall&#8217;obiettivo che si vuole realizzare. I singoli task sono a loro volta della kanban card e sono stimati a pomodori rimanenti per completare il task.</p>
<p>Ogni mattina il team decide su cosa lavorare e seleziona quali task crede di lavorare. Ad ogni task sono associati un numero di Remaining Pomodoro e si sa quanto potersi allocare proprio dalla propria esperienza.</p>
<p>Nel momento in cui si parte il timer inizia a battere il ritmo di tutti. Allo stesso modo di come si fa sulle canoe con molti vogatori. Chi non ha preso il ritmo aspetta il prossimo pomodoro, non dichiarando che è partito (il tasto play del team) e chi non riesce perchè è stanco o ha ricevuto un interrupt clicca il tasto pause o stop sempre del suo team.</p>
<p>Abbiamo intenzione di elaborare l&#8217;idea in un prodotto con licenza Open Source per poi erogarlo come servizio e il progetto è in via di definizione; in questo momento stiamo iniziando a raccogliere gli obiettivi e definire le prime user stories. La tecnologia di riferimento sarà, fino a decisione contraria,  <a href="http://meteor.com/">Meteor</a> e ci si muoverà intensivamente sempre più verso html5.</p>
<p><strong>Perchè questo post?</strong></p>
<p>Cerchiamo contribuzioni e idee. Anche solo la votazione del nome e del logo per iniziare ad indossare la maglietta e sentirlo un po&#8217; più nostro.</p>
<p>Se ti senti potenzialmente motivato e vuoi/puoi contribuire in questa attività, le figure professionali che ci mancano variano dall&#8217;interaction designer, al webdesigner, al programmatore software, al sistemista che conosca DevOps fino alla figura che sa ipotizzare una service offering line.</p>
<p>Negli step di lavoro che stiamo pensando c&#8217;è l&#8217;idea di costruire il primo prototipo, e poi di valutare di lanciarlo su una piattaforma come indiegogo o kickstarter e poi, nel frattempo iniziare a lavorarci sopra con il nostro abituale taglio professionale.</p>
<p>Se vuoi partecipare o essere informato in questo progetto</p>
<p><!-- // MAILCHIMP SUBSCRIBE CODE \\ --><br />
<a href="http://eepurl.com/x368H">Subscribe to our newsletter</a><br />
<!-- \\ MAILCHIMP SUBSCRIBE LINK // --></p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/a-meta-tra-sprint-backlog-kanban-e-pomodoro-la-gestione-del-tempo-a-ritmo-di-tamburo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il potere di una metafora</title>
		<link>http://mondora.com/il-potere-di-una-metafora/</link>
		<comments>http://mondora.com/il-potere-di-una-metafora/#comments</comments>
		<pubDate>Sat, 06 Apr 2013 06:09:39 +0000</pubDate>
		<dc:creator>Francesco Mondora</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[documentazione]]></category>
		<category><![CDATA[agile software]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[metafora]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7217</guid>
		<description><![CDATA[Anche nella definizione di una architettura software riuscire a spiegare il rapporto che c’è tra i componenti risulta difficoltoso e talvolta difficile da fare. In una discussione con un gruppo di architetti riguardo a come si devono documentare le architetture &#8230; <a href="http://mondora.com/il-potere-di-una-metafora/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://mondora.com/wp-content/uploads/2013/04/metafora.jpg"><img class="alignleft size-full wp-image-7218" alt="metafora" src="http://mondora.com/wp-content/uploads/2013/04/metafora.jpg" width="200" height="254" /></a>Anche nella definizione di una architettura software riuscire a spiegare il rapporto che c’è tra i componenti risulta difficoltoso e talvolta difficile da fare.</p>
<p>In una discussione con un gruppo di architetti riguardo a come si devono documentare le architetture abbiamo convenuto al fatto che la documentazione di una architettura deve essere ridotta all’essenziale. Ma i problemi delle architetture moderne sono in contraddizione con il fatto che la documentazione possa essere ridotta all’osso e arrivare all’essenziale. Ci sono tematiche nuove sulle quali è necessario spendere tempo e fare dei ragionamenti approfonditi che richiedono poi una rappresentazione anche formale su dei documenti. Per esempio progettare un sistema che sia multi tenance non è facile, è una decisione che può impattare le architetture logiche e le architetture fisiche (sempre che sul cloud si possa parlare ancora di architetture fisiche).</p>
<p>Delle nuove rappresentazioni si manifestano ed è importante capire come fare a far si che le decisioni prese riescano a dare con il minor numero delle informazioni la maggior conoscenza della architettura. E’ necessario per far questo lasciare perdere alcuni pregiudizi e sperimentare delle nuove forme comunicative anche in ambienti strettamente professionali.</p>
<p>Un po’ come quando un bambino apprende che considera tutto quello che arriva come nuovo e interessante e prova a digerire ciò che gli viene esposto in maniera sintetica e precisa. Quando apprendiamo qualcosa di nuovo, cerchiamo di sintetizzarlo e di riuscire a comprendere tutte le parti che riteniamo più importanti. Solo in un secondo momento si può andare a collegare ciò che abbiamo appreso con ciò che abbiamo già conosciuto creandone dei nessi e quindi dei pensieri nuovi.</p>
<p>Il valore di una metafora posiziona proprio questo pensiero dove le analogie servono per portare alla immaginazione dei concetti che risulterebbero difficili da interpretare. I componenti architetturali generalmente sono denominati con degli acronimi e nella vita mi è capitato di sentirne molti.</p>
<p>Discorsi come l&#8217;SDP parla con il Triplo A (AAA) per la risoluzione dell&#8217;MSISDN sono tra architetti software normali in contesti specifici.</p>
<p>Ma cosa succede quando si cerca di spiegare a un nuovo collega un prodotto nelle sue logiche di funzionamento basilari. Sebbene un dizionario dati con degli acronimi ben definiti, l&#8217;interlocutore capirà proprio poco di quello che gli si cerca di spiegare in quanto è tutto è per lui astratto. Oltre ai processi anche i nomi sono astratti e nella astrazione la sua fantasia non può correre e cercare di collegare dei nessi. Si può osservare il suo sguardo che seppur attento, ci comunica quanto non comprenda ciò che stiamo passando.</p>
<p>La curva di apprendimento è sempre elevata e solo quando lui ha già <strong>familiarità con una situazione simile</strong> succede che la sua comprensione sia davvero migliore. Ci si rendo conto dalla propositività dei suoi commenti e nel momento in cui si comunica lo sforzo più grande che faccio non è nella bocca, ma nelle orecchie e negli occhi se sto dialogando. C&#8217;è bisogno di raccogliere i feedback per capire il livello di comunicazione a adeguare continuamente alla comprensione.</p>
<p>Per questo una metafora gioca un ruolo essenziale e vorrei dire, quasi vitale nella progettazione di una architettura software. Si parte con identificare dei componenti, ma assieme si cerca di capire una analogia nel mondo vissuto quotidianamente per riportare a terra l&#8217;astrazione del modello.</p>
<p>La metafora permette di fare delle considerazioni aggiuntive. Siccome facilita il livello di comprensione di un problema, permette anche di capire come una offerta di prodotto può evolvere. Questo può includere diversi uffici tra cui il marketing che può pensare delle offerte diverse per la soluzione proprio studiando l&#8217;analogia.</p>
<p>Dall&#8217;altra parte, l&#8217;inabilità di trovare una metafora consistente fa pensare a dei possibili problemi in una architettura. E&#8217; utile spezzare in piccole altre metafore le parti di componenti di un sistema che può essere pensato in maniera coesa.</p>
<p>L&#8217;analogia si rivela uno strumento davvero importante se adottata. L&#8217;adozione richiede certe volte coraggio nel giustificare e spendere del tempo per ritrovare la metafora.</p>
<p>Nella documentazione, a questo punto, ci sarà una spiegazione che narra la parte del componente specifico rispetto alla metafora.</p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/il-potere-di-una-metafora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evoluzione tecnologica al Cloud</title>
		<link>http://mondora.com/evoluzione-tecnologica-al-cloud/</link>
		<comments>http://mondora.com/evoluzione-tecnologica-al-cloud/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 08:21:59 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[cloud]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[evoluzione]]></category>
		<category><![CDATA[tecnologia]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7205</guid>
		<description><![CDATA[L’evoluzione, dell’umanità così come del software, si protrae con un andamento ciclico: i concetti ormai passati e obsoleti ritornano ad essere attuali con la consapevolezza di dover aggiornare e migliorare gli aspetti più deboli. Anche le architetture software affrontano questo &#8230; <a href="http://mondora.com/evoluzione-tecnologica-al-cloud/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p dir="ltr">L’evoluzione, dell’umanità così come del software, si protrae con un andamento ciclico: i concetti ormai passati e obsoleti ritornano ad essere attuali con la consapevolezza di dover aggiornare e migliorare gli aspetti più deboli.</p>
<p dir="ltr">Anche le architetture software affrontano questo percorso, ed è molto interessante andare a scovare le costanti che la comunità tiene ferme ad ogni giro di ruota.</p>
<p dir="ltr">Se si torna un po’ indietro nel tempo, agli albori del J2EE la comunità inseguiva il concetto di “componenti” java che potessero essere riutilizzabili: vennero così definite le specifiche per gli Enterprise Java Beans (EJB), ovvero dei bean accessibili sia localmente che da remoto. Il concetto alla base era quello di fornire dei mattoncini Lego che potessero comporre facilmente e rapidamente una costruzione complessa. Ma il fallimento di questo tipo di architettura basata sui componenti EJB è stato presto decretato da diversi fattori pratici, come l’ingestibilità del modello di programmazione che sta alla base, la grossa difficoltà a scalare visto l’ancoramento a dei server middleware, e infine gli insidiosi ostacoli nel deployment di queste applicazioni.</p>
<p>SpringSource intervenne creando un modello in cui i vari pezzi dell’applicazione diventano POJOs (Plain Old Java Objects) iniettati nell’applicazione, in modo da alleggerire e migliorare il processo di sviluppo-test-deploy. Nonostante il grosso passo avanti, questa architettura composta da componenti POJO, si è trovata di fronte a diversi limiti dovuti principalmente dalla difficoltà di isolamento dei vari pezzi, di integrazione di tecnologie o linguaggi differenti, e ancora di scalabilità ostacolata dall’ammontare di componenti che vanno ad aggiungersi uno sopra l’altro.</p>
<p dir="ltr">Avvicinandoci ai giorni nostri, si può osservare la crescita vertiginosa del paradigma SOA (Service Oriented Architecture) che prevede il partizionamento di componenti che possono essere richiamati da diversi sistemi e che prendono il nome di servizi. Questo tipo di architettura ha ricevuto una forte spinta all’interno della comunità anche grazie al diffondersi dell’utilizzo di protocolli web service come SOAP e modelli di design REST. La SOA però rimane un paradigma, un mindset che per molti rimane solo concettuale e difficilmente implementabile.</p>
<p dir="ltr">Ma è da questo paradigma che nasce il modello più evoluto e seguito dalla comunità attuale, che risponde al nome di Cloud Computing, che, seguendo il concetto SOA, porta alla definizione di componenti “as a service”, in modo da comporre un’architettura rappresentabile come segue.</p>
<p style="text-align: center;"><b><b><br />
<a href="http://mondora.com/wp-content/uploads/2013/03/WDXLGh1ZUUqtrkZizGxISzu3hD6rkxPKqz3bjbap-_vOdSIc4-0BMqLyv5LaMqWNmLv5_jDa1I9sMXaqouh6btoIGTsA8MG4BBL-h0swwLNYZ-9RDPim1UFbDA.png"><img class="size-full wp-image-7206 aligncenter" alt="WDXLGh1ZUUqtrkZizGxISzu3hD6rkxPKqz3bjbap-_vOdSIc4-0BMqLyv5LaMqWNmLv5_jDa1I9sMXaqouh6btoIGTsA8MG4BBL-h0swwLNYZ-9RDPim1UFbDA" src="http://mondora.com/wp-content/uploads/2013/03/WDXLGh1ZUUqtrkZizGxISzu3hD6rkxPKqz3bjbap-_vOdSIc4-0BMqLyv5LaMqWNmLv5_jDa1I9sMXaqouh6btoIGTsA8MG4BBL-h0swwLNYZ-9RDPim1UFbDA.png" width="512" height="369" /></a><br />
</b></b></p>
<p dir="ltr">Ci sono diversi benefici nell’adottare un’architettura Cloud, tra i quali sicuramente la scalabilità favorita dalla natura di servizi leggeri ed indipendenti che non impattano nell’architettura generale dell’applicazione. I componenti cloud possono essere aggregati rapidamente anche grazie all’utilizzo di API RESTful che accordano anche tecnologie e linguaggi differenti. Senza contare i temi legati alla semplicità di deployment che porta il partizionamento dei componenti, il miglioramento degli aspetti di sicurezza e la malleabilità nella gestione dei costi.</p>
<p><b><b> </b></b></p>
<p dir="ltr">Ripercorrendo questa strada evolutiva, si ritrovano facilmente quelle costanti che la comunità da sempre cerca di ottenere: la modularità dei componenti in modo da favorirne il riutilizzo, la scalabilità di questi permettendo alle applicazioni di crescere e dare sempre più valore aggiunto, e infine la semplicità di un modello di programmazione che non generi o aumenti l’entropia di un sistema.</p>
<p dir="ltr">Queste qualità si possono ritrovare nel modello che si definisce Cloud, e che rappresenta al giorno d’oggi l’ultimo gradino nella scala evolutiva delle architetture software.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/evoluzione-tecnologica-al-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;re hiring</title>
		<link>http://mondora.com/were-hiring/</link>
		<comments>http://mondora.com/were-hiring/#comments</comments>
		<pubDate>Sat, 16 Mar 2013 13:55:10 +0000</pubDate>
		<dc:creator>Francesco Mondora</dc:creator>
				<category><![CDATA[featured]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7197</guid>
		<description><![CDATA[Per le nostre sedi (Milano, Morbegno in Valtellina) e non, stiamo sempre cercando nuove persone che vogliano entrare a far parte del nostro team. Le nostre caratteristiche sono sempre orientate alla modernità tecnologica e alla agilità. Qualsiasi forma geniale è &#8230; <a href="http://mondora.com/were-hiring/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://mondora.com/wp-content/uploads/2013/03/url.jpeg"><img class="alignleft size-full wp-image-7200" alt="url" src="http://mondora.com/wp-content/uploads/2013/03/url.jpeg" width="327" height="322" /></a></p>
<p>Per le nostre sedi (Milano, Morbegno in Valtellina) e non, stiamo sempre cercando nuove persone che vogliano entrare a far parte del nostro team. Le nostre caratteristiche sono sempre orientate alla modernità tecnologica e alla agilità.</p>
<p>Qualsiasi forma geniale è apprezzata, ci piace molto la creatività e il modo con il quale  affrontare le situazioni. E’ per questo che anche la ricerca del personale la facciamo nei modi più diversi. In questo caso abbiamo predisposto solo una sandbox. L’unico vincolo è che il file non sia più grande di 3Mb.</p>
<p>Ti chiediamo di risolvere l&#8217;esercizio, se sei in grado e se non riesci ammettiamo valutiamo anche chi si distingua in altri modi.</p>
<p>Pertanto è necessaria una propria presentazione, oltre che a mettere l&#8217;eventuale soluzione dell’esercizio in un file e fare upload proprio qui sotto. Potrebbe essere un video che ti presenta, il tuo curriculum normale oppure qualsiasi altra cosa tu voglia usare per distinguerti.</p>
<p>Se fai l’esercizio, questo è un esercizio di virtuosismo e porta a verificare le proprie conoscenze e a capire il proprio livello di capacità di soluzione dei problemi. Se non riesci non è un problema, puoi sempre rilanciare la posta e aggiungere tu un esercizio che vuoi venga risolto.</p>
<p>La tecnologia è un di per cui e la nostra implementazione classica è in java. E nel file di assegnazione che si scarica ci sono delle istruzioni dentro a index.html che raccontano cosa fare.</p>
<p>Lo scopo è quello di far fare ad una classe java, un comportamento diverso da quello che si legge nel codice. La classe è un automobile &#8220;Carolina&#8221; che è in grado di accelerare fino al suo limite. Se vai oltre il limite, quella si resetta alla velocità zero.Il tuo compito, da Gino Pilotino è quello di mandarla oltre il limite cablato.</p>
<p>Non è ammesso cambiare il sorgente della classe Carolina, quello del pilotino puoi fare quel che vuoi; ho fornito solo un esempio ( non di soluzione ma di codice ).</p>
<p>Per fare l&#8217;upload dell&#8217;esercizio abilitare qui sotto la maschera di upload con  la parola segreta <strong>hireme </strong>e poi fare l&#8217;upload nel box che si presenta.<br />
<a href="/wp-content/uploads/2012/06/Cars1.zip"><img style="float: right;" title="zipimage" alt="" src="http://www.technorati.it/images/zip.png" width="50" height="50" /></a></p>
<p style="text-align: right;"><span style="font-size: small;">Per scaricare l&#8217;esercizio clicca sull&#8217;immagine.</span></p>
<div class="front-end-upload-parent"><form action="" method="post" class="front-end-upload-flags"><input type="hidden" name="_wpnonce" id="_wpnonce" value="54cd6f78bf" /><div class="front-end-upload-passcode"><label for="feu_passcode">Passcode</label><input type="text" name="feu_passcode" id="feu_passcode" value="" /></div><div class="front-end-upload-submit"><button type="submit" />Submit</button></div></form></div>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/were-hiring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Report da un corso su Android: un&#8217;altra bella esperienza</title>
		<link>http://mondora.com/condivisione-di-un-esperienza-personale/</link>
		<comments>http://mondora.com/condivisione-di-un-esperienza-personale/#comments</comments>
		<pubDate>Fri, 01 Mar 2013 10:31:13 +0000</pubDate>
		<dc:creator>Francesco Barbera</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[training]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7158</guid>
		<description><![CDATA[Nella mia permanenza in azienda uno degli aspetti che piu mi interessano e da cui imparo di più sono  i vari corsi che tengo in giro per l’Italia. La scorsa settimana ad esempio ho tenuto un corso base di sviluppo &#8230; <a href="http://mondora.com/condivisione-di-un-esperienza-personale/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://mondora.com/wp-content/uploads/2013/03/url.png"><img class="alignleft  wp-image-7176" alt="url" src="http://mondora.com/wp-content/uploads/2013/03/url.png" width="514" height="161" /></a></p>
<p>Nella mia permanenza in azienda uno degli aspetti che piu mi interessano e da cui imparo di più sono  i vari corsi che tengo in giro per l’Italia. La scorsa settimana ad esempio ho tenuto un corso base di sviluppo di applicazioni sul sistema operativo Android; il training è durato cinque giorni ed ha coperto un’ampia serie di argomenti piu o meno complessi. Nella preparazione ho cercato di elaborare materiale su un vasto numero di argomenti in modo da coprire tutti gli argomenti di interesse. Il numero dei partecipanti era abbastanza elevato, 14 persone, la maggiorparte con una buona conoscenza di Java e, tranne in due casi, con nessuna esperienze gia maturata nello sviluppo su Android. La dimestichezza con Java era l’unico requistito che avevo richiesto ai partecipanti in quanto è il linguaggio principale con cui vengono sviluppate le applicazioni. Personalmente questo era il terzo corso che tenevo sull’argomento, i temi trattati non erano gli stessi che mi erano stati richiesti negli altri interventi, quindi ho dovuto redarre nuovo materiale per una buona metà del corso. Invece per quanto riguarda l’esperienza come sviluppatore su piattaforma Android questa si riassume nello sviluppo di  conversioni di web application direttamente su applicazioni Android. Come organizzazione generale delle tempo ho preferito iniziare la giornata con una parte teorica per continuare nel pomeriggio con una sezione pratica composta da esempi ed esercizi da svolgere insieme ai partecipante o da far svolgere in maniere autonoma. Questa suddivisione mi ha permesso di mantenere il corso interessante e mai troppo pesante e noioso per il mio pubblico. In questo senso l’omogeneità delle skills dei partecipanti e in generale il loro interesse all’argomento mi hanno permesso di dipanare senza particolari problemi tutte le sezioni che avevo preparato e di confermarne l’apprendimento grazie alle esercitazioni svolte nel pomeriggio. Sin dal primo giorno ho stabilito un buon rapporto con i partecipanti, definendo da subito qualli argomenti avrei trattato e quali argomenti fossero per loro di maggior interesse. In particolare ho definito un elenco di temi facendomeli suggerire e indirizzando le richieste concentrandole sui soggetti che avevo già preparato. <img class="size-full wp-image-7159 alignleft" alt="java-android" src="http://mondora.com/wp-content/uploads/2013/03/java-android.png" width="200" height="216" />I cinque giorni sono passati abbastanza velocemente: grazie alla vastità dell’argomento trattato (il sitema operativo Android e lo sviluppo di applicazioni per esso è un argomento veramente ampio) non mi sono dovuto soffermare su nessun tema in particolare riuscendo a presentare ogni sezione in modo semplice e soprattutto riuscendo a realizzare esempi ed esercizi sempre brevi e semplici nella comprensione. Se mi fossi addentrato troppo in un singolo argomento avrei corso sicuramente due rischi, il primo è un ovviamente un eccessiva perdita di tempo e il secondo è una difficoltà magiore nello spiegare concetti più complessi e meno lineari, e di conseguenza un calo nell’attenzione dei partecipanti. Al termine della settimana le reazioni del cliente sono state buone, tutti i partecipanti hanno espresso un giudizio positivo sulla metodologia utilizzata nell’esporre gli argomenti e nel complesso i concetti fondamentali che è voluto passare sono stati recepiti ed integrati. Com’è ovvio ci sono state anche delle critiche, ad esempio due argomenti che ho esposto erano più inerenti al mondo Java che all’ambiente Android, e quindi sono risultati un po’ noiosi e ripetitivi, soprattutto per un pubblico che è abitutato a lavorare quotidianamente in questi ambiti. La soluzione nel mio caso è stata quella di trattare in modo veloce queste sezioni senza soffermarmi troppo. Posso a questo punto delineare dei lati positivi e alcuni aspetti da approfondire per i futuri training: di buono c’è sicuramente la divisione della giornata in una prima parte teorica e una seconda parte pratica. In più lo svolgere esercizi sugli argomenti trattati la mattina permette di cofermare l’apprendimento e fissare i concetti chiave nella mente. Durante lo svolgimento delle esercitazioni e quindi nella messa in pratica della teoria appresa sono giustamente sorti anche dubbi e domande che hanno portato i partecipanti ad una maggior comprensione dell’argomento. Da migliorare invece c’è la conoscenza del pubblico al quale vado ad esporre i temi, con particolare riguardo alle skills individuali e una definizione ancora più precisa degli argomenti da trattare in modo da andare a coprire in maniera puntuale le richieste del cliente.</p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/condivisione-di-un-esperienza-personale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Governare uno sprint: il burndown chart</title>
		<link>http://mondora.com/governare-uno-sprint-il-burndown-chart/</link>
		<comments>http://mondora.com/governare-uno-sprint-il-burndown-chart/#comments</comments>
		<pubDate>Fri, 22 Feb 2013 15:14:36 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[burndown]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[metodologia]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[stress]]></category>
		<guid isPermaLink="false">http://mondora.com/?p=7147</guid>
		<description><![CDATA[Durante lo sprint planning meeting, il team identifica e produce delle stime per alcuni specifici task che sono obiettivo dello sprint a venire. Da qui lo Sprint Backlog. Quindi mentre lo sprint procede, le persone del team ridefiniscono i propri &#8230; <a href="http://mondora.com/governare-uno-sprint-il-burndown-chart/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Durante lo sprint planning meeting, il team identifica e produce delle stime per alcuni specifici task che sono obiettivo dello sprint a venire. Da qui lo Sprint Backlog. Quindi mentre lo sprint procede, le persone del team ridefiniscono i propri task, e continuamente la mole di lavoro rimanente dello sprint viene ricalcolata, con la tendenza a diminuire. Si può dire che se la quantità di lavoro rimasta nel backlog è zero alla fine dello sprint, allora lo sprint si è completato con successo.</p>
<p>Si è già detto che gli item presi dal product backlog ed esplosi nello sprint backlog dal team durante lo sprint planning meeting sono fissati, ma lo sprint backlog può comunque subire cambiamenti durante lo sprint a causa di diversi motivi:</p>
<ul>
<li>Le persone del team ottengono maggior conoscenza e chiarezza dei task nel momento in cui iniziano a lavorarli e può nascere così l’esigenza di aggiungere ulteriori task che appunto non erano stati considerati o immaginati, allo sprint backlog.</li>
</ul>
<ul>
<li>Possono nascere bug o defects segnalati come task aggiuntivi. Anche se questi possono essere considerati come lavoro non compiuto su task lavorati da qualcuno infatti, può essere utile o necessario tenerne traccia separatamente.</li>
</ul>
<ul>
<li>Nel caso in cui il product owner lavori a stretto contatto col team durante lo sprint per aiutare a comprendere meglio le funzionalità obiettivo dello sprint, potrebbero venir fuori piccoli miglioramenti che non allungano in maniera evidente lo sprint ma che danno valore al cliente.</li>
</ul>
<p>&nbsp;</p>
<p>Il burndown chart è lo strumento con la quale il team, lo scrum master e il product owner possono costantemente monitorare l’andamento dello sprint, con una curva che rappresenta la quantità di lavoro rimanente nel tempo.</p>
<p>Viene aggiornato quotidianamente dallo scrum master sulla base di quanto è stato modificato sullo sprint backlog dal team. Tipicamente è un grafico con una pendenza verso il basso e che segue una traiettoria ideale che raggiunge il valore zero all’ultimo giorno dello sprint. Anche se questo non è sempre vero.</p>
<p>La cosa più importante che mostra il burndown chart al team è il loro progresso nel raggiungimento del goal, non nei termini di tempo speso, ma bensì nei termini di quanto lavoro rimane, mostrando quindi quanto separa il team dal proprio goal.</p>
<p>Se verso la fine dello sprint la curva non sta scendendo verso lo zero, allora il team può prendere una decisione: o aumentare il ritmo o alleggerire il carico di lavoro dello sprint.</p>
<p style="text-align: center;"><img class="size-full wp-image-7148 aligncenter" alt="" src="http://mondora.com/wp-content/uploads/2013/02/Screen-Shot-2013-02-22-at-4.08.13-PM.png" width="380" height="274" /></p>
<p>Il burndown chart è uno strumento semplice ma che è in grado di lanciare tanti segnali.</p>
<p>Purtroppo molte persone tendono a pensare che il burndown chart è uno strumento così semplice che non danno un’appropriata attenzione a capire che cosa sta dicendo. Nonostante sia composto da pochi tratti, può descrivere molteplici situazioni.</p>
<p><img class="alignleft  wp-image-7149" alt="" src="http://mondora.com/wp-content/uploads/2013/02/Screen-Shot-2013-02-22-at-4.01.29-PM.png" width="188" height="134" />Un grafico come quello a fianco, rappresenta una situazione ideale, con un team pienamente in grado di organizzare sè stesso, un product owner cosciente dell’avere uno sprint backlog chiuso a determinate funzionalità, e uno scrum master in grado di aiutare propriamente il team.</p>
<p>&nbsp;</p>
<ol>
<li>In questo caso si può capire che il team è in grado di fornire stime corrette, e che durante lo sprint non è sovra caricato.</li>
</ol>
<p>&nbsp;</p>
<p>Infatti un metro che può essere usato leggendo un burndown chart, è quello che misura lo stress di un team: la porzione di grafico che sta tra la curva ideale e la curva reale quando questa rimane sopra, rappresenta un possibile stress che si sta accumulando nel team. In questo caso, se la situazione dovesse perdurare, lo scrum master o il product owner potrebbero prendere provvedimenti cercando di alleggerire e diminuire lo stress.</p>
<p style="text-align: center;"><a href="http://mondora.com/wp-content/uploads/2013/02/Screen-Shot-2013-02-22-at-4.01.36-PM.png"><img class="size-full wp-image-7150 aligncenter" alt="" src="http://mondora.com/wp-content/uploads/2013/02/Screen-Shot-2013-02-22-at-4.01.36-PM.png" width="433" height="167" /></a></p>
<p>Situazioni descritte da burndown chart come questi due, rivelano che il team non è stato in grado di adattare lo sprint goal al proprio livello. Nel secondo caso, ad esempio, il team non ha completato delle user stories che sono state quindi splittate o spostate al prossimo sprint.Un grafico come quello a fianco, rappresenta una situazione ideale, con un team pienamente in grado di organizzare sè stesso, un product owner cosciente dell’avere uno sprint backlog chiuso a determinate funzionalità, e uno scrum master in grado di aiutare propriamente il team.</p>
<p>In questo caso si può capire che il team è in grado di fornire stime corrette, e che durante lo sprint non è sovra caricato.</p>
]]></content:encoded>
			<wfw:commentRss>http://mondora.com/governare-uno-sprint-il-burndown-chart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
