Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ubuntu & Agile

1,050 views

Published on

Retrospettiva Ubuntera 2004-2010: Agilità come vantaggio competitivo? Breve panoramica sulle metodologie Agili e analisi degli elementi di differenziazione di Ubuntu.

Published in: Leadership & Management
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Ubuntu & Agile

  1. 1. ubuntu & agile Paolo Sammicheli <xdatap1@ubuntu.com>
  2. 2. Perché AGILE ?
  3. 3. Yahoo, 3 yyeeaarr ttrraannssiittiioonn:: 22000055 –– 22000088 RReessuullttss iinn 22000088:: 220000 ssccrruumm tteeaammss wwoorrlldd wwiiddee,, ttoottaall aapppprrooxx.. 11550000++ eemmppllooyyeeeess AAvveerraaggee TTeeaamm VVeelloocciittyy iinnccrreeaassee eessttiimmaatteedd aatt ++3355%% // yyeeaarr DDeevveellooppmmeenntt ccoosstt rreedduuccttiioonn ooff oovveerr UUSSDD 11 mmiilllliioonn // yyeeaarr RROOII oonn ttrraannssiittiioonn aanndd ttrraaiinniinnggss aabboouutt 110000%% iinn ffiirrsstt yyeeaarr http://agilesoftwaredevelopment.com/blog/artem/lessons-yahoos-scrum-adoption
  4. 4. HCL EAI Services Inc. Enterprise application integration services: healthcare, retail, telecommunication, wireless. Source: http://www.slideshare.net/wasitova/agile-adoption-feb-2011
  5. 5. 100 Most Agile Companies Honored (2004) http://www.cio.com/article/368313/100_Most_Agile_Companies_Honored Technology Services Pharmaceuticals Retail/Wholesale Automotive Manufacturing Aerospace Banking/Investment Business/Consumer Services Communications Computer Manufacturing Transportation/Distribution Education Financial services Government Health Care/Health Insurance Insurance Manufacturing/Process Industries Legal Services
  6. 6. COME OTTENERE QUESTI RISULTATI?
  7. 7. COESIONE
  8. 8. COMUNICAZIONE
  9. 9. CADENZA
  10. 10. PRODUTTIVITÀ
  11. 11. QUALITÀ
  12. 12. TRASPARENZA
  13. 13. SPRECHI
  14. 14. VALORE
  15. 15. VALIDATED LEARNING
  16. 16. ITERATIVO
  17. 17. INCREMENTALE
  18. 18. RISCHIO
  19. 19. Manifesto per lo Sviluppo Agile di Software Stiamo scoprendo modi migliori di creare software, sviluppandolo e aiutando gli altri a fare lo stesso. Grazie a questa attività siamo arrivati a considerare importanti Gli individui e le interazioni più che i processi e gli strumenti Il software funzionante più che la documentazione esaustiva La collaborazione col cliente più che la negoziazione dei contratti Rispondere al cambiamento più che seguire un piano Ovvero, fermo restando il valore delle voci a destra, consideriamo più importanti le voci a sinistra.
  20. 20. Modello di sviluppo WATERFALL PLAN ANALYSIS DESIGN CODE TEST DEPLOY ANALYSIS DESIGN CODE TEST PLAN DEPLOY ANALYSIS DESIGN CODE TEST PLAN DEPLOY ANALYSIS DESIGN CODE TEST PLAN DEPLOY Modello di sviluppo AGILE
  21. 21. Principles Methodologies Techniques XP LEAN STARTUP MANAGEMENT 3.0 LEAN PRODUCTION SCRUM KANBAN DSDM ATERN FEATURE DRIVEN DEVELOPMENT Planning Game Test Driven Development Behaviour Driven Development Continuous Integration Continuous Pair Programming Refactoring Small Releases Collective code ownership Sustainable pace Coding standard System metaphor
  22. 22. 2004: GLI ELEMENTI DI NOVITÀ CADENZA Una release ogni sei mesi UNA SOLA VERSIONE Governance comunitaria per la versione a supporto commerciale BRAND Un brand molto inclusivo che ha generato una comunità effervescente dal primo momento
  23. 23. 2004 – 2008: Le differenze software tra le distribuzioni erano minime.
  24. 24. CADENZA, elemento di differenziazione ● Rilasci semestrali ● A partire dal 2006 versione LTS biennale supportata 5 anni. ● Numero di versione con lo schema AA.MM (es: 08.04 = Aprile 2008) ● Sistema di continuous integration e build / test automatizzati ● Transparency: tutto il processo di sviluppo su Launchpad
  25. 25. Codice di Condotta
  26. 26. CODICE DI CONDOTTA Siate premurosi. Il vostro lavoro sarà usato da altre persone, e voi a vostra volta dipenderete dal lavoro degli altri. Ogni decisione presa coinvolgerà utenti e colleghi, e ci aspettiamo che prendiate in considerazione le conseguenze di ogni decisione. Ad esempio, quando siamo in uno stato di "freeze", non fate drammatici upload di nuove versioni di software per sistemi critici, in quanto altre persone sono in fase di test dei sistemi "congelati" e non sono in grado di assorbire grandi variazioni. Siate rispettosi. La comunità Ubuntu ed i suoi membri si rivolgono l'un l'altro con grande rispetto. Ciascuno può realizzare un valido contributo ad Ubuntu. Non possiamo sempre essere d'accordo, ma il disaccordo non è una scusa per un comportamento e per modi scorretti. Potremmo tutti vivere qualche frustrazione talvolta, ma non potremmo mai permettere che tale frustrazione si trasformi in un attacco personale. E' importante ricordare che una comunità dove le persone si sentono a disagio non è una comunità produttiva. Ci aspettiamo che i membri della comunità Ubuntu siano rispettosi sia quando hanno a che fare con altri collaboratori, sia con persone al di fuori del progetto Ubuntu, sia con gli utenti. Siate collaborativi. Ubuntu e Free Software collaborano e lavorano insieme. La collaborazione riduce la ridondanza del lavoro compiuto del mondo Free Software e migliora la qualità del software prodotto. Dovreste tendere a collaborare con altri maintainers Ubuntu, così come con la comunità a monte che è interessata al vostro lavoro. Il vostro lavoro dovrà essere eseguito con trasparenza e le patch per Ubuntu devono essere consegnate alla comunità quando si rendono disponibili, non al rilascio dell'edizione. Se volete lavorare a nuovo codice per progetti esistenti, almeno mantenete informati delle vostre idee e progressi i responsabili di quei progetti. Potrebbe non essere possibile ottenere il consenso circa la corretta implementazione di un'idea, così non sentitevi obbligati ad ottenere un accordo prima di iniziare, ma almeno mantenete informato del vostro lavoro il mondo esterno, e pubblicatelo in modo tale da consentire altri di svolgere prove, discussioni e contribuire ai vostri sforzi. Quando non siete d'accordo, consultate gli altri. Disaccordi, sia politici che tecnici, avvengono ogni giorno e la comunità Ubuntu non ne è esente. L'obiettivo importante non è evitare i disaccordi o le diverse vedute, ma di risolverli costruttivamente. Dovreste sempre tornare alla comunità ed ai suoi processi per cercare consigli e risolvere disaccordi. Ci sono sia il Technical Board che il Community Council che vi aiuteranno a decidere il giusto corso di Ubuntu. Ci sono inoltre diversi Project Teams e Team Leaders, che vi aiuteranno a capire quale direzione potrebbe essere la più accettabile. Se alla fine volete comunque prendere una strada diversa, vi invitiamo a fornire una diversa distribuzione o un set di pacchetti alternativo usando la struttura dell'Ubuntu Package Management, affinchè la comunità possa comunque provare i vostri cambiamenti e le vostre idee, e contribuire alla discussione. Quando non siete sicuri, chiedete. Nessuno sa tutto, e nessuno si aspetta che l'altro sia perfetto nella comunità Ubuntu. Rivolgere domande evita molti problemi lungo il percorso, e quindi le domande sono incoraggiate. Coloro che devono rispondere, dovranno essere reattivi e di grande aiuto. Comunque, nel porre una domanda, occorre avere cura nel rivolgersi al forum appropriato. Domande fuori-tema, come ad esempio una richiesta di supporto in una mailing list di sviluppo distoglie da una discussione produttiva. Lasciate con considerazione. Gli sviluppatori di ogni progetto vanno e vengono, e per Ubuntu non è diverso. Quando lasciate un progetto, del tutto o in parte, fatelo cercando di minimizzare le ripercussioni sul progetto stesso. Ciò significa che dovreste avvisare prima di lasciare e intraprendere le opportune azioni per assicurare che gli altri possano riprendere dal punto da voi lasciato.
  27. 27. CODICE DI CONDOTTA Siate premurosi. Il vostro lavoro sarà usato da altre persone, e voi a vostra volta dipenderete dal lavoro degli altri. Ogni decisione presa coinvolgerà utenti e colleghi, e ci aspettiamo che prendiate in considerazione le conseguenze di ogni decisione. Ad esempio, quando siamo in uno stato di "freeze", non fate drammatici upload di nuove versioni di software per sistemi critici, in quanto altre persone sono in fase di test dei sistemi "congelati" e non sono in grado di assorbire grandi variazioni. Siate rispettosi. La comunità Ubuntu ed i suoi membri si rivolgono l'un l'altro con grande rispetto. Ciascuno può realizzare un valido contributo ad Ubuntu. Non possiamo sempre essere d'accordo, ma il disaccordo non è una scusa per un comportamento e per modi scorretti. Potremmo tutti vivere qualche frustrazione talvolta, ma non potremmo mai permettere che tale frustrazione si trasformi in un attacco personale. E' importante ricordare che una comunità dove le persone si sentono a disagio non è una comunità produttiva. Ci aspettiamo che i membri della comunità Ubuntu siano rispettosi sia quando hanno a che fare con altri collaboratori, sia con persone al di fuori del progetto Ubuntu, sia con gli utenti. Siate collaborativi. Ubuntu e Free Software collaborano e lavorano insieme. La collaborazione riduce la ridondanza del lavoro compiuto del mondo Free Software e migliora la qualità del software prodotto. Dovreste tendere a collaborare con altri maintainers Ubuntu, così come con la comunità a monte che è interessata al vostro lavoro. Il vostro lavoro dovrà essere eseguito con trasparenza e le patch per Ubuntu devono essere consegnate alla comunità quando si rendono disponibili, non al rilascio dell'edizione. Se volete lavorare a nuovo codice per progetti esistenti, almeno mantenete informati delle vostre idee e progressi i responsabili di quei progetti. Potrebbe non essere possibile ottenere il consenso circa la corretta implementazione di un'idea, così non sentitevi obbligati ad ottenere un accordo prima di iniziare, ma almeno mantenete informato del vostro lavoro il mondo esterno, e pubblicatelo in modo tale da consentire altri di svolgere prove, discussioni e contribuire ai vostri sforzi. Quando non siete d'accordo, consultate gli altri. Disaccordi, sia politici che tecnici, avvengono ogni giorno e la comunità Ubuntu non ne è esente. L'obiettivo importante non è evitare i disaccordi o le diverse vedute, ma di risolverli costruttivamente. Dovreste sempre tornare alla comunità ed ai suoi processi per cercare consigli e risolvere disaccordi. Ci sono sia il Technical Board che il Community Council che vi aiuteranno a decidere il giusto corso di Ubuntu. Ci sono inoltre diversi Project Teams e Team Leaders, che vi aiuteranno a capire quale direzione potrebbe essere la più accettabile. Se alla fine volete comunque prendere una strada diversa, vi invitiamo a fornire una diversa distribuzione o un set di pacchetti alternativo usando la struttura dell'Ubuntu Package Management, affinchè la comunità possa comunque provare i vostri cambiamenti e le vostre idee, e contribuire alla discussione. Quando non siete sicuri, chiedete. Nessuno sa tutto, e nessuno si aspetta che l'altro sia perfetto nella comunità Ubuntu. Rivolgere domande evita molti problemi lungo il percorso, e quindi le domande sono incoraggiate. Coloro che devono rispondere, dovranno essere reattivi e di grande aiuto. Comunque, nel porre una domanda, occorre avere cura nel rivolgersi al forum appropriato. Domande fuori-tema, come ad esempio una richiesta di supporto in una mailing list di sviluppo distoglie da una discussione produttiva. Lasciate con considerazione. Gli sviluppatori di ogni progetto vanno e vengono, e per Ubuntu non è diverso. Quando lasciate un progetto, del tutto o in parte, fatelo cercando di minimizzare le ripercussioni sul progetto stesso. Ciò significa che dovreste avvisare prima di lasciare e intraprendere le opportune azioni per assicurare che gli altri possano riprendere dal punto da voi lasciato.
  28. 28. CODICE DI CONDOTTA Siate premurosi. Siate rispettosi. Siate collaborativi. consultate gli altri. chiedete. Lasciate con considerazione.
  29. 29. COLLECTIVE CODE OWNERSHIP
  30. 30. COLLECTIVE CODE OWNERSHIP ● Le altre distribuzioni avevano il ruolo di maintainer. Ogni pacchetto era mantenuti da uno o più maintainer (nel caso di pacchetti complessi) ● Ubuntu divide la gestione tra MAIN (i pacchetti code base, mantenuti dai core-dev) e UNIVERSE (mantenuti dai MOTU) ● Si incentiva la collaborazione di nuovi contributori con la classificazione dei lavori per dimensione (iniziativa bite-size) ● I pacchetti vengono scelti dai volontari su liste automatiche (PULL)
  31. 31. 2004 – 2010: Risultati ● Prima distribuzione Linux per diffusione sul desktop ● Stimati almeno 12 Milioni di Utenti ● Prima distribuzione a stipulare accordi OEM per pre-installazione sui pc (DELL, Lenovo, ecc)
  32. 32. Aprile 2010 - Risultati Wikimedia Visitor Log Analysis Report - Operating Systems http://stats.wikimedia.org/archive/squid_reports/2010-04/SquidReportOperatingSystems.htm Totali Linux Desktop Ubuntu 26.345 74,42% Altri Linux 9.056 25,58% Totale 35.401
  33. 33. Aprile 2010 - Risultati Popularity of Open source Operating systems over time http://shape-of-code.coding-guidelines.com/2013/01/27/popularity-of-open-source-operating-systems-over-time/
  34. 34. QQuuaall''èè iill mmoottiivvoo ddii qquueessttoo ssuucccceessssoo??
  35. 35. Agile in Ubuntu
  36. 36. 12 PRINCIPI AGILI 1) La nostra massima priorità è soddisfare il cliente rilasciando software di valore, fin da subito e in maniera continua. 2) Accogliamo i cambiamenti nei requisiti, anche a stadi avanzati dello sviluppo. I processi agili sfruttano il cambiamento a favore del vantaggio competitivo del cliente. 3) Consegniamo frequentemente software funzionante, con cadenza variabile da un paio di settimane a un paio di mesi,preferendo i periodi brevi. 4) Committenti e sviluppatori devono lavorare insieme quotidianamente per tutta la durata del progetto. ✔ ✔ ✔ ✔ ubuntu ubuntu ubuntu open source
  37. 37. 12 PRINCIPI AGILI 5) Fondiamo i progetti su individui motivati. Diamo loro l'ambiente e il supporto di cui hanno bisogno e confidiamo nella loro capacità di portare il lavoro a termine. 6) Una conversazione faccia a faccia è il modo più efficiente e più efficace per comunicare con il team ed all'interno del team. 7) Il software funzionante è il principale metro di misura di progresso. 8) I processi agili promuovono uno sviluppo sostenibile. Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere indefinitamente un ritmo costante. ✔ ubuntu ✔ ubuntu ✔ open source ✔ubuntu
  38. 38. 12 PRINCIPI AGILI 9) La continua attenzione all'eccellenza tecnica e alla buona progettazione esaltano l'agilità. 10) La semplicità - l'arte di massimizzare la quantità di lavoro non svolto - è essenziale. 11) Le architetture, i requisiti e la progettazione migliori emergono da team che si auto-organizzano. 12) A intervalli regolari il team riflette su come diventare più efficace, dopodiché regola e adatta il proprio comportamento di conseguenza. ✔ open source ✔ ubuntu ✔ open source ✔ubuntu
  39. 39. Tutti i principi Agili si mappano sul metodo di sviluppo di Ubuntu, alcuni anche su un qualsiasi progetto Open Source
  40. 40. AGILE UBUNTU Cadenza, Delivery Frequently CICLO SEMESTRALE Continuous delivery DAILY e WEEKLY BUILD CICLO SEMESTRALE Continuous Integration LAUNCHPAD Automation LAUNCHPAD Collective Code Ownership MOTU, SPONSORING Early Feedback AUTOMAZIONE BUG Pull BITE SIZE MERGE, SYNC & BUG FIX Customer Collaboration DEVELOPER DA ALTRE AZIENDE (Dell, Google, System76, ecc) Retrospettive e Face to Face UBUNTU DEVELOPER SUMMIT Working Agreement CODE OF CONDUCT Policy Visibili ROADMAP su WIKI, CoC, BLUEPRINTs
  41. 41. Conclusione
  42. 42. Se ho torto ed Agile non è il motivo del successo di Ubuntu, pazienza. Potrebbe essere comunque interessante analizzare alcune pratiche Agili che possono essere utili per i Leader della Community.
  43. 43. Se invece ho ragione, allora Ubuntu costituisce un interessante Success Story di applicazione delle metodologie Agili e potremmo continuare ad approfondire l'argomento.
  44. 44. GRAZIE Paolo Sammicheli <xdatap1@ubuntu.com>

×