├── .gitignore ├── formazione-tecnica ├── monitoring-profiling.md ├── http.md ├── ddd.md ├── testing.md ├── polyglot-persistence.md ├── software-architecture.md ├── asynchronous-programming.md ├── README.md ├── functional-programming.md ├── solid-principles.md ├── git.md ├── oop.md └── design-pattern.md ├── cultura-aziendale ├── cynefin-framework.md ├── agile-contracts.md ├── agile-manifesto.md ├── time-management.md ├── README.md ├── soft-skills.md ├── user-stories.md ├── lean-principles.md ├── remote-working.md ├── extreme-programming.md ├── kanban-scrum.md └── agile-retrospective.md ├── README.md └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /formazione-tecnica/monitoring-profiling.md: -------------------------------------------------------------------------------- 1 | Monitoring and Profiling 2 | ------------------------ 3 | 4 | - **Introduction to blackfire profiler**: https://blackfire.io/docs/24-days/index 5 | - **Introduction to sentry**: *missing* 6 | -------------------------------------------------------------------------------- /formazione-tecnica/http.md: -------------------------------------------------------------------------------- 1 | HTTP 2 | ---- 3 | 4 | - **What Every Web Developer Should Know About HTTP** (https://www.amazon.it/Developer-Should-OdeToCode-Programming-English-ebook/dp/B0076Z6VMI/ref=sr_1_fkmr0_1?ie=UTF8&qid=1515142487&sr=8-1-fkmr0&keywords=http+why+every) 5 | - **Introduction to HTTP/2** https://developers.google.com/web/fundamentals/performance/http2/ 6 | -------------------------------------------------------------------------------- /formazione-tecnica/ddd.md: -------------------------------------------------------------------------------- 1 | Domain-driven Design 2 | -------------------- 3 | 4 | - **value object**: https://dzone.com/articles/practical-php-patterns/basic/practical-php-patterns-value 5 | - **named constructor**: http://verraes.net/2014/06/named-constructors-in-php/ 6 | - **repository**: http://designpatternsphp.readthedocs.io/en/latest/More/Repository/README.html 7 | - **command bus**: https://vimeo.com/246059691 8 | -------------------------------------------------------------------------------- /cultura-aziendale/cynefin-framework.md: -------------------------------------------------------------------------------- 1 | Cynefin Framework 2 | --------------- 3 | 4 | - Cynefin Framework by Dave Snowden (https://www.toolshero.com/decision-making/cynefin-framework-dave-snowden/) 5 | - The Cynefin Framework (https://www.youtube.com/watch?v=N7oz366X0-8) 6 | 7 | Approfondimenti 8 | =============== 9 | 10 | - [On Understanding Software Agility](https://cognitive-edge.com/articles/on-understanding-software-agility-a-social-complexity-point-of-view/) 11 | -------------------------------------------------------------------------------- /cultura-aziendale/agile-contracts.md: -------------------------------------------------------------------------------- 1 | # Agile Contracts 2 | 3 | Per un'azienda di Servizi come Flowing è molto importante che i contratti seguano i principi di collaborazione insiti del mindset Agile. Qui di seguito trovi alcuni approfondimenti utili sul tema. 4 | 5 | Approfondimenti 6 | =============== 7 | 8 | - [Extreme Contracts: Il knowledge work dalla negoziazione alla collaborazione](https://www.amazon.it/Extreme-Contracts-knowledge-negoziazione-collaborazione/dp/1973312522) - in particolare il capitolo 24 parla di come è nato il contratto SoR che utilizziamo oggi in Flowing. -------------------------------------------------------------------------------- /cultura-aziendale/agile-manifesto.md: -------------------------------------------------------------------------------- 1 | Manifesto agile 2 | --------------- 3 | 4 | - https://agilemanifesto.org/ 5 | - https://agilemanifesto.org/principles.html 6 | 7 | #### Domande ed esercizi 8 | - Discussione sull'agile manifesto 9 | - Perchè non abbiamo come primo obiettivo quello di seguire il planning? 10 | - Cosa si intende per customer collaboration? 11 | 12 | Approfondimenti 13 | =============== 14 | 15 | **Manifesto agile** 16 | - [7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development](https://www.youtube.com/watch?v=WSes_PexXcA) 17 | -------------------------------------------------------------------------------- /formazione-tecnica/testing.md: -------------------------------------------------------------------------------- 1 | Testing 2 | ------- 3 | 4 | - **modelling by example** di everzet (https://skillsmatter.com/skillscasts/6457-modelling-by-example) 5 | - **TDD by Example** K.Beck : PART 1 obbligatoria, PART 2 e PART 3 facoltative (https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530) 6 | - **Refactoring: Improving the Design of Existing Code**: Capitolo 2: Principles in Refactoring (https://martinfowler.com/books/refactoring.html) 7 | - **Continuous Integration** - articolo originale di Martin Fowler (https://www.martinfowler.com/articles/continuousIntegration.html) 8 | -------------------------------------------------------------------------------- /formazione-tecnica/polyglot-persistence.md: -------------------------------------------------------------------------------- 1 | ## Polyglot persistence 2 | 3 | --- 4 | 5 | - **The future is polyglot persistence** - da dove nascono i nosql e il senso di polyglot persistence (https://martinfowler.com/articles/nosql-intro-original.pdf) 6 | - **Why You Should Never Use MongoDB** - ogni database ha il suo caso d’uso, il titolo è chiaramente troppo estremo (http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/) 7 | 8 | ## Podcasts 9 | 10 | - **Introduzione alla Persistenza Poliglotta** (https://www.spreaker.com/user/dottor/dotnetinpillole-59-persistenzapoliglotta) 11 | -------------------------------------------------------------------------------- /formazione-tecnica/software-architecture.md: -------------------------------------------------------------------------------- 1 | Software architecture 2 | ------------------- 3 | 4 | - **Terminology in Software Architecture:** https://herbertograca.com/2017/07/05/software-architecture-premises/ 5 | - **Architectural Styles vs. Architectural Patterns vs. Design Patterns:** https://herbertograca.com/2017/07/28/architectural-styles-vs-architectural-patterns-vs-design-patterns/ 6 | - **Monolithic Architecture:** https://herbertograca.com/2017/07/31/monolithic-architecture/ 7 | - **Layered Architecture:** https://herbertograca.com/2017/08/03/layered-architecture/ 8 | - **MVC and its alternatives:** https://herbertograca.com/2017/08/17/mvc-and-its-variants/ 9 | -------------------------------------------------------------------------------- /formazione-tecnica/asynchronous-programming.md: -------------------------------------------------------------------------------- 1 | Asynchronous Programming 2 | ------------------------ 3 | 4 | - **The Evolution Of Asynchronous Javascript**, Alessandro Cinelli - Codemotion Milan 2016: 5 | [YouTube](https://www.youtube.com/watch?v=gHZUbCDbkZ4), [slideshare](https://www.slideshare.net/Codemotion/the-evolution-of-asynchronous-javascript-alessandro-cinelli-codemotion-milan-2016) 6 | - **You-Dont-Know-JS, async & performance**: 7 | https://github.com/getify/You-Dont-Know-JS/tree/1st-ed/async%20%26%20performance 8 | - **e-xtrategy javascript-course, async**: 9 | https://github.com/e-xtrategy/javascript-course/tree/master/course/05_js_advanced_2/code/02_async 10 | -------------------------------------------------------------------------------- /cultura-aziendale/time-management.md: -------------------------------------------------------------------------------- 1 | Organizzazione del tempo 2 | ------------------------ 3 | 4 | - [The Pomodoro Technique](http://pomodorotechnique.com/) 5 | - [The difference between time and attention](https://signalvnoise.com/posts/3919-the-difference-between-time-and-attention) 6 | - [Multitasking Is Killing Your Brain](http://www.inc.com/larry-kim/why-multi-tasking-is-killing-your-brain.html) 7 | 8 | ### Domande ed esercizi 9 | - una giornata con la tecnica del pomodoro: organizzare la giornata, segnare i pomodori 10 | - Durante un pomodoro un collega chiede la tua attenzione, cosa fai? 11 | - Hai appena finito un'attività, ma il pomodoro non è ancora finito, cosa fai? 12 | -------------------------------------------------------------------------------- /formazione-tecnica/README.md: -------------------------------------------------------------------------------- 1 | # FORMAZIONE TECNICA 2 | 3 | ## PIANO DI STUDI 4 | 5 | Di seguito il percorso di studi per la **formazione tecnica**. 6 | 7 | - [Object Oriented Programming](./oop.md) 8 | - [SOLID Principles](./solid-principles.md) 9 | - [Testing](./testing.md) 10 | - [HTTP](./http.md) 11 | - [Design Pattern](./design-pattern.md) 12 | - [Domain-Driven Design](./ddd.md) 13 | - [Software Architecture](./software-architecture.md) 14 | - [Asynchronous Programming](./asynchronous-programming.md) 15 | - [Monitoring and Profiling](./monitoring-profiling.md) 16 | - [Polyglot Persistence](./polyglot-persistence.md) 17 | - [Functional Programming](./functional-programming.md) 18 | - [Git](./git.md) 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | FORMAZIONE 2 | ========== 3 | 4 | In Flowing la cultura aziendale gioca una componente importante. I principi agili e lean, l'apprendimento continuo, la ricerca del valore per il cliente senza sacrificare la qualità sono punti di distinzione di Flowing stessa rispetto a buona parte delle realtà italiane. 5 | 6 | Per continuare a mantenere questi principi e valori è necessario pensare ad un percorso che da una parte aiuti i nuovi arrivati ad allinearsi alla cultura aziendale e dall'altra fornisca a chi già è all'interno di Flowing un percorso stimolante per migliorare ed aggiornare le proprie capacità. 7 | 8 | ## [CULTURA AZIENDALE](./cultura-aziendale/) 9 | ## [FORMAZIONE TECNICA](./formazione-tecnica/) 10 | -------------------------------------------------------------------------------- /cultura-aziendale/README.md: -------------------------------------------------------------------------------- 1 | # CULTURA AZIENDALE 2 | 3 | ## PIANO DI STUDI 4 | 5 | Di seguito il percorso di studi per l'**allineamento culturale**. Le varie sezioni andrebbero affrontate nell'ordine in cui sono presentate. 6 | 7 | - [Manifesto Agile](./agile-manifesto.md) 8 | - [Contratti Agili](./agile-contracts.md) 9 | - [Organizzazione del tempo](./time-management.md) 10 | - [Kanban e Scrum](./kanban-scrum.md) 11 | - [eXtreme Programming](./extreme-programming.md) 12 | - [User Stories](./user-stories.md) 13 | - [Retrospettiva Agile](./agile-retrospective.md) 14 | - [Lean Startup](./lean-principles.md) 15 | - [Cynefin Framework](./cynefin-framework.md) 16 | - [Lavoro da remoto](./remote-working.md) 17 | - [Soft Skill](./soft-skills.md) 18 | -------------------------------------------------------------------------------- /cultura-aziendale/soft-skills.md: -------------------------------------------------------------------------------- 1 | Soft skill 2 | ---------- 3 | 4 | - result oriented: http://whenihavetime.com/2015/04/10/start-with-the-result/ (**in fase di review**) 5 | - give it 5 minutes: https://signalvnoise.com/posts/3124-give-it-five-minutes (**in fase di review**) 6 | - https://buffer.com/tone-guide (**in fase di review**) 7 | - https://open.buffer.com/no-complaining/ (**in fase di review**) 8 | - https://medium.com/@rhysys/no-dickheads-a-guide-to-building-happy-healthy-and-creative-teams-7e9b049fc57d#.gdbktnfcr (**in fase di review**) 9 | - http://www.amazon.com/Nonviolent-Communication-Language-Life-Changing-Relationships/dp/189200528X/ref=sr_1_1?s=books&ie=UTF8&qid=1458835548&sr=1-1&keywords=nonviolent+communication (**in fase di review**) 10 | -------------------------------------------------------------------------------- /formazione-tecnica/functional-programming.md: -------------------------------------------------------------------------------- 1 | Functional programming 2 | ---------------------- 3 | 4 | - **Introduction to Immutable.js and Functional Programming Concepts**: https://auth0.com/blog/intro-to-immutable-js/ 5 | - **So You Want to be a Functional Programmer**: (e relative parti 2, 3, 4, 5, 6) - serie di articoli che introducono ai concetti base della programmazione funzionale. E’ utile per chi non conosce per niente il paradigma (https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536) 6 | - **Master the JavaScript Interview: What is Functional Programming?**: un po’ più avanzato di quello precedente (https://medium.com/javascript-scene/master-the-javascript-interview-what-is-functional-programming-7f218c68b3a0) 7 | - **Collection Pipelines in PHP**: intro alla programmazione funzionale per php (https://www.schmengler-se.de/en/2016/12/collection-pipelines-in-magento/) 8 | -------------------------------------------------------------------------------- /formazione-tecnica/solid-principles.md: -------------------------------------------------------------------------------- 1 | ## Solid Principles 2 | 3 | --- 4 | 5 | - **principles** (https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design#:~:text=S.O.L.I.D%20stands%20for%3A,O%20%2D%20Open%2Dclosed%20principle&text=I%20%2D%20Interface%20segregation%20principle,D%20%2D%20Dependency%20Inversion%20Principle) 6 | 7 | ## Podcasts 8 | 9 | - **SOLID #1 - Single Responsibility Principle** (https://www.spreaker.com/user/dottor/solid-1-single-responsibility-principle) 10 | - **SOLID #2 - Open/Closed principle** (https://www.spreaker.com/user/dottor/solid-2-open-closed-principle) 11 | - **SOLID #3 - Liskov Substitution Principle** (https://www.spreaker.com/user/dottor/solid-3-liskov-substitution-principle) 12 | - **SOLID #4 - Interface Segregation Principle** (https://www.spreaker.com/user/dottor/solid-4-interface-segregation-principle-) 13 | - **SOLID #5 - Dependency Inversion Principle** (https://www.spreaker.com/user/dottor/solid-5-dependency-inversion-principle) 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Flowing 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /cultura-aziendale/user-stories.md: -------------------------------------------------------------------------------- 1 | User stories 2 | ------------ 3 | - [Cosa è una User Story](https://www.ideato.it/technical-articles/user-stories-una-guida-pratica) post sintetico su come scrivere una User Story 4 | - [User stories applied](https://www.amazon.it/User-Stories-Applied-Development-Addison-Wesley-ebook/dp/B0054KOL74) 5 | - capitoli sulle user stories: 1, 2, 4, 7, 13, 14 6 | - capitoli sul planning: 8, 9, 10 ,11 7 | 8 | #### Domande ed esercizi 9 | - scrivere user stories 10 | - split di user stories 11 | - planning poker 12 | - stime 13 | - Quando ti prendi in carico una user story, qual è la prima cosa da fare? 14 | - Cosa significa INVEST? 15 | - Immagina di dover pianificare lo sviluppo di un clone (semplificato) di twitter, come lo divideresti in storie? 16 | 17 | Approfondimenti 18 | =============== 19 | 20 | **User stories** 21 | - [How to prioritize a backlog](http://www.redotheweb.com/2013/07/12/how-to-prioritize-scrum-backlog.html) Come prioritizzare un backlog (**ha bisogno di review**) 22 | - [The hambuger method](https://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/) Come implementare una User Story 23 | -------------------------------------------------------------------------------- /cultura-aziendale/lean-principles.md: -------------------------------------------------------------------------------- 1 | Principi lean startup 2 | --------------------- 3 | 4 | - [Lean startup](https://www.amazon.it/Lean-Startup-Entrepreneurs-Continuous-Innovation-ebook/dp/B004J4XGN6) 5 | 6 | Part One: VISION 7 | 1) Start 8 | 2) Define 9 | 3) Learn 10 | 4) Experiment 11 | 12 | - Experiment board: [example](https://www.youtube.com/watch?v=-_MH8TENpwc) [explanation](https://www.youtube.com/watch?v=F-5Iyj9A1MU) 13 | - [Start small, Stay small: A develper's guide to launching a startup](https://www.amazon.it/Start-Small-Stay-Developers-Launching-ebook/dp/B003YH9MMI) 14 | - capitoli 1, 2, 3 ,4 15 | - [Lean, A3 e kaizen](https://vimeo.com/32509793) (video 40min) Claudio Perrone 16 | 17 | ### Domande ed esercizi 18 | 19 | - Un cliente vuole fare un sito che permette agli utenti di comprare cibo da ristoranti take away, come gli consigli di procedere? 20 | - In quali casi non è adatto usare il metodo lean startup? 21 | - Cos'è un ciclo Build-Measure-Learn? 22 | - Cos'è un MVP? 23 | 24 | Approfondimenti 25 | =============== 26 | 27 | **Principi lean startup** 28 | - [Pretotyping](http://www.pretotyping.org/): tecniche per velocizzare il lancio di prodotti 29 | -------------------------------------------------------------------------------- /cultura-aziendale/remote-working.md: -------------------------------------------------------------------------------- 1 | Lavoro da remoto 2 | ---------------- 3 | 4 | - [Remote working per un imprenditore, istruzioni all'uso](https://www.youtube.com/watch?v=thAvcDrf870) (video 1h) Talk di fullo codemotion 5 | 6 | - [Smart Working / Remote Working: cosa abbiamo imparato facendolo (Virtual Meetup by Avanscoperta)](https://www.youtube.com/watch?v=MrJoDoQ5xEg) 7 | 8 | - [Remote working: come lavorare da casa ed essere felice (con Emanuela Damiani - Avanscoperta Meetup)](https://www.youtube.com/watch?v=K5DT3pkNHHI) 9 | 10 | - [Remote Working: 9 years of lessons learnt - #DevFestVeneto19](https://www.youtube.com/watch?v=DyMG6QsroVU&) 11 | 12 | - [How to improve your remote work routine during COVID-19 - Voxnest Blog](https://blog.voxnest.com/how-to-improve-your-remote-work-routine-during-covid-19/) 13 | 14 | - [Talento + Metodo + Cultura. Scalare il miglior team di Experience Design d’Italia.](https://medium.com/sketchin-it/talento-metodo-cultura-scalare-il-miglior-team-di-experience-design-ditalia-4720c82b6596) 15 | 16 | ### Domande ed esercizi 17 | - la pratica di XP "sit together" e il lavoro da remoto non sono in contraddizione? 18 | 19 | 20 | Approfondimenti 21 | =============== 22 | 23 | **Lavoro da remoto** 24 | - [Remote: Office not required](https://37signals.com/remote) 25 | -------------------------------------------------------------------------------- /cultura-aziendale/extreme-programming.md: -------------------------------------------------------------------------------- 1 | eXtreme Programming 2 | ------------------- 3 | 4 | - [Extreme programming explained embrace change](https://www.amazon.it/dp/B00N1ZN6C0/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1) 5 | 6 | Capitoli da studiare: 7 | 8 | 1) What is XP 9 | 2) Learning to drive 10 | 3) Values, principles, practices 11 | 4) Values 12 | 5) Principles 13 | 6) Practices 14 | 7) Primary Practices 15 | 12) Planning 16 | 17 | #### Domande ed esercizi 18 | - Qual è l'idea di base dietro XP? 19 | - Che differenza c'è tra valori, principi, pratiche? 20 | - Discussione su valori, principi, pratiche 21 | - Perchè si lavora ad iterazioni? 22 | - Ti accorgi che sei in ritardo di un paio di settimane rispetto alla deadline, cosa fai? 23 | - quali sono le differenze rispetto tra xp, scrum e kanban? 24 | 25 | Approfondimenti 26 | =============== 27 | 28 | **eXtreme Programming** 29 | - [Scrum e Xp dalla trincea](http://www.infoq.com/minibooks/scrum-xp-from-the-trenches-2) 30 | - [The Clean Coder](http://www.amazon.it/The-Clean-Coder-Professional-Programmers/dp/0137081073) di Uncle Bob sulla professione del programmatore 31 | - [Modern eXtreme Programming](http://benjiweber.co.uk/blog/2015/04/17/modern-extreme-programming/) cosa è cambiato da quando è uscito eXtreme Programming 32 | -------------------------------------------------------------------------------- /formazione-tecnica/git.md: -------------------------------------------------------------------------------- 1 | Git 2 | --- 3 | - [Reset, Checkout, Revert](https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting) 4 | - [Log](https://www.atlassian.com/git/tutorials/git-log) 5 | - [Rebase vs Merge](https://www.atlassian.com/git/tutorials/merging-vs-rebasing) 6 | - Diversi tipi di Workflow con git 7 | - [Centralized Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/centralized-workflow) 8 | - [Feature Branch Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) 9 | 10 | - [Learn Git Branching](http://pcottle.github.io/learnGitBranching/) tool grafico che mostra a livello visuale i comandi git 11 | - [Git cheatsheet](http://ndpsoftware.com/git-cheatsheet.html) guida visuale sui vari comandi 12 | 13 | #### Domande ed esercizi 14 | - corso git di ideato (1gg o 1/2 giornata) 15 | - quali sono le caratteristiche principali di git? 16 | - quali flussi di sviluppo di possono implementare con git? 17 | - Quali sono le differenze tra merge e rebase? 18 | 19 | Approfondimenti 20 | =============== 21 | 22 | **Git** 23 | - [Pro git](https://git-scm.com/book/en/v2) il libro ufficiale, utile come riferimento (capitoli interessanti 1, 2, 3, 5, 7.3) 24 | - [Git For Ages 4 And Up](https://www.youtube.com/watch?v=3m7BgIvC-uQ) (video 1h 40min) una spiegazione molto base (ma anche molto lenta) di come funziona git 25 | -------------------------------------------------------------------------------- /formazione-tecnica/oop.md: -------------------------------------------------------------------------------- 1 | Object Oriented Programming 2 | --------------------------- 3 | 4 | - **Refactoring: Improving the Design of Existing Code (M. Fowler)**: capitolo 3: bad smells in code 5 | - **Unbreakable Domain Models** - your entity should map your domain, not just your database table (https://www.youtube.com/watch?v=ZJ63ltuwMaE) 6 | - **Fat models must die** - some suggestions to take off behavior from your models with some good OOP (https://speakerdeck.com/stefanoverna/fat-models-must-die) 7 | - **Clean Code** (https://www.amazon.it/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=sr_1_1?ie=UTF8&qid=1516637947&sr=8-1&keywords=clean+code): 8 | - capitolo 2 (naming) 9 | - capitolo 3 (funzioni) 10 | - capitolo 6 (oggetti) 11 | - capitolo 10 (classi) 12 | - **Domain Driven Design**: capitolo 2 (ubiquitous language): utile per approfondire aggregati, bounded contexts, value objects, entity, ecc (https://www.amazon.it/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=sr_1_1?s=english-books&ie=UTF8&qid=1516638297&sr=1-1&keywords=domain+driven+design) 13 | - **The pragmatic programmer** (https://www.amazon.it/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?s=english-books&ie=UTF8&qid=1516638367&sr=1-1&keywords=the+pragmatic+programmer) 14 | - **OOP JS by HackReactor** (https://eu.udacity.com/course/object-oriented-javascript--ud015) 15 | -------------------------------------------------------------------------------- /formazione-tecnica/design-pattern.md: -------------------------------------------------------------------------------- 1 | Design Pattern 2 | --------------- 3 | 4 | - **builder**: http://designpatternsphp.readthedocs.io/en/latest/Creational/Builder/README.html 5 | - **factory method**: http://designpatternsphp.readthedocs.io/en/latest/Creational/FactoryMethod/README.html 6 | - **adapter**: http://designpatternsphp.readthedocs.io/en/latest/Structural/Adapter/README.html 7 | - **decorator**: http://designpatternsphp.readthedocs.io/en/latest/Structural/Decorator/README.html 8 | - **dependency injection**: http://fabien.potencier.org/what-is-dependency-injection.html 9 | - **dependency injection**: https://www.martinfowler.com/articles/injection.html 10 | - **fluent interface http://designpatternsphp.readthedocs.io/en/latest/Structural/FluentInterface/README.html 11 | - **command**: http://designpatternsphp.readthedocs.io/en/latest/Behavioral/Command/README.html 12 | - **null object**: http://designpatternsphp.readthedocs.io/en/latest/Behavioral/NullObject/README.html 13 | - **strategy**: http://designpatternsphp.readthedocs.io/en/latest/Behavioral/Strategy/README.html 14 | - **template method**: http://designpatternsphp.readthedocs.io/en/latest/Behavioral/TemplateMethod/README.html 15 | - **mediator**: http://designpatternsphp.readthedocs.io/en/latest/Behavioral/Mediator/README.html 16 | - **observer**: http://designpatternsphp.readthedocs.io/en/latest/Behavioral/Observer/README.html 17 | - **state**: http://designpatternsphp.readthedocs.io/en/latest/Behavioral/State/README.html 18 | - **DTO**: https://dzone.com/articles/practical-php-patterns/basic/practical-php-patterns-value 19 | -------------------------------------------------------------------------------- /cultura-aziendale/kanban-scrum.md: -------------------------------------------------------------------------------- 1 | 2 | Kanban e Scrum 3 | -------------- 4 | 5 | - [Kanban](http://leankit.com/learn/kanban/) articoli sintetici sul kanban e su come funziona. Articoli utili: 6 | - [Learning Kanban](http://leankit.com/learn/learning-kanban/) i 3 articoli in evidenza (What is Kanban, kanban-board, kanban-card) 7 | - [Kanban System](http://leankit.com/learn/kanban/kanban-system/) 8 | - [Kanban Example](http://leankit.com/learn/kanban/kanban-board-examples-for-development-and-operations/) 9 | - [Kanban Agile](http://leankit.com/learn/kanban/kanban-agile/) 10 | - [Kanban 101](https://www.atlassian.com/agile/kanban) 11 | - Scrum 12 | - [The scrum guide](http://www.scrumguides.org/scrum-guide.html) 13 | - [Scrum 101](https://www.atlassian.com/agile/scrum) 14 | 15 | 16 | ### Domande ed esercizi 17 | - quali sono i principi del kanban? 18 | - quali sono i principi di scrum? 19 | - cosa è il wip e perchè è importante limitarlo? 20 | - kanban pizza game 21 | - [dot gaming](http://www.leansimulations.org/2011/10/lean-dot-game-stick-it-to-man.html) da organizzare in gruppo 22 | - creare e gestire una board kanban con trello in gruppo 23 | - Qual è il WIP dei progetti a cui stai lavorando? 24 | 25 | Approfondimenti 26 | =============== 27 | 28 | **Kanban e Scrum** 29 | - [Kanban = Pillola Viola](https://vimeo.com/32730433) (video 50 min) Gaetano Mazzanti 30 | - [Kanban e Scrum](http://www.infoq.com/minibooks/kanban-scrum-minibook) 31 | - [Kanban essentials for IT](http://leankit.com/blog/2016/02/kanban-essentials-for-it-ops/) (video 1h 3min) leankit 32 | - [Real world kanban](http://leankit.com/blog/2015/11/real-world-kanban/) (video 1h 2min) leankit 33 | - [Agile Project Management with Kanban](https://www.youtube.com/watch?v=CD0y-aU1sXo) (video talk 1h 4min) Talks at Google tenuto da Eric Brechner (Microsoft) 34 | -------------------------------------------------------------------------------- /cultura-aziendale/agile-retrospective.md: -------------------------------------------------------------------------------- 1 | Retrospettiva Agile 2 | ------------ 3 | 4 | - Definizione: **_Una retrospettiva agile è un incontro (fisico o remoto) di solito tenuto ad intervalli regolari da un team. 5 | Durante la retrospettiva, il team riflette su quello che è successo e identifica le azioni per migliorare e risolvere eventuali problemi._** 6 | 7 | - 16 modi semplici di spiegare cos'è una retrospettiva agile (https://luis-goncalves.com/what-is-retrospective-in-agile/) 8 | - Semplice esempio di come può essere strutturata una retrospettiva (https://it.atlassian.com/team-playbook/plays/retrospective) 9 | 10 | 11 | #### Domande ed esercizi 12 | - Perché fare una retrospettiva? 13 | - Quando fare una retrospettiva? 14 | 15 | 16 | Approfondimenti 17 | =============== 18 | 19 | - Una serie di articoli in italiano di Pierluigi Pugliese sul tema delle retrospettive: 20 | - [I parte: La retrospettiva come strumento per il miglioramento continuo](http://www.mokabyte.it/2014/04/retrospective-1/) 21 | - [II parte: Le retrospettive nella letteratura corrente](http://www.mokabyte.it/2014/05/retrospective-2/) _(Il titolo non rende onore all'articolo che citando parti di libri sull'argomento fa dei ragionamento molto utili e interessanti)_ 22 | - [III parte: Come far fallire una retrospettiva](http://www.mokabyte.it/2014/06/retrospective-3/) 23 | - [IV parte: La dinamica di gruppo in una retrospettiva](http://www.mokabyte.it/2014/07/retrospective-4/) 24 | - [V parte: Il cambiamento in un gruppo](http://www.mokabyte.it/2014/09/retrospective-5/) 25 | - [VI parte: Retrospettive incentrate sulla soluzione](http://www.mokabyte.it/2014/10/retrospective-6/) 26 | - [VII parte: Retrospettive basate sulle metafore](http://www.mokabyte.it/2014/11/retrospective-7/) 27 | - [VIII parte: Far funzionare al meglio le retrospettive](http://www.mokabyte.it/2014/12/retrospective-8/) 28 | - [IX parte: Ulteriori consigli ai facilitatori](http://www.mokabyte.it/2015/01/retrospective-9/) 29 | - [X parte: Ultimi consigli per facilitatori e ScrumMaster](http://www.mokabyte.it/2015/02/retrospective-10/) 30 | 31 | - [Agile Retrospective - Making Good Teams Great](https://www.amazon.it/dp/B00B03SRJW/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1) 32 | - Idee per retrospettive (http://www.funretrospectives.com/) 33 | - [Effective retrospective with Rory’s Story Cubes®](https://medium.com/@dymissy/effective-retrospective-with-rorys-story-cubes-72da2d389144) 34 | - [Getting Value out of Agile Retrospectives: A Toolbox of Retrospective Exercises](https://www.amazon.it/Getting-Value-Agile-Retrospectives-Retrospective-ebook/dp/B00SWJO1DI) 35 | 36 | --------------------------------------------------------------------------------