{"id":89330,"date":"2016-06-09T10:39:15","date_gmt":"2016-06-09T08:39:15","guid":{"rendered":"http:\/\/artigianodelsoftware.it\/blog\/?p=89330"},"modified":"2016-06-09T10:39:15","modified_gmt":"2016-06-09T08:39:15","slug":"agile-in-jira-introduzione-ai-concetti-agile","status":"publish","type":"post","link":"https:\/\/artigianodelsoftware.it\/blog\/2016\/06\/09\/agile-in-jira-introduzione-ai-concetti-agile\/","title":{"rendered":"Agile in JIRA &#8211; Introduzione ai concetti AGILE"},"content":{"rendered":"<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-top-right\"><a href=\"javascript: imageToPdf()\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_self\"><img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"Visualizza PDF\" \/><\/a><a href=\"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/89330?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div><blockquote>\n<h1>Agile\u00a0in JIRA &#8211;\u00a0Due chiacchiere su Agile<\/h1>\n<\/blockquote>\n<p>In questo primo post, faremo un giro virtuale sui concetti base e sulla storia su\u00a0<em><strong>Agile<\/strong><\/em>. Parleremo del <em><strong>Manifesto Agile<\/strong><\/em> e dei concetti fondamentali.<\/p>\n<p><a href=\"http:\/\/varunm.com\/wp-content\/uploads\/2015\/04\/agile.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"http:\/\/varunm.com\/wp-content\/uploads\/2015\/04\/agile.png\" width=\"205\" height=\"205\" \/><\/a><\/p>\n<blockquote>\n<h1>In principio era Waterfall&#8230;..<\/h1>\n<\/blockquote>\n<p>Prima dell&#8217;avvento di Agile, lo sviluppo software seguiva le indicazioni di\u00a0<a href=\"https:\/\/it.wikipedia.org\/wiki\/Modello_a_cascata\" target=\"_blank\"><em><strong>Waterfall<\/strong><\/em><\/a>:<\/p>\n<p><a href=\"http:\/\/www.agile-scrum-master-training.com\/agile-project-management\/classic-waterfall-methodology-stages-analysis-design-implementation-testing-deployment-maintenance.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"http:\/\/www.agile-scrum-master-training.com\/agile-project-management\/classic-waterfall-methodology-stages-analysis-design-implementation-testing-deployment-maintenance.png\" width=\"560\" height=\"250\" \/><\/a><\/p>\n<p>Come mostrato dalla immagine, che sicuramente ci sembrer\u00e0 familiare, il processo \u00e8 sequenziale. Si parte dalla <em><strong>analisi<\/strong> <\/em>delle necessit\u00e0 del nostro cliente fino ad arrivare alla <em><strong>implementazione<\/strong> <\/em>e quindi al <em><strong>deploy<\/strong> <\/em>e relativa <em><strong>manutenzione<\/strong><\/em>.<\/p>\n<p>Questa metodologia \u00e8 sicuramente molto semplice da usare e di facile apprendimento, ma presenta una serie di &#8230;. difetti, che cercheremo di dettagliare:<\/p>\n<ul>\n<li><em>Non si adegua ai cambiamenti.\u00a0<\/em><\/li>\n<li><em>Molto rigida<\/em><\/li>\n<li><em>Richiede molto tempo dalla analisi al deploy<\/em><\/li>\n<\/ul>\n<blockquote>\n<h1>Non \u00e8 quello che volevo&#8230;..<\/h1>\n<\/blockquote>\n<p>Questa \u00e8 la frase che quasi sempre ci siamo sentiti dire, dopo tantissimi sforzi e tantissima fatica per realizzare il tutto, a volte con dei tempi molto stretti. Molto spesso il cliente, pieno di speranza, arrivava ad avere un prodotto che non sempre rispecchiava le sue aspettative.<\/p>\n<p><a href=\"http:\/\/news.pmiservizi.it\/wp-content\/uploads\/2015\/06\/customer-experience-300x300.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"http:\/\/news.pmiservizi.it\/wp-content\/uploads\/2015\/06\/customer-experience-300x300.jpg\" width=\"300\" height=\"300\" \/><\/a><\/p>\n<p>In aggiunta, abbiamo anche la delusione degli sviluppatori: Anche loro dicono che hanno seguito le istruzioni dettate dell&#8217;analisi.<\/p>\n<p>Una piccola precisazione:\u00a0non voglio assolutamente criminalizzare la metodologia <em><strong>Waterfall<\/strong><\/em>. Questa metodologia \u00e8 valida nonch\u00e9 semplice da apprendere, ma\u00a0non sempre \u00e8 indicata in determinate situazioni. A tale scopo sono stati introdotti i concetti di <em><strong>Agile\u00a0<\/strong><\/em>che ben si prestano nella realizzazione di\u00a0un software (e non solo)\u00a0destinato a crescere. Vediamo in primo dettaglio \ud83d\ude00<\/p>\n<blockquote>\n<h1>Cosa introduce Agile?<\/h1>\n<\/blockquote>\n<p>Agile introduce diversi nuovi concetti che sono riassunti nel <a href=\"http:\/\/agilemanifesto.org\/iso\/it\/manifesto.html\" target=\"_blank\">Manifesto Agile<\/a>, come mostrato nella seguente figura:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-89413\" src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/05\/Agile-02-01.png\" alt=\"Agile-02-01\" width=\"908\" height=\"464\" srcset=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/05\/Agile-02-01.png 908w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/05\/Agile-02-01-300x153.png 300w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/05\/Agile-02-01-768x392.png 768w, https:\/\/artigianodelsoftware.it\/blog\/wp-content\/uploads\/2016\/05\/Agile-02-01-619x316.png 619w\" sizes=\"(max-width: 908px) 100vw, 908px\" \/><\/p>\n<p>Questi concetti sono da considerare come le nostre tavole della legge dei 10 comandamenti. Sono le fondamenta di tutto l&#8217;approccio. Si da maggiore importanza ai 4 concetti espressi, in particolare alle parole a sinistra in quanto sono i pilastri su cui ci poggiamo.<\/p>\n<p>Il tutto si sviluppa\u00a0in ben 12 punti, che andiamo a dettagliare:<\/p>\n<ul>\n<li><span style=\"font-size: small;\">La nostra massima priorit\u00e0 \u00e8 soddisfare il cliente<br \/>\nrilasciando software di valore, fin da subito<br \/>\ne in maniera continua.<\/span><\/li>\n<li><span style=\"font-size: small;\">Accogliamo i cambiamenti nei requisiti,<br \/>\nanche a stadi avanzati dello sviluppo.<br \/>\nI processi agili sfruttano il cambiamento<br \/>\na favore del vantaggio competitivo del cliente.<\/span><\/li>\n<li><span style=\"font-size: small;\">Consegnamo frequentemente software funzionante,<br \/>\ncon cadenza variabile da un paio di settimane a un paio di mesi,<br \/>\npreferendo i periodi brevi.<\/span><\/li>\n<li><span style=\"font-size: small;\">Committenti e sviluppatori devono lavorare insieme<br \/>\nquotidianamente per tutta la durata del progetto.<\/span><\/li>\n<li><span style=\"font-size: small;\">Fondiamo i progetti su individui motivati.<br \/>\nDiamo loro l&#8217;ambiente e il supporto di cui hanno bisogno<br \/>\ne confidiamo nella loro capacit\u00e0 di portare il lavoro a termine.<\/span><\/li>\n<li><span style=\"font-size: small;\">Una conversazione faccia a faccia<br \/>\n\u00e8 il modo pi\u00f9 efficiente e pi\u00f9 efficace per comunicare<br \/>\ncon il team ed all&#8217;interno del team.<\/span><\/li>\n<li><span style=\"font-size: small;\">Il software funzionante \u00e8 il principale metro di misura di progresso.<\/span><\/li>\n<li><span style=\"font-size: small;\">I processi agili promuovono uno sviluppo sostenibile.<br \/>\nGli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado<br \/>\ndi mantenere indefinitamente un ritmo costante.<\/span><\/li>\n<li><span style=\"font-size: small;\">La continua attenzione all&#8217;eccellenza tecnica<br \/>\ne alla buona progettazione esaltano l&#8217;agilit\u00e0.<\/span><\/li>\n<li><span style=\"font-size: small;\">La semplicit\u00e0 &#8211; l&#8217;arte di massimizzare la quantit\u00e0<br \/>\ndi lavoro non svolto &#8211; \u00e8 essenziale.<\/span><\/li>\n<li><span style=\"font-size: small;\">Le architetture, i requisiti e la progettazione<br \/>\nmigliori emergono da team che si auto-organizzano.<\/span><\/li>\n<li><span style=\"font-size: small;\">A intervalli regolari il team riflette su come<br \/>\ndiventare pi\u00f9 efficace, dopodich\u00e9 regola e adatta<br \/>\nil proprio comportamento di conseguenza.<\/span><\/li>\n<\/ul>\n<p>Fondamentalmente, cambiamo il nostro modo di ragionare e di approcciare i problema: Non abbiamo dei tempi biblici per rilasciare il software o dei passi rigidi per i quali blocchiamo lo sviluppo. Identifichiamo le varie funzionalit\u00e0 che compongono l&#8217;applicativo e le andiamo a rilasciare al pi\u00f9 ogni due\/quattro settimane.<\/p>\n<p>Confronto continuo, semplicit\u00e0 sulle fasi di sviluppo, accoglimento del cambiamento come qualcosa di positivo. Costruiamo l&#8217;applicativo un pezzo alla volta, facendolo crescere in modo da aumentare le potenzialit\u00e0 del gruppo di lavoro.<\/p>\n<p>Abbiamo anche un vantaggio molto importante, o effetto collaterale se vogliamo: La QUALITA&#8217; aumenta perch\u00e9:<\/p>\n<ul>\n<li>Si rilascia sempre un software funzionante, anche perch\u00e9 ne rilasciamo sempre una porzione per volta<\/li>\n<li>il cliente controlla sempre se rispetta le richieste e verifica subito se effettivamente le sue esigenze sono ricoperte.<\/li>\n<\/ul>\n<p>Interazione faccia a faccia costante dei vari elementi del team di sviluppo. \u00a0Come gli ingranaggi di una grande macchina, i vari elementi del team di sviluppo devono lavorare in sintonia ed in tranquillit\u00e0, dando il massimo di loro stessi. Questo significa che la comunicazione deve essere sempre aperta e costante. \ud83d\ude42<\/p>\n<p>In aggiunta cambiano i concetti di responsabile e di ruoli, come esiste in Waterfall. Non un unico responsabile, che comanda e che risponde di tutto, ma tutti sono responsabili di una intera sprint e del successo\/insuccesso.<\/p>\n<blockquote>\n<h1>Ed il cliente?<\/h1>\n<\/blockquote>\n<p>Lo coinvolgiamo totalmente, come anticipato in precedenza. Ad ogni rilascio gli viene viene richiesto un feedback, un\u00a0contributo sulle operazioni e che gli da la possibilit\u00e0 di verificare quanto pronto.<\/p>\n<p>In questo modo gli diamo sempre\u00a0la possibilit\u00e0 di poter verificare direttamente\u00a0i progressi, vedere l&#8217;applicativo crescere e &#8230; importantissimo &#8230;. non ce lo troviamo tra capo e collo ogni 5 minuti che chiede: <em><strong>Quando sar\u00e0 pronto l&#8217;applicativo??<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.leonardoacque.it\/wp-content\/uploads\/2014\/11\/Clienti-soddisfatti.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"http:\/\/www.leonardoacque.it\/wp-content\/uploads\/2014\/11\/Clienti-soddisfatti.jpg\" width=\"593\" height=\"205\" \/><\/a><\/p>\n<p>Il Cliente\u00a0diventa un valido alleato nello sviluppo del software.<\/p>\n<blockquote>\n<h1>Differenze con il Waterfall?<\/h1>\n<\/blockquote>\n<p>Diamo una occhiata a questa immagine:<\/p>\n<p><a href=\"http:\/\/www.venveo.com\/uploads\/ee-images\/agile_vs_waterfall_traditional.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"http:\/\/www.venveo.com\/uploads\/ee-images\/agile_vs_waterfall_traditional.png\" width=\"554\" height=\"346\" \/><\/a><\/p>\n<p>che ci fornisce un confronto tra le due metodologie: Waterfall Vs Agile. Vediamo che Agile meglio si adatta alle situazioni in cui il cambiamento \u00e8 alto. I problemi vengono scoperti molto pi\u00f9 velocemente, anche grazie all&#8217;intervento del cliente che, collaborando a stretto gomito con gli sviluppatori, aiutano nella risoluzione.<\/p>\n<blockquote>\n<h1>Kanban, Scrum, scrumban, &#8230;<\/h1>\n<\/blockquote>\n<p>Sono le varie metodologie che sono nate e si sono sviluppate. Queste saranno esaminate, leggermente in dettaglio, nei prossimi post dedicati a questa serie\u00a0<strong><em>AGILE in JIRA<\/em><\/strong>.<\/p>\n<blockquote>\n<h1>References<\/h1>\n<\/blockquote>\n<p>Suggeriamo le seguenti letture:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.scrumguides.org\/docs\/scrumguide\/v1\/Scrum-Guide-ITA.pdf#zoom=100\" target=\"_blank\">La guida a Scrum (In Italiano)<\/a><\/li>\n<li><a href=\"http:\/\/www.scrumguides.org\/\" target=\"_blank\">Scrum Guides (Sito web)<\/a><\/li>\n<li><a href=\"http:\/\/agilemanifesto.org\/iso\/it\/manifesto.html\" target=\"_blank\">Manifesto Agile<\/a><\/li>\n<li><a href=\"http:\/\/www.neomobile-blog.it\/kanban-le-basi\/\" target=\"_blank\">Kanban &#8211; le basi<\/a><\/li>\n<\/ul>\n<p>ma non sono le uniche. Qualsiasi contributo \u00e8 sicuramente ben accetto e ringrazio fin da adesso tutti coloro che daranno il loro contributo.<\/p>\n<blockquote>\n<h1>Ringraziamenti<\/h1>\n<\/blockquote>\n<p>Ringraziamenti per l&#8217;aiuto a Michael Forni, che \u00e8 stato un valido supporto nella redazione di questi articoli. Se volete chiedere, domandare o semplicemente fare una domanda spot, riporto di seguito i suoi contatti:<\/p>\n<ul>\n<li>Twitter:\u00a0<em><strong>@MichaelForni<\/strong><\/em><\/li>\n<li>Linkedin:\u00a0<em><strong><a href=\"http:\/\/www.linkedin.com\/in\/michaelforni\" target=\"_blank\" data-saferedirecturl=\"https:\/\/www.google.com\/url?hl=it&amp;q=http:\/\/www.linkedin.com\/in\/michaelforni&amp;source=gmail&amp;ust=1462866372655000&amp;usg=AFQjCNFSaWOSGWqnZ4HCfyRigW0r3N31Gw\">www.linkedin.com\/in\/<wbr \/>michaelforni<\/a><\/strong><\/em><\/li>\n<li>Email:\u00a0<em><strong><a href=\"mailto:michaelforni@gmail.com\" target=\"_blank\">michaelforni@gmail.com<\/a><\/strong><\/em><\/li>\n<\/ul>\n<div class=\"clearfix\"><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'89330','like')\" >Likes<img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/like-dislike-counter-for-posts-pages-and-comments\/images\/up.png\" \/>(<span>0<\/span>)<\/span><span class='ldc-ul_cont' onclick=\"alter_ul_post_values(this,'89330','dislike')\" >Dislikes<img src=\"https:\/\/artigianodelsoftware.it\/blog\/wp-content\/plugins\/like-dislike-counter-for-posts-pages-and-comments\/images\/down.png\" \/>(<span>0<\/span>)<\/span><\/div>","protected":false},"excerpt":{"rendered":"<p>Agile\u00a0in JIRA &#8211;\u00a0Due chiacchiere su Agile In questo primo post, faremo un giro virtuale sui concetti base e sulla storia su\u00a0Agile. Parleremo del Manifesto Agile e dei concetti fondamentali. In principio era Waterfall&#8230;.. Prima dell&#8217;avvento di Agile, lo sviluppo software<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","footnotes":""},"categories":[3,4,14,15,16,17,22],"tags":[31,34,35,70,71,74,75],"_links":{"self":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/89330"}],"collection":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/comments?post=89330"}],"version-history":[{"count":13,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/89330\/revisions"}],"predecessor-version":[{"id":89437,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/posts\/89330\/revisions\/89437"}],"wp:attachment":[{"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/media?parent=89330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/categories?post=89330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artigianodelsoftware.it\/blog\/wp-json\/wp\/v2\/tags?post=89330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}