Generated by All in One SEO Pro v4.9.10, this is an llms-full.txt file, used by LLMs to index the site. # Avanscoperta We are learners!!! ## Pages ### [Progredire](https://www.avanscoperta.it/it/) **Published:** August 24, 2012 **Author:** administrator **Content:** Abbiamo imparato che esistono modi migliori per **sviluppare software**, per organizzare il lavoro e le aziende. Abbiamo scoperto e riscoperto conoscenze indispensabili alla realizzazione di prodotti di **qualità**, apprezzati dagli utenti e costruiti con **orgoglio** da **professionisti** seri ed entusiasti. Abbiamo visto **aziende rivoluzionarie**, e modi di collaborare e di produrre risultati migliori ed in tempi più brevi. Abbiamo conosciuto **pionieri**, **innovatori** e **leader** ed abbiamo abbracciato, sperimentato, condiviso e discusso le loro idee. Abbiamo esplorato **discipline** che sembravano lontane, ma che si sono rivelate sorprendentemente vicine. Abbiamo scoperto nuovi modi di **insegnare**, di **imparare** e di **condividere** le conoscenze. Negli ultimi dieci anni, abbiamo imparato un sacco di cose. Avremmo potuto mettercene cinque, se avessimo saputo come. --- ### [Info - T&Cs](https://www.avanscoperta.it/it/info/) **Published:** August 27, 2015 **Author:** Alessandra Granaudo **Content:** ## **Domande frequenti a cui abbiamo provato a dare risposte** Il team Avanscoperta ha preparato questa pagina informativa per provare a rispondere ad alcune domande frequenti. Se non trovi quello che cercavi, scrivici all’indirizzo . Saremo felici di poterti aiutare. ### **Cosa è incluso nella quota di iscrizione al corso** Per noi è importante che la tua esperienza di apprendimento sia confortevole e arricchente. La quota di iscrizione comprende: - Partecipazione al corso - Accesso ai materiali del corso (se previsti) - Pranzi - Spuntini sani durante le pause mattutine e pomeridiane. La quota non include l’alloggio, le cene, i viaggi o altre spese personali. Ti consigliamo di pianificare in anticipo per vivere al meglio questa esperienza. ### **Paghi di tasca tua?** *Usa il codice UNDERCOVER\_LEARNER per avere uno sconto del 20%!* Se ti stai iscrivendo al corso a titolo personale, e non hai la Partita IVA, c’è una tariffa speciale per te: uno sconto del 20% sul prezzo del biglietto, che potrai ottenere inserendo il codice **UNDERCOVER\_LEARNER** nel campo “Enter promo code”, nella schermata in cui puoi selezionare la quantità dei biglietti (prima di premere il bottone “Checkout”) – vedi sotto. Il codice non può essere utilizzato retroattivamente una volta che l’acquisto è stato completato. Il codice non può essere utilizzato con nessun’altra offerta, ed è valido su tutti i tipi di biglietto. [![How to use a discount code](https://www.avanscoperta.it/wp-content/uploads/2024/11/Undercover-Learner-Avanscoperta-1.png)](https://www.avanscoperta.it/wp-content/uploads/2024/11/Undercover-Learner-Avanscoperta-1.png) ### **IVA** I prezzi evidenziati sono IVA esclusa. L’IVA verrà applicata a seconda del Paese e della forma giuridica del cliente. ### **Termini di pagamento** Per confermare la tua partecipazione al corso, ti chiediamo gentilmente di effettuare il pagamento dell’importo dovuto entro 14 giorni dalla data di emissione della fattura o comunque prima dell’inizio del corso. Gestiamo le registrazioni ai workshop tramite diverse piattaforma online di ticketing per eventi (Eventbrite, Tito, Pretix). Riceverai il biglietto, la conferma di registrazione e tutte le comunicazioni relative ai corsi tramite Eventbrite. ### **Metodi di pagamento** Offriamo diverse opzioni di pagamento: - Carta di credito - PayPal - Bonifico bancario (Seleziona “Fattura” al momento del checkout per utilizzare questa opzione). ### **Sostituzioni e cancellazioni da parte tua** Sappiamo che la vita può riservare imprevisti e che i piani possono cambiare. Se non puoi partecipare al corso, prevediamo due opzioni. **1) Sostituzione**: Se una collega o un collega può partecipare al posto tuo, faccelo sapere per iscritto prima dell’inizio del corso e provvederemo a sostituire il nominativo. **2) Cancellazione**: se per qualsiasi ragione devi annullare la tua partecipazione, ecco cosa devi sapere: - con un preavviso maggiore di 30 giorni, riceverai un rimborso del 100% del costo totale del corso (FULL REFUND). - con un preavviso di 15 – 30 giorni, riceverai un rimborso del 50% del costo totale del corso. - con un preavviso di 0 – 14 giorni, non siamo in grado di garantire un rimborso. Ti consigliamo di comunicarci eventuali cambiamenti il prima possibile per ridurre le spese di cancellazione. ### **Cancellazioni o modifiche da parte nostra** Nel raro caso in cui fosse necessario modificare la sede o le date del corso, faremo del nostro meglio per informarti con il massimo preavviso possibile. Se il luogo o il periodo rivisti non fossero compatibili con le tue esigenze, non preoccuparti: ti rimborseremo il 100% della quota versata. Se, per qualsiasi motivo, dovessimo cancellare completamente il corso, rimborseremo, anche in questo caso, il 100% della quota versata. Ti ricordiamo, tuttavia, che il rimborso non prevede eventuali costi aggiuntivi che potresti aver sostenuto, come le spese di viaggio o altri oneri correlati. Ti ringraziamo per la comprensione. ### Privacy e cookies [Privacy Policy e uso dei dati](https://www.avanscoperta.it/it/informativa-privacy-cookies-e-uso-dei-dati/). ### Dove – Venues Ti stai per iscrivere a uno dei nostri workshop e vuoi sapere dove si svolgono, come arrivarci e dove alloggiare? Qui puoi trovare tutte le info necessarie! [Berlin – Meeet](https://www.avanscoperta.it/location/meeet-mitte-berlin/) [Milano – COMBO](https://www.avanscoperta.it/location/combo/) [Milano – Copernico Milano Centrale](https://www.avanscoperta.it/location/copernico-38-milano-centrale/) [Milano – Copernico Blend Tower](https://www.avanscoperta.it/location/copernico-blend-tower/) [Milano – Copernico Isola For S32](https://www.avanscoperta.it/location/copernico-isola-for-s32/) [Milano – Luiss Hub](https://www.avanscoperta.it/location/milano-luiss-hub/) [Milano – Spazio 78](https://www.avanscoperta.it/location/spazio-78/) [Milano – TAG Calabiana](https://www.avanscoperta.it/location/talent-garden-tag-calabiana/) ### **Scrivici** Vogliamo rendere la tua esperienza il più semplice e gratificante possibile. Per qualsiasi domanda o necessità, non esitare a contattarci via email all’indirizzo info@avanscoperta.it. Non vediamo l’ora di incontrarti al corso! --- ### [Info Tickets - T&Cs](https://www.avanscoperta.it/en/info-tickets/) **Published:** January 19, 2016 **Author:** Alessandra Granaudo **Content:** ##### ## **Thanks for visiting our information page!** The Avanscoperta team created this page to try to answer some frequently asked questions. If you have any doubts, feel free to contact us at . ### **What’s Included in the Course Fee** We want to ensure you have a comfortable and enriching learning experience. Your course fee covers: - Attendance at the course - Access to course materials (if applicable) - Lunches - Healthy refreshments during morning and afternoon breaks. Please note, however, that the course fee does not include accommodation, evening meals, travel, or any other personal expenses you may incur. We recommend planning ahead to make the most of your experience! ### **Paying the ticket out of your own pocket?** *Use the UNDERCOVER\_LEARNER Discount and save 20%!* If you’re paying the ticket out of your own pocket and you don’t have a VAT number, you can get a 20% discount on any tickets and any ticket tiers! How? Just enter the **UNDERCOVER\_LEARNER code** in the field “Enter promo code”, on the screen where you can select the number of tickets (before you hit the “Checkout button”) – see below. This code will not be applied retroactively once the purchase is completed. It cannot be used in conjunction with any other offers/discount codes, and it applies to any ticket tier. [![How to use a discount code](https://www.avanscoperta.it/wp-content/uploads/2024/11/Undercover-Learner-Avanscoperta.png)](https://www.avanscoperta.it/wp-content/uploads/2024/11/Undercover-Learner-Avanscoperta.png) ### **VAT** The course prices shown are exclusive of VAT. VAT will be applied based on the customer’s country and legal entity type. ### **Payment Terms** To confirm your seat in the course, we kindly ask that payment is made within 14 days of the invoice date or before the course start date, whichever comes first. We use Eventbrite, Tito, and Pretix as online ticketing and event registration platforms to manage your workshop registration, send tickets and provide event details to you via email. ### **Payment Options** For your convenience, we accept the following payment methods: - Credit Card - PayPal - Bank Transfer (Select “Invoice” at checkout to use this option). ### Substitutions and Cancellations by You Life happens, and we understand that plans sometimes change. If you’re unable to attend the course, you can: **Nominate a substitute**: If someone else from your team can attend in your place, simply let us know in writing before the course begins. **Cance**l: If you need to cancel your participation, here’s what you should know: - With more than 30 days’ notice, you’ll receive a refund of 100% of the total course fee (FULL REFUND). - With 15–30 days’ notice, you’ll receive a refund of 50% of the total course fee. - With a 0–14 days’ notice, we can’t guarantee a refund. We recommend informing us as early as possible to minimize cancellation charges. ### Cancellations or Changes by Us In the rare case that we need to change the course location or dates, we’ll do our best to inform you as early as possible. If the revised location or period doesn’t work for you, don’t worry—we’ll refund 100% of your prepaid course fee. If, for any reason, we need to cancel the course entirely, we will also refund 100% of your prepaid course fee. Please note, though, that we cannot cover other costs you might incur, such as travel expenses or any related charges. We appreciate your understanding in this matter. ##### ### Privacy & cookies [Privacy Policy and Data Management](https://www.avanscoperta.it/it/informativa-privacy-cookies-e-uso-dei-dati/). ### **Venues** Are you about to buy one of our workshops and you wanna know where they’ll take place, how to get there and where to sleep? Click on the links below and find out more! [Berlin – nhow](https://www.nhow-hotels.com/it/nhow-berlin) [Berlin – Meeet](https://www.avanscoperta.it/location/meeet-mitte-berlin/) [Milano – COMBO](https://www.avanscoperta.it/location/combo/) [Milano – Copernico Milano Centrale](https://www.avanscoperta.it/location/copernico-38-milano-centrale/) [Milano – Copernico Blend Tower](https://www.avanscoperta.it/location/copernico-blend-tower/) [Milano – Copernico Isola For S32](https://www.avanscoperta.it/location/copernico-isola-for-s32/) [Milano – Luiss Hub](https://www.avanscoperta.it/location/milano-luiss-hub/) [Milano – Spazio 78](https://www.avanscoperta.it/location/spazio-78/) [Milano – TAG Calabiana](https://www.avanscoperta.it/location/talent-garden-tag-calabiana/) ### Let’s connect We’re here to make your experience as smooth and rewarding as possible. If you have any questions or need further assistance, please don’t hesitate to reach out via email at . We’re looking forward to welcoming you to the course! --- ### [I nostri docenti](https://www.avanscoperta.it/it/i-nostri-docenti/) **Published:** July 3, 2014 **Author:** Alessandra Granaudo **Content:** I nostri docenti sono leader **riconosciuti a livello internazionale**. Sono guidati dalla **passione** e da un’irrefrenabile curiosità. Sono pionieri ed innovatori nel loro campo e portatori di conoscenze uniche. Sono abili **comunicatori** e conoscono le meccaniche dell’apprendimento e dell’insegnamento. Sono le persone che possono fare scattare la scintilla durante un workshop, e riempirci la testa di nuove idee. **È da loro che vogliamo imparare.** --- ### [Our Trainers](https://www.avanscoperta.it/en/our-trainers/) **Published:** July 3, 2014 **Author:** fabbrucci **Content:** Our trainers are **world-class innovators and thought leaders**. They’re driven by **passion** and insatiable **curiosity**. They’re **pioneers** and **innovators** in their own fields, bringing unique knowledge. They’re skilled **communicators** and know the mechanics of learning and teaching. They are the ones who can make the **magic** happen in the classroom and fill your brain with game-changing ideas. **They are the ones we want to learn with.** --- --- ### [EventStorming](https://www.avanscoperta.it/en/eventstorming/) **Published:** February 28, 2025 **Author:** administrator **Content:** **EventStorming** is a family of **Collaborative Modelling** workshop formats that allows you to explore complex domains effectively and engagingly. It’s also one of our house specialities. Proudly invented here. ## A bit of history ![EventStorming book cover](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Book-Cover-232x300.jpeg) EventStorming was born more or less by chance around 2013 to draft complex software business processes in an Event-Driven way. The initial name, “Event-based modelling”, originates from Vaughn Vernon’s IDDD Tour (notes from [Jef Claes](https://jefclaes.be/2013/05/iddd-tour-notes-12.html) and [Tom Janssens](https://tojans.me/posts/idddtour-2013-belgium-an-immersive-experience/)), where Alberto Brandolini was a guest trainer. The term “Event-based” was already used in Vaughn’s material, so a last-minute name change happened just before going on stage in Leuwen, and **EventStorming** was born. (Yep, the official spelling is a single word: EventStorming, not Event Storming). Given the audience’s enthusiastic response to the experiment, Alberto wrote the [first blog post](https://ziobrando.blogspot.com/2013/11/introducing-event-storming.html) about the format. That was the beginning of a rollercoaster. A small community of practitioners was born, and experiments and variations flourished. This led to many conference talks, the start of[ a book](https://leanpub.com/introducing_eventstorming), and the adoption of EventStorming in several business domains worldwide. The original idea was born with a **Domain-Driven Design** mindset. But the collaborative storytelling format based on orange events has proven very versatile over the years. Variations in the format performed very well in discovery and design-oriented workshops. ## Key principles The most effective conversations happen when modelling tools support people. However, traditional modelling tools like flipcharts and whiteboards constrain the space available and the number of items that can be discussed. A standard recommendation is to limit the number of items drawn on a diagram to seven or fewer. But this approach only works if your problem is small enough to fit in. ![Visual Meetings Book Cover](https://www.avanscoperta.it/wp-content/uploads/2025/02/Visual-Meetings-Book-Cover-Flat-300x210.jpg) How do we solve big, rotten problems? How do we address issues that arise from *dozens* of interconnected factors? As David Sibbet put it in his book **Visual Meetings**: > *“Can’t do system thinking without visualisation.”* Big problems need visualisation even more than the small ones; we need different tools for that. Digital modelling tools provide the illusion of unlimited modelling surfaces, but add new limitations. Screen size remains the same, but the digital experience introduces new blockers, such as tool familiarity and license costs. Even the best online modelling platforms introduce frictions and limit the communication bandwidth. EventStorming breaks the space limitation while staying in the physical space. The paper roll provides the illusion of an **unlimited modelling surface**, and the **lo-fi notation** based on coloured sticky notes lowers the barrier to active contribution. Put another way: there’s no need to lose detail if you have enough space. You can see the forest *and* the trees just by walking around the room. Massive parallel contributions can quickly turn into a mess. The different formats have different **facilitation strategies** to keep the workshop in “the zone”. ## Main recipes The [original proposition](https://ziobrando.blogspot.com/2013/11/introducing-event-storming.html) was about a single format, but over the years, three main flavours emerged: - **Big Picture EventStorming** is a large-scale workshop aiming to discover the intricacies of an entire business line. It usually involves 15 to 30 people, depending on the domain complexity. - **Process Modelling EventStorming** targets an end-to-end specific process (including its variations). You can use this format for discovery and/or design, and it typically involves a smaller interdisciplinary team - **Software Design EventStorming** has a similar scope. The original format was intended to discover **aggregates** in **Domain-Driven Design.** Then it became a more sophisticated modelling tool, enabling the detection of boundaries and the design of robust, loosely coupled systems. You can use the different formats individually–Big Picture is great for large-scale retrospectives, for example–or *chain* them. For instance, we can use **Big Picture EventStorming** to identify the most relevant area for improvement, then drill into it with **Process Modelling EventStorming**. Sometimes, a more detailed format – such as **Software Design EventStorming** blends in, introducing technical discussion without displacing the business-driven conversation. Let’s explore the formats with a little more detail. --- ## Big Picture EventStorming This format leverages the idea of [unlimited modelling space](https://www.eventstorming.com/patterns/unlimited-modelling-space/) to avoid the trap of unnecessary scope limitations. We need a system-level view and enough space to address systemic issues. Most workshops focus on a specific business line. Still, it’s common to explore scenarios in which multiple business lines share (or compete for) resources or processes—for example, two business lines operating on a shared platform. Depending on the organisation’s size, a different number of people would be involved. Typical numbers range between 15 and 30 participants. #### Standard Steps - **Invite the right people**. Experts and explorers. People with questions and people with answers. The more perspectives, the more insights. - Provide an [**Unlimited Modelling Surface**](https://www.eventStorming.com/patterns/unlimited-modelling-space/) or the closest approximation. A plotter paper roll on a 10-12 metre straight surface is usually enough to describe most business lines end-to-end. Offer an abundant supply of markers and sticky notes. - An initial round of [**chaotic exploration**](https://www.eventstorming.com/patterns/chaotic-exploration/), where participants will contribute to the global narrative with the *Events* they know, should lay the foundation for the next steps. Now we have a mess to sort out. - **Enforcing the timeline** is the first round of sorting. This is where the first relevant conversations usually happen, and a more robust structure emerges with [*Pivotal Events*](https://www.avanscoperta.it/it/eventstorming/pivotal-events/) and *Swimlanes*. Structure won’t emerge without meaningful conversations. We’ll capture emergent frictions with magenta *HotSpots*. - **People and Systems** would be the next ingredient in our growing narrative and are usually a source of more *HotSpots*. - Now, we should have enough information for an **explicit walkthrough.** A *narrator* will try to tell a precise story to a picky *audience.* Meanwhile, a *scribe* will update the visible model in real-time with the necessary corrections. Completing the walkthrough should give us a **validated narrative**: what is visible has been presented, corrected, refined, and approved. Great! Now everybody is on the same wide-scale page. #### Custom Steps The validated narrative is a versatile artefact that could be the perfect background for more interesting steps. You may pick the ones that are more suitable for your scenario: - **“Playing with value”** allows you to visualise and discuss the steps and activities that deliver or destroy value for your customers, employees, stakeholders, etc. - In **“Problems and Opportunities**,” we’ll explore explicit issues with the current model and propose solutions to address open problems or new ideas to tackle opportunities. - **Arrow Voting** can quickly visualise the convergence on a specific issue, which is probably your organisation’s current main blocker. - **Extracting User Stories** is a common step in Big Picture EventStorming during a software development project kick-off. - **Extracting Bounded Contexts** is the perfect homework for your technical team to derive a [**Context Map**](https://www.avanscoperta.it/en/context-mapping/) from your EventStorming exploration. - **Visualising ownership** may make the connection between your flow and your development teams’ areas of responsibility evident. And the list can grow. A **validated narrative** is an incredibly effective background for many types of discussion. ##### Typical scenarios **Big Picture EventStorming** is by far the most versatile recipe. You can choose a combination of custom steps to design the most fitting experience. The workshop is a tool to serve your business needs, after all. Here are some common scenarios. - It can be a key step in an **Architecture Modernisation** initiative to highlight the current tensions in your architectural landscape. - You can use the Big Picture format to run a large-scale **corporate retrospective** that focuses on collaboration across departments. This typically occurs at pivotal moments in your company’s growth, such as transitioning to scale-up after a major merger. - It can **initiate software projects**, explore the hypothetical project scope and surrounding areas, and dramatically speed up the requirements-gathering phase. - It can complement other formats, such as the **Business Model Canvas,** to help you **envision new** businesses by focusing on the *future narrative,* leveraging the “wisdom of the crowd,” and building a robust future hypothesis. - You can use EventStorming at the beginning of an **agile transformation**, discovering all the conflicting perspectives around a shared process, typically spanning strategic planning to value delivery. The list may continue. You can use variations of these formats to build sensible roadmaps and plans, structured storyboarding, and more. ##### The outcome It’s easy to mistake the artefact for the actual workshop outcome. It’s big, colourful, and provides a reference shape for your business. ![The output of a large scale domain exploration](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Big-Picture-Edenred-Dubai-1024x281.jpg) This is great, but the **conversations** needed to build the shared model are usually the most valuable outcome of the workshop. They dig into years and misunderstandings and across silo boundaries to provide **clarity** and **confidence** to key people in your organisation. When you can finally *observe* your system as a cohesive whole, you enable change. *People are afraid of breaking invisible things*, and our relentless effort to make everything visible turns even the most intricate businesses into systems that can be improved. ##### Why is it relevant? The larger the organisation, the harder it becomes to detect and solve problems, especially those without clear ownership. When teams are overburdened, they focus on their local scope, *waiting* for someone to address the systemic issues. Acting on areas with unclear ownership requires clarity, coordination, and political consensus, and **Big Picture EventStorming** provides precisely that. The format investigates the entire system while separating the key signal from the noise. It provides a detailed background for deeper analysis and issue resolution. Then, it leverages the presence of key decision-makers in the room to provide the political support and momentum needed to address the most critical issues. Last but not least, it can be a perfect complement to strategic tools like **Wardley Maps** or **Impact Mapping**, ensuring the vision is aligned with current reality. --- ## Process Modelling EventStorming The Process Modelling format is an excellent tool for discovering the intricacies of complex business processes and designing new ones. It builds on the idea of **collaborative games**, providing your modelling team with a simple set of rules. 1. 1. *Every path should be **completed.*** 2. *The **grammar** must be respected.* 3. *Every stakeholder should be **reasonably happy.*** 4. *Every **Hot Spot** should be addressed.* Rule number one is the most straightforward: a process ends in a stable state, usually an *Event* that requires no further action. The more peculiar rule concerns **grammar**. It’s been designed to force workshop participants to *address challenging questions*, and it usually requires a couple of interactions to become confident. ![The EventStorming Process Modelling grammar, applied to a conference call for papers scenario.](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Process-Modelling-Grammar-1024x768.jpg)*The EventStorming Process Modelling grammar applied to a conference call for papers scenario.* Rule number 3 – making the stakeholders reasonably happy – opens the door to business value and UX concerns, allowing your modelling team to balance mechanical steps for formal flow correctness with emotional ingredients like *“how a given message impacts the user’s feelings.”* Finally, you can use **Hot Spots** to highlight critical areas. You can’t start with a perfect design. You’ll start with a *plausible* one instead. Then, you refine it incrementally, addressing the emerging concerns. The result is a very enjoyable [Collaborative Modelling](https://www.avanscoperta.it/en/collaborative-modelling/) experience, where different perspectives can blend into a design that addresses interdisciplinary concerns without falling into the trap of *design by committee*. ##### The outcome The resulting artefact of a **Process Modelling EventStorming** is a low-fidelity, battle-tested process description that can be progressively enhanced to address trickier corner cases. **![EventStorming Process Modelling picture](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-process-Modelling-from-Masterclass-1024x211.jpg)** Once again, the journey matters. Every Hot Spot addressed during the discussion is the equivalent of a new revision of a more formally specified process. **Shared ownership** and the consequential **buy-in** are interesting consequences of the Collaborative Modelling approach. Concerns are explicit from the beginning, and addressing them together provides more options for resolution. ##### Why is it relevant? Complex business processes are rarely designed collaboratively; however, modern processes—especially those that are customer-facing—are a mix of formal robustness and user experience concerns. One-sided design processes may require lengthy negotiations before approval, but they can’t avoid last-minute surprises. A collaboratively designed process may address blocking concerns from the inception phase, leading to a solution with embedded buy-in. **Process Modelling EventStorming** is the ideal format for supporting a discussion that merges the different perspectives into a powerful co-designed artefact. ##### Doing it online? The online experience has the obvious advantage of being more accessible to distributed teams, but it comes at a small cost in terms of effectiveness. We recommend trying the in-person version first to detect when workshop mechanics aren’t delivering as they should. When running an online workshop, you may want to check our [free template on Miro](https://miro.com/miroverse/eventstorming-process-modelling/). --- ## Software Design EventStorming The **Software Design EventStorming** aims to design software models to support complex business processes. The Event-driven nature of the exploration makes it a perfect modelling tool for **Domain-Driven Design**, keeping the discussion in the liminal space between business and technology while supporting more software-oriented activities, such as determining boundaries between cooperating models (see also [Context Mapping](https://www.avanscoperta.it/en/context-mapping/)) and enforcing consistency across the **Aggregates** lifecycle. **Software Design EventStorming** is still based on the idea of collaborative games, but expands the grammar with extra building blocks and extends the Process Modelling ruleset with two extra rules. 1. 5. ***Boundaries** should be visualised.* 6. ***Software components** should have consistent behaviour.* The expanded grammar allows boundaries to be visualised—and moved, in the case of discussions—bringing coherence to the picture. ![The EventStorming Software Design Grammar](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Software-Design-Grammar-1024x768.jpg)*The EventStorming Software Design Grammar* Boundaries will shift the discussion into the competing purposes of the stakeholders involved, providing a fantastic playground for [Greenfield Context Mapping](https://www.avanscoperta.it/en/context-mapping/). Meanwhile, we can detect signals to define a semantically robust lifecycle for our emerging **Aggregates**. We can include wireframe sketches in the discussion, especially if the page layout actively influences your users’ decisions. A **Software Design EventStorming** session is also a great place to stress and distil your **[Ubiquitous Language](https://www.avanscoperta.it/en/ubiquitous-language/),** or to [challenge your model with complex real-world scenarios](https://www.eventstorming.com/patterns/raise-the-bar/) that can be turned into acceptance tests. ##### The outcome A **Software Design EventStorming** usually results in a left-to-right flow where boundaries and key building blocks start to emerge. **Aggregates** are shaped by their *behaviour* and *role* in the end-to-end interaction, looking more like state machines than data containers. Green **Read Models** instead capture the *data* needed to make key decisions. The discussion also raises many issues we can capture with magenta **Hot Spots**. [**Bounded Contexts** ](https://www.avanscoperta.it/en/bounded-context/)are now precisely highlighted. Their purpose reflects into the lifecycle of the moving parts, offering options for smarter decomposition. ![A picture of a software design EventStorming artefact](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Software-Design-Recruiting-1024x299.jpg) Another significant outcome is likely in the trash can: ideas we tried and discarded, wordings that turned out naive after closer scrutiny, and Hot Spots we resolved in a previous iteration. The model starts *wrong* and progressively evolves towards greatness, with everybody’s contribution progressively rewriting and rearranging the building blocks. ##### Why is it relevant? Complex business processes are often a source of coupling inside enterprise software applications. Traditional requirements-gathering strategies too often fail to resolve inconsistencies when multiple stakeholders are involved. **Software Design EventStorming** enforces coherence between the business and technical perspectives, leveraging domain events to build more precise narratives and effective implementation. Events are a semantically more robust building block for describing the behaviour of complicated systems and enabling architectural opportunities such as **Event-Driven Architecture** or **CQRS/ES**. ## Putting it all together As a whole, **EventStorming** is an incredibly versatile tool. We can use it to investigate an intricate current state or envision a possible future. We can embrace the [**unlimited modelling space**](https://www.eventstorming.com/patterns/unlimited-modelling-space/) metaphor and explore the system as a whole or focus on a specific business flow. The event-centred notation will allow coherence when zooming in and adding details. **EventStorming** can support strategic business decisions and help you design better services and more effective and efficient software applications. More than anything, it can enhance collaboration between people from diverse backgrounds, transforming design discussions into enjoyable experiences. --- ## F.A.Q. ### Does EventStorming require Domain-Driven Design? Not really, but the relationship depends on the format. - **Big Picture** is a large-scale collaborative discovery that first looks for inconsistencies in the business narrative. If you’re in a DDD mindset, many signals can give you valuable insights towards a sensible decomposition into [bounded contexts](https://www.avanscoperta.it/en/bounded-context/). - **Process Modelling** does not imply any specific software infrastructure and also supports paper-based processes. However, the focus on the events can support event-driven decomposition in your software implementation. - **Software Design** has a deeper relationship with Domain-Driven Design concepts, and plays well with Event Sourcing or CQRS/ES. But while events are a great medium for understanding the complexity of the business and for building an unambiguous [Ubiquitous Language](https://www.avanscoperta.it/en/ubiquitous-language/), not every part of the process fits the paradigm, and some problems are better suited to less sophisticated architectural styles. --- **EventStorming** is a key ingredient of Avanscoperta’s [consulting services](https://www.avanscoperta.it/en/consulting/). We also offer learning experiences such as the [**EventStorming Masterclass**](https://www.avanscoperta.it/it/training/eventstorming-master-class/) or the [**EventStorming Remote Experience**](https://www.avanscoperta.it/en/training/eventstorming-remote-modelling/). You may want to check the [**resources**](https://www.eventstorming.com/resources/) and [**patterns**](https://www.eventstorming.com/patterns/) available on our partner website [EventStorming.com](https://EventStorming.com). --- ### [EventStorming](https://www.avanscoperta.it/it/eventstorming/) **Published:** February 28, 2025 **Author:** administrator **Content:** **EventStorming** is a family of **Collaborative Modelling** workshop formats that allows you to explore complex domains effectively and engagingly. It’s also one of our house specialities. Proudly invented here. ## A bit of history ![EventStorming book cover](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Book-Cover-232x300.jpeg) EventStorming was born more or less by chance around 2013 to draft complex software business processes in an Event-Driven way. The initial name, “Event-based modelling”, originates from Vaughn Vernon’s IDDD Tour (notes from [Jef Claes](https://jefclaes.be/2013/05/iddd-tour-notes-12.html) and [Tom Janssens](https://tojans.me/posts/idddtour-2013-belgium-an-immersive-experience/)), where Alberto Brandolini was a guest trainer. The term “Event-based” was already used in Vaughn’s material, so a last-minute name change happened just before going on stage in Leuwen, and **EventStorming** was born. (Yep, the official spelling is a single word: EventStorming, not Event Storming). Given the audience’s enthusiastic response to the experiment, Alberto wrote the [first blog post](https://ziobrando.blogspot.com/2013/11/introducing-event-storming.html) about the format. That was the beginning of a rollercoaster. A small community of practitioners was born, and experiments and variations flourished. This led to many conference talks, the start of[ a book](https://leanpub.com/introducing_eventstorming), and the adoption of EventStorming in several business domains worldwide. The original idea was born with a **Domain-Driven Design** mindset. But the collaborative storytelling format based on orange events has proven very versatile over the years. Variations in the format performed very well in discovery and design-oriented workshops. ## Key principles The most effective conversations happen when modelling tools support people. However, traditional modelling tools like flipcharts and whiteboards constrain the space available and the number of items that can be discussed. A standard recommendation is to limit the number of items drawn on a diagram to seven or fewer. But this approach only works if your problem is small enough to fit in. ![Visual Meetings Book Cover](https://www.avanscoperta.it/wp-content/uploads/2025/02/Visual-Meetings-Book-Cover-Flat-300x210.jpg) How do we solve big, rotten problems? How do we address issues that arise from *dozens* of interconnected factors? As David Sibbet put it in his book **Visual Meetings**: > *“Can’t do system thinking without visualisation.”* Big problems need visualisation even more than the small ones; we need different tools for that. Digital modelling tools provide the illusion of unlimited modelling surfaces, but add new limitations. Screen size remains the same, but the digital experience introduces new blockers, such as tool familiarity and license costs. Even the best online modelling platforms introduce frictions and limit the communication bandwidth. EventStorming breaks the space limitation while staying in the physical space. The paper roll provides the illusion of an **unlimited modelling surface**, and the **lo-fi notation** based on coloured sticky notes lowers the barrier to active contribution. Put another way: there’s no need to lose detail if you have enough space. You can see the forest *and* the trees just by walking around the room. Massive parallel contributions can quickly turn into a mess. The different formats have different **facilitation strategies** to keep the workshop in “the zone”. ## Main recipes The [original proposition](https://ziobrando.blogspot.com/2013/11/introducing-event-storming.html) was about a single format, but over the years, three main flavours emerged: - **Big Picture EventStorming** is a large-scale workshop aiming to discover the intricacies of an entire business line. It usually involves 15 to 30 people, depending on the domain complexity. - **Process Modelling EventStorming** targets an end-to-end specific process (including its variations). You can use this format for discovery and/or design, and it typically involves a smaller interdisciplinary team - **Software Design EventStorming** has a similar scope. The original format was intended to discover **aggregates** in **Domain-Driven Design.** Then it became a more sophisticated modelling tool, enabling the detection of boundaries and the design of robust, loosely coupled systems. You can use the different formats individually–Big Picture is great for large-scale retrospectives, for example–or *chain* them. For instance, we can use **Big Picture EventStorming** to identify the most relevant area for improvement, then drill into it with **Process Modelling EventStorming**. Sometimes, a more detailed format – such as **Software Design EventStorming** blends in, introducing technical discussion without displacing the business-driven conversation. Let’s explore the formats with a little more detail. --- ## Big Picture EventStorming This format leverages the idea of [unlimited modelling space](https://www.eventstorming.com/patterns/unlimited-modelling-space/) to avoid the trap of unnecessary scope limitations. We need a system-level view and enough space to address systemic issues. Most workshops focus on a specific business line. Still, it’s common to explore scenarios in which multiple business lines share (or compete for) resources or processes—for example, two business lines operating on a shared platform. Depending on the organisation’s size, a different number of people would be involved. Typical numbers range between 15 and 30 participants. #### Standard Steps - **Invite the right people**. Experts and explorers. People with questions and people with answers. The more perspectives, the more insights. - Provide an [**Unlimited Modelling Surface**](https://www.eventStorming.com/patterns/unlimited-modelling-space/) or the closest approximation. A plotter paper roll on a 10-12 metre straight surface is usually enough to describe most business lines end-to-end. Offer an abundant supply of markers and sticky notes. - An initial round of [**chaotic exploration**](https://www.eventstorming.com/patterns/chaotic-exploration/), where participants will contribute to the global narrative with the *Events* they know, should lay the foundation for the next steps. Now we have a mess to sort out. - **Enforcing the timeline** is the first round of sorting. This is where the first relevant conversations usually happen, and a more robust structure emerges with [*Pivotal Events*](https://www.avanscoperta.it/it/eventstorming/pivotal-events/) and *Swimlanes*. Structure won’t emerge without meaningful conversations. We’ll capture emergent frictions with magenta *HotSpots*. - **People and Systems** would be the next ingredient in our growing narrative and are usually a source of more *HotSpots*. - Now, we should have enough information for an **explicit walkthrough.** A *narrator* will try to tell a precise story to a picky *audience.* Meanwhile, a *scribe* will update the visible model in real-time with the necessary corrections. Completing the walkthrough should give us a **validated narrative**: what is visible has been presented, corrected, refined, and approved. Great! Now everybody is on the same wide-scale page. #### Custom Steps The validated narrative is a versatile artefact that could be the perfect background for more interesting steps. You may pick the ones that are more suitable for your scenario: - **“Playing with value”** allows you to visualise and discuss the steps and activities that deliver or destroy value for your customers, employees, stakeholders, etc. - In **“Problems and Opportunities**,” we’ll explore explicit issues with the current model and propose solutions to address open problems or new ideas to tackle opportunities. - **Arrow Voting** can quickly visualise the convergence on a specific issue, which is probably your organisation’s current main blocker. - **Extracting User Stories** is a common step in Big Picture EventStorming during a software development project kick-off. - **Extracting Bounded Contexts** is the perfect homework for your technical team to derive a [**Context Map**](https://www.avanscoperta.it/en/context-mapping/) from your EventStorming exploration. - **Visualising ownership** may make the connection between your flow and your development teams’ areas of responsibility evident. And the list can grow. A **validated narrative** is an incredibly effective background for many types of discussion. ##### Typical scenarios **Big Picture EventStorming** is by far the most versatile recipe. You can choose a combination of custom steps to design the most fitting experience. The workshop is a tool to serve your business needs, after all. Here are some common scenarios. - It can be a key step in an **Architecture Modernisation** initiative to highlight the current tensions in your architectural landscape. - You can use the Big Picture format to run a large-scale **corporate retrospective** that focuses on collaboration across departments. This typically occurs at pivotal moments in your company’s growth, such as transitioning to scale-up after a major merger. - It can **initiate software projects**, explore the hypothetical project scope and surrounding areas, and dramatically speed up the requirements-gathering phase. - It can complement other formats, such as the **Business Model Canvas,** to help you **envision new** businesses by focusing on the *future narrative,* leveraging the “wisdom of the crowd,” and building a robust future hypothesis. - You can use EventStorming at the beginning of an **agile transformation**, discovering all the conflicting perspectives around a shared process, typically spanning strategic planning to value delivery. The list may continue. You can use variations of these formats to build sensible roadmaps and plans, structured storyboarding, and more. ##### The outcome It’s easy to mistake the artefact for the actual workshop outcome. It’s big, colourful, and provides a reference shape for your business. ![The output of a large scale domain exploration](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Big-Picture-Edenred-Dubai-1024x281.jpg) This is great, but the **conversations** needed to build the shared model are usually the most valuable outcome of the workshop. They dig into years and misunderstandings and across silo boundaries to provide **clarity** and **confidence** to key people in your organisation. When you can finally *observe* your system as a cohesive whole, you enable change. *People are afraid of breaking invisible things*, and our relentless effort to make everything visible turns even the most intricate businesses into systems that can be improved. ##### Why is it relevant? The larger the organisation, the harder it becomes to detect and solve problems, especially those without clear ownership. When teams are overburdened, they focus on their local scope, *waiting* for someone to address the systemic issues. Acting on areas with unclear ownership requires clarity, coordination, and political consensus, and **Big Picture EventStorming** provides precisely that. The format investigates the entire system while separating the key signal from the noise. It provides a detailed background for deeper analysis and issue resolution. Then, it leverages the presence of key decision-makers in the room to provide the political support and momentum needed to address the most critical issues. Last but not least, it can be a perfect complement to strategic tools like **Wardley Maps** or **Impact Mapping**, ensuring the vision is aligned with current reality. --- ## Process Modelling EventStorming The Process Modelling format is an excellent tool for discovering the intricacies of complex business processes and designing new ones. It builds on the idea of **collaborative games**, providing your modelling team with a simple set of rules. 1. 1. *Every path should be **completed.*** 2. *The **grammar** must be respected.* 3. *Every stakeholder should be **reasonably happy.*** 4. *Every **Hot Spot** should be addressed.* Rule number one is the most straightforward: a process ends in a stable state, usually an *Event* that requires no further action. The more peculiar rule concerns **grammar**. It’s been designed to force workshop participants to *address challenging questions*, and it usually requires a couple of interactions to become confident. ![The EventStorming Process Modelling grammar, applied to a conference call for papers scenario.](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Process-Modelling-Grammar-1024x768.jpg)*The EventStorming Process Modelling grammar applied to a conference call for papers scenario.* Rule number 3 – making the stakeholders reasonably happy – opens the door to business value and UX concerns, allowing your modelling team to balance mechanical steps for formal flow correctness with emotional ingredients like *“how a given message impacts the user’s feelings.”* Finally, you can use **Hot Spots** to highlight critical areas. You can’t start with a perfect design. You’ll start with a *plausible* one instead. Then, you refine it incrementally, addressing the emerging concerns. The result is a very enjoyable [Collaborative Modelling](https://www.avanscoperta.it/en/collaborative-modelling/) experience, where different perspectives can blend into a design that addresses interdisciplinary concerns without falling into the trap of *design by committee*. ##### The outcome The resulting artefact of a **Process Modelling EventStorming** is a low-fidelity, battle-tested process description that can be progressively enhanced to address trickier corner cases. **![EventStorming Process Modelling picture](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-process-Modelling-from-Masterclass-1024x211.jpg)** Once again, the journey matters. Every Hot Spot addressed during the discussion is the equivalent of a new revision of a more formally specified process. **Shared ownership** and the consequential **buy-in** are interesting consequences of the Collaborative Modelling approach. Concerns are explicit from the beginning, and addressing them together provides more options for resolution. ##### Why is it relevant? Complex business processes are rarely designed collaboratively; however, modern processes—especially those that are customer-facing—are a mix of formal robustness and user experience concerns. One-sided design processes may require lengthy negotiations before approval, but they can’t avoid last-minute surprises. A collaboratively designed process may address blocking concerns from the inception phase, leading to a solution with embedded buy-in. **Process Modelling EventStorming** is the ideal format for supporting a discussion that merges the different perspectives into a powerful co-designed artefact. ##### Doing it online? The online experience has the obvious advantage of being more accessible to distributed teams, but it comes at a small cost in terms of effectiveness. We recommend trying the in-person version first to detect when workshop mechanics aren’t delivering as they should. When running an online workshop, you may want to check our [free template on Miro](https://miro.com/miroverse/eventstorming-process-modelling/). --- ## Software Design EventStorming The **Software Design EventStorming** aims to design software models to support complex business processes. The Event-driven nature of the exploration makes it a perfect modelling tool for **Domain-Driven Design**, keeping the discussion in the liminal space between business and technology while supporting more software-oriented activities, such as determining boundaries between cooperating models (see also [Context Mapping](https://www.avanscoperta.it/en/context-mapping/)) and enforcing consistency across the **Aggregates** lifecycle. **Software Design EventStorming** is still based on the idea of collaborative games, but expands the grammar with extra building blocks and extends the Process Modelling ruleset with two extra rules. 1. 5. ***Boundaries** should be visualised.* 6. ***Software components** should have consistent behaviour.* The expanded grammar allows boundaries to be visualised—and moved, in the case of discussions—bringing coherence to the picture. ![The EventStorming Software Design Grammar](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Software-Design-Grammar-1024x768.jpg)*The EventStorming Software Design Grammar* Boundaries will shift the discussion into the competing purposes of the stakeholders involved, providing a fantastic playground for [Greenfield Context Mapping](https://www.avanscoperta.it/en/context-mapping/). Meanwhile, we can detect signals to define a semantically robust lifecycle for our emerging **Aggregates**. We can include wireframe sketches in the discussion, especially if the page layout actively influences your users’ decisions. A **Software Design EventStorming** session is also a great place to stress and distil your **[Ubiquitous Language](https://www.avanscoperta.it/en/ubiquitous-language/),** or to [challenge your model with complex real-world scenarios](https://www.eventstorming.com/patterns/raise-the-bar/) that can be turned into acceptance tests. ##### The outcome A **Software Design EventStorming** usually results in a left-to-right flow where boundaries and key building blocks start to emerge. **Aggregates** are shaped by their *behaviour* and *role* in the end-to-end interaction, looking more like state machines than data containers. Green **Read Models** instead capture the *data* needed to make key decisions. The discussion also raises many issues we can capture with magenta **Hot Spots**. [**Bounded Contexts** ](https://www.avanscoperta.it/en/bounded-context/)are now precisely highlighted. Their purpose reflects into the lifecycle of the moving parts, offering options for smarter decomposition. ![A picture of a software design EventStorming artefact](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Software-Design-Recruiting-1024x299.jpg) Another significant outcome is likely in the trash can: ideas we tried and discarded, wordings that turned out naive after closer scrutiny, and Hot Spots we resolved in a previous iteration. The model starts *wrong* and progressively evolves towards greatness, with everybody’s contribution progressively rewriting and rearranging the building blocks. ##### Why is it relevant? Complex business processes are often a source of coupling inside enterprise software applications. Traditional requirements-gathering strategies too often fail to resolve inconsistencies when multiple stakeholders are involved. **Software Design EventStorming** enforces coherence between the business and technical perspectives, leveraging domain events to build more precise narratives and effective implementation. Events are a semantically more robust building block for describing the behaviour of complicated systems and enabling architectural opportunities such as **Event-Driven Architecture** or **CQRS/ES**. ## Putting it all together As a whole, **EventStorming** is an incredibly versatile tool. We can use it to investigate an intricate current state or envision a possible future. We can embrace the [**unlimited modelling space**](https://www.eventstorming.com/patterns/unlimited-modelling-space/) metaphor and explore the system as a whole or focus on a specific business flow. The event-centred notation will allow coherence when zooming in and adding details. **EventStorming** can support strategic business decisions and help you design better services and more effective and efficient software applications. More than anything, it can enhance collaboration between people from diverse backgrounds, transforming design discussions into enjoyable experiences. --- ## F.A.Q. ### Does EventStorming require Domain-Driven Design? Not really, but the relationship depends on the format. - **Big Picture** is a large-scale collaborative discovery that first looks for inconsistencies in the business narrative. If you’re in a DDD mindset, many signals can give you valuable insights towards a sensible decomposition into [bounded contexts](https://www.avanscoperta.it/en/bounded-context/). - **Process Modelling** does not imply any specific software infrastructure and also supports paper-based processes. However, the focus on the events can support event-driven decomposition in your software implementation. - **Software Design** has a deeper relationship with Domain-Driven Design concepts, and plays well with Event Sourcing or CQRS/ES. But while events are a great medium for understanding the complexity of the business and for building an unambiguous [Ubiquitous Language](https://www.avanscoperta.it/en/ubiquitous-language/), not every part of the process fits the paradigm, and some problems are better suited to less sophisticated architectural styles. --- **EventStorming** is a key ingredient of Avanscoperta’s [consulting services](https://www.avanscoperta.it/en/consulting/). We also offer learning experiences such as the [**EventStorming Masterclass**](https://www.avanscoperta.it/it/training/eventstorming-master-class/) or the [**EventStorming Remote Experience**](https://www.avanscoperta.it/en/training/eventstorming-remote-modelling/). You may want to check the [**resources**](https://www.eventstorming.com/resources/) and [**patterns**](https://www.eventstorming.com/patterns/) available on our partner website [EventStorming.com](https://EventStorming.com). --- ### [Bounded Context](https://www.avanscoperta.it/en/bounded-context/) **Published:** November 14, 2024 **Author:** Alberto Brandolini **Content:** How to design business software that won’t collapse under the weight of its evolution? A **Bounded Context** is the central pattern in **Domain-Driven Design** for managing complexity. It defines the strict limits within which a specific model applies, providing a robust foundation for the evolution of business software. On this page, we explore how to define, map, and implement Bounded Contexts in modern architectures. A typical business software is built around a specific need. If we’ve implemented it well, it will solve a problem, make some users happy, and also make them more willing to ask for more. Great! Now our software solves two problems instead of one, and the story can repeat. Unfortunately, with every new functionality, we progressively lose the ability to change our software. It’s a subtle, gradual process of increasing codebase complexity, accompanied by an increase in responsibility towards the business: the larger the numbers, the higher the risk of making changes. *Technically,* changes are still possible, *but* *from a business perspective,* we tend to delay them. Doing things right from the beginning isn’t a viable strategy. It clashes with a simple fact – *we wrote the original code with significantly less information than we have today*. We learn over time, and *now* we could probably write that code a lot better, but we are less confident in making the necessary changes. Codebases born with the best intentions often end up bloated and slow down the business growth they were intended to support. ## Enter Bounded Contexts **Bounded Context** is the missing abstraction that can give structure to young codebases and flexibility to mature ones. The original definition from [Eric Evans](https://www.avanscoperta.it/en/trainer/eric-evans)’ *Domain-Driven Design: Tackling Complexity at the Heart of Software* is: > *A **Bounded Context** is the limit of applicability of a model.* The underlying idea is that models are not replicas of the real world in a programming language; they are sets of *selected* abstractions that work together to solve a business problem. Models do not mimic reality, but serve a purpose, and that purpose should drive their design. **Selection** is key here: we are not aiming for completeness or accuracy. We design solutions tailored to a single purpose. Business software is too complex to have a single purpose, so we need more models. A **bounded context** is a way to keep unnecessary complexity out of our model. This implies a fundamental responsibility for modelling practitioners: it’s our duty to define boundaries because, while *purpose* might still be a fuzzy concept, we can’t build reliable software on top of a fuzzy and ambiguous model. ![A single purpose Bounded Context](https://www.avanscoperta.it/wp-content/uploads/2025/02/Bounded-Context-Single-Purpose.png) Focusing on a **single purpose** also provides space for optimisation. We can focus on our local purpose without balancing the needs of the nearby models. While we might need translations between models, within our bounded context, we are free to pursue the best implementation for our current problem. Addressing a different purpose should be the responsibility of a different model. ## Bounded Context is a liminal idea ![Model relationships](https://www.avanscoperta.it/wp-content/uploads/2026/03/Model-Relationships.png) Software developers like precision, clarity, and taxonomies—square boxes fitting inside square boxes. Bounded Contexts aren’t that: they are a *liminal* concept that can be viewed in different ways. They don’t only shape the software, but also the ecosystem that builds it. Let’s examine this idea from various perspectives. ### Bounded Contexts as a unit of language consistency Language precision is vital to developing robust and unambiguous software models. **Domain-Driven Design** introduces the idea of [**Ubiquitous Language**](https://www.avanscoperta.it/en/ubiquitous-language/) to describe a precise modelling language shared among the stakeholders of a software project. A conversational language with the precision of a software model, and a software model with the expressiveness of conversational language. No ambiguities and no translation: every term has only one precise meaning. Unfortunately, we know that this precision doesn’t scale. People will mention `invoices` without specifying whether they are received or issued. In *Sales*, we can negotiate an `order`, apply discounts or tweak the payment terms, but once signed, it becomes immutable. ![Same term different meaning in different Bounded Contexts](https://www.avanscoperta.it/wp-content/uploads/2026/01/Sales-vs-Delivery-Bounded-Context.png) There is no ambiguity inside a bounded context. The context constrains the word’s meaning to a single valid interpretation in the current model. #### Data versus behaviour It’s worth noting that different modelling perspectives often pull in competing directions: data-centric modelling emphasises data structures. It will typically pull towards shared models, while behaviour will give you insights leading to model separation. ![Same data, different behaviour.](https://www.avanscoperta.it/wp-content/uploads/2026/01/Same-data-different-behaviour.png) Looking strictly at the signals coming from the language, *nouns* will nudge your models towards large shared entities, while *verbs* will tend to cluster around a shared purpose. Exploring a domain with [**EventStorming** ](https://www.avanscoperta.it/en/eventstorming/)is a brilliant way to discover signals that lead to independent models. ### Bounded Context as an opportunity for model simplicity With a clear purpose in mind, we can remove redundancies from our model, often realising that we aren’t doing rocket science, and that a simpler, sometimes minimalistic, abstraction is what we need. In other words, models are defined by what should be part of the model, but also by what shouldn’t. ![A clean model needs fewer abstractions, reducing accidental complexity.](https://www.avanscoperta.it/wp-content/uploads/2026/01/Simplified-Models.png) The conversation example on the left can lead us to introduce foreign concepts into our local forecast model, and with them, the possibility of coupling. Distilling models towards cleaner abstractions yields sharper, simpler models. An `Income Expectation` can be related to an `Invoice` from billing, but the `Expected Payment Date` is only loosely coupled to the invoice’s `Due Date`. A customer in financial trouble will expose the drawbacks of a coupled model. You are entitled to receive a given amount, but it’s pointless to expect it. Simpler models are more robust and easier to test, offering an opportunity to achieve more by composing simple and robust abstractions into more sophisticated services. #### Pushing complexity aside We can also achieve model simplicity by keeping external complexity out of the door. **Anti-Corruption Layers** are a popular way to protect our model, keeping unnecessary abstractions behind the door. ![Anti-Corruption Layer in Action](https://www.avanscoperta.it/wp-content/uploads/2026/01/Anti-Corruption-Layer-in-action.png) The quality of a model can depend on how much complexity we can *ignore* within our bounded context. ### Bounded Contexts enable specialised architectural styles Once the purpose of our model is clear, we can pursue it without trade-offs. Some approaches, such as functional programming, fit better certain portions of our system. We might adopt an architectural style that better suits the problem at hand without sharing the same approach with the rest of the organisation. Good Boundaries allow local choices that better fit the local needs. For example, [Event Sourcing](bear://x-callback-url/open-note?title=Event%20Sourcing) works well with transactional models but can quickly become overkill with more malleable draft models, such as content design. Other models may not have persistence at all, such as a specialised calculation engine, or exhibit very little behaviour if the main focus is to provide readable data for human decision-making. ![Multiple architectural options are possible in different bounded contexts.](https://www.avanscoperta.it/wp-content/uploads/2026/01/Multiple-architectural-options-per-bounded-context.png) The implementation style and working agreements can be local to a Bounded Context. Capturing stakeholders’ needs with BDD scenarios can be vital in some cases and burdensome somewhere else. The responsible team would be in charge of the decision. An opportunity for a specialised architecture doesn’t mean anarchy. In fact, it means negotiating a contract with the neighbouring models, while assuming accountability for your implementation. #### A foundation for distributed systems **Bounded Contexts** are not a recent idea; they originated in the early 2000s. The rise of Microservices made them popular because a distributed system can easily go astray without proper boundaries in place, and bounded contexts provided precisely the missing abstraction. However, while Microservices need Bounded Contexts, there is only partial overlap between the two concepts (you may want to read our blog post: [About Bounded Contexts and Microservices](https://blog.avanscoperta.it/2020/06/11/about-bounded-contexts-and-microservices/) on the matter). In practice, you can leverage logical model decomposition in a modularised monolith and transition to a distributed system only when needed. ### Organisational clarity A Bounded Context is typically the responsibility of a single team: the model is usually small enough, and having multiple teams work on the same model without sharing a common design approach is generally a recipe for disaster. Imagine having the same kitchen for a gourmet restaurant and a burger place. A clear purpose often means talking with fewer stakeholders, usually coming from the same organisational area. Fewer stakeholders mean **fewer coordination meetings** and less need for consensus across departments. Reaching an agreement can be extremely expensive in some organisations, and well-defined boundaries mean that you can deliver new features with minimal coordination effort. If your new functionalities require massive coordination, there’s probably something wrong with your architecture. #### A safeguard for future evolution A clean responsibility means that refactoring never escalates to an organisational problem. God Classes are the quintessential example of code that grew beyond the responsibility of a single team, without robust boundary enforcement. While the refactoring is even more necessary, it has also become riskier and more prone to procrastination: too many backlogs and goals need to be put on hold to support cross-boundary refactoring. This is usually the moment when you wish you had applied some robust boundary. ### Bounded Contexts as a virtuous feedback cycle A single team with clear responsibility over a business functionality is the perfect setting for a virtuous quality cycle. If we protected our boundaries, then there should be no targets for the blame game: a bug in our software comes from our team. And a good team uses it as an opportunity for deeper insight, leading to a small extra modelling session if we uncover a new business scenario, or refactoring around a better abstraction if the bug reveals some shortcomings in our model. If you’re a fan of Daniel Pink’s **autonomy, mastery, and purpose**, you might recognise that a Bounded Context provides the perfect environment for a team to perform at their top. If you’re not, you may want to check [this video](https://www.youtube.com/watch?v=u6XAPnuFjJc) or the book **Drive**. ### Bounded Contexts as a pillar for strategic learning When writing business software, we continually learn. As software specialists, we are first learning the complexity of a domain we didn’t know. Then, in competitive markets, we follow (or anticipate) the business’s new directions, learning new things and discovering new opportunities to become more effective. When a business opportunity materialises, bounded contexts provide a robust foundation to shorten the release cycle. New model insights can be delivered faster because we’ll keep the ripple effect to a minimum. More interestingly, the confidence derived from clean, robust models will prompt your team to conduct **more experiments**, eventually becoming a leading source of business opportunities. Coupling is the invisible force holding you back. The switch is from *“It’s going to be a mess.”* to *“Let’s give it a try!”* --- ## In Practice ### Extract Purpose If you’re starting from scratch, you may want to run a **Big Picture EventStorming** to detect signals about the boundaries in your business domain. The workshop should give you enough information to start sketching a[ **Context**](https://www.avanscoperta.it/en/context-mapping/)**[ Map](https://www.avanscoperta.it/en/context-mapping/)**. If you are in a brownfield scenario, you may want to sketch two maps: one **Brownfield Context Map** for the current state, and one **Greenfield Context Map** for the desired target state. With a greenfield mindset, you can start extracting and sharpening the *purpose* of your Bounded Context. This is a linguistic exercise to condense a few clear paragraphs that describe what happens within your bounded context, and the key abstractions needed. In a brownfield, this can feel like a waste of time: a **Big Ball of Mud** will have a very wide and incoherent purpose. That’s a signal that your boundaries need some refinement. ### Make Boundaries Explicit Bounded Contexts will have to talk to each other. [Pivotal Events](https://www.avanscoperta.it/en/eventstorming/pivotal-events/) can be a great source of information to sketch a communication pattern, but Events aren’t the only way to communicate. Showing the formats for incoming and outgoing information can help make the boundaries concrete. ![Communication between Bounded Contexts](https://www.avanscoperta.it/wp-content/uploads/2026/01/Bounded-Context-Communications.png) #### Test your understanding with a canvas While working in Greenfield scenarios (see [**Context Mapping**](https://www.avanscoperta.it/en/context-mapping/)) a canvas can be a great way to frame your thoughts and provide a coherent description of your bounded context. Our friends at DDD-crew made a [popular version](https://github.com/ddd-crew/bounded-context-canvas), but we ended up fine tuning [our version](https://www.avanscoperta.it/wp-content/uploads/2026/04/Avanscoperta-Bounded-Context-Canvas.pdf) of bounded context canvas. ### Enforce Private Persistence Every Bounded Context should manage its own data. A shared database can be a backdoor for a script that violates the integrity checks in our domain model, or an impediment to running local experiments and discovering new abstractions. But we have to keep in mind that Bounded Contexts should be autonomous. An e-commerce might need the *current version* of the Product Catalogue, not the entire set of data in the Catalogue Bounded Context. Private persistence is the key to safety and model integrity. DDD tactical patterns assume that the data you store is the same as the data you retrieve. You can’t evolve your model if somebody has a backdoor and a license to mess with your data. ### Write minimal documentation Once you see the new structure, you need reference documentation to be shared across teams. Write with the reader’s perspective in mind. Documentation is pointless when not consumed. Often, it’s not about filling every space in a form, but about having an *accessible space* where the most relevant information is available. Colocated teams may enjoy a shared physical map as an **information radiator.** Remote teams should make the shared artefact as easily accessible as possible. ### Provide a Structured Glossary Language is a tricky beast; don’t fall into the trap of providing one flat Dictionary page. Terms have a meaning inside a Bounded Context. Make sure a Bounded Context is a first-class citizen in your documentation, not an afterthought. --- ## F.A.Q. #### Is Bounded Context the same as a domain? No. But to understand the difference, we need to be clear about what a “Domain” is. In **Domain-Driven Design**, the term means: “*A sphere of knowledge, an area of expertise”,* emphasising the need to understand the complexity of the problem space. In Domain-Driven Design, a Domain is *what we need to learn,* while a bounded context is the set of abstractions used to model a solution. - **Domain**: *“Our company has a network of external collaborators, who can provide services as trainers or as consultants, depending on the situation.”* - **Bounded Context**: *“In Partnerships, a `Partner` can have one or more `Role`, every `Role` should be associated with a `Deal`. In Delivery, every `Collaborator` is associated with a `Deal`, that we’ll use to calculate the `BillableAmount`. ”* But the term “Domain” isn’t used only in the precise DDD style. Many refer to a Domain as a set of key entities used to model a problem space, with little distinction between the model and its persistence in the database. This can be a slippery slope, because Bounded Contexts tend to be separated, driven by the model’s purpose, while data-centric domains tend to be more coupled. This ambiguity frequently leads to bad model boundaries and the distributed monolith antipattern. #### Can Bounded Contexts be used with different architectural styles? Yes, the purpose defines the optimal architectural style to support the model. A common approach is to have a more CRUD-style model to support the draft side of a key entity lifecycle, and a CQRS/ES implementation for the more transactional portion of the system. --- ### [Senior Developer AI Upskilling](https://www.avanscoperta.it/en/senior-developer-ai-upskilling/) **Published:** December 30, 2025 **Author:** Alberto Brandolini **Content:** AI and LLMs landed like a revolution, promising massive improvements and a paradigm shift in the way we develop software. But the magic of Vibe Coding clashes against a simple objection: who’s going to maintain the code? And when long-term ownership and accountability are involved, then a more sensible approach is required. Balancing the possibilities offered by new tools with the need to stay on top of a mission-critical codebase. ## Balancing power and control Professional software development will need to reinvent itself, leveraging the power of new and quickly evolving tools, while providing a robust and reliable service to our customers. In an odd twist, many old-school techniques are instrumental in the new landscape. - **Domain-Driven Design** provides tools to decompose complex models into more manageable chunks, aligning with the constraints of the context window. - **Behaviour-Driven Development** provides clear support to describe the desired behaviour without the ambiguities of natural language. - **Test-Driven Development** gives stability to a codebase that grows faster and can quickly start oscillating without proper anchoring. Two keywords may describe the current challenge: **control** and **discipline**. Like driving a sports car on a slippery, windy road, the power of the engine can put you in danger if you don’t feel the tyres. Modern professional software development is about **controlling** the power of the new tools. **Discipline** is about our ability to resist temptations: keeping the increment small enough to be manageable, cleaning up the unavoidable missteps and so on. The result is a new system: a different team organisation (probably smaller and with more seniority), a different workflow, and different relationships with the domain experts. ## Our training offer Our new titles combine the experience of software craft with the power of new AI-Augmented tools to build robust approaches to professional software development. - [AI Assistants for Your Team](https://www.avanscoperta.it/en/training/ai-assistants-for-your-teams-workshop/) with [**Uberto Barbini**](https://www.avanscoperta.it/en/trainer/uberto-barbini/) is a three-session journey into leveraging the power of coding assistants while maintaining control over your workflow and codebase. - [AI + Continuous Modernisation](https://www.avanscoperta.it/en/training/ai-continuous-modernisation-workshop/) Workshop with [**Matteo Vaccari**](https://www.avanscoperta.it/en/trainer/m-vaccari/) is a two-session hands-on training on AI-assisted legacy modernization. - The [Agentic Developer Workshop](https://www.avanscoperta.it/en/training/the-agentic-developer-workshop/) with [**Marco Heimeshoff**](https://www.avanscoperta.it/en/trainer/marco-heimeshoff/) takes you from passive prompt-hoping to deliberate agentic mastery. - The [AI-powered Domain-Driven Design](https://www.avanscoperta.it/en/training/ai-powered-domain-driven-design/) with [**Alberto Brandolini**](https://www.avanscoperta.it/en/trainer/a-brandolini/) is 4-day workshop where we’ll start with a deep exploration of a complex business domain, then refine our model to enable faster AI-supported implementation loops. --- ### [Training](https://www.avanscoperta.it/en/training/) **Published:** September 1, 2012 **Author:** administrator **Content:** We design hands-on, high-impact **learning experiences** for software professionals, in person and remote. Our mission is to connect curious minds with the world’s leading practitioners in software development. Whether it’s Domain-Driven Design or cutting-edge architecture, we [bring together experts](https://blog.avanscoperta.it/tag/interviews-with-experts/) and learners in a **collaborative environment** where real growth happens. Our training courses are just one of the many [initiatives](https://www.avanscoperta.it/en/our-training-formats/) we organize to pursue our goal: making the world of software a better place. **We Are Learners** is the motto of our community of professionals: we learn together, sharing insights, experiences, ideas, and knowledge, far beyond the timeframe of a single course. --- ### [Formazione](https://www.avanscoperta.it/it/formazione/) **Published:** September 1, 2012 **Author:** administrator **Content:** Ci piace creare **esperienze di apprendimento uniche**, interattive e partecipative, anche da remoto. Sperimentiamo approcci e modi migliori per sviluppare software. Riuniamo **[menti brillanti](https://blog.avanscoperta.it/tag/interviews-with-experts/) e persone curiose**, creando spazi di apprendimento collaborativi dove la crescita reale prende forma. Corsi di formazione e [formati immersivi](https://www.avanscoperta.it/it/i-nostri-formati-di-apprendimento/) progettati per la **crescita professionale**, la collaborazione, l’organizzazione del lavoro in contesti complessi e creativi sono le sfide che preferiamo. **We Are Learners** è il nostro motto: impariamo assieme, condividiamo spunti, esperienze, idee e informazioni, ben oltre la semplice durata di un corso. --- ### [Leadership Retreat](https://www.avanscoperta.it/it/leadership-retreat/) **Published:** September 2, 2025 **Author:** Alberto Brandolini **Content:** Fare carriera significa assumersi nuove responsabilità ed abbracciare nuove prospettive. Le conoscenze necessarie per i nuovi ruoli diventano via via più strategiche e difficilmente inquadrabili, lontane dalla formazione tradizionale. Le competenze specialistiche possono risultare inutili senza una **collaborazione interdisciplinare** con chi ha un background ed una formazione diversi. A questo livello, collaborare significa abbracciare punti di vista diversi e saper gestire una realtà più sfaccettata. Nessuna disciplina ha tutte le risposte ed il risultato può essere ottenuto solo con il contributo di diverse esperienze. **Leadership Retreat** consente di costruire un terreno comune e di acquisire le competenze chiave per una collaborazione interdisciplinare di successo. ## Learning experience per le persone chiave **Leadership Retreat** è il nostro format progettato per la crescita del tuo team di persone chiave. In un Leadership Camp, esperti di diverse discipline, ma accomunati da passione, curiosità e capacità di comunicare, vi offriranno un’esperienza di apprendimento pensata per il team, ma in grado di rispondere con precisione e onestà alle esigenze dei partecipanti. - **Interdisciplinare** per affrontare gli argomenti da più prospettive, discutendo le implicazioni e i dubbi. - **Adattivo** per rispondere ai bisogni reali del vostro team. - **Coinvolgente**, perché solo attraverso la partecipazione e le esperienze possiamo imparare cose davvero nuove, uscendo da schemi mentali e abitudini. Tre sono gli ingredienti fondamentali per costruire un’esperienza di apprendimento di alto livello. 1. La **competenza** dei nostri [**esperti**](https://www.avanscoperta.it/it/teachers/) ci permette di affrontare una molteplicità di argomenti in modo non dogmatico, ma esplorando le diverse prospettive. La loro **affinità** consente di costruire una visione coerente dello spazio tra le varie discipline. 2. Il **formato adattivo** permette di raccogliere in tempo reale le esigenze del vostro team e di costruire un percorso che tocchi i temi chiave, facendo emergere dubbi ed impedimenti e costruendo una visione coerente degli argomenti affrontati. L’equilibrio tra momenti **pieni** e **vuoti** crea spazi per conversazioni collaterali, più sincere e profonde. 3. Una **facilitazione accurata** garantisce che l’esperienza sia coinvolgente e in grado di cogliere i piccoli segnali di tutti i partecipanti. La **visualizzazione interattiva** consente un ancoraggio immediato ai temi già affrontati, costruendo una rappresentazione coerente del percorso di apprendimento e di trasformazione. Il tutto in luoghi “speciali” che favoriscano un modo diverso di pensare. Agriturismi o ville che permettano di uscire dai vincoli e dalle interruzioni del luogo di lavoro. Per una volta, connessi solo a ciò che è importante. ### A chi si rivolge? A leader che vogliono capire i bisogni ed i vincoli dei loro pari. - 💻 **Tech Leader** in equilibrio tra i vincoli tecnologici e le esigenze di business. - 🚀 **Product Leaders** in cerca di una traiettoria evolutiva efficace e sostenibile. - 🎨 **Design Leaders** in cerca di una collaborazione pragmatica. ### Progettare un leadership retreat In una prima fase, individueremo i pain point del vostro team. Questo ci permetterà di selezionare gli esperti più indicati. Con loro, progetteremo un’**esperienza di apprendimento** che affronti gli argomenti chiave nel modo più efficace. Certi temi funzionano meglio se supportati da attività interattive. Altri richiedono una conversazione facilitata o momenti di riflessione ed introspezione. Il primo piano delle attività ci consente di individuare il compromesso ottimale tra la durata dell’evento e gli obiettivi raggiungibili, offrendo la migliore esperienza di apprendimento possibile. Ma un piano rigido è solo la rete che ci permette di costruire un’esperienza che sia aperta ai contributi da parte di tutti. È un *telaio* all’interno del quale costruire momenti di discussione, di approfondimento e di pratica. La **durata** è un altro ingrediente fondamentale: certe riflessioni hanno un inizio e una fine, ma a volte anche un momento di *crisi* nel mezzo, soprattutto quando la discussione intacca certezze precostituite. Il **tempo** consente di gestire gli alti e bassi di energia e di focus e di chiudere i percorsi aperti. ### Vivere un leadership retreat Si parte cercando di creare rapidamente uno spazio sicuro per esprimersi, per poter toccare i temi importanti per le persone presenti. Le sorprese sono possibili e spesso benvenute. Formati come l’[**Open Space**](https://en.wikipedia.org/wiki/Open_space_technology) permettono esperienze di apprendimento adattive, offrendo opportunità per attività pratiche o per conversazioni approfondite. Si costruisce insieme un percorso possibile, sapendo che ogni attività può – e spesso *deve* – cambiare le carte in tavola. Le scoperte vengono condivise e discusse, contribuendo a raffinare il piano. L’equilibrio tra **pieni** e **vuoti** permette di creare occasioni per conversazioni più profonde, rendendo espliciti dubbi e incertezze. *Insieme*, si contribuisce a un nuovo sapere che renda compatibili i principi e le idee di discipline diverse ed offra strumenti per districarsi tra le mille voci, capendo cos’è importante, per voi, ora. ## Cosa emerge in un Leadership Retreat? Il formato è adattivo e ogni evento fa storia a sé. Ma alcuni temi tendono a ricorrere più frequentemente: - **Gestione strutturata del debito tecnico**. Come bilanciare le necessità evolutive con la necessità di costruire una piattaforma sostenibile? - **IT Capacity Planning**. Abbiamo raddoppiato il budget, ma non i risultati e non capiamo perché. - **Collaborazione efficace**. Come e quando coinvolgere altri dipartimenti nel design di iniziative critiche. - **Strategie per decisioni collaborative** in presenza e da remoto. --- ### [Leadership Retreat](https://www.avanscoperta.it/en/leadership-retreat/) **Published:** September 2, 2025 **Author:** Alberto Brandolini **Content:** Advancing your career means taking on new responsibilities and embracing new perspectives. The knowledge required for new roles becomes increasingly strategic and difficult to categorise, far removed from traditional training. Specialist skills become useless without **interdisciplinary collaboration** with colleagues with different backgrounds. At this level, collaboration means embracing diverse points of view and managing a more multifaceted reality. No single discipline has all the answers; results can only be achieved by contributing different experiences. A **Leadership Retreat** is a way to build a strategic common ground together, learning the competencies to improve interdisciplinary collaboration. ## Learning experiences for key people We designed our **Leadership Retreat** to help your leaders grow. At a Leadership Retreat, experts from diverse disciplines, united by passion, curiosity, and communication skills, will deliver a learning experience tailored to the team and capable of providing precise, honest answers to participants’ needs. - **Interdisciplinary**, to explore topics from multiple perspectives, discussing implications and doubts. - **Adaptive,** to meet the real needs of your team. - **Engaging**, to enable deeper learning, and break out of mental patterns and habits. There are three fundamental ingredients for building a learning experience of this kind. 1. The **competence** of our [**experts**](https://www.avanscoperta.it/it/teachers/) allows us to address various topics in a non-dogmatic way, exploring different perspectives. Their **affinity** will enable us to build a coherent vision of the space between the various disciplines. 2. The **adaptive format** allows us to gather your team’s needs in real time and build a path that addresses key issues, surfaces doubts and obstacles, and builds a coherent vision of the topics. The balance between **full** and **empty** times creates space for more sincere and deeper side conversations. 3. **High-level facilitation** ensures that the experience is engaging and able to pick up on small signals from all participants. **Interactive visualisation** allows immediate anchoring to covered topics, building a coherent representation of the learning and transformation journey. All this happens in “special” off-site locations, preferably in the Italian countryside. Special locations unlock a different way of thinking, away from the workplace dysfunctions and habits. ## Who is this for? This workshop is for leaders who need to understand the needs and the constraints of “the other side”. - 💻 **Tech Leaders:** Balancing technical debt with business delivery. - 🚀 **Product Leaders:** Building sustainable roadmaps without burning out teams. - 🎨 **Design Leaders:** Fostering pragmatic collaboration across disciplines. ### Designing a leadership retreat In the first phase, we will identify your team’s pain points by talking with your main sponsors and conducting quick interviews. This will allow us to select the most suitable experts. Together, we will design a learning experience that navigates key topics, offering challenges and insights. Some topics work best when supported by interactive activities, like serious games and challenges. Others require facilitated conversation or moments of reflection and introspection. The initial plan of activities allows us to find the best compromise between the event’s duration and the achievable goals, creating the best possible learning experience. But a plan is just a safety net for building a learning experience open to every participant’s contribution. It’s a *frame* that will be filled with moments of discussion, deep dive, and practice. **Duration** is a key ingredient, too. Some threads have a beginning and a closure, but sometimes a *crisis* in the middle as well. This is especially true when the discussion calls out old assumptions and beliefs. **Time** allows for managing peaks and valleys of energy and focus. ### Experiencing a leadership retreat We start by quickly creating a **safe space** for conversation so we can touch on topics important to the people present. Surprises are possible, and often welcome. Formats like [**Open Space**](https://en.wikipedia.org/wiki/Open_space_technology) can facilitate adaptive learning experiences, providing opportunities for hands-on or deeper conversations. We build a possible path together, knowing that each activity can—and often must—change the game. We’ll share and discuss discoveries, helping to refine the plan. The balance of full and empty spaces creates opportunities for deeper conversations, making doubts and uncertainties explicit. *Together*, we foster a new awareness that makes the principles and ideas of different disciplines compatible and provides tools to navigate the many voices, helping you understand what is important to you now. ## What emerges in a Leadership Retreat? Team and format are adaptive, and no two retreats are alike. However, some themes tend to surface more often: - **Managing long-lasting technical debt**. Balancing business-driven evolution with sustainable platform maintenance. - **IT Capacity Planning**. We doubled the budget and organisation size, but not the throughput. - **Collaborazione efficace**. How and when to involve other departments in the design of critical initiatives. - **Collaborative strategies for decision-making** onsite and remotely. --- *Are you interested in designing a custom learning experience for your leadership team?* --- ### [Context Mapping](https://www.avanscoperta.it/en/context-mapping/) **Published:** November 4, 2024 **Author:** Alberto Brandolini **Content:** In **Domain-Driven Design**, **Context Mapping** is a tool for mapping relationships between[ **Bounded Contexts** ](https://www.avanscoperta.it/en/bounded-context/)in a software development scenario. On the surface, it is just a drawing showing the relationships between different models. But the map is only the visible part of the story. Context Mapping is an investigation process that requires asking in-depth questions and highlighting strategic information that will be vital for our project outcome. ![Cover of "Domain-Driven Design: Tackling complexity at the heart of software"](https://www.avanscoperta.it/wp-content/uploads/2025/06/DDD-Book-Eric-Evans-227x300.jpeg) When dealing with multiple models, a map becomes crucial for clearly separating their responsibilities and for their cooperation. It becomes a key source of information for splitting teams’ ownership of models and minimising their coupling. Eric Evans first described context maps in [Domain-Driven Design: Tackling Complexity at the Heart of Software](https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215). There, Context Maps weren’t intended to be heavyweight diagrams that constrain evolution, but relatively quick sketches that guide teams in complex territory. However, the blue book only hinted at the power and versatility of **Context Mapping**. Field practice showed how they could be an incredibly versatile and powerful tool. ## Greenfield vs Brownfield A key distinction regarding the significance of context maps is their role in current software development initiatives. A **greenfield context map** focuses on the *ideal decomposition of a future system* into collaborating models. In contrast, a **brownfield context map** is more focused on understanding the current forces that constrain collaboration between models within the current system. This is no minor difference. Envisioning the future is a design exercise in clean modelling, driven by design principles. Reading the current status quo is a full-blown sociotechnical discovery initiative. A **brownfield context map** is one of the few tools for displaying the political forces at work in your software ecosystem. Brownfield and Greenfield typically explore the relationships among many models relevant to our current area of interest. When the map area is limited to a collaboration between two contexts, it can be referred to as a **local context map** or a **translation map**. --- ## Brownfield Context Mapping Typically, we draw a map as one of the initial steps for a software development initiative when our software needs to interact with other components. The steps for drawing a context map differ significantly between greenfield and brownfield scenarios. Brownfield Context Mapping has a more straightforward recipe: 1. Detect **models**; 2. Make **boundaries** explicit; 3. Draw **relationships** between models; 4. Display the relationships’ **direction** (upstream/downstream); 5. **Categorise** the relationships; 6. **Decorate** the map with annotations about the risk areas or other meaningful extra info. The following picture will be more explicit. [![Six steps for Brownfield Context Mapping.](https://www.avanscoperta.it/wp-content/uploads/2024/11/Context_Mapping_6_Steps_75DPI-300x201.png)](https://www.avanscoperta.it/wp-content/uploads/2024/11/Context_Mapping_6_Steps_75DPI.png)Six steps to draw a Brownfield context map ### 1. Detecting Models Graphically, this is the most straightforward step: we need to record the *models* we detect during our investigation. Since we are dealing with a legacy implementation, some design drivers may be blurred. The original *purpose* of a model may have been obscured by years of patches and uncontrolled evolution. However, a **separate software component** might indicate *at least one independent model*. **Code ownership** can be another interesting signal: different teams typically mean different models. We shouldn’t aim for perfection at this stage. The reality won’t be clean, and our map must be honest. The following steps may give us more information. ### 2. Make boundaries explicit Do we have a clean separation between our models? If yes, then we can draw a bubble around our model. [Bounded Contexts](https://www.avanscoperta.it/en/bounded-context/), by definition, are *the limit of applicability of a model,* so sharp boundaries are somewhat required. However, when dealing with legacy code, clean boundaries are a lucky exception. Most of the time, we will discover a lack of clear boundaries, and we’ll need a quick way to represent this mess. Clean boundaries can rely on the official representation, while more controversial interpretations can require a more explicit visualisation. ![Context Mapping - visually representing the lack of clean boundaries.](https://www.avanscoperta.it/wp-content/uploads/2025/11/Drawing-Boundaries-and-Big-Ball-of-Mud-1024x260.png) A **Big Ball of Mud** is a quick way to highlight a portion of your system that has lost integrity long ago. ### 3. Draw relationships between models Models are connected. They need to interact or to share information. A line between two bubbles indicates an ongoing relationship, such as an API call or a shared database table. The number of existing relationships can already be a warning signal: systems where every model is connected with everything else are really hard to maintain. The number of relationships is an indicator of potential ripple effects and the associated *fear* of modifying the code. ### 4. Visualise direction Drawing relationships may look trivial at first. Models are connected, tables are shared, events are published, APIs are exposed. But a **Brownfield Context Map** shifts the exploration in a different direction. It forces us to examine the *collaboration* between models and teams in a way that isn’t purely technical, but also *political*. This mostly happens by focusing on the upstream-downstream relationships between the models. #### Upstream and downstream The **upstream** and **downstream** labels show which side of the relationship has more influence over the other, constraining the available collaboration patterns. For example, we’ll typically be *downstream* to external service providers, such as a *payment gateway*, which may not accommodate our requests for an additional field in their API. Here, we might choose to be **Conformist** in our first implementation and then upgrade to a safer **Anti-Corruption Layer**. In other scenarios, we might be in a dominant *upstream* position, offering a standard entry point to our services without much room for customisation, maybe with an **Open Host**. > The *upstream-downstream* relationship captures the political relationship between the two models, not the technical one. #### Emphasising Communication Bandwidth Connectors between bounded contexts can convey extra information: **thickness** can represent the available *communication bandwidth* between two models. Communication bandwidth is a scarce resource in many organisations, and a common source of friction and misunderstanding. It represents the available space for information exchange between the teams responsible for Bounded Contexts. It can be the time we reserve for meetings, cross-team coordination, and other tasks. Two colocated teams could share modelling space and discuss topics in a simplified way without calling structured meetings. We can leverage this proximity to enable highly engaging collaboration patterns, such as **Partnerships**. ![An example of how Context Mapping can highlight the communication bandwidth constraints on two cooperating teams.](https://www.avanscoperta.it/wp-content/uploads/2025/11/Bounded-Contexts-Bandwidth.png) Two teams in different time zones, or perhaps part of other departments or even companies, may not have the same privileges. It would be great to build a shared mindset and foster continuous collaboration, but it won’t happen. With little available communication bandwidth, both teams would be better off with a clear definition of the boundaries. Maybe writing a little more code will compensate for the missing conversation space. While apparently discussing software models, we are taking a peek into organisational constraints. The bandwidth we need and the one we have can be really different. Mapping the communication bandwidth is a great way to highlight the existing constraints. ### 5. Categorising relationships A Brownfield Context Map focuses on the *collaboration* between models. This often mirrors the collaboration between the responsible teams. After collecting information on the possible types of collaboration, we can attempt to categorise the relationship between the models. We need to keep in mind that we are examining the models *in the making*: we are looking at the forces that constrain their evolution, not at how the code behaves. It’s organisation boundaries and team collaboration, more than clean interfaces. #### Collaboration patterns Eric Evans describes some patterns that categorise these relationships. - A **Partnership** describes a collaboration in which two models can evolve harmoniously, as in the early days of a small company, where a single team can juggle with multiple models, or easily call a joint modelling session with the other team. - A **Customer/Supplier** describes a more structured co-dependency, where one side needs the other more than the other does. Collaboration is possible, but it requires coordination. - In a **Conformist**, the downstream model adapts to the upstream one with minimal adjustment and trading flexibility for short-term development speed. - An **Anti-Corruption Layer** will protect the downstream model from variations from the upstream one. This is particularly useful when integrating with third-party components. - An **Open Host** highlights the different responsibilities that stem from the upstream role of being a service provider. This will mean more work on documentation, robustness, and backward compatibility. - A **Shared Kernel** highlights the need for robustness and expertise to maintain a shared model in which a small change can have massive ripple effects. - **Separate Ways** describes the deliberate choice to move on with minimal integration between two distinct systems. - **Published Language** refers to the use of a shared, official language for model-to-model communication, often allowing more parties to participate. - The **Big Ball of Mud** describes the dynamics of a system that has lost its conceptual integrity and becomes progressively harder to change. #### Visualising the sociotechnical complexity These patterns describe different trade-offs in the sociotechnical stack. An **Anti-Corruption Layer** implies writing more code to compensate for the team’s limited communication bandwidth. A **Partnership** goes in the opposite direction. Similarly, an **Open Host** may be the more bureaucratic version of a **Customer/Supplier**, becoming too demanding as more models started connecting. Relationships between models result more from spontaneous evolution than a deliberate act of design. A **Brownfield Context Map** is typically a short-lived tactical tool to assess the current reality and highlight the most constraining concerns. ### 6. Decorate the map If you’re aiming for perfection and clean diagrams, drawing a **Brownfield Context Map** can be excruciating. *Clarity*, not *beauty,* is not the goal of the mapping effort. But all the little inconsistencies, questions, and doubts that haunted us while attempting to draw the map can find their way into our drawing. Warning signs, question marks, red notes, and any other necessary elements to convey the message can be added to the map. The map is a tool to deliver a message. Make it speak! ### How to use a Brownfield Context Map Drawing a Brownfield Context Map is a detective job: it implies *asking the right questions* about the surroundings of our area of interest. Ideally, when kicking off a new project, drawing a brownfield map should take less than an hour, provided we can obtain the necessary answers from the experts. Greenfield maps will take longer because different interpretations may clash, but we don’t need diplomacy in Brownfield; only transparency. ![Context Mapping is forcing us to ask the right question about the real collaboration between models.](https://www.avanscoperta.it/wp-content/uploads/2024/11/Context-Mapping-Missing-Question-72_Dpi-300x131.png) If obtaining answers about integrations and collaborations with other teams is challenging or inconclusive, we may have already gathered crucial information about the risks associated with a project. *“We should integrate with team X, but we couldn’t get any answers from anybody about how to perform this integration.”* For a software development team on an ambitious project, the perfect storm may be a combination of fixed deadlines and unreliable external dependencies. Here, estimations tend to capture only the risk associated with *doing* without considering the time spent waiting for unresponsive partners. A Brownfield Context Map helps detect these risks very early by forcing you to ask the right questions and meet the right people before committing to a hopeless death-march project. --- ## Greenfield Context Mapping Greenfield context mapping is a different sport. We need to detect *domain* hints that may signal the presence or the need for independent models. This would allow us to optimise models for their specific purpose. A single-purpose model can be sharpened and distilled to excel at one thing, while trade-off models (such as those built on top of a shared database schema) tend to lose flexibility over time. [![A simple Bounded Context definition. Understanding purpose is vital for Greenfield Context Mapping](https://www.avanscoperta.it/wp-content/uploads/2024/11/Bounded_Context_Definition-300x72.png)](https://www.avanscoperta.it/wp-content/uploads/2024/11/Bounded_Context_Definition.png) Unfortunately, while *purpose* is the most powerful force shaping our need for a dedicated model, it doesn’t provide immediate guidance for drawing our map. We can’t ask business stakeholders to provide us with a purpose with the sharp precision needed to define model boundaries. Finding boundaries is a software architect’s job and can’t be delegated. ### Detecting Bounded Context with EventStorming Luckily, collaborative workshops like [**Big Picture EventStorming**](https://www.avanscoperta.it/en/eventstorming/) can provide valuable hints about partitioning a large enterprise model, especially when organised around a business flow. - **Different stakeholders**, especially those from different offices, will have distinct needs; therefore, they will likely require separate models. - **Pivotal Events**, which separate distinct phases, serve as natural landmarks between the model(s) to the left and the model(s) to the right. - **Swimlanes** typically represent independent processes, often with a clear and specific purpose. While none of these indicators is bulletproof, observing the emergent model and the people’s behaviour together provides incredible information about how to split a large enterprise model. [![A Big Picture EventStorming simplified view with Boundaries highlighted, providing powerful signals for Context Mapping](https://www.avanscoperta.it/wp-content/uploads/2024/11/Big_Picture_EventStorming_Bounded_Contexts_Signals-300x102.png)](https://www.avanscoperta.it/wp-content/uploads/2024/11/Big_Picture_EventStorming_Bounded_Contexts_Signals.png) While a **Big Picture EventStorming** effectively detects domain signals, we must remember that **Bounded Contexts** are not a business concern. Despite the invaluable contribution during the workshop, drawing the map with our business stakeholders isn’t always a good idea. #### Going below the surface Not every bounded context can be detected with signals from the business flow. Shared components may provide services or technical capabilities independently from the business flow. Often, logical *layers* are a better way to detect boundaries between models below the business flow surface. Usually, we’d use a **Local Context Map** for that. ### What about the collaboration patterns? Collaboration patterns are somewhat *premature* for Greenfield Context Maps. The collaboration is not in place, and perhaps there is no organisation to investigate yet, and no organisational politics. In general, collaboration patterns are a way to categorise existing collaborations, so we’ll need more field information to recognise them. However, some relationships are easily recognisable even before the start, so it’s not uncommon to add **Anti-Corruption Layers** between our model and an external vendor. But when it comes to finding a distinction between a **partnership** and a **customer-supplier** relationship *before development is in place*, then it could quickly become pointless --- ## Local Context Mapping When working on the boundary between **Bounded Contexts**, concepts that may span different models require special attention. This is where a **Local Context Map** may be helpful. It can visualise the current agreement and support the discussion when deciding which concepts belong to which model. ### Cooperating models In the following example, three models are cooperating in a space where the same data is used for different purposes. The emphasis on purpose helps preserve the integrity of the local model and provides a more robust foundation for future evolutions. ![Local Context Mapping example with explicit languages between three top-level Bounded Contexts](https://www.avanscoperta.it/wp-content/uploads/2024/11/Local-Context-Map-with-Treasury-72_Dpi-300x163.png) Refining the local [**Ubiquitous Language** ](https://www.avanscoperta.it/en/ubiquitous-language/)helps sharpen the model, keeping the involved [**Bounded Contexts** ](https://www.avanscoperta.it/en/bounded-context/)sharp and clean. Interestingly, the same data can be presented under different names (such as *Balance* and *Liquidity* in the example above) or lead to more precise concepts when translating the *Due Date* concept in *Billing* to the *Expected Date* in *Forecast*. ### Stacked Models Drawing the boundaries can become tricky in a layered model scenario, especially when the modellers trying to draw the line are also experts in the underlying layers. In this example, we can see two models that are logically layered: a *Content Design* bounded context that sits on top of a more generic *Text Editing* bounded context. *Content Design* offers a more sophisticated perspective on content, enabling us to manage the different logical components of a piece of web content. The *Text Editing* model, on the other hand, is unaware of this sophistication and focuses solely on the editing experience. ![Layered Bounded Contexts in a local Context Mapping scenario](https://www.avanscoperta.it/wp-content/uploads/2024/11/Layered-Bounded-Contexts-72_Dpi-286x300.png) The objection *“At the end of the day, it’s all text”* is *valid* and *wrong* at the same time. While everything can be text, and we’ll be using some text-editing capabilities, designing content for the web occurs at a different level of abstraction, with a more purpose-oriented semantic approach. --- ## Context Mapping Applicability **Context Maps** are a versatile tool, not strictly limited to Domain-Driven Design. A **Brownfield Context Map** can be a very effective tool for capturing vital information about an initiative about to start. Moreover, the collaboration patterns can be applied beyond the software world, making the map a useful tool for any transformation initiative involving multiple teams. A **Greenfield Context Map** is more of a design artefact for envisioning complex model collaboration, and then providing modelling guidelines for the future evolution of the model. Clean boundaries coming from your map can also provide robust guidelines for AI-assisted development. **Local Context Maps** can be vital when working on two adjacent models simultaneously. A single team will need safeguards to avoid injecting coupling into a young, growing system. But local Context Maps can also be vital in complex negotiation scenarios. Words may have different meanings and significance to the two negotiating parties; an explicit context map can prevent misunderstandings from escalating. --- ## F.A.Q. ### Should we map everything? Not really. The map is a tool, not a duty. When starting a project, it’s a good idea to sketch a map of the surrounding bounded contexts and categorise their relationships. But gathering information beyond the neighboring models may not be relevant at this stage. More ambitious large-scale initiatives, such as architectural modernisation, can leverage discovery workshops, such as [**Big Picture EventStorming**](https://www.avanscoperta.it/en/eventstorming/), to gather information and map the entire business line. --- ### [Ubiquitous Language](https://www.avanscoperta.it/en/ubiquitous-language/) **Published:** March 6, 2026 **Author:** Alberto Brandolini **Content:** Ubiquitous Language is an original idea from **Domain-Driven Design**, coming straight from Eric Evans’ book. Unfortunately, it is also frequently misunderstood. Here, we try to provide an actionable explanation. ## Why do we need a Ubiquitous language? Software development requires *precision* to describe a model’s expected behaviour. A *precise language* provides the necessary nuances to represent the key features of a given model. For example, money can be *credited* to your bank account rather than *added*. We know there will be a plus operation somewhere, but `credit(…)` is an operation with precise semantics that we should capture to design a model fitting the problem space. > **Ubiquitous Language** is a conversational language with the precision of a software specification. Without this precision, we may increase the system’s accidental complexity by retrofitting the domain terminology or—*worse*—reinterpreting it back into the code. Fast-forward a few years. You now have new developers on the team, and the legacy code needs to be evolved. Now, weird things can happen: experts will keep talking in a language that isn’t reflected in the code, leaving the development team with a double challenge: understanding the domain complexity from the conversations and the domain interpretation of the previous development team, which used different terminology. Documentation can sometimes help – *maybe* – but won’t resolve the problem: instead of learning **one** complex topic, we have to learn **three**: - the **domain** complexity, again. - the model in **software** and - the **mapping**/translation between the two. When documentation is out of sync, the puzzle becomes even trickier, often forcing your development team to *gamble* on the interpretation. **Ubiquitous language** is what you wish you had: *zero mismatch* between code and domain knowledge. Code mirrors the domain terminology and implements the fundamental concepts as reliable primitives: we can understand the domain by reading the code, just as we can understand the code by talking with the experts. …But the code should be better! ### Still Seems too theoretical… Not really. Ubiquitous Language is a *tool* with a *purpose*. Or even more than one: - It *validates our understanding* of the problem domain. The more our code resonates with the business language, the more likely we are to solve the right problem. - It provides the development team with *confidence*. The proximity between the software and the domain implies that we minimised **accidental complexity**. Our code will be easier and safer to change. - It provides a *business advantage* whenever the domain evolves. A model capturing the essence of a problem today will be faster to adapt to tomorrow’s problem. In practice, attention to the language won’t be an extra burden: it’s the most effective way to reduce the burden of accidental complexity in business domains. ## Scope of application The real meaning of Ubiquitous Language is often misunderstood. While the promise of “everybody speaking the same language” is tempting, it clashes with the reality of business software development. Ubiquitous Language applies to **one model**, and this model is bound to a specific **purpose**. In other words, we’ll have more than one **Ubiquitous Language**, each tied to a specific [**Bounded Context**](https://www.avanscoperta.it/en/bounded-context/). Speaking the same language is great. It leads to better design. But the magic of perfect alignment does not scale to large models. ### Should developers speak the business language? Ideally …yes. But this interpretation turned out to be a little simplistic. In Domain-Driven Design, software developers are expected to have genuine curiosity about the problem domain, learn the intricacies of the model, and understand the business language. However, business language doesn’t always offer the precision that Ubiquitous Language needs. Usually, business experts know the business deeply, but a robust mental model to represent domain knowledge may not be available. Many business domains are a combination of overlapping narratives with some degree of fuzziness. In these scenarios, Ubiquitous Language needs to be conquered, not just transcribed. In other words, the **Ubiquitous Language** is collaboratively created through a progressive convergence of two perspectives: domain experts provide field expertise, and software-oriented modellers provide formal robustness, turning a conversational language into a precise modelling language. Good, precise terminology tends to stick because it solves an ambiguity problem for everybody. ## In practice… The first consequence can be labeled as “language obsession”. While gathering information about the problem space, we should *train our ears* to capture language discrepancies and ambiguities. Terms with ambiguous meanings may signal that different models are referring to the same term, or using it in different ways. This can be a signal to explore splitting the model into two. A more precise definition of the models’ purpose will allow a sharper meaning for the local terms. But **language precision is a tool**. It signals the coherence of our understanding and allows us to build independent models with clearer responsibilities. ![Naming concepts without clarity on the purpose is often a continuous oscillation experience.](https://www.avanscoperta.it/wp-content/uploads/2025/01/Hard_to_define_terms_Ubiquitous_Language-1-300x76.png) ### Static structure is not the right signal Static properties of our ubiquitous language terms can lead us to think that one term is the same and widely shared. If we focus on the data structure, then we can easily agree with statements like: *“Every `Contract` has a `Customer` and `ValidityPeriod`“,* while if we consider the different behaviour of a Contract during *Negotiation* and *Delivery,* we might discover that `ValidityPeriod` might not be set during the negotiation. In other words, **behaviour** associated with the domain term is a more reliable indicator of the coherence of your model to the desired purpose. ### Refine your dictionary with Bounded Contexts Flat dictionaries are a temporary illusion. In reality, every term has a context-specific meaning. Still, many project documentation falls into the trap of providing an enterprise-level glossary structured as a list. Whatever platform you use for documenting your bounded context (we love [Notion](https://notion.io), btw), you should make **context** a first-class citizen of your documentation. We usually track our domain terms according to the tuple `[Term, Context, Definition, Confidence, Owning Team]` and provide a coherent narrative of what happens within a single **Bounded Context**, ensuring that the domain terms sound correct when combined in a meaningful sentence. #### ![An example of Ubiquitous Language Dictionary in Notion](https://www.avanscoperta.it/wp-content/uploads/2025/01/UL_Dictionary_in_Notion-300x164.png) ### Close the loop between conversation and code Code and conversations will give you hints about possible changes to the model. When referring to the right problem space, code and conversation shouldn’t diverge. But it may happen. A more precise term can better capture the original intent, or a new nuance may challenge the model’s status quo. Sometimes you have to defend the model’s precision against a little sloppiness in the conversation; other times, a new term can be the first breakthrough towards a new model. Don’t let the distance between the conversation and the code widen. ## Ubiquitous Language is not only verbal This may come as a surprise, but languages aren’t limited to words. Italians are more expressive, combining words and *gestures*. Colors, images, fonts, and sounds can enrich your model and provide extra contextual information to mitigate ambiguities. ## Where can we use the Ubiquitous Language? The most obvious answer is: *“In our **code**,”* where our domain concepts progressively align with the business terminology, but the real answer is “wherever it matters.” - In our **code**, precise terms will make our model fit the domain problem we are addressing. - In our **tests**, it will allow us to challenge our understanding of the domain, but also the robustness of the business narrative (especially if we’re using approaches like **Specification by Example** or **Behaviour-Driven Development**). - In our **documentation**, we especially describe the purpose of bounded contexts and the meaning behind some specific terms. --- Photo by [Joshua Hoehne](https://unsplash.com/@joshua_hoehne?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on [Unsplash](https://unsplash.com/photos/text-YPgTovTiUv4?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) --- ### [Learning Domain-Driven Design](https://www.avanscoperta.it/en/learning-domain-driven-design/) **Published:** September 25, 2024 **Author:** Alberto Brandolini **Content:** Learning Domain-Driven Design can scare beginners. Here is a little guide to help you choose the best DDD courses for you and your team. **Domain-Driven Design** has evolved since its origins and Eric Evans’s original vision. What was initially considered a sophisticated object-oriented architecture has flourished into an all-around approach to software development. The growing attention towards **Microservices** and **Event-Driven Architecture** brought new popularity to **Domain-Driven Design,** which offers the best conceptual toolkit for successfully decomposing complex architectures and flows into loosely coupled components. In modern **Domain-Driven Design**, architecture and craft provide options and confidence, blending with strategy and vision. Meanwhile, [**EventStorming**](https://www.avanscoperta.it/en/eventstorming/) and other [collaborative modelling](https://www.avanscoperta.it/en/collaborative-modelling/) techniques offer a more engaging and effective way to *learn* the domain complexity faster and establish better connections between tech and business stakeholders. Lately, the influence of domain-driven design has also played a role in the growing discussion surrounding [**team topologies**](https://teamtopologies.com/). **[Bounded contexts](https://www.avanscoperta.it/en/bounded-context/)** became even more crucial in defining responsibility boundaries between cooperating teams. (More about this in our blog article: [About Team Topologies and Context Mapping](https://blog.avanscoperta.it/2021/04/22/about-team-topologies-and-context-mapping/)). #### Our core DDD courses It’s hard to wrap all the knowledge about Domain-Driven Design into a single DDD course, so we have more than one: - If you’re looking for a concise (3-hour) overview that can also evolve into a multi-perspective discussion, then the online [**DDD Executive View**](https://www.avanscoperta.it/en/training/domain-driven-design-executive-view-training/) with **Alberto Brandolini** is the best way to understand Domain-Driven Design and its implications for your ecosystem. - **[Domain-Driven Design Modelling Workshop](https://www.avanscoperta.it/en/training/domain-driven-design-modelling-workshop/)** with **Alberto Brandolini** is a 3-day immersive in-person journey into collaborative modelling, from Big Picture EventStorming to [Context Mapping](https://www.avanscoperta.it/en/context-mapping/) and aggregate design. - [**Domain Models in Practice**](https://www.avanscoperta.it/en/training/domain-models-in-practice-workshop-ddd-cqrs-event-sourcing/) with **Marco Heimeshoff** is a five-session *remote* training course connecting strategy and collaborative modelling with a modern implementation in CQRS/ES. - If DDD seems too vast and complicated (and you’re Italian), [**Domain-Driven Design made simple**](https://www.avanscoperta.it/it/training/domain-driven-design-made-simple-workshop/) with **Luca Giovenzana** and **Gabriele Toselli** can be a great way to move your first practical steps into DDD without getting overwhelmed by the many options. - **Scott Wlaschin’s** [Domain Modelling Made Functional](https://www.avanscoperta.it/en/training/domain-modeling-made-functional-workshop/) workshop is the perfect choice if your challenge is to map DDD concepts into functional paradigms. - **Bruno Boucard** and **Kenny Baas-Schwegler**‘s **[Deep Dive into Model-Driven Design](https://www.avanscoperta.it/en/training/deep-dive-into-model-driven-design-workshop/)** focuses on the last mile, specifically how code quality, solutions, and practice provide feedback to improve our models, feeling the loop closing under our typing fingers. #### You may also like… - [**EventStorming Masterclass** ](https://www.avanscoperta.it/it/training/eventstorming-master-class/)with **Alberto Brandolini** specifically targets aspiring facilitators in the different [EventStorming](https://www.avanscoperta.it/en/eventstorming/) formats. - [**EventStorming Remote Experience**](https://www.avanscoperta.it/en/training/eventstorming-remote-modelling/) gives you the best tools for a successful online modelling experience, specifically designed for remote development teams. - **Gianluca Padovani**‘s [**Microservices Practical Training**](https://www.avanscoperta.it/en/training/microservices-practical-training-course/) will guide you from an EventStorming model towards a microservices implementation. The hands-on approach will connect theory and models with practical field experience. --- ### [Libri](https://www.avanscoperta.it/it/libri/) **Published:** June 1, 2022 **Author:** Alessandra Granaudo **Content:** Alcuni argomenti funzionano meglio su carta. Un libro può raccontare storie, e può accompagnarti in vacanza. Un libro più essere letto alla tua velocità, può essere prestato e condiviso. I libri possono anche osservarti dallo scaffale quando sei nei guai, magari ricordandoti che qualche pagina può avere la soluzione al problema che stai affrontando. I nostri libri sono scritti da esperti per aiutarti a imparare abilità fondamentali per la tua carriera nel mondo digitale, con l’obiettivo di essere **chiari** ed **applicabili**. ## Titoli pubblicati - [Cronache di Domain-Driven Design](#CronacheDomainDrivenDesign) - [Decision-making for Software Development Teams](#Decisionmaking) - [Leadership Efficace](#LeadershipEfficace) --- #### **Cronache di Domain-Driven Design** [![Libro Cronache di Domain-Driven Design](https://www.avanscoperta.it/wp-content/uploads/2022/06/Cronache_DDD_cover-min-232x300.jpg)](https://www.avanscoperta.it/wp-content/uploads/2022/06/Cronache_DDD_cover-min-scaled.jpg) ***Storie, esperienze sul campo, progetti reali raccontati in modo diverso*** Autori: Alberto Acerbis, Matteo Baglini, Uberto Barbini, Alberto Brandolini, Julie Camosseto, Alessandro Colla, Marco Consolaro, Emanuele DelBono, Gianluca Padovani, Francesco Strazzullo Lingua: italiano Pubblicazione: maggio 2022 Acquista su: [Leanpub](https://leanpub.com/cronache-di-domain-driven-design) o [Amazon](https://amzn.eu/d/iuTvTf9) --- #### **Decision-making for Software Development Teams** [![](https://www.avanscoperta.it/wp-content/uploads/2022/06/Strazzullo_cover-232x300.jpg "Book Strazzullo")](https://www.avanscoperta.it/wp-content/uploads/2022/06/Strazzullo_cover-scaled.jpg) ***Learn how to make mindful decisions in complex software ecosystems*** Autore: Francesco Strazzullo Lingua: inglese Pubblicazione: marzo 2022 Acquista su: [Leanpub](https://leanpub.com/decision-making-for-software-development-teams) o [Amazon](https://amzn.eu/d/g8CF4pS) --- #### Leadership Efficace [![Copertina libro Leadership Efficace](https://www.avanscoperta.it/wp-content/uploads/2024/05/Copertina-Sartoni-1-1-200x300.png)](https://www.avanscoperta.it/wp-content/uploads/2024/05/Copertina-Sartoni-1-1.png) ***Da specialista a manager: un viaggio nella leadership moderna*** Autore: Luca Sartoni Lingua: italiano Pubblicazione: giugno 2024 Acquista su: [Leanpub](https://leanpub.com/effectivemanagement) --- --- ### [Our training selection](https://www.avanscoperta.it/en/our-training-selection/) **Published:** November 14, 2025 **Author:** Alberto Brandolini **Content:** Here is a curated selection of learning opportunities for your team. We pick topics that can make a difference—opening new paths and unlocking untapped potential inside your organisation. Some titles are available as public trainings in our calendar, others are designed specifically for in-house delivery. If you are looking for something more sophisticated than a single title, you may want to explore our [**training formats**](https://www.avanscoperta.it/en/our-training-formats/). Please [contact us](https://www.avanscoperta.it/en/about-us/#contact) to learn more about our private training options, including on-site training. --- ### [I corsi passati](https://www.avanscoperta.it/it/i-corsi-passati/) **Published:** July 3, 2014 **Author:** fabbrucci --- ### [Pivotal Events](https://www.avanscoperta.it/en/eventstorming/pivotal-events/) **Published:** May 30, 2025 **Author:** Alberto Brandolini **Content:** In [EventStorming](https://www.avanscoperta.it/it/eventstorming/), **Pivotal Events** act as *splitters* between distinct phases of the business flow. ![A Big Picture EventStorming board with highlighted Pivotal Events](https://www.avanscoperta.it/wp-content/uploads/2025/06/ES_Big_picture-pivotal_events-1024x337.png)*Pivotal Events act as splitters of the main EventStorming narrative.* They are instrumental in building a structure for the many narratives of a business flow, and provide information that may be useful later, when decomposing the system into possible [Bounded Contexts](https://www.avanscoperta.it/en/bounded-context/). ## Detecting Pivotal Events During the *enforce the timeline* step of a [**Big Picture EventStorming**](https://www.avanscoperta.it/it/eventstorming/), we might ask the audience for common events that look like good splitters between different phases. Events with a clear distinction between before and after. We might select key moments of the overarching business transaction, such as `Contract Signed`, `Payment Received`, `Item Delivered,` etc. ![Duplicated Events in a small EventStorming area.](https://www.avanscoperta.it/wp-content/uploads/2025/06/ES_Big_picture-duplicated_events-300x96.png)*Duplicated or overlapping events may signal a Pivotal Event.* The number of duplicate sticky notes might also provide insights. The narratives of different participants tend to converge on the same events. The precise wording may differ (and be interesting to investigate), but a cluster with compatible interpretations likely signals an event at a responsibility boundary. ### Speed beats precision In a typical Big Picture EventStorming, the model progressively emerges from discussion in an iterative progression from chaotic to structured. When we first scout our first pivotal events, we might still be somewhere in the fog, looking for the first seeds of a structure. Therefore, we typically spend little time in the detection phase. There isn’t enough information yet to strive for perfection. We need plausibility and a balanced distribution of the areas between the Pivotal Event. An event at the very beginning or the very end is not a good candidate for a Pivotal Event; a *splitter* needs to be somewhere in the middle. ## Marking Pivotal Events During in-person workshops, we usually highlight Pivotal Events with a paper tape. This allows for replacing and rearranging if new insights emerge during the discussion. ![Pivotal events from an online EventStorming session.](https://www.avanscoperta.it/wp-content/uploads/2025/06/Screenshot-2025-06-26-at-15.52.35-300x152.png)*Larger sizes and bold fonts should do the trick online.* Note: In online workshops, we use a larger size and bold font to differentiate pivotal events from the standard ones. We often use different colours during the initial exploration, using **orange** to signal that an event has been discussed/accepted. Whatever the chosen notation, it should be easily reversible. Pivotal Events aren’t precise yet. Once the first Pivotal Events are highlighted, we try to rearrange the remaining events to be coherent with the new dominant narrative. This rearrangement process often leads to more refinements in the flow structure, such as more splitters and horizontal swimlanes. ## Refining Pivotal Events The original detection phase is **fast**, meaning that *we are trading precision for plausibility*. We need to establish a workable structure quickly, and the initial Pivotal Events candidates may require a few revisions before they are agreed. You may find events describing the same concept at different levels of precision, or displaying nuances which may be worthy of a deeper discussion. Don’t expect to finish the workshop with the same Pivotal Events you selected in the kick-off stages. ## Pivotal and Domain Events **Pivotal Events** live only inside an [**EventStorming Workshop**](https://www.avanscoperta.it/en/eventstorming/). They are a tool to highlight the special role of certain events during a [**Collaborative Modelling**](https://www.avanscoperta.it/en/collaborative-modelling/) experience. We can leverage participation to improve the wording, challenge the semantics, or count the number of downstream listeners (systems and stakeholders) who will be interested in a specific Pivotal Event. But a discovery workshop is a great place to gather information, but not to do precise design; this is the homework for the next day. If our implementation adopts an Event-Driven Architecture, then our Pivotal Events are the best candidates to become **Public Events**, part of an Event-Driven **Published Language** (see [**Context**](https://www.avanscoperta.it/it/context-mapping/)[ ](https://www.avanscoperta.it/it/context-mapping/)[**Mapping**](https://www.avanscoperta.it/it/context-mapping/)) that connects the different [**Bounded Contexts**](https://www.avanscoperta.it/en/bounded-context/) within a system. If some of your **Bounded Contexts** implement variations of Event Sourcing, you should pay special attention to considering the different interpretations of public events between producers and consumers. For example, two events like `Product Page Published` and `Product put on sale` may apparently refer to the same thing. But this may be the current interpretation of the existing business flow: downstream processes may have to listen `Product put on sale` to start tracking. Waiting on `Product Page Published` instead could lead to unnecessary coupling and friction if different business flows are in place. --- ### [Pivotal Events](https://www.avanscoperta.it/it/eventstorming/pivotal-events/) **Published:** May 30, 2025 **Author:** Alberto Brandolini **Content:** In [EventStorming](https://www.avanscoperta.it/it/eventstorming/), **Pivotal Events** act as *splitters* between distinct phases of the business flow. ![A Big Picture EventStorming board with highlighted Pivotal Events](https://www.avanscoperta.it/wp-content/uploads/2025/06/ES_Big_picture-pivotal_events-1024x337.png)*Pivotal Events act as splitters of the main EventStorming narrative.* They are instrumental in building a structure for the many narratives of a business flow, and provide information that may be useful later, when decomposing the system into possible [Bounded Contexts](https://www.avanscoperta.it/en/bounded-context/). ## Detecting Pivotal Events During the *enforce the timeline* step of a [**Big Picture EventStorming**](https://www.avanscoperta.it/it/eventstorming/), we might ask the audience for common events that look like good splitters between different phases. Events with a clear distinction between before and after. We might select key moments of the overarching business transaction, such as `Contract Signed`, `Payment Received`, `Item Delivered,` etc. ![Duplicated Events in a small EventStorming area.](https://www.avanscoperta.it/wp-content/uploads/2025/06/ES_Big_picture-duplicated_events-300x96.png)*Duplicated or overlapping events may signal a Pivotal Event.* The number of duplicate sticky notes might also provide insights. The narratives of different participants tend to converge on the same events. The precise wording may differ (and be interesting to investigate), but a cluster with compatible interpretations likely signals an event at a responsibility boundary. ### Speed beats precision In a typical Big Picture EventStorming, the model progressively emerges from discussion in an iterative progression from chaotic to structured. When we first scout our first pivotal events, we might still be somewhere in the fog, looking for the first seeds of a structure. Therefore, we typically spend little time in the detection phase. There isn’t enough information yet to strive for perfection. We need plausibility and a balanced distribution of the areas between the Pivotal Event. An event at the very beginning or the very end is not a good candidate for a Pivotal Event; a *splitter* needs to be somewhere in the middle. ## Marking Pivotal Events During in-person workshops, we usually highlight Pivotal Events with a paper tape. This allows for replacing and rearranging if new insights emerge during the discussion. ![Pivotal events from an online EventStorming session.](https://www.avanscoperta.it/wp-content/uploads/2025/06/Screenshot-2025-06-26-at-15.52.35-300x152.png)*Larger sizes and bold fonts should do the trick online.* Note: In online workshops, we use a larger size and bold font to differentiate pivotal events from the standard ones. We often use different colours during the initial exploration, using **orange** to signal that an event has been discussed/accepted. Whatever the chosen notation, it should be easily reversible. Pivotal Events aren’t precise yet. Once the first Pivotal Events are highlighted, we try to rearrange the remaining events to be coherent with the new dominant narrative. This rearrangement process often leads to more refinements in the flow structure, such as more splitters and horizontal swimlanes. ## Refining Pivotal Events The original detection phase is **fast**, meaning that *we are trading precision for plausibility*. We need to establish a workable structure quickly, and the initial Pivotal Events candidates may require a few revisions before they are agreed. You may find events describing the same concept at different levels of precision, or displaying nuances which may be worthy of a deeper discussion. Don’t expect to finish the workshop with the same Pivotal Events you selected in the kick-off stages. ## Pivotal and Domain Events **Pivotal Events** live only inside an [**EventStorming Workshop**](https://www.avanscoperta.it/en/eventstorming/). They are a tool to highlight the special role of certain events during a [**Collaborative Modelling**](https://www.avanscoperta.it/en/collaborative-modelling/) experience. We can leverage participation to improve the wording, challenge the semantics, or count the number of downstream listeners (systems and stakeholders) who will be interested in a specific Pivotal Event. But a discovery workshop is a great place to gather information, but not to do precise design; this is the homework for the next day. If our implementation adopts an Event-Driven Architecture, then our Pivotal Events are the best candidates to become **Public Events**, part of an Event-Driven **Published Language** (see [**Context**](https://www.avanscoperta.it/it/context-mapping/)[ ](https://www.avanscoperta.it/it/context-mapping/)[**Mapping**](https://www.avanscoperta.it/it/context-mapping/)) that connects the different [**Bounded Contexts**](https://www.avanscoperta.it/en/bounded-context/) within a system. If some of your **Bounded Contexts** implement variations of Event Sourcing, you should pay special attention to considering the different interpretations of public events between producers and consumers. For example, two events like `Product Page Published` and `Product put on sale` may apparently refer to the same thing. But this may be the current interpretation of the existing business flow: downstream processes may have to listen `Product put on sale` to start tracking. Waiting on `Product Page Published` instead could lead to unnecessary coupling and friction if different business flows are in place. --- ### [Move Forward](https://www.avanscoperta.it/en/) **Published:** August 24, 2012 **Author:** administrator **Content:** We learnt that there are better ways to **develop software** and **manage** work and companies, also in a remote scenario. We discovered and recovered crucial skills and knowledge to build **top-quality** products, appreciated by users and crafted with **pride** by serious and enthusiastic **professionals**. We’ve seen **revolutionary companies** succeed and ways to collaborate and deliver better results in shorter times. We’ve met **pioneers**, **innovators,** and **leaders**. We embraced, experimented, shared, and discussed their and our ideas. We explored **disciplines** and fields that looked far away, but turned out to be surprisingly close. We discovered **new ways** to teach, to learn, and to share knowledge. We’ve applied this learning to the new fully-remote scenario. In the last ten years, we’ve learnt a lot. Both online and in real life. We could have done the same in five years. If only we knew how. --- ### [Crossover Training Program](https://www.avanscoperta.it/it/crossover-training-programs/) **Published:** November 18, 2025 **Author:** Alberto Brandolini **Content:** La formazione è un ingrediente fondamentale per trasformazioni su vasta scala nella vostra organizzazione. Costruire una **nuova collaborazione** è più importante che limitarsi ad apprendere nuove conoscenze. In questi casi, è fondamentale riuscire a costruire un terreno comune, per fare emergere ostacoli e dubbi e guadagnare il supporto delle parti coinvolte. Ma i corsi tradizionali sono spesso rivolti ad una specifica figura professionale, tralasciando i ruoli collaterali e finendo per generare dubbi: *“Come impatterà sulle mie attività?”* Senza risposte chiare, anche le migliori iniziative possono impantanarsi tra frizioni, polemiche e resistenza al cambiamento. ## Un approccio diverso I nostri **Crossover Training Program** sono progettati per supportare l’adozione interdisciplinare di nuove idee nella vostra organizzazione. L’esperienza di apprendimento è modellata per rivolgersi a più ruoli e costruire da subito un terreno comune in termini di conoscenza, linguaggio e mentalità. Gli ingredienti fondamentali sono la **varietà professionale** e l’**allineamento culturale**. I nostri esperti sanno interpretare punti di vista e bisogni dei vari stakeholders, senza compromettere la coerenza del messaggio complessivo. Frizioni ed impedimenti non sono più visti come un *problema.* Diventano parte integrante di una conversazione più ampia e coinvolgente, sulla strada verso nuove forme di collaborazione. ## Crossover training programs in pratica Collaboreremo con le vostre figure chiave per comprendere **obiettivi**, **vincoli** ed **ambizioni** della vostra iniziativa. ![A diagram showing two specialist tracks and one collaboration learning track.](https://www.avanscoperta.it/wp-content/uploads/2025/11/Crossover-program-sample-1-1024x425.png) Poi progetteremo un’esperienza di apprendimento complessiva che trovi il giusto equilibrio tra formazione specialistica e sessioni dedicate alla collaborazione interdisciplinare. Avremo cura di includere **momenti di condivisione** e di **verifica** lungo il percorso, rendendo visibili i progressi. Canali di discussione dedicati e knowledge base possono affiancarsi alle sessioni di training, offrendo ulteriori occasioni di apprendimento e coinvolgimento. I nostri [esperti](https://www.avanscoperta.it/it/i-nostri-docenti/) adatteranno il **linguaggio** ed il **messaggio** alle varie occasioni, senza perdere integrità e coerenza. Potranno guidare un team su un percorso tematico, ma anche rendersi disponibili per sessioni allargate, dedicate alle sfide che emergeranno a livello di collaborazione. Programmi più sofisticati possono includere moduli personalizzati o formati specifici, come [**Leadership Retreat**](https://www.avanscoperta.it/it/leadership-retreat/) o **Train-the-Trainer**. Il risultato è un’esperienza di apprendimento inclusiva, in cui domande e dubbi possono essere discussi in uno spazio sicuro, in grado di offrire supporto. Gli esperti vi aiuteranno nel vostro percorso, mentre il vostro team costruisce fiducia e consapevolezza nei propri mezzi. --- ### [I nostri formati di apprendimento](https://www.avanscoperta.it/it/i-nostri-formati-di-apprendimento/) **Published:** December 16, 2024 **Author:** Alessandra Granaudo **Content:** Ci piace progettare formati di apprendimento che rispondono a esigenze e finalità diverse. Qualità dell’erogazione, learning experience e la ricerca della migliore combinazione tra argomento, docente e formato sono la nostra passione. ## Workshop in presenza ![a woman e two men during a training class](https://www.avanscoperta.it/wp-content/uploads/2025/05/On-site-Workshop-300x300.png) I workshop in presenza ([pubblici](https://www.avanscoperta.it/it/formazione/) o custom per un team, un’organizzazione) sono il modo migliore per immergersi in una nuova modalità di pensiero. Utilizziamo l’aula per rafforzare i messaggi, ottimizzare i processi e coinvolgere i partecipanti in uno spazio ricco di intuizioni e ispirazioni. Un buon layout della classe facilita interazioni migliori durante le attività di gruppo e offre un’eccellente opportunità di networking con professionisti affini. ## Corsi di formazione online ## ![Miro board](https://www.avanscoperta.it/wp-content/uploads/2025/05/remote-workshop-avanscoperta-300x181.png) I corsi online offrono un’alternativa più economica e ben adatta a determinati argomenti. Abbiamo abbracciato le opportunità offerte dai formati online, consapevoli dei limiti impliciti di questa modalità. Questo ci ha portati a creare un equilibrio tra esperienze online immersive per attività pratiche di gruppo e canali e risorse aggiuntive disponibili offline. ## Crossover training programs I programmi di formazione tradizionali spesso sono rivolti ad un gruppo ristretto di ruoli all’interno dell’organizzazione. Ma una volta che i vostri professionisti hanno partecipato a corsi e sono pronti a sperimentare nuovi approcci e acquisire nuove conoscenze, si ritrovano a dover fare i conti con la resistenza al cambiamento da parte degli altri dipartimenti. Se state pensando ad iniziative di apprendimento ambiziose, che vogliano introdurre cambiamenti nel modo di collaborare all’interno della vostra organizzazione, allora potreste avere bisogno di qualcosa di diverso. I nostri [**Crossover Training** **Program**](https://www.avanscoperta.it/it/crossover-training-programs/) sono progettati per favorire l’adozione di nuove idee e pratiche nella vostra organizzazione. L’esperienza di apprendimento è modellata attorno alla collaborazione tra i diversi ruoli coinvolti nel cambiamento, alternando tracce specialistiche a momenti e spazi di condivisione in cui far emergere dubbi e possibili resistenze, costruendo un retroterra comune in termini di conoscenze, linguaggio e mentalità. ## Leadership Retreat![standing working people during a Leadership Camp](https://www.avanscoperta.it/wp-content/uploads/2025/05/Leadership-Camp-300x300.png) Fare carriera all’interno di un’organizzazione a poco a poco cambia le esigenze di apprendimento. C’è meno bisogno di temi facilmente etichettabili, rispetto ad una visione d’insieme che permetta di trovare un equilibrio tra le varie esigenze. In altri casi, la nostra esperienza sul campo su un determinato argomento rende meno appetibile un formato standard, che in larga parte potrebbe contenere *contenuti già conosciuti*. In una [**Leadership Retreat**](https://www.avanscoperta.it/it/leadership-retreat/), un gruppo selezionato di esperti facilita l’esplorazione ed inietta contenuti in un formato flessibile, bilanciando attività strutturate e personalizzate per adattarsi alle esigenze dei partecipanti. Luoghi insoliti, disconnessi dalla sede di lavoro abituale, si prestano al meglio a sostenere il pensiero “fuori dagli schemi” e a offrire nuove possibilità. ## Boot Camp![people speaking at the beach](https://www.avanscoperta.it/wp-content/uploads/2025/05/bootcamp-avanscoperta-300x200.jpeg) I boot camp sono solitamente esperienze immersive di 5 giorni. Spesso situati fuori dalle grandi città, per creare l’ambiente ideale per apprendere in profondità e per mettere in discussione i pregiudizi. Sono il formato migliore per costruire competenze ed elevare la fiducia dei partecipanti, in particolare quelli junior. ## Pillole formative Formazioni online brevi, focalizzate su un singolo argomento specifico. Solitamente sessioni di 3 ore che possono essere arricchite con compiti a casa o materiali asincroni come articoli e video. La sessione interattiva combina esercizi e discussioni, riducendo al minimo le lezioni frontali. ## Executive View![man with orange shirt talking in front of an audience performing eventstorming](https://www.avanscoperta.it/wp-content/uploads/2025/05/Executive-View-Formati-Avanscoperta-300x300.png) Un altro formato breve online che offre una panoramica pratica su argomenti complessi. Anche se presentazioni e contenuti online possono essere già disponibili, il valore aggiunto sta nella personalizzazione dinamica basata sulle esigenze del pubblico, resa possibile dall’esperienza del formatore. La modalità “Chillout” alla fine della sessione consente una conversazione aperta per chi desidera approfondire ulteriormente. ## Train the Trainers ![a trainer toolbox workbook](https://www.avanscoperta.it/wp-content/uploads/2025/05/train-the-trainers-300x200.jpg) Hai bisogno di formare un gruppo di *champions interni* per guidare un’iniziativa su larga scala? I nostri programmi di formazione per formatori sono progettati per fornire strumenti e sicurezza, oltre a esplorare e progettare attività formative in grado di veicolare i messaggi specifici agli obiettivi desiderati. ## Retreat Facilitation ![a man and a woman in front of a wall during an open space technology](https://www.avanscoperta.it/wp-content/uploads/2025/05/Retreat-Facilitation-300x300.png) Vorresti chiamare a raccolta le persone della tua organizzazione una volta all’anno, creando un momento che sia da una parte celebrativo e da un’altra generativo? Possiamo curare la facilitazione del tuo prossimo [Retreat](https://blog.avanscoperta.it/tag/retreat/) aziendale sfruttando formati come l’[Open Space Technology](https://blog.avanscoperta.it/2021/02/15/cose-un-open-space/). --- ### [Crossover Training Programs](https://www.avanscoperta.it/en/crossover-training-programs/) **Published:** November 13, 2025 **Author:** Alberto Brandolini **Content:** Sometimes your learning initiative is a key pillar for a large-scale transformation in your organisation. You don’t need to learn a new skill, but aim to **establish a new style of collaboration**. You’ll want to build a common ground as early as possible, addressing impediments and building buy-in across different departments. But standard training formats target only specific roles, leaving others in the dark: *“How will this new approach affect my activities?”* A lack of clear answers can backfire, leading to friction or resistance to change. ## A different approach Our **Crossover Training Programs** are designed to support interdisciplinary adoption of new ideas in your organisation. They shape the learning experience, targeting different roles involved and building a common ground in terms of knowledge, language and mindset. The key ingredients are **professional diversity** and **cultural alignment.** Our experts understand the needs and perspectives of different stakeholders while preserving the integrity of the overall message. Frictions and impediments are addressed as part of a broader conversation that engages everyone in a new collaboration agreement. ## Crossover training programs in practice We’ll collaborate with your stakeholders to **understand your goals, constraints, and ambitions** for your learning initiative. ![A simple example of Crossover Learning Programs: a diagram showing two specialist tracks and one collaboration learning track.](https://www.avanscoperta.it/wp-content/uploads/2025/11/Crossover-program-sample-1-1024x425.png) Then we’ll **design a broader learning experience** that balances specialised learning with sessions focused on interdisciplinary collaboration. We’ll incorporate **knowledge-sharing moments** and **checkpoints** along the way to make progress visible. Discussion channels and emergent knowledge repositories can support training sessions, providing more space for spontaneous learning. Our [experts](https://www.avanscoperta.it/en/teachers/) will adjust the **language** and the **message** according to the audience, without losing integrity. They may lead a specific tribe on a specialised track, but also make themselves available for crossover sessions to address the challenges in a collaboration space. More sophisticated programs can include custom modules or specific formats, such as [**Leadership Retreat**](https://www.avanscoperta.it/en/leadership-retreat/) or **Train-the-Trainer****.** The result is an inclusive experience where doubts and questions can be addressed in a safe and supportive space. The experts’ll support you along the way, while your team builds confidence. --- ### [Our Training Formats](https://www.avanscoperta.it/en/our-training-formats/) **Published:** December 16, 2024 **Author:** Alessandra Granaudo **Content:** We care about the **Learning Experience**. We care about the delivery. We try to find the perfect match between the topic, the trainer and the format to ensure the best results. ## In-Person workshops ## ![a woman e two men during a training class](https://www.avanscoperta.it/wp-content/uploads/2025/05/On-site-Workshop-300x300.png) [In-person workshops](https://www.avanscoperta.it/en/training/) are the best way to immerse yourself in a novel way of thinking. We’ll use the classroom to reinforce the message, streamline the operations, and immerse the learners in a novel, full-of-insights space. A good class layout also enables better interactions for team activities and provides an excellent chance for networking with like-minded learners. ## Online Training Courses ## ![Miro board](https://www.avanscoperta.it/wp-content/uploads/2025/05/remote-workshop-avanscoperta-300x181.png) Online training offers the opportunity to break the “consecutive days” constraint. We can design a different learning experience, alternating participative moments with quieter, solo homework activities. The result is a different learning journey, where participants can contribute to a multi-channel shared learning space, with conversations, questions, links and references. Coding-intensive topics also let you enjoy the comforts of your professional workstation. ## Leadership Retreats ## ![standing working people during a Leadership Camp](https://www.avanscoperta.it/wp-content/uploads/2025/05/Leadership-Camp-300x300.png) Standard training formats might not be the best use of your time for your top-tier professionals when your challenges cannot be precisely labelled or boxed into a pre-defined learning product. In a **[Leadership Retreat](https://www.avanscoperta.it/en/leadership-retreat/)**, a chosen group of experts will provide the foundation for in-depth, interdisciplinary conversations. They will delve into the audience’s challenges before offering advice, striking a balance between push and pull activities, and tailoring their approach to meet the audience’s needs. Unusual locations are most effective in supporting out-of-the-box thinking and enabling options. ## Crossover training programs Traditional training programs focus on a few specific roles within the organisation. Once your professionals are trained and ready to adopt a new, promising mindset, they’re left to face resistance from other departments to change. But ambitious game-changing learning initiatives aren’t targeted at a specific team or professional category; they’re a means to establish a **new type of collaboration** across the organisation. Our [**Crossover Training Programs**](https://www.avanscoperta.it/en/crossover-training-programs/) are designed to support interdisciplinary adoption of new ideas in your organisation. They shape the learning experience to accommodate the various roles involved, and build a common ground in terms of knowledge, language, and mindset. ## Boot Camps ## ![people speaking at the beach](https://www.avanscoperta.it/wp-content/uploads/2025/05/bootcamp-avanscoperta-300x200.jpeg) Boot camps typically last 5 days, offering an immersive experience and a trajectory that pairs learning with team-building dynamics. Possibly located outside big cities, they provide the best environment for deep learning and challenge our past assumptions. Participants will be led on a journey that requires practical skills and effective collaboration. There will be crises, challenges, and resolutions. They are the best formats for quickly building expertise and confidence in juniors. ## Pills A short online training focused on a single specific topic. Typically, a 3-hour online session can be supplemented with homework or asynchronous materials, such as articles and videos. The interactive session typically consists of exercises and discussions, with lecture mode limited to the bare minimum. ## Executive View ## ![man with orange shirt talking in front of an audience performing eventstorming](https://www.avanscoperta.it/wp-content/uploads/2025/05/Executive-View-Formati-Avanscoperta-300x300.png) Another concise online format that provides a **clear and actionable overview** of a complex topic. While presentations and online content may already be available, the value of this format lies in its dynamic customisation to the audience’s needs, made possible by the trainer’s experience. The *Chillout Mode* at the end allows for a more open-ended conversation for those who want to continue the discussion. ## Train the trainers ## ![a trainer toolbox workbook](https://www.avanscoperta.it/wp-content/uploads/2025/05/train-the-trainers-300x200.jpg) Do you need internal champions to lead a large-scale initiative? We designed our train-the-trainers formats to equip your evangelists and trainers with the tools and confidence they need to explore and design training activities that deliver topic-specific messages to your desired audiences. ## Retreat Facilitation ![a man and a woman in front of a wall during an open space technology](https://www.avanscoperta.it/wp-content/uploads/2025/05/Retreat-Facilitation-300x300.png) Would you like to bring people from your organisation together once a year to create a moment that is both celebratory and generative? We can facilitate your next company [Retreat](https://blog.avanscoperta.it/tag/retreat/), leveraging formats such as [Open Space Technology](https://blog.avanscoperta.it/2021/02/15/cose-un-open-space/) to maximise engagement and contribution from all the participants. --- ### [Beyond vibe coding](https://www.avanscoperta.it/en/beyond-vibe-coding/) **Published:** February 9, 2026 **Author:** Alberto Brandolini **Content:** Modern AI-powered coding assistants are completely changing the rules of the game in the business world and in software development, too. Since the boombastic arrival of ChatGPT and Copilot, new products and approaches, like Vibe Coding or Agentic software development, have been proposed at an astonishing pace, each promising revolutions and paradigm shifts. The change isn’t merely technical. It can be an entire transformation of the whole sociotechnical system around software. Democratising or commoditising software development, shaping teams and interactions in novel ways, to potentially create new businesses and destroy old ones. In this chaotic, accelerated environment, “AI” means too many things; are we talking about more intelligent code completion, or generating entire software applications with a good collection of prompts? In the software world, different approaches are appearing, attacking different portions of the problem space and offering interesting opportunities. Meanwhile, different players are telling different stories. While evangelists and explorers may lean too much toward marketing, professional engineers often lean too much toward skepticism. As always, context is king. And while the promise of AGI is yet to come, the new tools offer professional software engineers a new set of game-changing tools to learn and master. ## Vibe Coding **Vibe Coding** is the most famous approach. The term was [originally coined by Andrej Karpathy](https://x.com/karpathy/status/1886192184808149383?lang=en) and describes one of the most ambitious approaches to AI-assisted development, in which AI handles most implementation details and follows conversational instructions. In Vibe Coding, we treat the code as a black box. Some tools are already tuned to a given implementation stack, taking care of countless implementation choices. ### A Liberating business case Vibe coding is the approach that had the most devastating impact on the job market. Being able to describe the expected behaviour of a software application to a chatbot and seeing it appear magically was nothing short of miraculous. > In the eighties, two friends of mine were unpacking a brand-new Commodore Vic-20, lured by the promise of *“You will build your own video games.”* They switched it on and decided to start with something easy: Arkanoid. The screen was empty, so they typed: *“Make a wall.”* Tools like **[Lovable](https://lovable.dev/)** and **[Windsurf](https://windsurf.com/)** offer the illusion of simplicity in a world where software developers keep repeating the mantra *“It’s not that simple.”* This makes vibe coding an incredibly tempting opportunity for business stakeholders who can’t code. The apparent simplicity is true only if we ignore the underlying complexity. Most software costs are associated with maintenance, not to mention the engineering complexity to guarantee reliability, robustness, and security. Still, vibe coding delivers working software that can be a good fit for many business cases, not worthy of traditional professional software development. ### Pitfalls The magic of vibe coding has a few dark sides to consider. #### Language precision AI performs better when you can provide precise, unambiguous prompts. This is not an easy sport for many end users and requires a modelling discipline that is not different from that of a software developer. You can’t leapfrog from vagueness to working software. You still need clarity and well-formed thoughts. There is no shortcut for understanding. #### Stability ![Stacked Ice-cream scoops](https://www.avanscoperta.it/wp-content/uploads/2026/02/ice-cream-stacked-300x168.png)How many features can you add before it collapses? Every added feature increases the codebase’s complexity. A black-box user won’t get the signal at the code level, but every new variation increases the hidden technical debt. No one is in charge of internal design integrity. You start noticing something is wrong when adding a new feature breaks the previous one. This is when you should definitely open the black box and open the internals, but maybe it’s already too late. Without explicit attention to design integrity, fixing one issue opens another one, and the awe of the first prompt can turn into frustration. #### Maintenance Maintenance is clearly the dark side of Vibe Coding, not only because the code quality produced is inferior to what a good developer could write, but also because it would be tough to hire talented software engineers to maintain a Vibe-coded codebase. *“I’ll envision things, you’ll repair them”* is not a compelling call for a healthy collaboration. #### Accountability Who owns the vibe-coded source? Who is accountable for it? The answer is probably *nobody*, which makes the current state of vibe-coded software artifacts unsuitable for critical environments. Would you run your e-commerce on a Vibe-coded app? Would you be legally responsible for potential fraud coming from the software you can’t read? ### The perfect business cases Vibe Coding is actually an excellent fit for small projects, with a low risk profile: - Rapid prototypes to gather feedback. - Proof of concepts in new stacks. - Personal projects where you own the risk and the consequences. - Short-lived application with low security requirements. The market can potentially be huge, but it may not be the market you’re in. ## AI-Assisted Software Development AI-Assisted Software Development builds on a different narrative. The black-box approach from Vibe Coding isn’t working for professional software developers. They know software is a liability, and Vibe Coding is a liability generator. Knowing the software internals and pretending to ignore them – while being still accountable for the software behaviour – isn’t a viable strategy. So, professional software developers are leveraging a different approach. Definitions are still fuzzy and still in the making, but **AI-Assisted software engineering** refers to a white-box style of software engineering that leverages the potential of modern AI tools like Claude Code. The human programmer is in charge, but provides instructions and background to the coding assistant to ensure the result meets the expected standards. ### Mixing speed and discipline ![Process Over Magic Book cover](https://www.avanscoperta.it/wp-content/uploads/2025/12/Process-Over-Magic-Beyond-Vibe-Coding-Uberto-Barbini-250x300.png) In this scenario, coding assistants can be mighty companions. But the developer should be in control, like riding a horse. Coding assistants do not smell fear, but they can drag you off track very quickly, solving puzzles they created, adding unnecessary complexity, and so on. Your coding assistant can be incredibly useful in some tasks – integrating with external platforms has become significantly easier – but it can also hallucinate, or complicate your codebase with weird assumptions. When dealing with unchecked power, the emerging need is to build an environment where the developer is in control and resists the temptation to vibe-code. Good old practices like **Test-Driven Development** or **Behaviour-Driven Development** can provide a more solid foundation for a faster yet sustainable pace of building robust applications. In [Process Over Magic: Beyond Vibe Coding](https://pragprog.com/titles/ubaidev/process-over-magic-beyond-vibe-coding/), our friend **Uberto Barbini** describes an approach to AI-assisted software development that blends discipline with power, while keeping control. ### Canned Wisdom Providing a solid background to your coding assistant doesn’t come for free. There’s a lot of trial and error: you provide better instructions after realising how the previous ones have been misinterpreted. To an expert software developer, this process feels a lot like mentoring a junior, with an annoying attitude – always *pretending to know the answer* – and a goldfish-grade memory. The hard limits of the context window – the amount of conversation that the coding assistant will remember – will nudge you into providing *repeatable guidance* in the form of human and machine-readable markdown files. But here is a twist. You can capture your personal coding style in these markdown files, or define a common set of standards with your team. They can also become cross-project reusable assets, like adding `picky-senior-code-reviewer` to our human+AI development team. They can be shared, sold, downloaded, and combined. We are just at the beginning of the story. ### Pitfalls It’s hard to detect the signal from the noise in a wide conversation. The vendors’ marketing propaganda promises miracles. Grumpy developers tell horror stories about hallucination. [Research numbers](https://dora.dev/research/2025/dora-report/) also show an interesting gap between perceived individual productivity and systemic impact. Maybe coding was not the real bottleneck. When talking with professionals who went beyond the surface, some common traits stand out as critical challenges for the new shape of the profession. #### Easy to lose control The need for discipline is pervasive. It’s like being on a diet *and* working in a candy shop at the same time. Established practices like the red-green-refactor cycle are getting challenged by the different speed and cadence of the coding assistant, and by our perfectionism, too. The interaction with the coding assistant occurs at a speed that invites multitasking and frequent context switching, often leading to lower-quality reasoning. #### Different levels of trust AI tools produce “average code”, by definition. ![Different levels of mastery change our relationship with AI.](https://www.avanscoperta.it/wp-content/uploads/2026/02/Different_mastery_AI.png) Good developers will find AI-generated code embarrassing in the areas they master; this is where they’ll teach AI to improve and become a decent apprentice. But no developer has evenly distributed mastery over the whole stack. In some other corner of the code base, average code is bliss. A working solution that doesn’t require studying the documentation for a new technology can save the day. But here is where we may not be competent enough to catch antipatterns or vulnerabilities. #### Too many hats Many success stories – including ours – with AI-assisted development are solo projects. This is not a surprise: pet projects are the perfect playground for learning. But limited risk and impact aren’t the only distinctive traits of a pet project; a subtler difference lies in our role. In a typical pet project, a single person plays the role of: - **chief engineer** taking orders from nobody - **key stakeholder** the software serves *our* needs - **domain expert**, most of the time. In other words, we have relatively straightforward requirements in our heads, without needing to talk to anyone else. We can write specifications *thinking like software engineers*. But in a typical software project, the senior software developer might not own the precise formula for the business need. Meaning that there are new interactions to uncover in the collaboration between the business stakeholder and the software team #### Not for Juniors There are concerning signals that AI-assisted coding is disrupting the learning paths of young software developers. The pervasive availability of shortcuts to the solution and the impatience of business stakeholders create a fertile ground for *skipping the hard part*. Junior developers can build a solution that is only apparently comparable to what seniors could deliver. But they may be helpless when it comes to maintenance and problem determination, ultimately adding very little value compared to the Vibe Coding alternative. Meanwhile, mentoring has become a scarce resource. Many senior developers are prioritizing their own upskilling and training coding assistants rather than investing in juniors’ growth. And in many workplaces, remote work is reducing the available bandwidth for knowledge transfer. ## Agentic Coding The perspective of **Agentic Coding** is different, likely closer to that of a software team leader or a Dungeons & Dragons party leader. You’ll take the delegation to the next level while still overseeing the orchestration of the different contributors. Instead of teaching AI to be the perfect super-companion, we may accept some technological limitations and opt for a more focused, specialistic approach. A specialised agent will be equipped to perform a specific task, such as reviewing your codebase for security vulnerabilities or UI-level inconsistencies. Assembling your party of specialised agents and defining a collaboration workflow can enable you to delegate more complex tasks. With sufficient confidence, you can establish a different workflow: long-running tasks can be planned during the day and run overnight without supervision. The morning can be reserved for the necessary fine-tuning and designing a new plan. ### A new type of temptation Craft, passion, and systematic improvement in configuration and guardrails can significantly improve the quality of the code delivered by our AI party of agents, but … can we ever get to perfection? Or is our aspiration for the perfect prompt, the perfect markdown configuration, and the ideal agent workflow just a massive distraction game with decreasing ROI? Are we solving a problem, or are we engineering the meta-solution for the meta-problem? ### Not for everyone You can trust an agent as long as you can still verify the output. This means software engineering skills are still badly needed. Senior full-stack developers with a wide range of competencies can build their specialised team of agents while still retaining control over the orchestration. Specialised software developers will still have selective blindness. Cross-competencies aren’t a commodity, but this is an excellent opportunity for those who can master the whole stack. ### Shifting the bottleneck In many settings, writing working code stops being the bottleneck. Prototyping is getting cheaper, enabling faster feedback loops. But we still need human input to determine whether we are moving in the right direction. Expert availability might become an issue, or we might realise that we need *time* to digest the information. ## More radical approaches As it already happened in the ‘00s – does anyone remember [MDA](https://www.omg.org/mda/)? – the new tools are fueling the imagination for new development workflows where the source code is not the primary artefact anymore. The main challenge here is that for most business software, requirements are not precisely specified, and they’ll never be. It still takes loops to understand what the real requirements were. Some software can be deterministic – like an adapter between APIs – but add legacy, malformed data to the mix, and you will find yourself begging for expert business advice. ### Spec-Driven Development Spec-Driven Development, pioneered by tools like [Kiro](https://www.kiro.dev), constrains the prompt to a more structured approach, iterating on the specification level before generating code. The approach sounds a little more waterfallish, but it can be an excellent fit for regulated environments, where specifications are first-class citizens. ### The Ralph Wiggum Despite the funny name, [this is a fascinating approach](https://awesomeclaude.ai/ralph-wiggum) based on the idea of *relentlessly **looping** until a satisfying outcome is reached*. A combination of agents would stay in the loop, refining or rebuilding the output of the previous agent until all completion criteria are met. This implies considerable upfront effort to specify the desired outcome better, but it can handle longer tasks with limited human supervision. For example, migrating a database from an old legacy version to a new one could be specified as a set of high-level requirements, like: `` - `All records need to be moved to the new platform.` - `Exceptions during migration will require an investigation and special handling.` - `No information should be lost or discarded.` - `Task is over when the complete migration happens with no reported exceptions.` However, this approach won’t work well with fuzzier feedback, such as in exploratory or UI-intensive domains, where human feedback is the bottleneck. ### The Phoenix Architecture The Phoenix architecture, [advocated by Chad Fowler](https://aicoding.leaflet.pub/), builds on the idea of regenerating the codebase whenever a new constraint is added. ## Conclusions We are living a paradigm shift happening at an incredible speed. Ideas, products, and options are popping out at an accelerated pace. Is it all good? Not really, but the potential is enormous and worth exploring. However, the scenario is vast and nuanced. Just because an approach worked for someone doesn’t mean it will work for you. And just because you tried something and it didn’t work, doesn’t mean it’s flawed. There are plenty of use cases in software development, and our toolbox just received a massive upgrade. There won’t be one winning approach. We’ll probably have to develop different workflows for different scenarios. --- We are offering new training formats for software professionals who are willing to experiment with AI-powered approaches. - [**AI Assistants for your team**](https://www.avanscoperta.it/en/training/ai-assistants-for-your-teams-workshop/) with [Uberto Barbini](https://www.avanscoperta.it/it/trainer/uberto-barbini/) offers a way to harness the power of AI tools while preserving control and code quality. - [**AI + Continuous Modernisation**](https://www.avanscoperta.it/en/training/ai-continuous-modernisation-workshop/) with [Matteo Vaccari](https://www.avanscoperta.it/en/trainer/m-vaccari/) focuses on using AI to build control over legacy codebases. - [**The agentic** **developer**](https://www.avanscoperta.it/en/training/the-agentic-developer-workshop/) with [Marco Heimeshoff](https://www.avanscoperta.it/en/trainer/marco-heimeshoff/) will give you a powerful toolkit to master agentic software development. --- ### [Collaborative Modelling](https://www.avanscoperta.it/en/collaborative-modelling/) **Published:** October 28, 2024 **Author:** Alberto Brandolini **Content:** In software development, **collaborative modelling** refers to modelling formats and practices performed collaboratively as group activities. The approach isn’t particularly new—Alistair Cockburn referred to collaborative modelling sessions in his book ***[Agile Software Development, the Cooperative Game](https://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751)***, and classic practices like **[CRC Cards](https://en.wikipedia.org/wiki/Class-responsibility-collaboration_card)** can be considered a form of collaborative modelling. In recent years, attention to these techniques increased in the **Domain-Driven Design** community, with the popularity of more explicitly participatory formats like [EventStorming](https://www.avanscoperta.it/en/eventstorming/), Domain Storytelling and more. However, its popularity isn’t limited to the domain-driven design field. Formats like **Wardley Maps**, or even **Business Model Canvas**, while powerful in solo mode, can deliver extra value when practised in a Collaborative Modelling fashion. Last but not least, **Lego Serious Play** is another example of a collaborative modelling activity that is even more detached from the software world. ## Why collaborative modelling? Why do we need collaborative modelling? The answer is simple: it works better. A good modelling session can address the intricacies of a problem that cannot be solved by a single person and deliver a result with built-in consensus. Incorporating multiple stakeholders into a collaborative modelling space helps overcome individual blind spots. This is particularly relevant in Architecture Modernisation’s initiatives, where Collaborative Modelling is crucial. Short Collaborative Modelling sessions can increase the development speed, especially in exploratory domains, enabling the so-called **Modelling Whirlpool.** ## Discovery vs Design The term **Collaborative Modelling** carries some ambiguity when it comes to formats and interaction dynamics. The most significant difference is between *discovery* and *design* workshops. ### Collaborative Discovery Interactions In a **Collaborative Discovery** session, the goal is to achieve a shared representation of some system. Collaboration is key because every actor in the workshop can bring a unique perspective or set of information. Think of it like an investigation whiteboard in a detective movie, where every detail is connected with the others and contributes to building a consistent picture. Some formats enable parallel contributions by setting clear rules. Some retrospective formats, such as [Starfish](https://thekua.com/rant/2006/03/the-retrospective-starfish/) or [Timeline](https://www.goodreads.com/book/show/721338.Agile_Retrospectives), provide simple framing and allow for parallel contributions. [Big Picture EventStorming](https://www.avanscoperta.it/en/eventstorming/) starts with orange events on a left-to-right timeline. The emergent visual artefact is conveying a first round of raw information. **Wardley Maps** offer an interesting example of collaborative discovery by placing constraints on the modelling surface. A designated facilitator may coordinate parallel contributions if the participants are unfamiliar with the notation. The artefact integrity requires some supervision. Canvases, such as the **Business Model Canvas,** capture most of the constraints within the modelling surface itself, thereby reducing the need for explicit coordination. A notable common trait is how much the layout becomes an integral part of the emergent message. The first round of exploration in a retrospective can communicate hope or despair in a self-explanatory way. The distribution of events in a Big Picture EventStorming can highlight dependencies and gaps. Most contributions in **Collaborative Discovery** are not questioned. Sticky notes can trigger some discussions, but the typical assumption is that no contribution is wrong. ### Collaborative Design Interactions Collaborative design typically begins with a shared perception of reality to deliver one or more options for a potential solution. In a software design session at a whiteboard, we sketch a few options, quickly highlight the pros and cons of each, and then converge on the most promising solution. The proposed solution needs to have some internal coherence – we don’t want to choose something that is clearly not working – but the solution also needs to look more promising than the alternative options and win the support of the participants. For example, Process Modelling and Software Design EventStorming embed most of the coherence in the mandatory grammar, but leave the modelling team the burden of picking the best names and abstractions for the solution. Collaborative Design also requires a more sophisticated approach for picking the most promising option. Future uncertainty bears down on participants, and they may not feel its consequences equally. Having different ‘skin in the game’ is not a significant issue in collaborative discovery, but it becomes crucial when designing and selecting solutions. #### The role of Lo-Fi Using throwaway materials, such as sticky notes, flipcharts, pens, and paper, affects the interaction. Cheap, disposable sketches prompt the quick construction of another version, expanding the solution space. When solutions are too polished, we may be biased toward sticking with the first one that looks good, potentially lowering the quality of the design session’s outcome. ### Facilitated Modelling? The increasing number of participants in a modelling session often requires a *facilitation strategy* to manage everyone’s contribution efficiently. Facilitation isn’t always necessary. Different formats may imply different interaction styles. A two-person collaborative modelling session on a whiteboard may happen spontaneously during development activities, while larger-scale formats may explicitly require facilitation. Many recent collaborative modelling formats also imply some *interdisciplinary* contribution, so facilitation becomes a tool to mitigate the culture clash between the different specialists. ## Different tools for different purposes Collaborative Modelling can provide tools for different purposes and support key decisions. It’s easy to misinterpret the formats for alternative notations; what matters is how the formats constrain the thinking process before arriving at the polished models. Collaborative modelling isn’t for **documenting models**; it supports the decision-making process of defining models together. The picture below summarises when different Collaborative Modelling techniques can be used in a software development project, depending on the people involved and the evolution phase. ![Collaborative Modelling practices application scope map.](https://www.avanscoperta.it/wp-content/uploads/2025/05/Collaborative-Modelling-Practices-Scope.png)An opinionated map of some Collaborative Modelling formats, and their possible placement in a software development project lifecycle. ## What makes a good session? Sometimes, it’s just a funny feeling: the rewarding sensation of *“We nailed it.”* But this is no coincidence because modelling is often like solving a puzzle together. Models require some notation, but most collaborative modelling formats lean towards minimalistic and informal notation to be accessible. The spectrum is broad: **Lego Serious Play** is probably the most open format, and Wardley Maps is the more structured. Even old-school software design sessions with UML on a whiteboard rely on a subset of the official notation. The level of facilitation should probably be just enough: while too little might create awkward moments, too much might make participants feel that they delivered something, but not the right outcome. ## Our special recipes Over the years, Collaborative Modelling has been a fundamental ingredient of our consulting and training services. We invented formats and contributed to others. We used someone else’s format or invented something on the fly. Sometimes we misunderstood a format and stumbled upon something even more interesting. Here’s a list of our favourite Collaborative Modelling recipes. ### EventStorming [**EventStorming**](https://www.avanscoperta.it/en/eventstorming/) is our house speciality—a family of versatile workshops built around Collaborative Modelling. A **Big Picture EventStorming** can help you quickly discover the intricacies of a very complex business domain to design transformational initiatives. **Process Modelling** allows interdisciplinary process design, capturing the needs of business, tech, and UX professionals. **Software Design EventStorming** takes collaboration to the next step, introducing software design concerns in business-driven discussions and paving the way for robust and performing event-driven solutions. If you are curious about ways to facilitate and leverage collaborative modelling’s potential in your EventStorming sessions, the talk [**Joys and Pitfalls of Collaborative Modelling**](https://www.youtube.com/watch?v=VXdvVo5Im6E), from DDDEurope 2019, can provide some inspiration. ### Model Storming **Model Storming** is the meta-model behind [**EventStorming**](https://www.avanscoperta.it/en/eventstorming/) and other adaptive formats. It lets us start modelling even without a clear understanding of the problem space’s nature. After every round, we pick a promising facet, choose a visualisation tool that works well with the previous steps, visualise the new coordinate, and reflect on the outcome. The result is an incredibly powerful tool that lets us visualise any problem space and eventually design the grammar for successful iterations. ### Reverse Roadmapping **Reverse Roadmapping** leverages the **Reverse Narrative** pattern to build sustainable roadmaps towards a common goal. **Architecture Modernisation** is a common application scenario, especially where the transition requires consensus between multiple players. ### Obeyas An **Obeya Room** is the pulsating heart of strategic decision-making for a colocated organisation. It’s the place where every relevant information is displayed in a way that simplifies and accelerates decisions. Without a physical space, a digital organisation can quickly lose the holistic perspective. Departments act as silos, often driven by local goals at the expense of global ones. A **Digital Obeya Room** can bring a systemic perspective back into any strategic decision. You might find more about it in [Modelling up! – Alberto Brandolini – DDD Europe 2024](https://www.youtube.com/watch?v=uvwnShIayH8) ## Learning about Collaborative Modelling [**Kenny Baas-Schwegler** ](https://www.avanscoperta.it/en/trainer/kenny-baas-schwegler/)and **[Gien Verschatse](https://www.avanscoperta.it/it/trainer/gien-verschatse/)** are providing a robust foundation for facilitating software-oriented collaborative modelling workshops in their [Collaborative Software Design Workshop](https://www.avanscoperta.it/en/training/collaborative-software-design-workshop/). [**Andrea Magnorsky** ](https://www.avanscoperta.it/en/trainer/andrea-magnorsky/)provides a very actionable entry point into Collaborative Modelling in [Collaborative Modelling with Bytesize Architecture Sessions and C4](https://www.avanscoperta.it/en/training/collaborative-modelling-with-bytesize-architecture-sessions-and-c4/). Our [**EventStorming Masterclass** ](https://www.avanscoperta.it/en/training/eventstorming-master-class/)is a 2-day deep dive into collaborative discovery and design, with the three flavours of [EventStorming](https://www.avanscoperta.it/en/eventstorming/) as the main dish. Still, if you want a more general overview of what’s going on in the Collaborative Modelling space, experience hybridation, and have a deeper conversation about the whys and the hows, you should consider visiting [ComoCamp](https://comocamp.org/) in Vienna. It’s an unconference tailored around the Collaborative Modelling idea, where practitioners and learners can find common ground, explore new ideas, and have fun. --- ### [Collaborative Modelling](https://www.avanscoperta.it/it/collaborative-modelling/) **Published:** October 28, 2024 **Author:** Alberto Brandolini **Content:** In software development, **collaborative modelling** refers to modelling formats and practices performed collaboratively as group activities. The approach isn’t particularly new—Alistair Cockburn referred to collaborative modelling sessions in his book ***[Agile Software Development, the Cooperative Game](https://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751)***, and classic practices like **[CRC Cards](https://en.wikipedia.org/wiki/Class-responsibility-collaboration_card)** can be considered a form of collaborative modelling. In recent years, attention to these techniques increased in the **Domain-Driven Design** community, with the popularity of more explicitly participatory formats like [EventStorming](https://www.avanscoperta.it/en/eventstorming/), Domain Storytelling and more. However, its popularity isn’t limited to the domain-driven design field. Formats like **Wardley Maps**, or even **Business Model Canvas**, while powerful in solo mode, can deliver extra value when practised in a Collaborative Modelling fashion. Last but not least, **Lego Serious Play** is another example of a collaborative modelling activity that is even more detached from the software world. ## Why collaborative modelling? Why do we need collaborative modelling? The answer is simple: it works better. A good modelling session can address the intricacies of a problem that cannot be solved by a single person and deliver a result with built-in consensus. Incorporating multiple stakeholders into a collaborative modelling space helps overcome individual blind spots. This is particularly relevant in Architecture Modernisation’s initiatives, where Collaborative Modelling is crucial. Short Collaborative Modelling sessions can increase the development speed, especially in exploratory domains, enabling the so-called **Modelling Whirlpool.** ## Discovery vs Design The term **Collaborative Modelling** carries some ambiguity when it comes to formats and interaction dynamics. The most significant difference is between *discovery* and *design* workshops. ### Collaborative Discovery Interactions In a **Collaborative Discovery** session, the goal is to achieve a shared representation of some system. Collaboration is key because every actor in the workshop can bring a unique perspective or set of information. Think of it like an investigation whiteboard in a detective movie, where every detail is connected with the others and contributes to building a consistent picture. Some formats enable parallel contributions by setting clear rules. Some retrospective formats, such as [Starfish](https://thekua.com/rant/2006/03/the-retrospective-starfish/) or [Timeline](https://www.goodreads.com/book/show/721338.Agile_Retrospectives), provide simple framing and allow for parallel contributions. [Big Picture EventStorming](https://www.avanscoperta.it/en/eventstorming/) starts with orange events on a left-to-right timeline. The emergent visual artefact is conveying a first round of raw information. **Wardley Maps** offer an interesting example of collaborative discovery by placing constraints on the modelling surface. A designated facilitator may coordinate parallel contributions if the participants are unfamiliar with the notation. The artefact integrity requires some supervision. Canvases, such as the **Business Model Canvas,** capture most of the constraints within the modelling surface itself, thereby reducing the need for explicit coordination. A notable common trait is how much the layout becomes an integral part of the emergent message. The first round of exploration in a retrospective can communicate hope or despair in a self-explanatory way. The distribution of events in a Big Picture EventStorming can highlight dependencies and gaps. Most contributions in **Collaborative Discovery** are not questioned. Sticky notes can trigger some discussions, but the typical assumption is that no contribution is wrong. ### Collaborative Design Interactions Collaborative design typically begins with a shared perception of reality to deliver one or more options for a potential solution. In a software design session at a whiteboard, we sketch a few options, quickly highlight the pros and cons of each, and then converge on the most promising solution. The proposed solution needs to have some internal coherence – we don’t want to choose something that is clearly not working – but the solution also needs to look more promising than the alternative options and win the support of the participants. For example, Process Modelling and Software Design EventStorming embed most of the coherence in the mandatory grammar, but leave the modelling team the burden of picking the best names and abstractions for the solution. Collaborative Design also requires a more sophisticated approach for picking the most promising option. Future uncertainty bears down on participants, and they may not feel its consequences equally. Having different ‘skin in the game’ is not a significant issue in collaborative discovery, but it becomes crucial when designing and selecting solutions. #### The role of Lo-Fi Using throwaway materials, such as sticky notes, flipcharts, pens, and paper, affects the interaction. Cheap, disposable sketches prompt the quick construction of another version, expanding the solution space. When solutions are too polished, we may be biased toward sticking with the first one that looks good, potentially lowering the quality of the design session’s outcome. ### Facilitated Modelling? The increasing number of participants in a modelling session often requires a *facilitation strategy* to manage everyone’s contribution efficiently. Facilitation isn’t always necessary. Different formats may imply different interaction styles. A two-person collaborative modelling session on a whiteboard may happen spontaneously during development activities, while larger-scale formats may explicitly require facilitation. Many recent collaborative modelling formats also imply some *interdisciplinary* contribution, so facilitation becomes a tool to mitigate the culture clash between the different specialists. ## Different tools for different purposes Collaborative Modelling can provide tools for different purposes and support key decisions. It’s easy to misinterpret the formats for alternative notations; what matters is how the formats constrain the thinking process before arriving at the polished models. Collaborative modelling isn’t for **documenting models**; it supports the decision-making process of defining models together. The picture below summarises when different Collaborative Modelling techniques can be used in a software development project, depending on the people involved and the evolution phase. ![Collaborative Modelling practices application scope map.](https://www.avanscoperta.it/wp-content/uploads/2025/05/Collaborative-Modelling-Practices-Scope.png)An opinionated map of some Collaborative Modelling formats, and their possible placement in a software development project lifecycle. ## What makes a good session? Sometimes, it’s just a funny feeling: the rewarding sensation of *“We nailed it.”* But this is no coincidence because modelling is often like solving a puzzle together. Models require some notation, but most collaborative modelling formats lean towards minimalistic and informal notation to be accessible. The spectrum is broad: **Lego Serious Play** is probably the most open format, and Wardley Maps is the more structured. Even old-school software design sessions with UML on a whiteboard rely on a subset of the official notation. The level of facilitation should probably be just enough: while too little might create awkward moments, too much might make participants feel that they delivered something, but not the right outcome. ## Our special recipes Over the years, Collaborative Modelling has been a fundamental ingredient of our consulting and training services. We invented formats and contributed to others. We used someone else’s format or invented something on the fly. Sometimes we misunderstood a format and stumbled upon something even more interesting. Here’s a list of our favourite Collaborative Modelling recipes. ### EventStorming [**EventStorming**](https://www.avanscoperta.it/en/eventstorming/) is our house speciality—a family of versatile workshops built around Collaborative Modelling. A **Big Picture EventStorming** can help you quickly discover the intricacies of a very complex business domain to design transformational initiatives. **Process Modelling** allows interdisciplinary process design, capturing the needs of business, tech, and UX professionals. **Software Design EventStorming** takes collaboration to the next step, introducing software design concerns in business-driven discussions and paving the way for robust and performing event-driven solutions. If you are curious about ways to facilitate and leverage collaborative modelling’s potential in your EventStorming sessions, the talk [**Joys and Pitfalls of Collaborative Modelling**](https://www.youtube.com/watch?v=VXdvVo5Im6E), from DDDEurope 2019, can provide some inspiration. ### Model Storming **Model Storming** is the meta-model behind [**EventStorming**](https://www.avanscoperta.it/en/eventstorming/) and other adaptive formats. It lets us start modelling even without a clear understanding of the problem space’s nature. After every round, we pick a promising facet, choose a visualisation tool that works well with the previous steps, visualise the new coordinate, and reflect on the outcome. The result is an incredibly powerful tool that lets us visualise any problem space and eventually design the grammar for successful iterations. ### Reverse Roadmapping **Reverse Roadmapping** leverages the **Reverse Narrative** pattern to build sustainable roadmaps towards a common goal. **Architecture Modernisation** is a common application scenario, especially where the transition requires consensus between multiple players. ### Obeyas An **Obeya Room** is the pulsating heart of strategic decision-making for a colocated organisation. It’s the place where every relevant information is displayed in a way that simplifies and accelerates decisions. Without a physical space, a digital organisation can quickly lose the holistic perspective. Departments act as silos, often driven by local goals at the expense of global ones. A **Digital Obeya Room** can bring a systemic perspective back into any strategic decision. You might find more about it in [Modelling up! – Alberto Brandolini – DDD Europe 2024](https://www.youtube.com/watch?v=uvwnShIayH8) ## Learning about Collaborative Modelling [**Kenny Baas-Schwegler** ](https://www.avanscoperta.it/en/trainer/kenny-baas-schwegler/)and **[Gien Verschatse](https://www.avanscoperta.it/it/trainer/gien-verschatse/)** are providing a robust foundation for facilitating software-oriented collaborative modelling workshops in their [Collaborative Software Design Workshop](https://www.avanscoperta.it/en/training/collaborative-software-design-workshop/). [**Andrea Magnorsky** ](https://www.avanscoperta.it/en/trainer/andrea-magnorsky/)provides a very actionable entry point into Collaborative Modelling in [Collaborative Modelling with Bytesize Architecture Sessions and C4](https://www.avanscoperta.it/en/training/collaborative-modelling-with-bytesize-architecture-sessions-and-c4/). Our [**EventStorming Masterclass** ](https://www.avanscoperta.it/en/training/eventstorming-master-class/)is a 2-day deep dive into collaborative discovery and design, with the three flavours of [EventStorming](https://www.avanscoperta.it/en/eventstorming/) as the main dish. Still, if you want a more general overview of what’s going on in the Collaborative Modelling space, experience hybridation, and have a deeper conversation about the whys and the hows, you should consider visiting [ComoCamp](https://comocamp.org/) in Vienna. It’s an unconference tailored around the Collaborative Modelling idea, where practitioners and learners can find common ground, explore new ideas, and have fun. --- ### [Residuality Theory](https://www.avanscoperta.it/en/residuality-theory/) **Published:** December 17, 2025 **Author:** Alberto Brandolini **Content:** **Residuality Theory** is an innovative approach to software architecture that provides a robust foundation for architectural decisions in the face of uncertainty. Software architects constantly face tough decisions with incomplete and uncertain information. However, in competitive markets, we don’t have the option to gather all the necessary information before making a commitment. While feature-level choices are often reversible, architectural decisions have long-term impacts and are harder to undo. Moreover, when time and experience delivered the necessary feedback, the original decisions will progressively become a burden compared to more modern alternatives. No architectural choice is perfect in retrospect. To make things worse, not every constraint to the technical decision space is technical. Service providers can go bankrupt or be acquired by other companies. They can discontinue services or change their pricing without notice. No matter how technically skilled we are, uncertainty won’t go away. [**Residuality Theory**](https://www.sciencedirect.com/science/article/pii/S1877050921007420#:~:text=Residuality%20theory%20%5B1%5D%20states%20that,unknown%20that%20impacts%20the%20system.) offers a unique perspective on tackling these challenges effectively. ## Software architecture is a special place One reason that makes it challenging to frame software architecture as a discipline is that it sits at the intersection of uncertainty and determinism. The technical side involves code and computers that perform tasks predictably. Distributed and asynchronous components can require special attention and a more sophisticated design. Component failures may require redundancy and load balancing. Still, we are in the **complicated** domain. ![Software Architecture is between complex and complicated domains.](https://www.avanscoperta.it/wp-content/uploads/2025/12/Cynefin-Framework-for-resuduality-298x300.png) We don’t have the luxury of designing software systems in a vacuum. Software architecture is also about strategic choices. Choosing an implementation language for server-side performance might turn out to be a recruiting nightmare if your company needs to grow. A third-party component you rely on can change the license cost, or worse. In [Cynefin](https://youtu.be/ogtpxA6brGo) terms, while the architecture of a software system resides in the **complicated** domain, software architecture as a discipline falls within the **complex** domain. And this requires a different mindset. Regardless of your technical ability in building reliable and robust software applications, a large part of your problem space cannot be controlled. Unknown unknowns are not an exception here. Being ready for “theoretically” everything can result in overengineering, leading to longer development cycles now, to protect against many possible futures, much like wearing a raincoat on a sunny summer day. ## Coping with uncertainty Despite uncertainty, the expectation for software architecture is robustness, resilience, or antifragility. We should address crises promptly, turning them into opportunities for improvement, and ensure that system failures never happen again. The typical response from the engineering mindset to uncertainty is to insist on complicated approaches, such as spreadsheets, checklists, coefficients, and probability. We assess crisis scenarios in terms of likelihood and associated risks. We rank and prioritise threats, often with a touch of bureaucracy. Less “disciplined” professionals will rely on experience and gut feeling, on the thin line that separates a guru from a gambler. Brilliant choices without a robust foundation can turn out weak when decisions involve budget approval. ## Enter Residuality Theory Residuality Theory leverages the special properties of complicated systems situated in a complex space. These systems, known as **Hyperliminal Systems**, exhibit some special properties: changes in the outer sphere tend to impact the inner side in a few specific locations, known as **attractors**. ![Residuality Theory - Hyperlimial space](https://www.avanscoperta.it/wp-content/uploads/2025/12/Hyperliminal-space-300x169.png) The more **stressors** we apply to a system, the more the system gives us information about what needs to change to make our design more resilient. [Barry O’Reilly](https://www.avanscoperta.it/en/trainer/barry-o-reilly/)’s research work discovered that if there is a sufficient number of stressors on a hyperliminal system, we can detect the key attractors, regardless of the probability of the stressors. Coping with the consequences of a very unlikely catastrophic event, like the giant flame-throwing lizard mentioned in some examples, will ultimately impact your architectural choices not so differently than a more mundane bankruptcy of your cloud provider. While the source of a future stressor can be highly uncertain, the vulnerabilities of your system will cluster around the same attractors. Improving the design of the attractors will make your architecture more future-proof. Residuality Theory relieves us from worrying about the *probability* of a crisis scenario. A sufficient *quantity* of stressors would do the job. ### Stressor analysis Stressor analysis shifts the architectural design into a different form of hypothetical space, where we leverage creativity and lateral thinking to produce many hypotheses. Then we use math and a spreadsheet to process the resulting evidence. If we collect enough stressors, we can analyse their impact, adjust our initial architectural sketch, and redesign the attractors. Separation of concerns could be triggered by the evidence that too many sources stress a single component. ![Residuality Theory: attractors' distribution is not random](https://www.avanscoperta.it/wp-content/uploads/2025/12/Attractors-on-your-sketched-architecture-300x191.png)Repeating the impact analysis on the improved design will show improved numbers. With enough stressors and adjustments, the numbers will converge. After passing a given threshold, new scenarios won’t deliver any new insights. At the same time, the shape of the architecture becomes more refined: a **residue** is a component that isn’t threatened by stressors. But quantity and randomness of the stressors matter. So does the framing while investigating them. For example, asking ourselves, *“What could possibly go wrong?”* might create a blind spot in failure modes coming from too much success. We need multiple scenarios; they should come from diverse sources, and they should be *affordable*. ## Why does it matter? Coping with uncertainty is stressful. Good design is a quest for perfection, but perfection can never be fully achieved. Still, projecting enough unlikely futures into your architectural decision can be the best foundation for making your architectural decisions as future-proof as possible. Residuality Theory gives you **proven, repeatable principles that work** across diverse scenarios. By analysing the residues left behind after stressors impact a system, architects can **improve resilience and adaptability**, ensuring long-term system stability. ## How can I know more? ![cover book residues Time Change and Uncertainty Barry Oreilly](https://www.avanscoperta.it/wp-content/uploads/2025/03/residues-Time-Change-and-Uncertainty-Barry-Oreilly-211x300.png) There’s plenty of material available from [Barry ](https://www.avanscoperta.it/en/trainer/barry-o-reilly/)[O’Reilly](https://www.avanscoperta.it/en/trainer/barry-o-reilly/); you may want to take a look at [one of his videos](https://www.youtube.com/watch?v=_MPUoiG6w_U) or read the two short books available on [Leanpub](https://leanpub.com/u/barrymoreilly): [*Residues – Time, Uncertainty, and Change in Software Architecture*](https://leanpub.com/residuality) and [*The Architect’s Paradox – Uncertainty and the Philosophy of Software Architecture*](https://leanpub.com/architectsparadox)*.* ![Cover del libro Architect Paradox Barry O’Reilly con tulipano nero](https://www.avanscoperta.it/wp-content/uploads/2025/02/Architect-Paradox-Book-Barry-OReilly-222x300.png) However, if you truly want to dive into the matter, we offer an engaging in-person workshop: [**Advanced Software Architecture with Resilience Theory,**](https://www.avanscoperta.it/en/training/advanced-software-architecture-workshop/) led by [Barry O’Reilly](https://www.avanscoperta.it/en/trainer/barry-o-reilly/) himself! --- --- ### [Residuality Theory](https://www.avanscoperta.it/it/residuality-theory/) **Published:** December 17, 2025 **Author:** Alberto Brandolini **Content:** **Residuality Theory** is an innovative approach to software architecture that provides a robust foundation for architectural decisions in the face of uncertainty. Software architects constantly face tough decisions with incomplete and uncertain information. However, in competitive markets, we don’t have the option to gather all the necessary information before making a commitment. While feature-level choices are often reversible, architectural decisions have long-term impacts and are harder to undo. Moreover, when time and experience delivered the necessary feedback, the original decisions will progressively become a burden compared to more modern alternatives. No architectural choice is perfect in retrospect. To make things worse, not every constraint to the technical decision space is technical. Service providers can go bankrupt or be acquired by other companies. They can discontinue services or change their pricing without notice. No matter how technically skilled we are, uncertainty won’t go away. [**Residuality Theory**](https://www.sciencedirect.com/science/article/pii/S1877050921007420#:~:text=Residuality%20theory%20%5B1%5D%20states%20that,unknown%20that%20impacts%20the%20system.) offers a unique perspective on tackling these challenges effectively. ## Software architecture is a special place One reason that makes it challenging to frame software architecture as a discipline is that it sits at the intersection of uncertainty and determinism. The technical side involves code and computers that perform tasks predictably. Distributed and asynchronous components can require special attention and a more sophisticated design. Component failures may require redundancy and load balancing. Still, we are in the **complicated** domain. ![Software Architecture is between complex and complicated domains.](https://www.avanscoperta.it/wp-content/uploads/2025/12/Cynefin-Framework-for-resuduality-298x300.png) We don’t have the luxury of designing software systems in a vacuum. Software architecture is also about strategic choices. Choosing an implementation language for server-side performance might turn out to be a recruiting nightmare if your company needs to grow. A third-party component you rely on can change the license cost, or worse. In [Cynefin](https://youtu.be/ogtpxA6brGo) terms, while the architecture of a software system resides in the **complicated** domain, software architecture as a discipline falls within the **complex** domain. And this requires a different mindset. Regardless of your technical ability in building reliable and robust software applications, a large part of your problem space cannot be controlled. Unknown unknowns are not an exception here. Being ready for “theoretically” everything can result in overengineering, leading to longer development cycles now, to protect against many possible futures, much like wearing a raincoat on a sunny summer day. ## Coping with uncertainty Despite uncertainty, the expectation for software architecture is robustness, resilience, or antifragility. We should address crises promptly, turning them into opportunities for improvement, and ensure that system failures never happen again. The typical response from the engineering mindset to uncertainty is to insist on complicated approaches, such as spreadsheets, checklists, coefficients, and probability. We assess crisis scenarios in terms of likelihood and associated risks. We rank and prioritise threats, often with a touch of bureaucracy. Less “disciplined” professionals will rely on experience and gut feeling, on the thin line that separates a guru from a gambler. Brilliant choices without a robust foundation can turn out weak when decisions involve budget approval. ## Enter Residuality Theory Residuality Theory leverages the special properties of complicated systems situated in a complex space. These systems, known as **Hyperliminal Systems**, exhibit some special properties: changes in the outer sphere tend to impact the inner side in a few specific locations, known as **attractors**. ![Residuality Theory - Hyperlimial space](https://www.avanscoperta.it/wp-content/uploads/2025/12/Hyperliminal-space-300x169.png) The more **stressors** we apply to a system, the more the system gives us information about what needs to change to make our design more resilient. [Barry O’Reilly](https://www.avanscoperta.it/en/trainer/barry-o-reilly/)’s research work discovered that if there is a sufficient number of stressors on a hyperliminal system, we can detect the key attractors, regardless of the probability of the stressors. Coping with the consequences of a very unlikely catastrophic event, like the giant flame-throwing lizard mentioned in some examples, will ultimately impact your architectural choices not so differently than a more mundane bankruptcy of your cloud provider. While the source of a future stressor can be highly uncertain, the vulnerabilities of your system will cluster around the same attractors. Improving the design of the attractors will make your architecture more future-proof. Residuality Theory relieves us from worrying about the *probability* of a crisis scenario. A sufficient *quantity* of stressors would do the job. ### Stressor analysis Stressor analysis shifts the architectural design into a different form of hypothetical space, where we leverage creativity and lateral thinking to produce many hypotheses. Then we use math and a spreadsheet to process the resulting evidence. If we collect enough stressors, we can analyse their impact, adjust our initial architectural sketch, and redesign the attractors. Separation of concerns could be triggered by the evidence that too many sources stress a single component. ![Residuality Theory: attractors' distribution is not random](https://www.avanscoperta.it/wp-content/uploads/2025/12/Attractors-on-your-sketched-architecture-300x191.png)Repeating the impact analysis on the improved design will show improved numbers. With enough stressors and adjustments, the numbers will converge. After passing a given threshold, new scenarios won’t deliver any new insights. At the same time, the shape of the architecture becomes more refined: a **residue** is a component that isn’t threatened by stressors. But quantity and randomness of the stressors matter. So does the framing while investigating them. For example, asking ourselves, *“What could possibly go wrong?”* might create a blind spot in failure modes coming from too much success. We need multiple scenarios; they should come from diverse sources, and they should be *affordable*. ## Why does it matter? Coping with uncertainty is stressful. Good design is a quest for perfection, but perfection can never be fully achieved. Still, projecting enough unlikely futures into your architectural decision can be the best foundation for making your architectural decisions as future-proof as possible. Residuality Theory gives you **proven, repeatable principles that work** across diverse scenarios. By analysing the residues left behind after stressors impact a system, architects can **improve resilience and adaptability**, ensuring long-term system stability. ## How can I know more? ![cover book residues Time Change and Uncertainty Barry Oreilly](https://www.avanscoperta.it/wp-content/uploads/2025/03/residues-Time-Change-and-Uncertainty-Barry-Oreilly-211x300.png) There’s plenty of material available from [Barry ](https://www.avanscoperta.it/en/trainer/barry-o-reilly/)[O’Reilly](https://www.avanscoperta.it/en/trainer/barry-o-reilly/); you may want to take a look at [one of his videos](https://www.youtube.com/watch?v=_MPUoiG6w_U) or read the two short books available on [Leanpub](https://leanpub.com/u/barrymoreilly): [*Residues – Time, Uncertainty, and Change in Software Architecture*](https://leanpub.com/residuality) and [*The Architect’s Paradox – Uncertainty and the Philosophy of Software Architecture*](https://leanpub.com/architectsparadox)*.* ![Cover del libro Architect Paradox Barry O’Reilly con tulipano nero](https://www.avanscoperta.it/wp-content/uploads/2025/02/Architect-Paradox-Book-Barry-OReilly-222x300.png) However, if you truly want to dive into the matter, we offer an engaging in-person workshop: [**Advanced Software Architecture with Resilience Theory,**](https://www.avanscoperta.it/en/training/advanced-software-architecture-workshop/) led by [Barry O’Reilly](https://www.avanscoperta.it/en/trainer/barry-o-reilly/) himself! --- --- ### [I nostri titoli](https://www.avanscoperta.it/it/i-nostri-titoli/) **Published:** November 26, 2025 **Author:** Alberto Brandolini **Content:** In questa pagina trovate la nostra selezione di titoli per il vostro team. Scegliamo temi moderni e d’impatto, che possano fare la differenza: aprire nuove strade e sbloccare potenziale inespresso nella vostra organizzazione. Alcuni titoli sono disponibili come edizione pubblica nel nostro calendario, altri sono progettati espressamente per avvenire in forma privata. Se state cercando qualcosa di più sofisticato di un singolo corso, potreste voler dare un’occhiata ai diversi [**formati di apprendimento**](https://www.avanscoperta.it/it/i-nostri-formati-di-apprendimento/) che offriamo. [Contattateci](https://www.avanscoperta.it/it/chi-siamo/) se volete saperne di più. --- ### [Imparare Domain-Driven Design](https://www.avanscoperta.it/it/formazione/imparare-domain-driven-design/) **Published:** December 11, 2024 **Author:** Alberto Brandolini **Content:** **Domain-Driven Design** (DDD) si è molto evoluto nel tempo, rispetto alla visione originale di Eric Evans (autore del “libro blu” *Domain-Driven Design: Tackling Complexity in Softwar*e). Ciò che all’epoca veniva considerato una sofisticata architettura *object-oriented* si è trasformato in un **approccio completo allo sviluppo software**. Domain-Driven Design si rivolge a una specifica tipologia di software: quella a diretto supporto del business. Qui il compito del team di sviluppo è in equilibrio tra la necessità di comprendere il dominio applicativo e quella di implementare soluzioni robuste, performanti e semplici da mantenere. Non useremo DDD per progettare un driver per la stampante o uno sparatutto. Risulterà, invece, fondamentale ogni volta in cui avremo a che fare con **esperti** all’interno di un’organizzazione, per capire la complessità del dominio e i problemi che il nostro software dovrà risolvere. L’attenzione crescente verso i **microservizi** e l’**Event-Driven Architecture** ha favorito una rinnovata popolarità di Domain-Driven Design. DDD offre il miglior insieme di strumenti concettuali per scomporre con successo architetture e flussi complessi. Per esempio, creando una [**Context Map**](https://www.avanscoperta.it/en/context-mapping/) con un flusso di informazioni event-driven. Nel Domain-Driven Design moderno, architettura e modellazione forniscono una base solida, su cui costruire nuove opzioni implementative, abilitando strategie e visioni di lungo periodo. Allo stesso tempo, [EventStorming](https://www.avanscoperta.it/en/eventstorming) e altre tecniche di [modellazione collaborativa](https://www.avanscoperta.it/en/collaborative-modelling/) offrono un modo più coinvolgente ed efficace per comprendere rapidamente la complessità del dominio e stabilire relazioni migliori tra gli stakeholder tech e business. Recentemente, l’influenza di Domain-Driven Design ha giocato anche un ruolo importante nel crescente dibattito su [Team Topologies](https://teamtopologies.com/). I Bounded Contexts sono diventati ancora più cruciali nel definire i confini di responsabilità tra i team che collaborano. Per approfondire, leggi il nostro articolo: [About Team Topologies and Context Mapping](https://blog.avanscoperta.it/2021/04/22/about-team-topologies-and-context-mapping/). ## Corsi Domain-Driven Design: quali scegliere La maturità dell’argomento rende difficile racchiudere tutta la conoscenza in un singolo corso di Domain-Driven Design, quindi come Avanscoperta abbiamo creato più di una possibilità. - Se cerchi un formato breve (3 ore), ti segnaliamo il corso online **[DDD Executive View](https://www.avanscoperta.it/it/training/domain-driven-design-executive-view/)** con Alberto Brandolini. Questo corso è il modo migliore per comprendere Domain-Driven Design e le sue implicazioni sul tuo ecosistema. - [**Domain-Driven Design Modelling Workshop**](https://www.avanscoperta.it/it/training/strategic-domain-driven-design/) con Alberto Brandolini è un corso in presenza di 3 giorni. Un’esperienza immersiva nella modellazione collaborativa, che spazia da Big Picture EventStorming a Context Mapping, fino alla progettazione degli aggregati. - **[Domain Models in Practice](https://www.avanscoperta.it/it/training/domain-models-in-practice-ddd-cqrs-event-sourcing/)** con Marco Heimeshoff è un corso (in presenza o da remoto) che collega strategia e modellazione collaborativa con un’implementazione moderna in CQRS/ES. - Il workshop online **[Domain Modeling Made Functional](https://www.avanscoperta.it/it/training/domain-modeling-made-functional/)** con Scott Wlaschin è la scelta perfetta se la tua sfida è mappare i concetti di DDD nei paradigmi funzionali. - **[Deep Dive into Model-Driven Design](https://www.avanscoperta.it/it/training/deep-dive-into-model-driven-design/)** con Bruno Boucard e Kenny Baas-Schwegler si concentra sull’ultimo miglio: ovvero come la qualità del codice, le soluzioni e la pratica restituiscono feedback per migliorare i nostri modelli. ## Altri corsi che potrebbero interessarti - **[EventStorming Masterclass](https://www.avanscoperta.it/it/training/eventstorming-master-class/)** con Alberto Brandolini si rivolge in particolare a chi vorrebbe facilitare i diversi formati EventStorming (EventStorming Big Picture, EventStorming Process Modelling, EventStorming Software Design). - [**EventStorming Remote Experience**](https://www.avanscoperta.it/it/training/eventstorming-remote-modelling/) è il corso dove imparare tutti gli strumenti per un’esperienza di modellazione online di successo, in particolare per team di sviluppo remoti. - [**Microservices Practical Workshop**](https://www.avanscoperta.it/it/training/microservices-practical-workshop/) con Gianluca Padovani è il corso dove imparare a passare dai post-it dell’EventStorming all’implementazione a microservizi. ## Domain-Driven Design: un libro in italiano ![Cronache di Domain-Driven Design](https://www.avanscoperta.it/wp-content/uploads/2024/11/cover_leanpub_cronache-200x300.jpg) Se invece stai cercando un punto d’ingresso più tranquillo, ed interamente in italiano, allora forse [**Cronache di Domain-Driven Design**](https://www.avanscoperta.it/it/nextbook/cronache-di-domain-driven-design/) può essere la soluzione. In questo libro abbiamo cercato di raccogliere testimonianze e idee di chi ha applicato con successo i principi di Domain-Driven Design nei propri progetti, senza appesantire la narrazione con troppa teoria. ### Cronache di Domain-Driven Design *Storie, esperienze sul campo, progetti reali raccontati in modo diverso* Autori: Alberto Acerbis, Matteo Baglini, Uberto Barbini, Alberto Brandolini, Julie Camosseto, Alessandro Colla, Marco Consolaro, Emanuele DelBono, Gianluca Padovani, Francesco Strazzullo. --- ### [About us](https://www.avanscoperta.it/en/about-us/) **Published:** August 24, 2012 **Author:** administrator **Content:** We are a [consulting](https://www.avanscoperta.it/en/consulting/) and [training](https://www.avanscoperta.it/en/training/) company focusing on software development, and a new-born[ digital book publisher](https://leanpub.com/p/avanscoperta/). Our goal is to help develop useful, efficient, quality software *that makes a difference*. We like to **learn** new ways to develop software and collaborate with peers. We like to **apply** the best available techniques to design software products and to create a supporting ecosystem in the workplace. We like to **share** [what we learn](https://blog.avanscoperta.it/) with motivated professionals, to have better companies building useful software products. The A-team – as we like to call it – includes **Alberto Brandolini** (CEO and Founder of Avanscoperta), Nicole Aloisi, Alessandra Granaudo, Andrea DalPonte and **[all the amazing professionals](https://www.avanscoperta.it/en/teachers/)** who work with us. --- ### [Chi siamo](https://www.avanscoperta.it/it/chi-siamo/) **Published:** August 24, 2012 **Author:** administrator **Content:** Siamo un’azienda di [consulenza](https://www.avanscoperta.it/it/consulenza/) e [formazione](https://www.avanscoperta.it/it/formazione/) nell’ambito dello sviluppo software, e da poco anche [editore digitale](https://www.avanscoperta.it/it/libri/). Vogliamo **aiutare** a sviluppare software utile, efficiente, di qualità e che *faccia la differenza*. Ci interessa **imparare** nuovi modi per sviluppare software e collaborare con i colleghi. Ci impegniamo ad **applicare** le migliori tecniche disponibili nella realizzazione di prodotti software e nella creazione di un ecosistema che lo permetta. Amiamo **condividere** quanto [abbiamo imparato](https://blog.avanscoperta.it/) con professionisti motivati, per avere aziende migliori che realizzano prodotti software più utili. L’A-team – come ci piace chiamarlo – è costituito da **Alberto Brandolini** (CEO e Founder di Avanscoperta), Nicole Aloisi, Alessandra Granaudo, Andrea DalPonte e **[tutti i professionisti](https://www.avanscoperta.it/it/i-nostri-docenti/)** che collaborano con noi. --- ### [Consulenza](https://www.avanscoperta.it/it/consulenza/) **Published:** August 24, 2012 **Author:** administrator **Content:** Siamo un mix unico di esperti trasversali e innovatori appassionati di contaminazione, apprendimento e condivisione. ## Event-Driven Partners Dalla teoria alla pratica: come trasformiamo la tua architettura software **Domain-Driven Design** (DDD) ed Event-Driven Architecture offrono soluzioni potenti per lo sviluppo di software aziendali moderni e robusti. Tuttavia, mettere in pratica questi principi può risultare complesso, soprattutto in organizzazioni ancora vincolate da un elevato coupling e dai conseguenti costi di coordinamento. In questi scenari, è fondamentale adottare un mindset differente, supportato da strumenti concreti ed esperienze pratiche. Avanscoperta aiuta le organizzazioni a esplorare e comprendere la complessità del dominio, riunendo prospettive di business e tech nello stesso spazio e sullo stesso modello attraverso **Big Picture [EventStorming](https://www.eventstorming.com/)**. Tracciamo i confini attuali e ideali dei modelli attraverso una **Context Map**, assegnando in modo chiaro le responsabilità critiche ai team, per garantire un’architettura solida e coerente con le esigenze del business. [![A simple context map with Event-Driven information flow.](https://www.avanscoperta.it/wp-content/uploads/2024/11/Simple-Event-driven-Context-Map-1024x405-1.png)](https://www.avanscoperta.it/wp-content/uploads/2024/11/Simple-Event-driven-Context-Map-1024x405-1.png) Modelliamo in modo collaborativo i processi fondamentali, sfruttando il valore di [**Process Modelling**](https://www.avanscoperta.it/it/eventstorming/) per convergere rapidamente verso soluzioni efficaci, grazie al coinvolgimento di specialisti di business, UX e tecnologia. Puoi approfondire nella pagina dedicata a [Collaborative Modelling](https://www.avanscoperta.it/en/collaborative-modelling/). Creiamo percorsi di Mentoring per i tuoi team di sviluppo e architettura per costruire soluzioni, competenze e sicurezza, facilitando la transizione verso i nuovi paradigmi. Sfruttiamo la precisione semantica degli **Domain Events** per creare un’intelligenza di business più robusta e priva di ambiguità sul comportamento dei tuoi sistemi. ## Leading IT Ecosystems Mentre le organizzazioni software-centriche prosperano e crescono, spesso costruendo culture uniche, nelle organizzazioni più tradizionali lo sviluppo software è ancora percepito come un elemento estraneo, che sfida le aspettative e si comporta in modo imprevedibile. A un occhio esperto, le frizioni comuni – stime inaffidabili, costi di coordinamento alle stelle, comunicazione deludente tra stakeholder tecnici e non tecnici – sono tutti sintomi dello stesso problema: un modello inadeguato per il reparto IT. Affrontare il problema con una sola disciplina non funziona: un’iniziativa agile su larga scala può essere neutralizzata da un’architettura fortemente accoppiata, così come gli obiettivi contrastanti degli stakeholder possono soffocare anche il più importante *architectural refactoring.* I nostri esperti eccellono in ambiti *crossover*: - possiedono un’ampia conoscenza sia delle organizzazioni tradizionali sia di quelle moderne e delle dinamiche interne agli ecosistemi dello sviluppo software. - hanno sviluppato una profonda conoscenza e competenze su codice, persone, strategia, metodologie. ## Complexity Mappers Alcuni problemi possono essere risolti solo attraverso la collaborazione attiva di esperti di diversi settori. Con l’aumentare delle dimensioni del problema, diminuisce la qualità delle discussioni e dei modelli: ci si blocca in *loop* infiniti di tavole rotonde senza trovare una soluzione chiara. Abbiamo inventato, scoperto e applicato strumenti per modellare problemi altamente complessi. Sappiamo come integrare modelli e linguaggi per raggiungere efficacemente un obiettivo comune. Conosciamo trucchi per facilitare grandi gruppi a convergere verso una visione condivisa e a validare soluzioni possibili. Non abbiamo paura della complessità. La cavalchiamo. --- ### [Consulting](https://www.avanscoperta.it/en/consulting/) **Published:** August 24, 2012 **Author:** administrator **Content:** We are a unique mix of crossover experts and innovators passionate about contamination, learning and sharing. ## Event-Driven Partners **Domain-Driven Design** and **Event-Driven Architecture** provide powerful platforms for modern and robust enterprise software. However, theory and practice can appear incredibly distant, especially if your organisation is still bogged down with coupling and the associated coordination overhead. This is where a different mindset needs to be reinforced with practices and examples. Unravelling the intricacies of your **domain** with a **Big Picture [EventStorming](https://www.eventstorming.com/)**, bringing the business and tech perspectives into the same room and on the same model. Eliciting the current and ideal **model boundaries** with a [**Context Map**](https://www.avanscoperta.it/en/context-mapping/) for a clean resolution of the critical team responsibilities assignment. [![A simple context map with Event-Driven information flow.](https://www.avanscoperta.it/wp-content/uploads/2024/09/Simple-Event-driven-Context-Map-1024x405.png)](https://www.avanscoperta.it/wp-content/uploads/2024/09/Simple-Event-driven-Context-Map.png) Collaboratively **modelling critical processes** (this is where our **Process Modelling** shines) to quickly converge towards a solution supported by business, UX and tech specialists. More about it in [Collaborative Modelling](https://www.avanscoperta.it/en/collaborative-modelling/). Mentoring your development and architecture teams to build solutions, expertise and confidence, smoothening the transition towards the new paradigms. Leveraging the semantic precision of Domain Events to build more robust and unambiguous business intelligence about your systems’ behaviour. ## Leading IT Ecosystems While software-centric organisations thrive and grow, often building their own unique cultures, in more traditional organisations, software development is still perceived as an outcast, defying expectations and behaving unpredictably. To an expert eye, the common frictions – unreliable estimations, skyrocketing coordination costs, disappointing communication between technical and non-technical stakeholders – are all symptoms of the same disease: an unfitting model of the IT department. Attacking the problem with a single discipline won’t work: a large-scale agile initiative can be neutralised by a heavily coupled architecture, just as competing stakeholders’ goals can suffocate the most meaningful architectural refactoring. Luckily, our experts are all about crossover knowledge: We understand the motivations of modern and traditional organisations and the dynamics of software development ecosystems. We know how to build a platform to attract and retain talent and to build highly impactful software for the business. It’s *code*, *people*, *strategy*, *clarity*, and *skills*. They all matter. ## Complexity Mappers Some problems can only be solved with the active collaboration of experts in different fields. Unfortunately, as the size of the problem increases, the quality of our discussion and models decreases: we end up stuck in an endless loop of round tables without unlocking a clear solution to the issue. We have learned and discovered tools to model highly intricate problems. We know how to blend models and languages to achieve a common goal effectively. We learned tricks to facilitate large groups’ converging toward a shared vision and to validate possible solutions. We aren’t scared by complexity. We ride it. --- ### [Informativa Privacy, cookies e uso dei dati](https://www.avanscoperta.it/it/informativa-privacy-cookies-e-uso-dei-dati/) **Published:** August 29, 2017 **Author:** Alessandra Granaudo **Content:** [Privacy Policy](https://www.iubenda.com/privacy-policy/15727856 "Privacy Policy") [Cookie Policy](https://www.iubenda.com/privacy-policy/15727856/cookie-policy "Cookie Policy") --- ### [Decision-making for Software Development Teams](https://www.avanscoperta.it/it/libri/decision-making-for-software-development-teams/) **Published:** June 1, 2022 **Author:** Alessandra Granaudo **Content:** #### **Decision-making for Software Development Teams** *Learn how to make mindful decisions in complex software ecosystems* ##### Info sul libro [![Decision-making for Software Development Teams cover](https://www.avanscoperta.it/wp-content/uploads/2022/06/Strazzullo_cover-232x300.jpg)](https://www.avanscoperta.it/wp-content/uploads/2022/06/Strazzullo_cover-scaled.jpg) Decision-making is a vital skill for every senior software developer. Some of these decisions are easy to spot. For example, choosing a language or a framework for a new shiny greenfield project. Other ones are hidden in plain sight. Alas, decision-making is often an undervalued skill that most developers do not study or train. This book aims to introduce developers to some theoretical concepts about decisions and to put them in practice with exercises explained with real-life examples. Pubblicazione: marzo 2022 Lingua: English Prezzo: [24,99 $ su Leanpub](https://leanpub.com/decision-making-for-software-development-teams) --- #### Indice dei contenuti - Preface: Why a book on decision-making for developers? - Chapter 1: Decision-making anti-patterns - Chapter 2: A decision-making process - Chapter 3: Involve the right people - Chapter 4: Gather data – Business needs - Chapter 5: Gather Data – Users - Chapter 6: Gather Data – Context - Chapter 7: Choose non-functional requirements - Chapter 8: Comparing solutions - Chapter 9: A decision-making meeting: a use case - Chapter 10: Deciding how to decide - Appendix A: Interviews - Appendix B: Cynefin Framework #### Info sull’autore **Francesco Strazzullo** Francesco Strazzullo si definisce fullstack developer. Sostiene che saper prendere decisioni consapevoli è importante tanto quanto saper scrivere codice. Appassionato di fumetti, videogiochi e cucina. #### Acquista il libro Il libro è disponibile in pdf, epub, mobi, web su [Leanpub](https://leanpub.com/decision-making-for-software-development-teams). --- ### [Newsletter](https://www.avanscoperta.it/it/info/newsletter/) **Published:** May 23, 2017 **Author:** Alessandra Granaudo **Content:** #### Take your Time! ###### *Once a week* Do you want to join our global community and receive a weekly dose of our best advice on upcoming events, cool people, workshops? Do you want to get exclusive content from experts in software development, technology, business and design? Subscribe to our Newsletter now! --- ### [Past events](https://www.avanscoperta.it/en/past-events/) **Published:** July 3, 2014 **Author:** fabbrucci --- ## Trainings ### [Complexity-Informed Platform Design Workshop](https://www.avanscoperta.it/it/training/complexity-informed-platform-design-workshop/) **Published:** June 16, 2026 **Author:** Alessandra Granaudo **Excerpt:** Platform initiatives fail when they optimise for deployment speed and ignore operational complexity. In this 2-day workshop, Jabe Bloom gives architects, engineers, and technical leaders a rigorous framework to design platform topologies that are genuinely operable at scale. **Content:** Contemporary software engineering discourse often frames the concept of a *Platform* in terms of continuous integration pipelines or internal developer tools. This perspective tends to focus heavily on the “flow” of “value” through a **Development Lifecycle**. Platform design initiatives standardize the development lifecycle by codifying organizational best practices and compliance into automated, self-service “Golden Paths” in an attempt to abstract infrastructure complexity. Optimizing delivery mechanics alone often leaves operational complexity unresolved. To enhance systemic flow, systems architects need to pivot their attention from artifact delivery toward the **Operational Lifecycle**. We can identify two dimensions: the layers of a system (Application, Platform, and Infrastructure), and the lifecycles (Development and Operation). ![layers of a system table representation by jabe bloom for Platform Engineering](https://www.avanscoperta.it/wp-content/uploads/2026/06/lifecycle-layers-of-a-system-jabe-bloom.jpeg) Just this brief expansion reveals a set of lifecycles often unexplored. If we continue and layer in the multiple ontologies, epistemologies, and temporalities of the [**Three Economies framework**](https://blog.jabebloom.com/2020/03/04/the-three-economies-an-introduction/), we arrive at a rich description of a complex interdependent sociotechnical system. This reveals a frequent source of platform failure; optimizing exclusively for the development lifecycle, which externalizes unmanaged complexity onto Application, Platform and Infrastructure Operators. To resolve this structural asymmetry, Platform and Infrastructure Developers must engage the **domain requirements** of adjacent and superjacent operational domains. In this **Complexity-Informed Platform Design Workshop**, designed by Jabe Bloom, we’ll explore the importance of arriving at a new, more complex, and dynamic synthesis that rejects a purely structural, technocentric view of software architecture in favor of an ongoing, multi-temporal, and deeply sociotechnical approach to platform design. ***This Workshop is co-organized with KanDDDinsky Conference.* 💚** ## Learning Objectives By the end of this workshop, participants will be able to: - Apply the Three Economies framework (Differentiation, Scale, and Scope) to evaluate and design platform capabilities that match organizational pace layers. - Analyze the friction and misalignments between Development (DLC) and Operational (OLC) lifecycles across all three architectural layers and formulate a multi-temporal Strategic Design for the platform that treats live operational lifecycles (SOLC, POLC, IOLC) as first-class domain models, balancing immediate differentiation needs with long-term, systemic resilience. - Evaluate architectural tradeoffs, options, commitments, and the structural cost of change by designing and decomposing complex infrastructure primitives (e.g., Database-as-a-Service). ## The Trainer Dr. [Jabe Bloom](https://www.avanscoperta.it/en/trainer/jabe-bloom/) is a prominent figure in the intersection of philosophy, design, and management. With over 25 years of experience in the software industry – ranging from CTO roles to academic research – Jabe specializes in helping organizations understand the temporal and structural complexities of their systems. ## Target Audience This workshop is valuable for: - Principal Architects, Systems Engineers, and Technical Directors tasked with mapping sociotechnical boundaries. It will prepare you to treat Application Operators, Platform Developers, Platform Operators, Infrastructure Developers, and Infrastructure Operators as Domain Experts within their respective spheres, and design systems that are highly operable. - For executives that want to understand how to stop funding platform initiatives that optimize solely for deployment speed while passing the buck on operational drag, this workshop equips your technical leadership with a rigorous framework to eliminate structural asymmetry, reduce downstream operational costs, and align platform topology with actual business subdomains. **Prerequisites**: no specific requirements are needed. Having familiarity with Team Topologies is a nice to have. Check the suggested readings in the F.A.Q. section. ## Agenda ### Day 1 **The Three Economies Framework** - Exploring the dynamics of the Economies of Differentiation, Scope, and Scale - Aligning pace layers, temporalities, and lifecycles. **The Platform Domain Canvas Context Mapping** - Practical evaluation of the Cognitive Dependency Mandate. - Interactive Session: Utilizing the Platform Domain Canvas to map the six lifecycles and isolate systemic friction/translation drag. ### Day 2 **Service Architecture Lab (DBaaS Focus)** - Exploring patterns and principles for decomposing and laying out platform services. - Examining the tradeoffs different architectural decisions impose; calculating the cost of options, commitments, and change. **Red/Blue Team Simulation** - Deploying a Red/Blue team approach to evaluate platform robustness. - Stress-testing multi-temporal platform designs against real-world systemic failures and sociotechnical boundaries. ## How it works This is an active, collaborative workshop; we’ll talk theory, but more importantly, we will play with it. Participants utilize the **Platform Domain Canvas** to map their organization’s six lifecycles, exposing friction points and translation drag between development and operational domains. We will design a series of services to understand the implications of the models. Using Database-as-a-Service, we’ll explore patterns and principles for decomposing and laying out a service. We’ll examine the tradeoff different architectural decisions impose, and discuss the cost of options, commitments, and change. Using a Red/Blue team approach, participants will stress-test their newly formulated, multi-temporal platform designs against real-world systemic failures and sociotechnical boundaries. ### F.A.Q *How can I prepare to take the course?* We recommend two resources: - read [The Three Economies an Introduction](https://blog.jabebloom.com/2020/03/04/the-three-economies-an-introduction/) - watch [Whole Work: Sociotechnicity & DevOps](https://youtu.be/WtfncGAeXWU?si=TyNkcHT-moLh1Bm0) **Categories:** A calendario, A catalogo **Tags:** DevOps, Platform Design, Team Topologies --- ### [Complexity-Informed Platform Design Workshop](https://www.avanscoperta.it/en/training/complexity-informed-platform-design-workshop/) **Published:** June 16, 2026 **Author:** Alessandra Granaudo **Excerpt:** Platform initiatives fail when they optimise for deployment speed and ignore operational complexity. In this 2-day workshop, Jabe Bloom gives architects, engineers, and technical leaders a rigorous framework to design platform topologies that are genuinely operable at scale. **Content:** Contemporary software engineering discourse often frames the concept of a *Platform* in terms of continuous integration pipelines or internal developer tools. This perspective tends to focus heavily on the “flow” of “value” through a **Development Lifecycle**. Platform design initiatives standardize the development lifecycle by codifying organizational best practices and compliance into automated, self-service “Golden Paths” in an attempt to abstract infrastructure complexity. Optimizing delivery mechanics alone often leaves operational complexity unresolved. To enhance systemic flow, systems architects need to pivot their attention from artifact delivery toward the **Operational Lifecycle**. We can identify two dimensions: the layers of a system (Application, Platform, and Infrastructure), and the lifecycles (Development and Operation). ![layers of a system table representation by jabe bloom for Platform Engineering](https://www.avanscoperta.it/wp-content/uploads/2026/06/lifecycle-layers-of-a-system-jabe-bloom.jpeg) Just this brief expansion reveals a set of lifecycles often unexplored. If we continue and layer in the multiple ontologies, epistemologies, and temporalities of the [**Three Economies framework**](https://blog.jabebloom.com/2020/03/04/the-three-economies-an-introduction/), we arrive at a rich description of a complex interdependent sociotechnical system. This reveals a frequent source of platform failure; optimizing exclusively for the development lifecycle, which externalizes unmanaged complexity onto Application, Platform and Infrastructure Operators. To resolve this structural asymmetry, Platform and Infrastructure Developers must engage the **domain requirements** of adjacent and superjacent operational domains. In this **Complexity-Informed Platform Design Workshop**, designed by Jabe Bloom, we’ll explore the importance of arriving at a new, more complex, and dynamic synthesis that rejects a purely structural, technocentric view of software architecture in favor of an ongoing, multi-temporal, and deeply sociotechnical approach to platform design. ***This Workshop is co-organized with KanDDDinsky Conference.* 💚** ## Learning Objectives By the end of this workshop, participants will be able to: - Apply the Three Economies framework (Differentiation, Scale, and Scope) to evaluate and design platform capabilities that match organizational pace layers. - Analyze the friction and misalignments between Development (DLC) and Operational (OLC) lifecycles across all three architectural layers and formulate a multi-temporal Strategic Design for the platform that treats live operational lifecycles (SOLC, POLC, IOLC) as first-class domain models, balancing immediate differentiation needs with long-term, systemic resilience. - Evaluate architectural tradeoffs, options, commitments, and the structural cost of change by designing and decomposing complex infrastructure primitives (e.g., Database-as-a-Service). ## The Trainer Dr. [Jabe Bloom](https://www.avanscoperta.it/en/trainer/jabe-bloom/) is a prominent figure in the intersection of philosophy, design, and management. With over 25 years of experience in the software industry – ranging from CTO roles to academic research – Jabe specializes in helping organizations understand the temporal and structural complexities of their systems. ## Target Audience This workshop is valuable for: - Principal Architects, Systems Engineers, and Technical Directors tasked with mapping sociotechnical boundaries. It will prepare you to treat Application Operators, Platform Developers, Platform Operators, Infrastructure Developers, and Infrastructure Operators as Domain Experts within their respective spheres, and design systems that are highly operable. - For executives that want to understand how to stop funding platform initiatives that optimize solely for deployment speed while passing the buck on operational drag, this workshop equips your technical leadership with a rigorous framework to eliminate structural asymmetry, reduce downstream operational costs, and align platform topology with actual business subdomains. **Prerequisites**: no specific requirements are needed. Having familiarity with Team Topologies is a nice to have. Check the suggested readings in the F.A.Q. section. ## Agenda ### Day 1 **The Three Economies Framework** - Exploring the dynamics of the Economies of Differentiation, Scope, and Scale - Aligning pace layers, temporalities, and lifecycles. **The Platform Domain Canvas Context Mapping** - Practical evaluation of the Cognitive Dependency Mandate. - Interactive Session: Utilizing the Platform Domain Canvas to map the six lifecycles and isolate systemic friction/translation drag. ### Day 2 **Service Architecture Lab (DBaaS Focus)** - Exploring patterns and principles for decomposing and laying out platform services. - Examining the tradeoffs different architectural decisions impose; calculating the cost of options, commitments, and change. **Red/Blue Team Simulation** - Deploying a Red/Blue team approach to evaluate platform robustness. - Stress-testing multi-temporal platform designs against real-world systemic failures and sociotechnical boundaries. ## How it works This is an active, collaborative workshop; we’ll talk theory, but more importantly, we will play with it. Participants utilize the **Platform Domain Canvas** to map their organization’s six lifecycles, exposing friction points and translation drag between development and operational domains. We will design a series of services to understand the implications of the models. Using Database-as-a-Service, we’ll explore patterns and principles for decomposing and laying out a service. We’ll examine the tradeoff different architectural decisions impose, and discuss the cost of options, commitments, and change. Using a Red/Blue team approach, participants will stress-test their newly formulated, multi-temporal platform designs against real-world systemic failures and sociotechnical boundaries. ### F.A.Q *How can I prepare to take the course?* We recommend two resources: - read [The Three Economies an Introduction](https://blog.jabebloom.com/2020/03/04/the-three-economies-an-introduction/) - watch [Whole Work: Sociotechnicity & DevOps](https://youtu.be/WtfncGAeXWU?si=TyNkcHT-moLh1Bm0) **Categories:** On demand, Scheduled **Tags:** DevOps, Platform Design, platform engineering workshop, sociotechnical systems, Team Topologies --- ### [Collaborative Software Modelling and Design with Bytesize Sessions](https://www.avanscoperta.it/it/training/collaborative-software-modelling-and-design-with-bytesize-sessions/) **Published:** May 8, 2026 **Author:** Alessandra Granaudo **Excerpt:** A two-day hands-on workshop for technical leaders and practitioners. Learn to use Bytesize Architecture Sessions with C4 and Domain-Driven Design to model effectively (collaboratively and alone) and build systems that are genuinely aligned. **Content:** A 2-day hands-on intensive for technical leaders and practitioners who need aligned systems, not just aligned opinions. “*I don’t want an exclusive design process, but when you open it up it takes 10 times longer. It’s impossible to get buy-in for that.*” Sound familiar? You know collaboration matters, but every time you open up the design process, it grinds to a halt. And so you default to solo work, or back-room decisions, and the knowledge silos grow. Right now, organisations are navigating higher uncertainty than ever: unclear goals, shifting team structures, and evolving roles for engineers and technical leaders. In this landscape, the ability to share deep context and design together – efficiently – is a competitive advantage, not a nice-to-have. Collaborative Software Modelling and Design with Bytesize Sessions is a two-day workshop that gives you that ability. You’ll learn with [Andrea Magnorsky](https://www.avanscoperta.it/en/trainer/andrea-magnorsky/) how to use Bytesize Architecture Sessions in combination with structural and strategic DDD tools to model effectively (collaboratively and alone) and, crucially, to know when to do which. ***This Workshop is co-organized with KanDDDinsky Conference.* 💚** ## Learning Objectives By the end of this workshop, you will be able to: - Apply Bytesize Architecture Sessions to structure collaborative modelling within your team and across teams - Use C4 for clear, structured architectural communication - Work through most steps of the DDD Starter Modelling Process in practice - Make informed decisions about when to work collaboratively and when solo work delivers better results. ## The Trainer Andrea Magnorsky is the creator of [Bytesize Architecture Sessions](https://bytesizearchitecturesessions.com/). She is based in New Zealand and is well-known in the programming community for her contributions to functional programming and software architecture. ## Target Audience This workshop is designed for people who work across team boundaries in technical or cross-functional roles: - Staff Engineers & Architects coordinating design decisions across multiple teams - Technical Project Managers (TPMs) managing complexity and alignment at system level - Product Managers bridging business intent and technical reality - Individual contributors who work across teams and need to share context effectively. If your daily challenge is making sure the right people have the right information to design systems that are self-consistent, this workshop is built for you. ## Topics - Bytesize Architecture Sessions: the method, the format, and the facilitation mindset - Structural modelling with the C4 model - Strategic DDD: EventStorming and Context Maps - The DDD Starter Modelling Process as an integrating framework - Combining structural and strategic modelling in practice - Collaborative vs. solo work: a decision-making framework. ## Agenda The workshop covers most steps of the DDD Starter Modelling Process. Code-level design is intentionally out of scope. ### Day 1 **Foundations of Collaborative Modelling** - Introduction to Bytesize Architecture Sessions — the format, the purpose, the facilitation principles. - Structural modelling with C4. - First hands-on sessions alternating between individual and group work. - Introduction to the DDD Starter Modelling Process as the workshop’s navigating framework. ### Day 2 **Strategic Design in Practice** - Strategic DDD tools in a Bytesize format: EventStorming and Context Maps. - Integrating structural and strategic modelling. - Building a personal decision framework for when to collaborate and when to work alone. - Reflection, debrief, and action planning for what to bring back to your organisation. ![Bytesize Architecture Sessions explanation](https://www.avanscoperta.it/wp-content/uploads/2026/01/bytesize-infographic-1024x576.png) ## How it works Each session follows the Bytesize Architecture Sessions format: time-boxed, structured, and focused on generating real insight, fast. You’ll experience directly what collaboration enables that solo work doesn’t, and vice versa. That lived experience is what makes the decision framework you’ll develop stick. **Categories:** A calendario, A catalogo --- ### [Collaborative Software Modelling and Design with Bytesize Sessions](https://www.avanscoperta.it/en/training/collaborative-software-modelling-and-design-with-bytesize-sessions/) **Published:** May 8, 2026 **Author:** Alessandra Granaudo **Excerpt:** A two-day hands-on workshop for technical leaders and practitioners. Learn to use Bytesize Architecture Sessions with C4 and Domain-Driven Design to model effectively (collaboratively and alone) and build systems that are genuinely aligned. **Content:** A 2-day hands-on intensive for technical leaders and practitioners who need aligned systems, not just aligned opinions. “*I don’t want an exclusive design process, but when you open it up it takes 10 times longer. It’s impossible to get buy-in for that.*” Sound familiar? You know collaboration matters, but every time you open up the design process, it grinds to a halt. And so you default to solo work, or back-room decisions, and the knowledge silos grow. Right now, organisations are navigating higher uncertainty than ever: unclear goals, shifting team structures, and evolving roles for engineers and technical leaders. In this landscape, the ability to share deep context and design together – efficiently – is a competitive advantage, not a nice-to-have. Collaborative Software Modelling and Design with Bytesize Sessions is a two-day workshop that gives you that ability. You’ll learn with [Andrea Magnorsky](https://www.avanscoperta.it/en/trainer/andrea-magnorsky/) how to use Bytesize Architecture Sessions in combination with structural and strategic DDD tools to model effectively (collaboratively and alone) and, crucially, to know when to do which. ***This Workshop is co-organized with KanDDDinsky Conference.* 💚** ## Learning Objectives By the end of this workshop, you will be able to: - Apply Bytesize Architecture Sessions to structure collaborative modelling within your team and across teams - Use C4 for clear, structured architectural communication - Work through most steps of the DDD Starter Modelling Process in practice - Make informed decisions about when to work collaboratively and when solo work delivers better results. ## The Trainer Andrea Magnorsky is the creator of [Bytesize Architecture Sessions](https://bytesizearchitecturesessions.com/). She is based in New Zealand and is well-known in the programming community for her contributions to functional programming and software architecture. ## Target Audience This workshop is designed for people who work across team boundaries in technical or cross-functional roles: - Staff Engineers & Architects coordinating design decisions across multiple teams - Technical Project Managers (TPMs) managing complexity and alignment at system level - Product Managers bridging business intent and technical reality - Individual contributors who work across teams and need to share context effectively. If your daily challenge is making sure the right people have the right information to design systems that are self-consistent, this workshop is built for you. ## Topics - Bytesize Architecture Sessions: the method, the format, and the facilitation mindset - Structural modelling with the C4 model - Strategic DDD: EventStorming and Context Maps - The DDD Starter Modelling Process as an integrating framework - Combining structural and strategic modelling in practice - Collaborative vs. solo work: a decision-making framework. ## Agenda The workshop covers most steps of the DDD Starter Modelling Process. Code-level design is intentionally out of scope. ### Day 1 **Foundations of Collaborative Modelling** - Introduction to Bytesize Architecture Sessions — the format, the purpose, the facilitation principles. - Structural modelling with C4. - First hands-on sessions alternating between individual and group work. - Introduction to the DDD Starter Modelling Process as the workshop’s navigating framework. ### Day 2 **Strategic Design in Practice** - Strategic DDD tools in a Bytesize format: EventStorming and Context Maps. - Integrating structural and strategic modelling. - Building a personal decision framework for when to collaborate and when to work alone. - Reflection, debrief, and action planning for what to bring back to your organisation. ![Bytesize Architecture Sessions explanation](https://www.avanscoperta.it/wp-content/uploads/2026/01/bytesize-infographic-1024x576.png) ## How it works Each session follows the Bytesize Architecture Sessions format: time-boxed, structured, and focused on generating real insight, fast. You’ll experience directly what collaboration enables that solo work doesn’t, and vice versa. That lived experience is what makes the decision framework you’ll develop stick. **Categories:** On demand, Scheduled --- ### [Architecture for Flow Masterclass](https://www.avanscoperta.it/it/training/architecture-for-flow-masterclass/) **Published:** April 21, 2026 **Author:** Alessandra Granaudo **Excerpt:** A 2-day intensive workshop to bridge the gap between business strategy, software architecture, and team organization. Using the Architecture for Flow Canvas, you will master the integration of Wardley Mapping, DDD, and Team Topologies to build adaptive organizations optimized for speed and sustainable value delivery. **Content:** *Stop managing silos. Start designing for a fast, sustainable flow of value.* Most organizational changes fail because they focus on local optimization. You fix a team here, a microservice there, yet the performance of the whole system remains stagnant. Organizations are not just codebases or org charts; they are interacting socio-technical systems. When your business strategy, software architecture, and team structures are treated as separate parts, friction is inevitable. To survive constant market shifts, these subsystems must be aligned into a single, adaptive engine. Architecture for Flow provides a holistic toolset for designing, building, and evolving adaptive, socio-technical systems optimized for a fast, sustainable flow of value and constant feedback. You won’t just learn theory: You will experience how to apply the Architecture for Flow Canvas to your specific company context. Join[ Susanne Kaiser](https://www.avanscoperta.it/en/trainer/susanne-kaiser/) in Berlin for a 2-day intensive deep dive into a holistic toolset designed for the modern leader. You will learn to bridge the gap between high-level strategy and ground-level execution by integrating the “Power Triad”: Wardley Mapping, Domain-Driven Design (DDD), and Team Topologies. ***This Workshop is co-organized with KanDDDinsky Conference.* 💚** ## Learning Objectives By the end of this in-person Masterclass with Susanne Kaiser, you will be able to: - Visualise a business landscape with Wardley Maps - Categorize the problem space with DDD’s subdomain types to get an indication where to prioritise strategic investments in the solution space - Modularise the solution space with DDD’s bounded contexts using EventStorming - Align future teams and interactions optimised for a fast flow of change using Team Topologies - Connect business strategy, software design and architecture, and team organisation into a coherent model by applying the [Architecture for Flow Canvas](https://architectureforflow.com/canvas/). ![Architecture for Flow book cover with an octopus](https://www.avanscoperta.it/wp-content/uploads/2025/11/Architecture-for-Flow-Book-cover-Susanne-Kaiser-229x300.jpg) ## The Trainer Susanne Kaiser helps organizations design adaptive socio-technical systems using Wardley Mapping, Domain-Driven Design, and Team Topologies. *«Susanne Kaiser writes with the precision of an architect and the care of a guide»* as Xin Yao wrote. Her book, [*Architecture for Flow*](https://architectureforflow.com/) (Addison-Wesley Signature Series, 2025), brings these disciplines together into a coherent model for navigating complex, evolving systems. ## Target Audience This workshop is designed for high-impact roles tackling organizational complexity: - CTOs & VPs of Engineering looking to accelerate delivery. - Software Architects & Technical Leads designing scalable systems. - Product Leaders who need to align product roadmap with technical execution. - Common roles also include: Engineering managers, domain experts, system designers, product leaders, transformation coaches. ## Agenda ### Day1 **Wardley Mapping Fundamentals** - Understanding the Strategy Cycle of Wardley Mapping - Starting with the Why of Business: The Purpose - Visualizing the Business Landscape with a Wardley Map - Creating a Wardley Map - Understanding Climatic Patterns - Applying Doctrinal Principles - Identifying Strategic Opportunities: Leadership and Gameplay. **Strategic Domain-Driven Design** - Exploring DDD patterns & practices as part of the value chain - Domain models and bounded contexts - EventStorming Formats - Mapping bounded contexts to evolution stages - Assessing change coupling with Context Maps. ### Day 2 **Team Topologies Essentials** - Why functional silo teams create friction - Requirements for flow optimization - The fundamental team types of Team Topologies - The team Interaction modes. **Connecting the Dots: Architecture for Flow** - Combining Team Topologies with Wardley Mapping and DDD - Applying the Architecture for Flow Canvas - Working through a legacy system scenario - Seeing how strategy → architecture → teams align. ## How it works ![value chain and future organization representation by Susanne Keiser](https://www.avanscoperta.it/wp-content/uploads/2026/04/Value-Chain-Susanne-Kaiser-293x300.png) The Architecture for Flow Workshop provides hands-on exercises, collaborative mapping and modeling sessions, and guided scenarios based on prepared examples. Participants don’t just learn the ideas of the three perspectives, but also learn how to apply them in a coherent way to their own contexts. This isn’t a standard training on DDD, Wardley Mapping, or Team Topologies. You will: - Learn how all three methods work together to optimize flow and alignment - Apply concepts to real scenarios rather than theory - Use the Architecture for Flow Canvas to integrate strategy, domains, and team structures - Leave with maps, templates, and models you can apply immediately - Gain a practical mindset for continuous adaptation. ### F.A.Q. *Do I need to know something beforehand in order to participate in this workshop?* No prior experience with Wardley Mapping, Domain-Driven Design, or Team Topologies is required. While some familiarity with any of these approaches can be helpful, the workshop is designed to be accessible for participants at all levels. *How can I prepare to take the course? Recommended readings? Other?* If you would like to prepare in advance, my book Architecture for Flow (Pearson, 2025) offers a comprehensive foundation for the concepts we will explore in the workshop. However, it’s not required reading; we will cover the essential concepts during the workshop. **Categories:** A calendario, A catalogo **Tags:** Domain-Driven Design, Team Topologies, Wardley Maps --- ### [Architecture for Flow Masterclass](https://www.avanscoperta.it/en/training/architecture-for-flow-masterclass/) **Published:** April 21, 2026 **Author:** Alessandra Granaudo **Excerpt:** A 2-day intensive workshop to bridge the gap between business strategy, software architecture, and team organization. Using the Architecture for Flow Canvas, you will master the integration of Wardley Mapping, DDD, and Team Topologies to build adaptive organizations optimized for speed and sustainable value delivery. **Content:** *Stop managing silos. Start designing for a fast, sustainable flow of value.* Most organizational changes fail because they focus on local optimization. You fix a team here, a microservice there, yet the performance of the whole system remains stagnant. Organizations are not just codebases or org charts; they are interacting socio-technical systems. When your business strategy, software architecture, and team structures are treated as separate parts, friction is inevitable. To survive constant market shifts, these subsystems must be aligned into a single, adaptive engine. Architecture for Flow provides a holistic toolset for designing, building, and evolving adaptive, socio-technical systems optimized for a fast, sustainable flow of value and constant feedback. You won’t just learn theory: You will experience how to apply the Architecture for Flow Canvas to your specific company context. Join[ Susanne Kaiser](https://www.avanscoperta.it/en/trainer/susanne-kaiser/) in Berlin for a 2-day intensive deep dive into a holistic toolset designed for the modern leader. You will learn to bridge the gap between high-level strategy and ground-level execution by integrating the “Power Triad”: Wardley Mapping, Domain-Driven Design (DDD), and Team Topologies. ***This Workshop is co-organized with KanDDDinsky Conference.* 💚** ## Learning Objectives By the end of this in-person Masterclass with Susanne Kaiser, you will be able to: - Visualise a business landscape with Wardley Maps - Categorize the problem space with DDD’s subdomain types to get an indication where to prioritise strategic investments in the solution space - Modularise the solution space with DDD’s bounded contexts using EventStorming - Align future teams and interactions optimised for a fast flow of change using Team Topologies - Connect business strategy, software design and architecture, and team organisation into a coherent model by applying the [Architecture for Flow Canvas](https://architectureforflow.com/canvas/). ![Architecture for Flow book cover with an octopus](https://www.avanscoperta.it/wp-content/uploads/2025/11/Architecture-for-Flow-Book-cover-Susanne-Kaiser-229x300.jpg) ## The Trainer Susanne Kaiser helps organizations design adaptive socio-technical systems using Wardley Mapping, Domain-Driven Design, and Team Topologies. *«Susanne Kaiser writes with the precision of an architect and the care of a guide»* as Xin Yao wrote. Her book, [*Architecture for Flow*](https://architectureforflow.com/) (Addison-Wesley Signature Series, 2025), brings these disciplines together into a coherent model for navigating complex, evolving systems. ## Target Audience This workshop is designed for high-impact roles tackling organizational complexity: - CTOs & VPs of Engineering looking to accelerate delivery. - Software Architects & Technical Leads designing scalable systems. - Product Leaders who need to align product roadmap with technical execution. - Common roles also include: Engineering managers, domain experts, system designers, product leaders, transformation coaches. ## Agenda ### Day1 **Wardley Mapping Fundamentals** - Understanding the Strategy Cycle of Wardley Mapping - Starting with the Why of Business: The Purpose - Visualizing the Business Landscape with a Wardley Map - Creating a Wardley Map - Understanding Climatic Patterns - Applying Doctrinal Principles - Identifying Strategic Opportunities: Leadership and Gameplay. **Strategic Domain-Driven Design** - Exploring DDD patterns & practices as part of the value chain - Domain models and bounded contexts - EventStorming Formats - Mapping bounded contexts to evolution stages - Assessing change coupling with Context Maps. ### Day 2 **Team Topologies Essentials** - Why functional silo teams create friction - Requirements for flow optimization - The fundamental team types of Team Topologies - The team Interaction modes. **Connecting the Dots: Architecture for Flow** - Combining Team Topologies with Wardley Mapping and DDD - Applying the Architecture for Flow Canvas - Working through a legacy system scenario - Seeing how strategy → architecture → teams align. ## How it works ![value chain and future organization representation by Susanne Keiser](https://www.avanscoperta.it/wp-content/uploads/2026/04/Value-Chain-Susanne-Kaiser-293x300.png) The Architecture for Flow Workshop provides hands-on exercises, collaborative mapping and modeling sessions, and guided scenarios based on prepared examples. Participants don’t just learn the ideas of the three perspectives, but also learn how to apply them in a coherent way to their own contexts. This isn’t a standard training on DDD, Wardley Mapping, or Team Topologies. You will: - Learn how all three methods work together to optimize flow and alignment - Apply concepts to real scenarios rather than theory - Use the Architecture for Flow Canvas to integrate strategy, domains, and team structures - Leave with maps, templates, and models you can apply immediately - Gain a practical mindset for continuous adaptation. ### F.A.Q. *Do I need to know something beforehand in order to participate in this workshop?* No prior experience with Wardley Mapping, Domain-Driven Design, or Team Topologies is required. While some familiarity with any of these approaches can be helpful, the workshop is designed to be accessible for participants at all levels. *How can I prepare to take the course? Recommended readings? Other?* If you would like to prepare in advance, my book Architecture for Flow (Pearson, 2025) offers a comprehensive foundation for the concepts we will explore in the workshop. However, it’s not required reading; we will cover the essential concepts during the workshop. **Categories:** On demand, Scheduled **Tags:** Architecture for flow, Domain-Driven Design, Team Topologies, Wardley Maps --- ### [The Agentic Developer Masterclass](https://www.avanscoperta.it/it/training/the-agentic-developer-masterclass/) **Published:** June 10, 2026 **Author:** Alessandra Granaudo **Excerpt:** The tool you master today may be deprecated next quarter. Join Marco Heimeshoff for two days on harness engineering, the principles you'll keep using long after the tools change. **Content:** Nobody knows where AI development will be by the time you read this. The tool you master today may be deprecated next quarter, which is exactly why this Masterclass is built around harness engineering: the principles you’ll keep using long after the tools change. The destination is **harness engineering**: building and tuning the whole system around the model so it produces reliable work, stays inside your token budget, and survives the next model release. In this two-day workshop with [Marco Heimeshoff](https://www.avanscoperta.it/it/trainer/marco-heimeshoff/), we’ll cover the practical end (CLAUDE.md, skills vs agents, forked vs clean subagents, fighting context rot) and the serious end (agent teams, observability, EU AI Act compliance, local LLMs on an open harness for privacy-sensitive work). And underneath all of it sits the why: modelling and intent, where 15 years of DDD practice turns an agent from a fast typist into a pair that understands what the software is for. You will leave with a working harness for your own projects and the principles to keep adapting it as the ground keeps shifting. ***This Workshop is co-organized with KanDDDinsky Conference.* 💚** ## Learning Objectives By the end of this Masterclass you will be able to: - Trace the progression from prompt engineering to context engineering to harness engineering, and recognise which problem each layer actually solves so you stop reaching for the wrong one. - Set up the anatomy of Claude Code (and Codex): CLAUDE.md, skills, agents, commands, plugins and hooks composed into a harness that holds up across long sessions and real codebases. - Fight context rot and keep token usage slim: forked vs clean subagents, when to pick an agent over a skill, and the trade-offs of each. - Apply the core agentic working patterns (prompt chaining, routing, parallelization, orchestration, evaluator-optimizer, the bookend pattern) and know when to reach for agentic vs programmatic workflows. - Decide between MCP and CLI usage, wire up hooks correctly, and run agent teams without losing control of cost or context. - Compare the existing agentic frameworks (Agentheim, BMAD, GSD, NWAVE) against your own harness rather than adopting one wholesale. - Build memory and observability that fit your situation, from MD files and Obsidian up to enterprise systems, including compliance constraints (EU AI Act) and privacy-sensitive setups on local LLMs with an open harness. - Use the domain-driven loop (modelling and intent) to give agents the why, so the software they produce matches what the business actually meant. ## The Trainer Marco Heimeshoff is a Software developer, Domain-Driven Design trainer, coach, and consultant who has worked with organizations ranging from Intuit, Lego, Mercedes, Spotify, and Starbucks to hundreds of smaller companies. Marco co-founded the [KanDDDinsky](https://kandddinsky.de/) conference and VirtualDDD.com. His development philosophy centers on lifelong learning, focus on language, and empathy. ## Target Audience This is an advanced masterclass, but you don’t need to arrive as an expert. It is aimed at developers, tech leads and architects who want to build agentic systems they can depend on rather than one-off demos. If you have solid development experience, two days are enough for us to bring you up to speed, whatever your starting point with agents. You will get the most out of it if you: - Code regularly and are comfortable in a terminal (no shell wizardry required, but `cd`, git and editing config files should not slow you down). - Bring a laptop with Claude Code and/or Codex installed and an active subscription before day one. It is in person, so there is no time to debug installs on the day. - Prior experience with Claude Code, Codex or a comparable agentic CLI is a bonus and will let you go further faster, but it is not a requirement. If you have already hit the wall where naive prompting stops scaling, you’ll recognise exactly what we’re solving. ## Topics - From prompt engineering to context engineering to harness engineering: the through-line. - Anatomy of an effective Claude/Codex setup: CLAUDE.md, skills, agents, commands, plugins. - The three loops: building software (what), the harness (how), domain and intent (why). - Agentic working patterns: chaining, routing, parallelization, orchestration, evaluator-optimizer, bookend. - Context discipline: preventing context rot, token saving strategies, subagents, agents-vs-skills, MCP-vs-CLI, hooks. - Workflows and frameworks: agentic vs programmatic, and reading Agentheim / BMAD / GSD / NWAVE against your own harness. - Governance and reach: memory systems, transient software, observability, EU AI Act, local LLMs on an open harness. ## **Agenda** Two full days, in person, run as one continuous build: roughly 9:00 to 17:00 each day with lunch and two coffee breaks. The room works a shared wall of physical stickies, and the harness each participant starts on day 1 is the same artifact they keep extending through day 2. ### Day 1 – First Contact, and Why the Harness is the Point **The coding loop and the progression** - Run Claude Code, feel the coding loop, read `/context` and use `/clear`. - The progression as a story: prompt → context → harness, and the three loops as the map for the whole workshop. - Reality check: the METR slowdown finding vs structured-workflow gains (same model, different harness, opposite outcome). - Your first real CLAUDE.md: the seed of the harness you extend all workshop. **Build the harness: anatomy of an agentic setup** - Prompt vs context vs harness engineering, with the historical progression and why each layer appeared. - Anatomy of the setup: CLAUDE.md, skills, agents, commands, plugins and how they compose. - The trade-offs: context rot prevention, token saving strategies, forked vs clean subagents, agents vs skills, MCP vs CLI, hooks for deterministic enforcement. - Memory systems as a layer, from MD files and Obsidian up to enterprise. ### Day 2 – The Harness in the Wild, and the Domain-Driven Why **Patterns, workflows, frameworks** - The named agentic working patterns: prompt chaining, routing, parallelization, orchestration, evaluator-optimizer, the bookend pattern, and when not to over-engineer. - Workflows: agentic vs programmatic, agent teams, and hooks as safety rails inside the workflow. - Framework bake-off: Agentheim, BMAD, GSD, NWAVE (what each opts into, where they agree, how to read one against your own harness). **Domain-driven harnesses: intent, compliance, transient software** - The domain-driven loop: modelling and intent as the why behind the coding and harness loops; ubiquitous language to reduce the ambiguity LLMs amplify. - Interview-driven spec work as collaborative discovery, the Event Storming parallel this room already knows. - Transient software: when a build is cheap enough, throwaway solutions become a legitimate design choice. - Observability and EU AI Act compliance, plus privacy via local LLMs on an open harness. Swap the model, keep the harness. ## Why you should join the Masterclass Most courses teach you to use a tool. In the Agentic Developer Masterclass, you will learn to design the system around it, a different and more durable skill. Over two intensive, hands-on days we follow one spine (prompt → context → harness) through three loops: building software (the what), the harness itself (the how), and domain and intent (the why). Along the way you will learn every component a dependable harness is made of, from memory and context management through workflows, tools and skills, and how they compose into a system you can actually rely on. **Categories:** A calendario, A catalogo **Tags:** Artificial Intelligence, Domain-Driven Design --- ### [The Agentic Developer Masterclass](https://www.avanscoperta.it/en/training/the-agentic-developer-masterclass/) **Published:** June 10, 2026 **Author:** Alessandra Granaudo **Excerpt:** The tool you master today may be deprecated next quarter. Join Marco Heimeshoff for two days on harness engineering, the principles you'll keep using long after the tools change. **Content:** Nobody knows where AI development will be by the time you read this. The tool you master today may be deprecated next quarter, which is exactly why this Masterclass is built around harness engineering: the principles you’ll keep using long after the tools change. The destination is **harness engineering**: building and tuning the whole system around the model so it produces reliable work, stays inside your token budget, and survives the next model release. In this two-day workshop with [Marco Heimeshoff](https://www.avanscoperta.it/it/trainer/marco-heimeshoff/), we’ll cover the practical end (CLAUDE.md, skills vs agents, forked vs clean subagents, fighting context rot) and the serious end (agent teams, observability, EU AI Act compliance, local LLMs on an open harness for privacy-sensitive work). And underneath all of it sits the why: modelling and intent, where 15 years of DDD practice turns an agent from a fast typist into a pair that understands what the software is for. You will leave with a working harness for your own projects and the principles to keep adapting it as the ground keeps shifting. ***This Workshop is co-organized with KanDDDinsky Conference.* 💚** ## Learning Objectives By the end of this Masterclass you will be able to: - Trace the progression from prompt engineering to context engineering to harness engineering, and recognise which problem each layer actually solves so you stop reaching for the wrong one. - Set up the anatomy of Claude Code (and Codex): CLAUDE.md, skills, agents, commands, plugins and hooks composed into a harness that holds up across long sessions and real codebases. - Fight context rot and keep token usage slim: forked vs clean subagents, when to pick an agent over a skill, and the trade-offs of each. - Apply the core agentic working patterns (prompt chaining, routing, parallelization, orchestration, evaluator-optimizer, the bookend pattern) and know when to reach for agentic vs programmatic workflows. - Decide between MCP and CLI usage, wire up hooks correctly, and run agent teams without losing control of cost or context. - Compare the existing agentic frameworks (Agentheim, BMAD, GSD, NWAVE) against your own harness rather than adopting one wholesale. - Build memory and observability that fit your situation, from MD files and Obsidian up to enterprise systems, including compliance constraints (EU AI Act) and privacy-sensitive setups on local LLMs with an open harness. - Use the domain-driven loop (modelling and intent) to give agents the why, so the software they produce matches what the business actually meant. ## The Trainer Marco Heimeshoff is a Software developer, Domain-Driven Design trainer, coach, and consultant who has worked with organizations ranging from Intuit, Lego, Mercedes, Spotify, and Starbucks to hundreds of smaller companies. Marco co-founded the [KanDDDinsky](https://kandddinsky.de/) conference and VirtualDDD.com. His development philosophy centers on lifelong learning, focus on language, and empathy. ## Target Audience This is an advanced masterclass, but you don’t need to arrive as an expert. It is aimed at developers, tech leads and architects who want to build agentic systems they can depend on rather than one-off demos. If you have solid development experience, two days are enough for us to bring you up to speed, whatever your starting point with agents. You will get the most out of it if you: - Code regularly and are comfortable in a terminal (no shell wizardry required, but `cd`, git and editing config files should not slow you down). - Bring a laptop with Claude Code and/or Codex installed and an active subscription before day one. It is in person, so there is no time to debug installs on the day. - Prior experience with Claude Code, Codex or a comparable agentic CLI is a bonus and will let you go further faster, but it is not a requirement. If you have already hit the wall where naive prompting stops scaling, you’ll recognise exactly what we’re solving. ## Topics - From prompt engineering to context engineering to harness engineering: the through-line. - Anatomy of an effective Claude/Codex setup: CLAUDE.md, skills, agents, commands, plugins. - The three loops: building software (what), the harness (how), domain and intent (why). - Agentic working patterns: chaining, routing, parallelization, orchestration, evaluator-optimizer, bookend. - Context discipline: preventing context rot, token saving strategies, subagents, agents-vs-skills, MCP-vs-CLI, hooks. - Workflows and frameworks: agentic vs programmatic, and reading Agentheim / BMAD / GSD / NWAVE against your own harness. - Governance and reach: memory systems, transient software, observability, EU AI Act, local LLMs on an open harness. ## **Agenda** Two full days, in person, run as one continuous build: roughly 9:00 to 17:00 each day with lunch and two coffee breaks. The room works a shared wall of physical stickies, and the harness each participant starts on day 1 is the same artifact they keep extending through day 2. ### Day 1 – First Contact, and Why the Harness is the Point **The coding loop and the progression** - Run Claude Code, feel the coding loop, read `/context` and use `/clear`. - The progression as a story: prompt → context → harness, and the three loops as the map for the whole workshop. - Reality check: the METR slowdown finding vs structured-workflow gains (same model, different harness, opposite outcome). - Your first real CLAUDE.md: the seed of the harness you extend all workshop. **Build the harness: anatomy of an agentic setup** - Prompt vs context vs harness engineering, with the historical progression and why each layer appeared. - Anatomy of the setup: CLAUDE.md, skills, agents, commands, plugins and how they compose. - The trade-offs: context rot prevention, token saving strategies, forked vs clean subagents, agents vs skills, MCP vs CLI, hooks for deterministic enforcement. - Memory systems as a layer, from MD files and Obsidian up to enterprise. ### Day 2 – The Harness in the Wild, and the Domain-Driven Why **Patterns, workflows, frameworks** - The named agentic working patterns: prompt chaining, routing, parallelization, orchestration, evaluator-optimizer, the bookend pattern, and when not to over-engineer. - Workflows: agentic vs programmatic, agent teams, and hooks as safety rails inside the workflow. - Framework bake-off: Agentheim, BMAD, GSD, NWAVE (what each opts into, where they agree, how to read one against your own harness). **Domain-driven harnesses: intent, compliance, transient software** - The domain-driven loop: modelling and intent as the why behind the coding and harness loops; ubiquitous language to reduce the ambiguity LLMs amplify. - Interview-driven spec work as collaborative discovery, the Event Storming parallel this room already knows. - Transient software: when a build is cheap enough, throwaway solutions become a legitimate design choice. - Observability and EU AI Act compliance, plus privacy via local LLMs on an open harness. Swap the model, keep the harness. ## Why you should join the Masterclass Most courses teach you to use a tool. In the Agentic Developer Masterclass, you will learn to design the system around it, a different and more durable skill. Over two intensive, hands-on days we follow one spine (prompt → context → harness) through three loops: building software (the what), the harness itself (the how), and domain and intent (the why). Along the way you will learn every component a dependable harness is made of, from memory and context management through workflows, tools and skills, and how they compose into a system you can actually rely on. **Categories:** On demand, Scheduled **Tags:** Artificial Intelligence, Domain-Driven Design --- ### [The Agentic Developer Workshop](https://www.avanscoperta.it/it/training/the-agentic-developer-workshop/) **Published:** February 9, 2026 **Author:** Alessandra Granaudo **Excerpt:** Go beyond vibecoding: architect AI-augmented workflows, build self-improving development tools, and boost productivity while maintaining code quality in this hands-on 4-session workshop with Marco Heimeshoff. **Content:** *Check also [The Agentic Developer Masterclass](https://www.avanscoperta.it/en/training/the-agentic-developer-masterclass/), in-person in Berlin!* Everyone’s talking about AI coding assistants, but most developers are stuck in ‘[vibe coding](https://www.avanscoperta.it/en/beyond-vibe-coding/)‘, hoping the AI will figure things out while they watch. The result? Inconsistent quality, loss of control, and the nagging feeling that you’re not really leveraging AI’s full potential. The *Agentic Developer Workshop* with [Marco Heimeshoff](https://www.avanscoperta.it/en/trainer/marco-heimeshoff) takes you from passive prompt-hoping to deliberate agentic mastery. You’ll learn to architect AI workflows that multiply your productivity while maintaining the craftsmanship and robustness you refuse to compromise on. What makes this different? You’re learning from a Domain-Driven Design expert who brings 15+ years of experience helping developers at various Fortune 500 and hundreds of other organizations tackle complex domains. This isn’t generic AI tips – it’s a craftsperson-to-craftsperson transfer of hard-won knowledge about governing complexity in AI-augmented development. You’ll leave with a recipe and the principles behind it, so you can adapt as the landscape evolves. ## Learning Objectives By the end of this workshop, you will: - Architect agentic workflows that maintain code quality and project coherence across the entire application lifecycle - Master the cadence between thinking and coding (knowing when to step back, reflect, and re-engage with your AI assistant) - Build self-improving development environments where your tools continuously optimize themselves through skills, agents, and meta-optimization patterns - Navigate the landscape of agent workflows, commands, plugins, and skills - Apply Modeling to AI interactions, treating complex domain modeling with LLMs as the collaborative role-playing game it truly is. ## The Trainer Marco Heimeshoff is a Software developer, Domain-Driven Design trainer, coach, and consultant who has worked with organizations ranging from Intuit, Lego, Mercedes, Spotify, and Starbucks to hundreds of smaller companies. Marco co-founded the [KanDDDinsky](https://kandddinsky.de/) conference and VirtualDDD.com. His development philosophy centers on lifelong learning, focus on language, and empathy. ## Target Audience The *Agentic Developer Workshop* helps senior developers and tech leads alike. We go from AI zero to competent. Ideal for: - Senior developers looking to multiply their productivity systematically without sacrificing code quality - Tech leads designing AI-augmented workflows for their teams - Individual contributors who want to achieve ‘one-person company’ leverage - Teams and organizations looking to introduce AI into development without creating chaos, inconsistency, or technical debt. - Anyone working in software development, regardless of tech stack. Prerequisites? None for AI knowledge – this workshop starts from zero and builds to competent. ## Topics - Going Beyond the Hype - The Architecture of Agentic Development - The Thinking-Coding Cadence - The “God” Mode (Meta-Optimization): Tools That Improve Themselves - Scaling and Evolution. ## Agenda ### Session 1 – Foundations & Architecture - The Vibe Coding Problem & Going Beyond the Hype - Interactive diagnosis: Where are you on the AI adoption spectrum? - The landscape of agent workflows - Hands-on: Setting up your first agentic development environment. ### Session 2 – The Configuration Hierarchy - Deep dive: Claude.md, Agents, Skills, Commands, and Plugins - Exercise: Organizing your development context - Practice: Building your first custom skill. ### Session 3 – Master the Model - The Thinking-Coding Cadence - Domain modeling as collaborative roleplaying - Exercise: Detach, Reflect, Formulate, Re-engage in action - Your responsibility matrix at different AI adoption levels. ### Session 4 – Meta-Optimization - Meta-Optimization & Your Path Forward - Building self-improving tools: Skill-Creator Skills & Agent Optimization - Final challenge: Design your personal agentic workflow - Creating your 30-day adoption roadmap. ## How it works This four-half-day workshop follows a craftsperson-to-craftsperson approach. We balance theory with immediate practice, ensuring you’re never just watching – you’re doing. The rhythm of each session: - Concept introduction – Understanding the principle and why it matters - Live demonstration – Seeing the technique in action - Hands-on practice – Applying it yourself with guidance - Reflection & questions – Consolidating learnings - Homework. Final Challenge: On Day 2, you’ll design and begin implementing your personal agentic development workflow – a system tailored to your projects, tech stack, and working style. You’ll leave with something immediately applicable, not just theoretical knowledge. Post-Workshop Support: Access to a community channel for questions and continued learning, plus a comprehensive reference guide of all patterns and techniques covered. **Categories:** A calendario, A catalogo **Tags:** AI Augmented, Artificial Intelligence --- ### [The Agentic Developer Workshop](https://www.avanscoperta.it/en/training/the-agentic-developer-workshop/) **Published:** February 9, 2026 **Author:** Alessandra Granaudo **Excerpt:** Go beyond vibecoding: architect AI-augmented workflows, build self-improving development tools, and boost productivity while maintaining code quality in this hands-on 4-session workshop with Marco Heimeshoff. **Content:** *Check also [The Agentic Developer Masterclass](https://www.avanscoperta.it/en/training/the-agentic-developer-masterclass/), in-person in Berlin!* Everyone’s talking about AI coding assistants, but most developers are stuck in ‘[vibe coding](https://www.avanscoperta.it/en/beyond-vibe-coding/)‘, hoping the AI will figure things out while they watch. The result? Inconsistent quality, loss of control, and the nagging feeling that you’re not really leveraging AI’s full potential. The *Agentic Developer Workshop* with [Marco Heimeshoff](https://www.avanscoperta.it/en/trainer/marco-heimeshoff) takes you from passive prompt-hoping to deliberate agentic mastery. You’ll learn to architect AI workflows that multiply your productivity while maintaining the craftsmanship and robustness you refuse to compromise on. What makes this different? You’re learning from a Domain-Driven Design expert who brings 15+ years of experience helping developers at various Fortune 500 and hundreds of other organizations tackle complex domains. This isn’t generic AI tips – it’s a craftsperson-to-craftsperson transfer of hard-won knowledge about governing complexity in AI-augmented development. You’ll leave with a recipe and the principles behind it, so you can adapt as the landscape evolves. ## Learning Objectives By the end of this workshop, you will: - Architect agentic workflows that maintain code quality and project coherence across the entire application lifecycle - Master the cadence between thinking and coding (knowing when to step back, reflect, and re-engage with your AI assistant) - Build self-improving development environments where your tools continuously optimize themselves through skills, agents, and meta-optimization patterns - Navigate the landscape of agent workflows, commands, plugins, and skills - Apply Modeling to AI interactions, treating complex domain modeling with LLMs as the collaborative role-playing game it truly is. ## The Trainer Marco Heimeshoff is a Software developer, Domain-Driven Design trainer, coach, and consultant who has worked with organizations ranging from Intuit, Lego, Mercedes, Spotify, and Starbucks to hundreds of smaller companies. Marco co-founded the [KanDDDinsky](https://kandddinsky.de/) conference and VirtualDDD.com. His development philosophy centers on lifelong learning, focus on language, and empathy. ## Target Audience The *Agentic Developer Workshop* helps senior developers and tech leads alike. We go from AI zero to competent. Ideal for: - Senior developers looking to multiply their productivity systematically without sacrificing code quality - Tech leads designing AI-augmented workflows for their teams - Individual contributors who want to achieve ‘one-person company’ leverage - Teams and organizations looking to introduce AI into development without creating chaos, inconsistency, or technical debt. - Anyone working in software development, regardless of tech stack. Prerequisites? None for AI knowledge – this workshop starts from zero and builds to competent. ## Topics - Going Beyond the Hype - The Architecture of Agentic Development - The Thinking-Coding Cadence - The “God” Mode (Meta-Optimization): Tools That Improve Themselves - Scaling and Evolution. ## Agenda ### Session 1 – Foundations & Architecture - The Vibe Coding Problem & Going Beyond the Hype - Interactive diagnosis: Where are you on the AI adoption spectrum? - The landscape of agent workflows - Hands-on: Setting up your first agentic development environment. ### Session 2 – The Configuration Hierarchy - Deep dive: Claude.md, Agents, Skills, Commands, and Plugins - Exercise: Organizing your development context - Practice: Building your first custom skill. ### Session 3 – Master the Model - The Thinking-Coding Cadence - Domain modeling as collaborative roleplaying - Exercise: Detach, Reflect, Formulate, Re-engage in action - Your responsibility matrix at different AI adoption levels. ### Session 4 – Meta-Optimization - Meta-Optimization & Your Path Forward - Building self-improving tools: Skill-Creator Skills & Agent Optimization - Final challenge: Design your personal agentic workflow - Creating your 30-day adoption roadmap. ## How it works This four-half-day workshop follows a craftsperson-to-craftsperson approach. We balance theory with immediate practice, ensuring you’re never just watching – you’re doing. The rhythm of each session: - Concept introduction – Understanding the principle and why it matters - Live demonstration – Seeing the technique in action - Hands-on practice – Applying it yourself with guidance - Reflection & questions – Consolidating learnings - Homework. Final Challenge: On Day 2, you’ll design and begin implementing your personal agentic development workflow – a system tailored to your projects, tech stack, and working style. You’ll leave with something immediately applicable, not just theoretical knowledge. Post-Workshop Support: Access to a community channel for questions and continued learning, plus a comprehensive reference guide of all patterns and techniques covered. **Categories:** On demand, Scheduled **Tags:** Artificial Intelligence --- ### [Strategic Integration Design with DDD Workshop](https://www.avanscoperta.it/it/training/strategic-integration-design-with-ddd/) **Published:** June 11, 2026 **Author:** Alessandra Granaudo **Excerpt:** A practical online workshop on designing integrations as a business capability. Using DDD, EventStorming, and Domain Message Flow, you'll build a reusable methodology for evaluating event-driven, broker, and API-led architectures against your actual business context. **Content:** Every development team solved its own integration problem. Point-to-point connections multiplied. Business logic leaked across boundaries. Now every business change triggers a technical scramble, and nobody can fully explain why the system behaves the way it does. Blaming the technology is pointless. The root cause is that integrations were never treated as a business capability. And an architecture nobody chose, nobody owns, and nobody can safely change is the predictable result. In this *Strategic Integration Design with DDD Workshop*, designed and delivered by [Philipp Kostyra](https://www.avanscoperta.it/en/trainer/philipp-kostyra/) and [Karol Skrzymowski,](https://www.avanscoperta.it/en/trainer/karol-skrzymowski/) you will learn how to change that. You won’t watch. You will model and design. ## Learning Objectives This class is designed to leave you with a reusable methodology. Not a theory to file away, but a playbook you apply to the next integration project and the one after that. Starting from the day after the workshop, you will be able to: - Use collaborative modelling to surface where systems must interoperate. - Identify the architectural decisions already embedded in your system landscape and provide a rationale for changing or keeping each one. - Apply a trade-off analysis to evaluate event-driven, broker, and API-led architectural styles against your actual business context and communicate your reasoning to engineers, architects, and stakeholders. ## The Trainers **Philipp Kostyra** is a Development Architect at SAP and a DDD Coach and Trainer with almost a decade spent leading Domain-Driven Design adoption at enterprise scale. He does not deliver frameworks in isolation. He helps teams reason about boundaries, trade-offs, and long-term consequences, so they can design systems that remain adaptable under pressure. If your systems are complex, your teams are scaling, and your architecture must support what comes next, this is the work Philipp does. **Karol Skrzymowski** is Managing Integration Architect at Capgemini and co-author at [BridgingTheGap.eu.com](https://bridgingthegap.eu.com/). Having worked across the full spectrum of enterprise integration platforms (Tibco BusinessWorks, webMethods, MuleSoft, Boomi, Azure Integration Services, WSO2), Karol has developed something rare: the ability to distinguish structural integration problems from single-tool problems. Organisations change platforms. The patterns that make an integration fragile or solid remain the same. Passionate about the “Train the Trainer” (TTT) model. ## Target Audience This course gives your engineers a shared method for making integration choices that are consistent, traceable, and aligned to business direction. The investment pays off every time you avoid the next fire drill. This workshop is for: - Engineering Managers and CTOs who want their teams making consistent, traceable integration decisions - Integration Architects who want to move beyond the plumbing - Staff and Principal Engineers designing integrations at ecosystem scale - Solution Architects responsible for system interoperability across domains. ## Topics - **Map integration requirements through collaborative modelling**. Use EventStorming to surface business processes, events, and bounded contexts, uncovering where systems must interoperate and why. - **Visualise meaning flows**. Use Domain Message Flow to trace how events, commands, and queries travel across system boundaries and match them to integration patterns with known trade-offs. - **Navigate implicit architecture.** Recognise the signals that an ecosystem has grown without intent: tactical-only decisions, missing rationale, hype-driven choices. Build the case for explicitly addressing it. - **Apply trade-off analysis.** Use a structured tool to weigh integration options across coupling, complexity, cost, performance, and evolvability. - **Understand maturity stages**. Enterprise Application Integration is not a binary choice. Learn to read your current landscape and plan a strategy that fits where you are. Choose the right approach for your context. Synthesise everything across all three architectural styles and build an integration strategy grounded in your actual business constraints. ## Agenda ### Session 1 – Why interoperability fails - The business case - Application Integration at System vs Ecosystem level - DDD strategic context - Implicit architecture: from efficient point-to-point to spaghetti - Signals, biases, consequences. ### Session 2 – Event-Driven Architecture - Intra-system communication vs ecosystem-scale events - Key integration patterns - Design exercise - Trade-off analysis in practice. ### Session 3 – Broker Architecture - Mediated interoperability - Integration Platform concepts - Key behavioural patterns - Design exercise - Trade-off analysis in practice. ### Session 4 – API-Led Architecture - High-complexity ecosystems - Key integration patterns. Design exercise - Synthesis: how to choose across all three styles for your specific context - Integration strategy and next steps. ## How it works Four live online sessions, 3.5 hours each. Every session pairs just enough theory with immediate practice: guided design exercises, trade-off discussions, and group reviews on realistic scenarios. Each topic follows the same rhythm: problem framing, tools and patterns, hands-on design, group debrief. By the end of each session, you have applied what you learned. **Categories:** A calendario, A catalogo **Tags:** Domain-Driven Design --- ### [Strategic Integration Design with DDD Workshop](https://www.avanscoperta.it/en/training/strategic-integration-design-with-ddd/) **Published:** June 11, 2026 **Author:** Alessandra Granaudo **Excerpt:** A practical online workshop on designing integrations as a business capability. Using DDD, EventStorming, and Domain Message Flow, you'll build a reusable methodology for evaluating event-driven, broker, and API-led architectures against your actual business context. **Content:** Every development team solved its own integration problem. Point-to-point connections multiplied. Business logic leaked across boundaries. Now every business change triggers a technical scramble, and nobody can fully explain why the system behaves the way it does. Blaming the technology is pointless. The root cause is that integrations were never treated as a business capability. And an architecture nobody chose, nobody owns, and nobody can safely change is the predictable result. In this *Strategic Integration Design with DDD Workshop*, designed and delivered by [Philipp Kostyra](https://www.avanscoperta.it/en/trainer/philipp-kostyra/) and [Karol Skrzymowski,](https://www.avanscoperta.it/en/trainer/karol-skrzymowski/) you will learn how to change that. You won’t watch. You will model and design. ## Learning Objectives This class is designed to leave you with a reusable methodology. Not a theory to file away, but a playbook you apply to the next integration project and the one after that. Starting from the day after the workshop, you will be able to: - Use collaborative modelling to surface where systems must interoperate. - Identify the architectural decisions already embedded in your system landscape and provide a rationale for changing or keeping each one. - Apply a trade-off analysis to evaluate event-driven, broker, and API-led architectural styles against your actual business context and communicate your reasoning to engineers, architects, and stakeholders. ## The Trainers **Philipp Kostyra** is a Development Architect at SAP and a DDD Coach and Trainer with almost a decade spent leading Domain-Driven Design adoption at enterprise scale. He does not deliver frameworks in isolation. He helps teams reason about boundaries, trade-offs, and long-term consequences, so they can design systems that remain adaptable under pressure. If your systems are complex, your teams are scaling, and your architecture must support what comes next, this is the work Philipp does. **Karol Skrzymowski** is Managing Integration Architect at Capgemini and co-author at [BridgingTheGap.eu.com](https://bridgingthegap.eu.com/). Having worked across the full spectrum of enterprise integration platforms (Tibco BusinessWorks, webMethods, MuleSoft, Boomi, Azure Integration Services, WSO2), Karol has developed something rare: the ability to distinguish structural integration problems from single-tool problems. Organisations change platforms. The patterns that make an integration fragile or solid remain the same. Passionate about the “Train the Trainer” (TTT) model. ## Target Audience This course gives your engineers a shared method for making integration choices that are consistent, traceable, and aligned to business direction. The investment pays off every time you avoid the next fire drill. This workshop is for: - Engineering Managers and CTOs who want their teams making consistent, traceable integration decisions - Integration Architects who want to move beyond the plumbing - Staff and Principal Engineers designing integrations at ecosystem scale - Solution Architects responsible for system interoperability across domains. ## Topics - **Map integration requirements through collaborative modelling**. Use EventStorming to surface business processes, events, and bounded contexts, uncovering where systems must interoperate and why. - **Visualise meaning flows**. Use Domain Message Flow to trace how events, commands, and queries travel across system boundaries and match them to integration patterns with known trade-offs. - **Navigate implicit architecture.** Recognise the signals that an ecosystem has grown without intent: tactical-only decisions, missing rationale, hype-driven choices. Build the case for explicitly addressing it. - **Apply trade-off analysis.** Use a structured tool to weigh integration options across coupling, complexity, cost, performance, and evolvability. - **Understand maturity stages**. Enterprise Application Integration is not a binary choice. Learn to read your current landscape and plan a strategy that fits where you are. Choose the right approach for your context. Synthesise everything across all three architectural styles and build an integration strategy grounded in your actual business constraints. ## Agenda ### Session 1 – Why interoperability fails - The business case - Application Integration at System vs Ecosystem level - DDD strategic context - Implicit architecture: from efficient point-to-point to spaghetti - Signals, biases, consequences. ### Session 2 – Event-Driven Architecture - Intra-system communication vs ecosystem-scale events - Key integration patterns - Design exercise - Trade-off analysis in practice. ### Session 3 – Broker Architecture - Mediated interoperability - Integration Platform concepts - Key behavioural patterns - Design exercise - Trade-off analysis in practice. ### Session 4 – API-Led Architecture - High-complexity ecosystems - Key integration patterns. Design exercise - Synthesis: how to choose across all three styles for your specific context - Integration strategy and next steps. ## How it works Four live online sessions, 3.5 hours each. Every session pairs just enough theory with immediate practice: guided design exercises, trade-off discussions, and group reviews on realistic scenarios. Each topic follows the same rhythm: problem framing, tools and patterns, hands-on design, group debrief. By the end of each session, you have applied what you learned. **Categories:** On demand, Scheduled **Tags:** Domain-Driven Design, Integration Architecture --- ### [AI + Continuous Modernisation Workshop](https://www.avanscoperta.it/it/training/ai-continuous-modernisation-workshop/) **Published:** February 3, 2026 **Author:** Alessandra Granaudo **Excerpt:** Workshop pratico su come usare AI in modo ingegneristicamente solido per modernizzare sistemi legacy. Niente vibe coding, niente scorciatoie: solo AI + buone pratiche di software engineering. **Content:** **AI Legacy Modernization Training per CTO, Architect e Senior Developer** Ogni organizzazione ha codebase legacy critiche: sistemi che funzionano, ma che sono difficili da cambiare e costosi da manutenere. Molti team hanno provato a usare l’AI per la modernizzazione del software legacy, spesso senza ottenere i risultati sperati. Prompt generici, refactoring non governati e riscritture rischiose aumentano l’incertezza invece di ridurla. AI Modernisation Workshop con [Matteo Vaccari](https://www.avanscoperta.it/it/trainer/m-vaccari/) nasce per rispondere a una domanda concreta: come usare l’AI per modernizzare sistemi legacy senza perdere il controllo del processo? Non si farà *vibe coding* e terremo gli occhi bene aperti sui limiti dello strumento Intelligenza Artificiale. Questo è un workshop pratico di AI‑assisted software engineering in cui capiremo come analizzare e mappare il codice legacy con il supporto dell’AI; usare agenti AI in modo controllato e governato; ridurre il rischio nella modernizzazione del codice legacy. ## Cosa imparerai in questo corso La tua partecipazione attiva a questo workshop di due sessioni online ti permetterà di: - Applicare tecniche di legacy code analysis e mapping con AI - Usare agentic coding assistants per task reali di modernizzazione - Creare una harness per usare l’AI in sicurezza. Inoltre, dopo il corso tornerai al lavoro con un metodo replicabile di AI‑assisted legacy modernization e con meno paura di modificare il codice critico. ## Il docente Matteo Vaccari è Technical Principal in [Thoughtworks Italia](https://www.thoughtworks.com/it-it/about-us/Chi-Siamo-Thoughtworks), esperto di Extreme Programming e modernizzazione di sistemi legacy. Aiuta team e aziende a sfruttare al meglio strumenti AI e le pratiche tecniche di [Extreme Programming](https://vimeo.com/113090009), per costruire software affidabile, comprensibile e pronto per il cambiamento. ## Argomenti **Agentic AI per la modernizzazione software**: - Come l’AI cambia l’economia della modernizzazione - Limiti e responsabilità dell’AI nel legacy modernization. **AI‑assisted refactoring e upgrade**: - Aggiornare dipendenze in sicurezza - Rendere il cambiamento più sicuro con i test - Pianificare refactoring incrementali. **Continuous Modernisation**: - Scomporre obiettivi complessi in task governabili. - Usare l’AI per pensare meglio il lavoro, non solo per scrivere codice. ## A chi si rivolge questo corso AI + Continuous Modernisation Workshop è pensato per: - CTO hands‑on - Software Architect - Senior Developer e Team Lead. Professioniste e professionisti che: - lavorano su sistemi reali e critici - prendono decisioni tecniche - cercano formazione pratica e immediatamente applicabile. ## Agenda ### Day 1 - AI e modernizzazione - Challenge #1: Mappare il territorio - Challenge #2: Aggiungere test utili ### Day 2 - Challenge #3: Aggiornare le dipendenze - Challenge #4: Cambiamenti radicali: cambi di tecnologia ## Come si svolge Il workshop è composto da due sessioni da 3.5 ore ciascuna. Ogni mezza giornata include 2 challenge pratiche strutturate in: - Presentazione del problema - Demo con AI e strumenti - Esercizio pratico - Discussione e feedback. **Categories:** A calendario, A catalogo **Tags:** Artificial Intelligence, Continuous Modernisation, Legacy Code --- ### [AI + Continuous Modernisation Workshop](https://www.avanscoperta.it/en/training/ai-continuous-modernisation-workshop/) **Published:** February 3, 2026 **Author:** Alessandra Granaudo **Excerpt:** Workshop pratico su come usare AI in modo ingegneristicamente solido per modernizzare sistemi legacy. Niente vibe coding, niente scorciatoie: solo AI + buone pratiche di software engineering. **Content:** **AI Legacy Modernization Training per CTO, Architect e Senior Developer** Ogni organizzazione ha codebase legacy critiche: sistemi che funzionano, ma che sono difficili da cambiare e costosi da manutenere. Molti team hanno provato a usare l’AI per la modernizzazione del software legacy, spesso senza ottenere i risultati sperati. Prompt generici, refactoring non governati e riscritture rischiose aumentano l’incertezza invece di ridurla. AI Modernisation Workshop con [Matteo Vaccari](https://www.avanscoperta.it/it/trainer/m-vaccari/) nasce per rispondere a una domanda concreta: come usare l’AI per modernizzare sistemi legacy senza perdere il controllo del processo? Non si farà *vibe coding* e terremo gli occhi bene aperti sui limiti dello strumento Intelligenza Artificiale. Questo è un workshop pratico di AI‑assisted software engineering in cui capiremo come analizzare e mappare il codice legacy con il supporto dell’AI; usare agenti AI in modo controllato e governato; ridurre il rischio nella modernizzazione del codice legacy. ## Cosa imparerai in questo corso La tua partecipazione attiva a questo workshop di due sessioni online ti permetterà di: - Applicare tecniche di legacy code analysis e mapping con AI - Usare agentic coding assistants per task reali di modernizzazione - Creare una harness per usare l’AI in sicurezza. Inoltre, dopo il corso tornerai al lavoro con un metodo replicabile di AI‑assisted legacy modernization e con meno paura di modificare il codice critico. ## Il docente Matteo Vaccari è Technical Principal in [Thoughtworks Italia](https://www.thoughtworks.com/it-it/about-us/Chi-Siamo-Thoughtworks), esperto di Extreme Programming e modernizzazione di sistemi legacy. Aiuta team e aziende a sfruttare al meglio strumenti AI e le pratiche tecniche di [Extreme Programming](https://vimeo.com/113090009), per costruire software affidabile, comprensibile e pronto per il cambiamento. ## Argomenti **Agentic AI per la modernizzazione software**: - Come l’AI cambia l’economia della modernizzazione - Limiti e responsabilità dell’AI nel legacy modernization. **AI‑assisted refactoring e upgrade**: - Aggiornare dipendenze in sicurezza - Rendere il cambiamento più sicuro con i test - Pianificare refactoring incrementali. **Continuous Modernisation**: - Scomporre obiettivi complessi in task governabili. - Usare l’AI per pensare meglio il lavoro, non solo per scrivere codice. ## A chi si rivolge questo corso AI + Continuous Modernisation Workshop è pensato per: - CTO hands‑on - Software Architect - Senior Developer e Team Lead. Professioniste e professionisti che: - lavorano su sistemi reali e critici - prendono decisioni tecniche - cercano formazione pratica e immediatamente applicabile. ## Agenda ### Day 1 - AI e modernizzazione - Challenge #1: Mappare il territorio - Challenge #2: Aggiungere test utili ### Day 2 - Challenge #3: Aggiornare le dipendenze - Challenge #4: Cambiamenti radicali: cambi di tecnologia ## Come si svolge Il workshop è composto da due sessioni da 3.5 ore ciascuna. Ogni mezza giornata include 2 challenge pratiche strutturate in: - Presentazione del problema - Demo con AI e strumenti - Esercizio pratico - Discussione e feedback. **Categories:** On demand, Scheduled **Tags:** Artificial Intelligence --- ### [Software Crafting Programme Workshop](https://www.avanscoperta.it/it/training/software-crafting-programme-workshop/) **Published:** December 11, 2023 **Author:** Alessandra Granaudo **Excerpt:** Learn to write and maintain quality software, develop your interaction and communication skills, and accelerate your professional growth. **Content:** Are you working in teams that struggle to build sustainable, maintainable software? Writing and maintaining fragile, bug-ridden code can be frustrating and draining, slowing down progress and increasing technical debt. Mastering the principles of technical excellence isn’t just about writing better code, it’s about reducing complexity, increasing confidence, and driving continuous improvement. When you develop a deep understanding of software craftsmanship, you gain the tools to build scalable, high-quality solutions while fostering a culture of excellence within your team. The *Software Crafting Programme Workshop* will equip you with the techniques and mindset to write **clearer**, more **testable**, and **sustainable** **code,** while also helping you take on more technical leadership within your team. If you’re ready to move from Developer to Software Crafter, the *Software Crafting Programme Workshop* is for you. ## Learning Objectives By the end of this course, you will be able to: - Write tests that serve as living documentation. - Utilize the type system to make erroneous states unrepresentable. - Collaborate with other developers using a professional technical vocabulary. - Conduct high-value code reviews that encourage design improvement. - Identify defects that increase maintenance costs. - Use good design principles to simplify code and achieve modular architecture. - Communicate with the business to deliver valuable software quickly. - Reduce feedback loops to develop software incrementally and promote continuous experimentation. - Use the Outside-In mindset to write code that focuses on user needs. ## Trainer[![copertina agile technical practice distilled libro](https://www.avanscoperta.it/wp-content/uploads/2023/03/agile-technical-practice-distilled-libro-243x300.jpg)](https://www.avanscoperta.it/wp-content/uploads/2023/03/agile-technical-practice-distilled-libro.jpg) The *Software Crafting Programme* is led by [Marco Consolaro](https://www.avanscoperta.it/en/trainer/marco-consolaro/) from Alcor Academy. The course is the result of his hands-on experience in software development and design using XP practices and Domain-Driven Design. Marco’s expertise is also extensively shared in the book [Agile Technical Practices Distilled](https://amzn.eu/d/516bwJH), co-authored by Marco Consolaro, Alessandro Di Gioia, and Pedro M. Santos, and in [Cronache di Domain-Driven Design](https://www.avanscoperta.it/en/books/cronache-di-domain-driven-design/), published by Avanscoperta. ## Target Audience The program is designed to accelerate technical skills in software development and help technical teams apply effective engineering practices. It is specifically aimed at: - Individuals who develop software professionally and want to improve their engineering skills to become Tech Leads. - Scale-ups or companies rapidly hiring tech people, aiming to create a quality-focused engineering culture. - Teams working on a new project looking to modernize existing systems while avoiding the pitfalls that harmed previous ones. - Software Developers, QA, Software Engineers, and Freelance Software Developers looking to take the next step in their careers. ## Topics - Test-Driven Development Classic - Test-Driven Development from the London School - Object-Oriented Design - Object Calisthenics - Refactoring - Code Smells - SOLID Principles - Cohesion and Coupling - The 4 Elements of Simple Design - Test Doubles - Hexagonal Architecture - Behaviour-Driven Development - Acceptance Test-Driven Development - Outside-in Mindset - Software Teaming (Mob Programming). ## Programme The course consists of 10 sessions lasting 3.5 hours each and is structured with a mix of discussions, theory, and group work. The training program is highly practical and participatory. Each lesson is built around the practice of Software Teaming (Mob Programming) with the goal of maximizing learning and honing collaborative skills in software development through advanced technical communication. ## Agenda ### Module 1: Good habits of Classic TDD - What is TDD: origin of the technique and possible benefits. - The TDD cycle: red/green/refactor, understanding the steps and their distinctions. - Advancement techniques: Triangulation, Fake Implementation, Obvious Implementation. - Test checklist: a fundamental tool to clarify goals and maintain focus during development. - Properties of a good test: what properties a test must demonstrate to be considered good. - Anti-patterns: common problems in tests and how to solve them. - Mob Programming Exercise: String Calculator using Classic TDD. ### Module 2: Object Calisthenics - Object Calisthenics: 10 simple rules to immediately improve your Object-Oriented Design. - Declarative and Encapsulated Object Code. - Using the Type System to make invalid state unrepresentable. - Mob Programming Exercise: Developing a Tic-Tac-Toe game using Classic TDD and Object Calisthenics rules. ### Module 3: Code Smells - Common anti-patterns that make code harder to maintain. - How to use code smells as feedback to enhance your design. - Improving code reviews through systemic analysis of code smells. - Group Exercise: Analyzing code full of code smells in a Tic-Tac-Toe application and identifying them. ### Module 4: Refactoring - Main techniques of automatic refactoring using your IDE. - Making the most of the refactoring cycle of Classic Test Driven-Development. - Applying the Pareto principle in refactoring. - Refactoring priority sequence. - Mob Programming Exercise: Refactoring the previous lesson’s application, following the correct priority sequence. ### Module 5: SOLID Principles++ - Single Responsibility. - Open/Closed principle. - Liskov Substitution. - Interface Segregation. - Dependency Inversion. - Balanced Abstraction. - Least Astonishment. - Mob Programming Exercise: Implementing the Mars Rover kata using Classic TDD and applying the Open/Closed principle. ### Module 6: Coupling & Cohesion - Categories of Cohesion: Class Cohesion and Method Cohesion. - Categories of Coupling: Interaction Coupling and Inheritance Coupling. - Systemic Cohesion and Coupling. - Minimizing coupling through public method design. - Mob Programming Exercise: Completing the implementation of the previous lesson’s Mars Rover kata using Classic TDD and applying the Open/Closed principle. ### Module 7: Test Doubles - Test Doubles Taxonomy: Conceptual distinction between Mock, Stub, Fake, Spy, and Dummy objects. - Command-Query Separation principle. - Heuristics for choosing the correct Test Doubles. - Using Test Doubles to verify object collaboration correctness. - When not to use Test Doubles, favoring Classic TDD. - Common anti-patterns in Test Doubles usage. - Mob Programming Exercise: Character Copier using Classic TDD and collaboration tests. Implementing the solution using both Mock and Stub, and Fake and Spy. ### Module 8: The 4 Rules of Simple Design - Simple design: what is meant by simple design, and how to achieve it. - Applying the 4 Rules of Simple Design. - Introduction to Hexagonal Architecture with Ports and Adapters. - Identifying where and which Test Doubles to use within a Hexagonal Architecture. - Little Design Upfront Exercise: Given a scenario and an acceptance criterion, we will do an “idealized design” exercise to have a starting point for story implementation. ### Module 9 and 10: Outside-In Mindset, London School TDD, Applied Outside-In Development - Learn the double cycle of Acceptance Tests Driven Development. - Apply Behaviour-Driven Development by defining an automated acceptance criterion. - Use the outside-in mindset to implement a story in the style of the London School, correctly using mocks and stubs in your tests. - Final Mob Programming Exercise: Implementing the scenario and acceptance criterion using the agreed-upon design from the previous lesson, starting with an Acceptance test like a real London School team. **Categories:** A calendario, A catalogo **Tags:** BDD, Clean Code, Code Smell, Refactoring, TDD --- ### [Software Crafting Programme Workshop](https://www.avanscoperta.it/en/training/software-crafting-programme-workshop/) **Published:** December 11, 2023 **Author:** Alessandra Granaudo **Excerpt:** Learn to write and maintain quality software, develop your interaction and communication skills, and accelerate your professional growth. **Content:** Are you working in teams that struggle to build sustainable, maintainable software? Writing and maintaining fragile, bug-ridden code can be frustrating and draining, slowing down progress and increasing technical debt. Mastering the principles of technical excellence isn’t just about writing better code, it’s about reducing complexity, increasing confidence, and driving continuous improvement. When you develop a deep understanding of software craftsmanship, you gain the tools to build scalable, high-quality solutions while fostering a culture of excellence within your team. The *Software Crafting Programme Workshop* will equip you with the techniques and mindset to write **clearer**, more **testable**, and **sustainable** **code,** while also helping you take on more technical leadership within your team. If you’re ready to move from Developer to Software Crafter, the *Software Crafting Programme Workshop* is for you. ## Learning Objectives By the end of this course, you will be able to: - Write tests that serve as living documentation. - Utilize the type system to make erroneous states unrepresentable. - Collaborate with other developers using a professional technical vocabulary. - Conduct high-value code reviews that encourage design improvement. - Identify defects that increase maintenance costs. - Use good design principles to simplify code and achieve modular architecture. - Communicate with the business to deliver valuable software quickly. - Reduce feedback loops to develop software incrementally and promote continuous experimentation. - Use the Outside-In mindset to write code that focuses on user needs. ## Trainer[![copertina agile technical practice distilled libro](https://www.avanscoperta.it/wp-content/uploads/2023/03/agile-technical-practice-distilled-libro-243x300.jpg)](https://www.avanscoperta.it/wp-content/uploads/2023/03/agile-technical-practice-distilled-libro.jpg) The *Software Crafting Programme* is led by [Marco Consolaro](https://www.avanscoperta.it/en/trainer/marco-consolaro/) from Alcor Academy. The course is the result of his hands-on experience in software development and design using XP practices and Domain-Driven Design. Marco’s expertise is also extensively shared in the book [Agile Technical Practices Distilled](https://amzn.eu/d/516bwJH), co-authored by Marco Consolaro, Alessandro Di Gioia, and Pedro M. Santos, and in [Cronache di Domain-Driven Design](https://www.avanscoperta.it/en/books/cronache-di-domain-driven-design/), published by Avanscoperta. ## Target Audience The program is designed to accelerate technical skills in software development and help technical teams apply effective engineering practices. It is specifically aimed at: - Individuals who develop software professionally and want to improve their engineering skills to become Tech Leads. - Scale-ups or companies rapidly hiring tech people, aiming to create a quality-focused engineering culture. - Teams working on a new project looking to modernize existing systems while avoiding the pitfalls that harmed previous ones. - Software Developers, QA, Software Engineers, and Freelance Software Developers looking to take the next step in their careers. ## Topics - Test-Driven Development Classic - Test-Driven Development from the London School - Object-Oriented Design - Object Calisthenics - Refactoring - Code Smells - SOLID Principles - Cohesion and Coupling - The 4 Elements of Simple Design - Test Doubles - Hexagonal Architecture - Behaviour-Driven Development - Acceptance Test-Driven Development - Outside-in Mindset - Software Teaming (Mob Programming). ## Programme The course consists of 10 sessions lasting 3.5 hours each and is structured with a mix of discussions, theory, and group work. The training program is highly practical and participatory. Each lesson is built around the practice of Software Teaming (Mob Programming) with the goal of maximizing learning and honing collaborative skills in software development through advanced technical communication. ## Agenda ### Module 1: Good habits of Classic TDD - What is TDD: origin of the technique and possible benefits. - The TDD cycle: red/green/refactor, understanding the steps and their distinctions. - Advancement techniques: Triangulation, Fake Implementation, Obvious Implementation. - Test checklist: a fundamental tool to clarify goals and maintain focus during development. - Properties of a good test: what properties a test must demonstrate to be considered good. - Anti-patterns: common problems in tests and how to solve them. - Mob Programming Exercise: String Calculator using Classic TDD. ### Module 2: Object Calisthenics - Object Calisthenics: 10 simple rules to immediately improve your Object-Oriented Design. - Declarative and Encapsulated Object Code. - Using the Type System to make invalid state unrepresentable. - Mob Programming Exercise: Developing a Tic-Tac-Toe game using Classic TDD and Object Calisthenics rules. ### Module 3: Code Smells - Common anti-patterns that make code harder to maintain. - How to use code smells as feedback to enhance your design. - Improving code reviews through systemic analysis of code smells. - Group Exercise: Analyzing code full of code smells in a Tic-Tac-Toe application and identifying them. ### Module 4: Refactoring - Main techniques of automatic refactoring using your IDE. - Making the most of the refactoring cycle of Classic Test Driven-Development. - Applying the Pareto principle in refactoring. - Refactoring priority sequence. - Mob Programming Exercise: Refactoring the previous lesson’s application, following the correct priority sequence. ### Module 5: SOLID Principles++ - Single Responsibility. - Open/Closed principle. - Liskov Substitution. - Interface Segregation. - Dependency Inversion. - Balanced Abstraction. - Least Astonishment. - Mob Programming Exercise: Implementing the Mars Rover kata using Classic TDD and applying the Open/Closed principle. ### Module 6: Coupling & Cohesion - Categories of Cohesion: Class Cohesion and Method Cohesion. - Categories of Coupling: Interaction Coupling and Inheritance Coupling. - Systemic Cohesion and Coupling. - Minimizing coupling through public method design. - Mob Programming Exercise: Completing the implementation of the previous lesson’s Mars Rover kata using Classic TDD and applying the Open/Closed principle. ### Module 7: Test Doubles - Test Doubles Taxonomy: Conceptual distinction between Mock, Stub, Fake, Spy, and Dummy objects. - Command-Query Separation principle. - Heuristics for choosing the correct Test Doubles. - Using Test Doubles to verify object collaboration correctness. - When not to use Test Doubles, favoring Classic TDD. - Common anti-patterns in Test Doubles usage. - Mob Programming Exercise: Character Copier using Classic TDD and collaboration tests. Implementing the solution using both Mock and Stub, and Fake and Spy. ### Module 8: The 4 Rules of Simple Design - Simple design: what is meant by simple design, and how to achieve it. - Applying the 4 Rules of Simple Design. - Introduction to Hexagonal Architecture with Ports and Adapters. - Identifying where and which Test Doubles to use within a Hexagonal Architecture. - Little Design Upfront Exercise: Given a scenario and an acceptance criterion, we will do an “idealized design” exercise to have a starting point for story implementation. ### Module 9 and 10: Outside-In Mindset, London School TDD, Applied Outside-In Development - Learn the double cycle of Acceptance Tests Driven Development. - Apply Behaviour-Driven Development by defining an automated acceptance criterion. - Use the outside-in mindset to implement a story in the style of the London School, correctly using mocks and stubs in your tests. - Final Mob Programming Exercise: Implementing the scenario and acceptance criterion using the agreed-upon design from the previous lesson, starting with an Acceptance test like a real London School team. **Categories:** On demand, Scheduled **Tags:** BDD, Code Smell, Refactoring, TDD --- ### [KPI Workshop: come misurare performance e guidare decisioni](https://www.avanscoperta.it/it/training/kpi-workshop-come-misurare-performance-e-guidare-decisioni/) **Published:** January 21, 2026 **Author:** Alessandra Granaudo **Excerpt:** Impara a progettare KPI efficaci, misurare le performance e usare i dati per prendere decisioni di business più chiare e concrete. **Content:** Molte organizzazioni misurano molto, ma decidono poco. Dashboard piene, report mensili, numeri che descrivono il passato ma non guidano l’azione. I KPI efficaci non si limitano a registrare ciò che è successo, ma forniscono segnali predittivi e guidano l’azione verso risultati concreti. E la misurazione non è solo la raccolta di numeri, ma l’arte di trasformare l’attività quotidiana in insight strategici che orientano le scelte future. *KPI Workshop* con [Francesco Fullone](https://www.avanscoperta.it/it/trainer/f-fullone/) è **un corso pratico sulla misurazione delle performance aziendali**: - Dalla confusione sugli indicatori alla chiarezza decisionale - Dalla misurazione dell’attività alla misurazione dell’impatto. Questo workshop nasce per rispondere a una domanda semplice e spesso disattesa: *Come progettare KPI che aiutino davvero a prendere decisioni migliori?* Non tratteremo i KPI come numeri da monitorare, ma come strumenti di governo del business: segnali che orientano priorità, comportamenti e risultati. Analizzeremo a cosa servono davvero questi indicatori: controllo operativo, previsione dei trend, comunicazione dei risultati e motivazione dei team. Esploreremo in profondità che cosa sono realmente i KPI, andando oltre le definizioni superficiali per comprendere il loro ruolo come sistema nervoso dell’organizzazione. ## Il docente ![cover del libro KPI, the right way](https://www.avanscoperta.it/wp-content/uploads/2026/01/KPI-libro-Fullone-200x300.png) Francesco Fullone è un professionista in grado di avere una visione a 360°, lavorando su strategia, prodotto, organizzazione e apprendimento. Supporta team e aziende nel trasformare dati, metriche e obiettivi in strumenti utili per decidere e agire. Francesco Fullone è autore del libro [KPI, the right way](https://leanpub.com/kpi). ## Cosa impareremo Al termine del workshop, sarai in grado di: - distinguere chiaramente Output vs Outcome - progettare KPI coerenti con obiettivi strategici reali - valutare se un indicatore supporta decisioni o crea solo reporting - evitare le principali trappole nella misurazione delle performance - costruire KPI utili per allineare team, priorità e risultati. Non è un corso su “quali KPI usare”, ma su come pensarli e progettarli nel proprio contesto. ## A chi è rivolto Il corso KPI è pensato per persone che decidono, guidano o influenzano il lavoro degli altri, in particolare: - Team Leader e Responsabili di area - Project Manager e Program Manager - Product Manager e Product Owner - C-level e Imprenditori - HR, People & Culture, Learning & Development - Freelance e professionisti con responsabilità per risultati e clienti. È adatto a chi: - ha potere decisionale - vuole migliorare la qualità delle decisioni basate sui dati - deve rendere misurabili obiettivi complessi. ## Come si svolge *KPI Workshop* è un corso di due sessioni online da 3,5 ore ciascuna in cui si alternano concetti chiave ed esercitazioni pratiche. In particolare: - analizzeremo esempi reali di KPI inefficaci e KPI utili - useremo la distinzione Output / Outcome come filo conduttore - lavoreremo su casi concreti dei partecipanti - progetteremo KPI applicabili subito al contesto aziendale. L’obiettivo non è “uscire con una lista di indicatori”, ma con un metodo replicabile. ## **Perché è utile per l’azienda** Il corso KPI aiuta l’organizzazione a: - ridurre la confusione nella misurazione delle performance - migliorare l’allineamento tra strategia e operatività - rendere i risultati leggibili e condivisibili - supportare una cultura decisionale basata su segnali chiari - evitare lo spreco di tempo su report che non guidano azioni. È un investimento nella qualità delle decisioni, non solo sui numeri. **Categories:** A calendario, A catalogo **Tags:** Business Strategy, KPI --- ### [KPI Workshop: come misurare performance e guidare decisioni](https://www.avanscoperta.it/en/training/kpi-workshop-come-misurare-performance-e-guidare-decisioni/) **Published:** January 21, 2026 **Author:** Alessandra Granaudo **Excerpt:** Impara a progettare KPI efficaci, misurare le performance e usare i dati per prendere decisioni di business più chiare e concrete. **Content:** Molte organizzazioni misurano molto, ma decidono poco. Dashboard piene, report mensili, numeri che descrivono il passato ma non guidano l’azione. I KPI efficaci non si limitano a registrare ciò che è successo, ma forniscono segnali predittivi e guidano l’azione verso risultati concreti. E la misurazione non è solo la raccolta di numeri, ma l’arte di trasformare l’attività quotidiana in insight strategici che orientano le scelte future. *KPI Workshop* con [Francesco Fullone](https://www.avanscoperta.it/it/trainer/f-fullone/) è **un corso pratico sulla misurazione delle performance aziendali**: - Dalla confusione sugli indicatori alla chiarezza decisionale - Dalla misurazione dell’attività alla misurazione dell’impatto. Questo workshop nasce per rispondere a una domanda semplice e spesso disattesa: *Come progettare KPI che aiutino davvero a prendere decisioni migliori?* Non tratteremo i KPI come numeri da monitorare, ma come strumenti di governo del business: segnali che orientano priorità, comportamenti e risultati. Analizzeremo a cosa servono davvero questi indicatori: controllo operativo, previsione dei trend, comunicazione dei risultati e motivazione dei team. Esploreremo in profondità che cosa sono realmente i KPI, andando oltre le definizioni superficiali per comprendere il loro ruolo come sistema nervoso dell’organizzazione. ## Il docente ![cover del libro KPI, the right way](https://www.avanscoperta.it/wp-content/uploads/2026/01/KPI-libro-Fullone-200x300.png) Francesco Fullone è un professionista in grado di avere una visione a 360°, lavorando su strategia, prodotto, organizzazione e apprendimento. Supporta team e aziende nel trasformare dati, metriche e obiettivi in strumenti utili per decidere e agire. Francesco Fullone è autore del libro [KPI, the right way](https://leanpub.com/kpi). ## Cosa impareremo Al termine del workshop, sarai in grado di: - distinguere chiaramente Output vs Outcome - progettare KPI coerenti con obiettivi strategici reali - valutare se un indicatore supporta decisioni o crea solo reporting - evitare le principali trappole nella misurazione delle performance - costruire KPI utili per allineare team, priorità e risultati. Non è un corso su “quali KPI usare”, ma su come pensarli e progettarli nel proprio contesto. ## A chi è rivolto Il corso KPI è pensato per persone che decidono, guidano o influenzano il lavoro degli altri, in particolare: - Team Leader e Responsabili di area - Project Manager e Program Manager - Product Manager e Product Owner - C-level e Imprenditori - HR, People & Culture, Learning & Development - Freelance e professionisti con responsabilità per risultati e clienti. È adatto a chi: - ha potere decisionale - vuole migliorare la qualità delle decisioni basate sui dati - deve rendere misurabili obiettivi complessi. ## Come si svolge *KPI Workshop* è un corso di due sessioni online da 3,5 ore ciascuna in cui si alternano concetti chiave ed esercitazioni pratiche. In particolare: - analizzeremo esempi reali di KPI inefficaci e KPI utili - useremo la distinzione Output / Outcome come filo conduttore - lavoreremo su casi concreti dei partecipanti - progetteremo KPI applicabili subito al contesto aziendale. L’obiettivo non è “uscire con una lista di indicatori”, ma con un metodo replicabile. ## **Perché è utile per l’azienda** Il corso KPI aiuta l’organizzazione a: - ridurre la confusione nella misurazione delle performance - migliorare l’allineamento tra strategia e operatività - rendere i risultati leggibili e condivisibili - supportare una cultura decisionale basata su segnali chiari - evitare lo spreco di tempo su report che non guidano azioni. È un investimento nella qualità delle decisioni, non solo sui numeri. **Categories:** On demand, Scheduled --- ### [OKR Workshop per aziende e persone](https://www.avanscoperta.it/it/training/okr-per-aziende-e-persone/) **Published:** February 24, 2021 **Author:** Enrico Meloni **Excerpt:** Workshop pratico e interattivo per scoprire come gli OKR (Objective Key Results) aiutino le aziende a mantenere la giusta attenzione e a non distrarsi dalle mille opportunità, più o meno concrete, che il mercato mette a disposizione. **Content:** **Esplora il potenziale trasformativo degli OKR (Objective and Key Results) e scopri come questa metodologia può offrire una chiara direzione alle organizzazioni, creando le fondamenta per la crescita a lungo termine.** Hai provato ad approcciarti agli OKR (Objective and Key Results) ma dopo poco hai rinunciato? Oppure l’adozione nel tuo team non sta portando i risultati attesi? È una situazione molto comune. Adottare questa metodologia non è affatto banale, ma i risultati che ne possono derivare, faranno la differenza! Gli OKR non sono solo uno strumento, ma un potente motore che fornisce alle persone e alle aziende la visione necessaria per fissare obiettivi ambiziosi e concentrarsi sulla loro realizzazione. Per capire cosa sono gli OKR può bastare leggere un libro. Per far entrare gli OKR nel tuo flusso di lavoro e avere un impatto significativo per il tuo team e la tua organizzazione, bisogna fare qualche passo in più. *OKR Workshop* con [Francesco Fullone](https://www.avanscoperta.it/it/trainer/f-fullone/) è il corso in cui avrai l’occasione di acquisire competenze che trasformeranno la tua prospettiva sulla gestione degli obiettivi,attraverso sessioni interattive, esercitazioni pratiche e condivisione di esperienze. ## Learning Objectives Al termine di questo corso avrai acquisito una maggiore comprensione di come identificare gli obiettivi corretti e comunicarli efficacemente. *OKR Workshop per aziende e persone* ti prepara a impostare una corretta iterazione degli OKR strategici e tattici per la tua azienda e in particolare sarai in grado di: - Acquisire una comprensione chiara di cosa sono gli OKR - Elaborare OKR strategici per l’azienda - Sviluppare OKR tattici per il team o l’area specifica. ## Trainer ![cover libro OKR](https://www.avanscoperta.it/wp-content/uploads/2021/02/OKR-the-right-way-Fullone-200x300.png) Francesco Fullone, business designer, mentor e investitore in aziende tecnologiche focalizzate sulla sostenibilità o sull’impatto sociale. Francesco ha curato la traduzione del libro [Come avere successo con gli OKR ](https://leanpub.com/agileokrs2-it)(insieme a Dimitri Favre e Francesco Racanati) ed è autore dell’e-book [OKR, the right way](https://leanpub.com/okr-the-right-way). In *OKR Workshop*, Francesco ti aiuterà a mettere a terra le migliori pratiche per l’implementazione degli OKR e capire come farli evolvere in modo dinamico nel tempo. ## Target Audience Il corso si rivolge a: - team leader, referenti di progetto o di area, C-level e imprenditori, ma anche a freelance e professionisti che vogliono migliorarsi, - persone che hanno abilità e potere decisionale e possibilità di abilitare il proprio gruppo di lavoro ad abbracciarne le modalità operative, - consulenti che vogliono organizzare il proprio lavoro dandosi obiettivi concreti ma allo stesso tempo sfidanti e di crescita. ## Programma Il programma di OKR Workshop per aziende e persone si svolge in 3 mezze giornate, in modalità online ma sincrona, in un ambiente interattivo e coinvolgente per massimizzare il tuo apprendimento. In questo corso, avrai l’occasione di analizzare l’importanza di adottare metriche che nascono dai perché e non dalla quantità. Scoprirai negli OKR un potente strumento per definire e far evolvere queste metriche, uno strumento che abilita alla delega in modo più efficace e che permette una crescita strutturata. Inoltre, faremo esperienza in modo molto pratico della creazione di OKR a livello operativo, tattico e strategico, esplorando aspetti chiave di ogni fase. Il workshop si concluderà con un focus sulla cultura aziendale e il ruolo cruciale degli OKR nel plasmare una visione a medio-lungo termine, facilitando così processi di innovazione continua. ## Argomenti - Distinzione tra Output e Outcome - OKR: cosa sono, contesto, benefici - Creazione di OKR a livello operativo, tattico e strategico - Approfondimento sugli aspetti tattici e strategici degli OKR - Implementazione degli OKR nelle organizzazioni - Connessione tra cultura aziendale e OKR. ## Come si svolge Il corso è strutturato attorno a un caso d’uso fittizio che ci permetterà di applicare sin dalla prima sessione i concetti affrontati. Per tutta la durata delle 4 sessioni, il corso alternerà momenti frontali a esercizi pratici in cui i partecipanti saranno costantemente coinvolti, lavorando singolarmente e in gruppi. Il corso si svolgerà online e in diretta per un massimo di 20 persone: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. ### F.A.Q. ***Come posso prepararmi per partecipare al corso? Letture consigliate?*** - La lettura del libro [OKR, the right way](https://leanpub.com/okr-the-right-way) può essere un buon modo per prepararsi. - Guarda il video[ Venture Capitalist John Doerr: Measure what matters](https://www.youtube.com/watch?v=JYOyI8_r5sY&feature=emb_logo) (video di John Doerr). ***Sono previsti requisiti minimi per partecipare al corso?*** Nel corso daremo per acquisita la distinzione tra metriche e KPI. Per approfondire, suggeriamo di partecipare al corso [KPI Workshop](https://www.avanscoperta.it/it/training/kpi-workshop-come-misurare-performance-e-guidare-decisioni/), sempre con Francesco Fullone. **Categories:** A calendario, A catalogo **Tags:** Business Strategy, Objective Key Results, Objectives, OKR, Portfolio Management --- ### [OKR Workshop per aziende e persone](https://www.avanscoperta.it/en/training/okr-per-aziende-e-persone/) **Published:** February 24, 2021 **Author:** Enrico Meloni **Excerpt:** Workshop pratico e interattivo per scoprire come gli OKR (Objective Key Results) aiutino le aziende a mantenere la giusta attenzione e a non distrarsi dalle mille opportunità, più o meno concrete, che il mercato mette a disposizione. **Content:** **Esplora il potenziale trasformativo degli OKR (Objective and Key Results) e scopri come questa metodologia può offrire una chiara direzione alle organizzazioni, creando le fondamenta per la crescita a lungo termine.** Hai provato ad approcciarti agli OKR (Objective and Key Results) ma dopo poco hai rinunciato? Oppure l’adozione nel tuo team non sta portando i risultati attesi? È una situazione molto comune. Adottare questa metodologia non è affatto banale, ma i risultati che ne possono derivare, faranno la differenza! Gli OKR non sono solo uno strumento, ma un potente motore che fornisce alle persone e alle aziende la visione necessaria per fissare obiettivi ambiziosi e concentrarsi sulla loro realizzazione. Per capire cosa sono gli OKR può bastare leggere un libro. Per far entrare gli OKR nel tuo flusso di lavoro e avere un impatto significativo per il tuo team e la tua organizzazione, bisogna fare qualche passo in più. *OKR Workshop* con [Francesco Fullone](https://www.avanscoperta.it/it/trainer/f-fullone/) è il corso in cui avrai l’occasione di acquisire competenze che trasformeranno la tua prospettiva sulla gestione degli obiettivi,attraverso sessioni interattive, esercitazioni pratiche e condivisione di esperienze. ## Learning Objectives Al termine di questo corso avrai acquisito una maggiore comprensione di come identificare gli obiettivi corretti e comunicarli efficacemente. *OKR Workshop per aziende e persone* ti prepara a impostare una corretta iterazione degli OKR strategici e tattici per la tua azienda e in particolare sarai in grado di: - Acquisire una comprensione chiara di cosa sono gli OKR - Elaborare OKR strategici per l’azienda - Sviluppare OKR tattici per il team o l’area specifica. ## Trainer ![cover libro OKR](https://www.avanscoperta.it/wp-content/uploads/2021/02/OKR-the-right-way-Fullone-200x300.png) Francesco Fullone, business designer, mentor e investitore in aziende tecnologiche focalizzate sulla sostenibilità o sull’impatto sociale. Francesco ha curato la traduzione del libro [Come avere successo con gli OKR ](https://leanpub.com/agileokrs2-it)(insieme a Dimitri Favre e Francesco Racanati) ed è autore dell’e-book [OKR, the right way](https://leanpub.com/okr-the-right-way). In *OKR Workshop*, Francesco ti aiuterà a mettere a terra le migliori pratiche per l’implementazione degli OKR e capire come farli evolvere in modo dinamico nel tempo. ## Target Audience Il corso si rivolge a: - team leader, referenti di progetto o di area, C-level e imprenditori, ma anche a freelance e professionisti che vogliono migliorarsi, - persone che hanno abilità e potere decisionale e possibilità di abilitare il proprio gruppo di lavoro ad abbracciarne le modalità operative, - consulenti che vogliono organizzare il proprio lavoro dandosi obiettivi concreti ma allo stesso tempo sfidanti e di crescita. ## Programma Il programma di OKR Workshop per aziende e persone si svolge in 3 mezze giornate, in modalità online ma sincrona, in un ambiente interattivo e coinvolgente per massimizzare il tuo apprendimento. In questo corso, avrai l’occasione di analizzare l’importanza di adottare metriche che nascono dai perché e non dalla quantità. Scoprirai negli OKR un potente strumento per definire e far evolvere queste metriche, uno strumento che abilita alla delega in modo più efficace e che permette una crescita strutturata. Inoltre, faremo esperienza in modo molto pratico della creazione di OKR a livello operativo, tattico e strategico, esplorando aspetti chiave di ogni fase. Il workshop si concluderà con un focus sulla cultura aziendale e il ruolo cruciale degli OKR nel plasmare una visione a medio-lungo termine, facilitando così processi di innovazione continua. ## Argomenti - Distinzione tra Output e Outcome - OKR: cosa sono, contesto, benefici - Creazione di OKR a livello operativo, tattico e strategico - Approfondimento sugli aspetti tattici e strategici degli OKR - Implementazione degli OKR nelle organizzazioni - Connessione tra cultura aziendale e OKR. ## Come si svolge Il corso è strutturato attorno a un caso d’uso fittizio che ci permetterà di applicare sin dalla prima sessione i concetti affrontati. Per tutta la durata delle 4 sessioni, il corso alternerà momenti frontali a esercizi pratici in cui i partecipanti saranno costantemente coinvolti, lavorando singolarmente e in gruppi. Il corso si svolgerà online e in diretta per un massimo di 20 persone: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. ### F.A.Q. ***Come posso prepararmi per partecipare al corso? Letture consigliate?*** - La lettura del libro [OKR, the right way](https://leanpub.com/okr-the-right-way) può essere un buon modo per prepararsi. - Guarda il video[ Venture Capitalist John Doerr: Measure what matters](https://www.youtube.com/watch?v=JYOyI8_r5sY&feature=emb_logo) (video di John Doerr). ***Sono previsti requisiti minimi per partecipare al corso?*** Nel corso daremo per acquisita la distinzione tra metriche e KPI. Per approfondire, suggeriamo di partecipare al corso [KPI Workshop](https://www.avanscoperta.it/it/training/kpi-workshop-come-misurare-performance-e-guidare-decisioni/), sempre con Francesco Fullone. **Categories:** On demand, Scheduled **Tags:** Business Strategy, Objectives, OKR, Portfolio Management --- ### [EventStorming Master Class](https://www.avanscoperta.it/it/training/eventstorming-master-class/) **Published:** August 5, 2013 **Author:** Alberto Brandolini **Excerpt:** EventStorming is the fastest way to explore and model a complex business domain, in an event-driven fashion: join the Master Class with his creator Alberto Brandolini! **Content:** [EventStorming](https://www.avanscoperta.it/en/eventstorming/) is a family of workshop formats that helps explore, map and design complex business flows, leveraging natural storytelling and an event-driven structure. ![The outcome of a Big Picture EventStorming](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming_wall_Conference-300x225.jpg) The three main formats will let you dive into intricate domains, zooming into details without losing coherence. - **Big Picture** enables highly time-effective, large-scale discovery of complex landscapes. It blends different perspectives into a coherent shape and then uses this background for layered discovery and mapping. - **Process Modelling** leverages a flexible, colourful grammar and a collaborative game approach to engage experts and stakeholders in a robust representation of a business process, suitable for discovery or design. - **Software Design** builds on the same principles to bring collaborative design towards modern event-driven software solutions. Together, the three formats let you dissect complex business domains and design effective solutions, combining different perspectives into design options with built-in support from the workshop participants. > *It’s the developer understanding, not the expert knowledge, that becomes working code.* In an EventStorming workshop, we make everybody’s understanding visible to unlock faster, more meaningful problem resolution. ***This EventStorming Master Class is co-organized with KanDDDinsky Conference.* 💚** ## What you will learn EventStorming notation is designed to be simple. Managing the room is tricky. The EventStorming Master Class with Alberto Brandolini will make you *feel* the critical moments of a large-scale workshop, and provide actionable tips on the **soft skills** of facilitation: how to kick off the workshop, how to read the room signals, handle emergent conflicts and address counterproductive behaviour. We will practice the three formats on a realistic problem space. In layers of increased complexity and changing collaboration style along the way. We will experience the moments and situations that trigger anti-patterns and how some facilitation and modelling [patterns](https://www.eventstorming.com/patterns/) can help in making your workshops more effective. You will learn how to run the standard recipe and how to design, prepare, and fine-tune *your* workshop to address your specific constraints and needs. ## The Trainer [Alberto Brandolini](https://www.avanscoperta.it/en/trainer/a-brandolini/) is the creator of the [**EventStorming**](https://www.avanscoperta.it/en/eventstorming/) format, and will hide no secrets from a curious mind. A software architect with 20+ years of experience in Domain-Driven Design, a system thinker, entrepreneur, and facilitator, he will help you see the connections and the frictions between the different disciplines. His book [*Introducing EventStorming* ](https://leanpub.com/introducing_eventstorming)is probably the most successful unfinished book on the Leanpub platform. Alberto is also the person behind the *Bullshit Asymmetry Principle*. ## Target audience [EventStorming](https://www.eventstorming.com/) is interdisciplinary and targets **collaboration** among different roles. Software professionals will learn a more reliable and time-effective way to master domain complexity and detect signals for effective design. UX experts will learn an effective way to include the user perspective in software design. Business experts will have a powerful tool to envision and sharpen key processes and business lines. **Together,** they will learn how to balance their perspective into a more powerful, coherent view. ## Agenda ### **Day 1 – EventStorming as a discovery tool** - Quick kick-off: where we are and where we want to go. - Real-world **Big Picture EventStorming**, mastering complexity and unknowns in large-scale modelling. - Reading implicit signals, areas of friction, and emergent boundaries. - Managing conflicts, highlighting risk, and the problems that are really worth solving - Explicit walkthrough: making sure the model matches the conversation. - Dive into motivators and opportunities for change. - Detecting signals for architectural and organisational design. - Actionable insights: how to turn the discoveries into a plan. ### **Day 2 – EventStorming as a design tool** - Emerging System Boundaries: from EventStorming to [Bounded Contexts](https://www.avanscoperta.it/en/bounded-context/) - **Process Modelling EventStorming**: a cross-discipline platform for collaborative modelling - Leveraging the grammar structure to build robust flow and ask uncomfortable questions. - Strategies for the collaborative game. Opening moves, collaboration styles, and understanding when to switch. - Making policies explicit. Discovering the hidden truth in business behaviour - Design around **Value**: hidden and explicit motivators. - Manage your *biases* in collaborative design. - **Software Design EventStorming**: discovering key software components - Aggregates and transactional consistency: independent moving parts in a complex software system - Design around the bottleneck: alternatives to YAGNI. - Blending User Experience Design and Service Design into Software Design - Transitioning from sticky notes to working code. **Categories:** A calendario, A catalogo **Tags:** CQRS, DDD, Domain-Driven Design, Event Sourcing, Event Storming, EventStorming, Team collaboration, ziobrando --- ### [EventStorming Master Class](https://www.avanscoperta.it/en/training/eventstorming-master-class/) **Published:** August 5, 2013 **Author:** Alberto Brandolini **Excerpt:** EventStorming is the fastest way to explore and model a complex business domain, in an event-driven fashion: join the Master Class with his creator Alberto Brandolini! **Content:** [EventStorming](https://www.avanscoperta.it/en/eventstorming/) is a family of workshop formats that helps explore, map and design complex business flows, leveraging natural storytelling and an event-driven structure. ![EventStorming](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming_wall_Conference-300x225.jpg) The three main formats will let you dive into intricate domains, zooming into details without losing coherence. - **Big Picture** enables highly time-effective, large-scale discovery of complex landscapes. It blends different perspectives into a coherent shape and then uses this background for layered discovery and mapping. - **Process Modelling** leverages a flexible, colourful grammar and a collaborative game approach to engage experts and stakeholders in a robust representation of a business process, suitable for discovery or design. - **Software Design** builds on the same principles to bring collaborative design towards modern event-driven software solutions. Together, the three formats let you dissect complex business domains and design effective solutions, combining different perspectives into design options with built-in support from the workshop participants. > *It’s the developer understanding, not the expert knowledge, that becomes working code.* In an EventStorming workshop, we make everybody’s understanding visible to unlock faster, more meaningful problem resolution. ***This EventStorming Master Class is co-organized with KanDDDinsky Conference.* 💚** ## What you will learn EventStorming notation is designed to be simple. Managing the room is tricky. The EventStorming Master Class with Alberto Brandolini will make you *feel* the critical moments of a large-scale workshop, and provide actionable tips on the **soft skills** of facilitation: how to kick off the workshop, how to read the room signals, handle emergent conflicts and address counterproductive behaviour. We will practice the three formats on a realistic problem space. In layers of increased complexity and changing collaboration style along the way. We will experience the moments and situations that trigger anti-patterns and how some facilitation and modelling [patterns](https://www.eventstorming.com/patterns/) can help in making your workshops more effective. You will learn how to run the standard recipe and how to design, prepare, and fine-tune *your* workshop to address your specific constraints and needs. ## The Trainer [Alberto Brandolini](https://www.avanscoperta.it/en/trainer/a-brandolini/) is the creator of the [**EventStorming**](https://www.avanscoperta.it/en/eventstorming/) format, and will hide no secrets from a curious mind. A software architect with 20+ years of experience in Domain-Driven Design, a system thinker, entrepreneur, and facilitator, he will help you see the connections and the frictions between the different disciplines. His book [*Introducing EventStorming* ](https://leanpub.com/introducing_eventstorming)is probably the most successful unfinished book on the Leanpub platform. Alberto is also the person behind the *Bullshit Asymmetry Principle*. ## Target audience [EventStorming](https://www.eventstorming.com/) is interdisciplinary and targets **collaboration** among different roles. Software professionals will learn a more reliable and time-effective way to master domain complexity and detect signals for effective design. UX experts will learn an effective way to include the user perspective in software design. Business experts will have a powerful tool to envision and sharpen key processes and business lines. **Together,** they will learn how to balance their perspective into a more powerful, coherent view. ## Agenda ### **Day 1 – EventStorming as a discovery tool** - Quick kick-off: where we are and where we want to go. - Real-world **Big Picture EventStorming**, mastering complexity and unknowns in large-scale modelling. - Reading implicit signals, areas of friction, and emergent boundaries. - Managing conflicts, highlighting risk, and the problems that are really worth solving - Explicit walkthrough: making sure the model matches the conversation. - Dive into motivators and opportunities for change. - Detecting signals for architectural and organisational design. - Actionable insights: how to turn the discoveries into a plan. ### **Day 2 – EventStorming as a design tool** - Emerging System Boundaries: from EventStorming to [Bounded Contexts](https://www.avanscoperta.it/en/bounded-context/) - **Process Modelling EventStorming**: a cross-discipline platform for collaborative modelling - Leveraging the grammar structure to build robust flow and ask uncomfortable questions. - Strategies for the collaborative game. Opening moves, collaboration styles, and understanding when to switch. - Making policies explicit. Discovering the hidden truth in business behaviour - Design around **Value**: hidden and explicit motivators. - Manage your *biases* in collaborative design. - **Software Design EventStorming**: discovering key software components - Aggregates and transactional consistency: independent moving parts in a complex software system - Design around the bottleneck: alternatives to YAGNI. - Blending User Experience Design and Service Design into Software Design - Transitioning from sticky notes to working code. **Categories:** On demand, Scheduled **Tags:** Collaborative Modelling, CQRS, DDD, Domain-Driven Design, EventStorming, Team collaboration, ziobrando --- ### [Domain-Driven Design Executive View](https://www.avanscoperta.it/it/training/domain-driven-design-executive-view/) **Published:** May 26, 2020 **Author:** Alessandra Granaudo **Excerpt:** In this online session, we'll be building a map of the challenges of a complex enterprise software ecosystem and see where Domain-Driven Design can help and how. **Content:** There are many reasons to move towards Domain-Driven Design, but not all are deeply understood or explained. While most DDD trainings focus on the theory, Domain-Driven Design Executive View focuses on the needs of your organisation, and on the implications of a different approach. In this online session with [Alberto Brandolini](https://www.avanscoperta.it/it/trainer/a-brandolini/), we’ll explore Domain-Driven Design from a sociotechnical perspective, highlighting the links between approaches to software development, planning and recruiting, and business accounting. Domain-Driven Design is not a software architecture: it is an approach to software development that connects business goals to outstanding results, mixing technical excellence with a human-friendly perspective. ## Agenda The workshop is a single 3-hour online block with a chill-out time at the end. It’s designed to be interactive without wasting precious time. We’ll build a map of the challenges of a complex enterprise software ecosystem and see where and how Domain-Driven Design can help. We’ll be running a quick game to highlight common behavioural dynamics that can quickly turn dysfunctional in some organisations, and also experience what happens in a small online [EventStorming](https://www.eventstorming.com/) session, and the type of discussions that can be triggered even when there’s little time available. The closing would be about connecting the dots with your current challenges, previous exposure and war stories with Domain-Driven Design and other approaches. ## Target audience This training is specifically designed for strategic decision-makers who need a first-hand, deep summary of Domain-Driven Design without getting lost in the technical jargon. ## Learning Objectives - Understand why Domain-Driven Design matters in a software organisation. - Understand 360° consequences and impediments to a [Domain-Driven Design adoption](https://www.youtube.com/watch?v=hVK5swIL1_g&list=PLdINRwflMgm_C6or7HPBs6d_ElGAU3AiQ). - Understand alternatives to the pains that we’re used to in software development projects. ## How it works The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Categories:** A catalogo **Tags:** Domain-Driven Design, EventStorming --- ### [Collaborative Software Design Workshop](https://www.avanscoperta.it/it/training/collaborative-software-design-workshop/) **Published:** November 27, 2025 **Author:** Alessandra Granaudo **Excerpt:** Based on the book Collaborative Software Design, we provide you with the facilitation skills needed to guide a group and lead impactful modeling sessions. **Content:** Do your modeling sessions suffer from silence, circular arguments, or dominance by the loudest voice in the room? Is there a persistent gap between Business and IT that leads to software products that miss the mark? Effective software design hinges on strong collaboration. But let’s be honest: collaboration is messy. Misunderstandings, hidden assumptions, and social dynamics often undermine even the best technical plans. While collaborative modeling tools provide the visual canvas, they don’t solve the human problem. Collaboration is not innate; it is a discipline. The *Collaborative Software Design Workshop* (based on the book [*Collaborative Software Design*](https://collaborative-software-design.com/)) with Kenny Baas-Schwegler and Gien Verschatse is designed to close the gap between technical modeling and social dynamics. We’ll move beyond the “happy path” of cooperation and look at what actually happens when people disagree. This course tackles the hardest part of software design: the people. You will gain insight into how cognitive biases, and conflict patterns influence the architecture of your software and practice how to facilitate the “invisible” dynamics of the room, learning to spot how social ranking, silence, and behavior influence the architecture. We’ll provide you with the practical facilitation skills needed to guide a group and lead impactful modeling sessions. ## Learning Objectives - **The “Why” of Collaborative Design**: We explore why involving stakeholders early isn’t just “nice to have,” but essential for sustainable software, and the concrete risks of keeping design siloed. - **The Facilitator’s Stance**: You don’t have to be an extrovert to facilitate. We outline the necessary skills to hold the room, clarifying the difference between participating in the design and guiding the process. - **Navigating “Ranking”**: Power dynamics exist in every room. You will learn how conscious and unconscious rank impacts who gets heard, and practice techniques to level the playing field so the best ideas win. - **Reading the Room**: Behavior is data. You will learn to observe what isn’t being said (body language, silence, and disengagement) and how to use those observations to steer the group back to productivity. - **Active Listening & Inquiry**: Move beyond standard questions. We practice Socratic questioning and “Crucial Conversations” techniques to uncover the deep domain knowledge that stakeholders often struggle to articulate. - **Sense-Making & Flow**: Learn the practical utility of Check-ins and Check-outs to set the stage. We will cover how to restore flow when discussions become fragmented or stuck in the weeds. - **Conflict & Resistanc**e: Resistance isn’t always bad; often, it’s a signal. You will develop the confidence to address conflict head-on, using it to clarify constraints and reach a shared understanding. - **Sustainable Decision Making**: We connect the social to the technical. Learn how to converge the group’s collective knowledge into concrete, sustainable software design decisions. ## The Trainers [![Cover book collaborative software design kenny baas schwegler](https://www.avanscoperta.it/wp-content/uploads/2024/01/collaborative-software-design-kenny-baas-schwegler-150x150.jpg "Cover book")](https://www.manning.com/books/collaborative-software-design?utm_source=baas&utm_medium=affiliate&utm_campaign=book_baas_collaborative_2_1_23&a_aid=baas&a_bid=2f174b8d) The *Collaborative Software Design Workshop* is designed and delivered by [Kenny Baas-Schwegler](https://www.avanscoperta.it/en/trainer/kenny-baas-schwegler/) and [Gien Verschatse](https://www.avanscoperta.it/en/trainer/gien-verschatse/), who are co-authors, along with Evelyn van Kelle, of the book Collaborative Software Design. Kenny specializes in technical leadership, software architecture, and sociotechnical system design, guiding organizations in building sustainable, resilient, and adaptable software systems. Gien is a consultant and software engineer specializing in Domain-Driven Design, domain modeling, and software architecture, combining advanced technical skills with a strong ability to bridge gaps between domain experts, users, and engineers. ## Target Audience This workshop is designed for technical leaders who want to move beyond “running meetings” to effectively facilitating shared understanding. It is ideal for: - Software, Solution, & Domain Architects - Tech Leads, Staff+ Engineers, and Senior Developers - Product Managers & Product Owners - Business Analysts & QA Professionals - Engineering Managers & Scrum Masters - If you are responsible for bridging the gap between business requirements and technical implementation, this workshop is for you. Whether you are a Technical Lead, Engineering Manager, Product Owner, Architect, or Engineer, we’ll provide you with the facilitation stance needed to guide a group. ## Agenda ### Day 1 **The Human Side of Modeling** We start by diving straight into a large-group collaborative modeling session. We will focus on the “invisible” dynamics that govern the room: - Facilitation Mechanics: Practical techniques to guide the group without dictating the outcome. - Ranking Theory: recognizing how power and hierarchy (both conscious and unconscious) influence who speaks, who stays silent, and whose ideas get adopted. - Observation: Moving beyond “listening” to observing behavior, energy, and silence to assess the health of the group dynamic. - Active Listening: Practicing communication techniques that lower defenses and clarify complex domain concepts. ### Day 2 **From Conflict to Decision** On the second day, we tackle a specific design challenge using your preferred collaborative modeling tool. The focus shifts from managing the room to driving results: - Sense-Making: How to use check-ins, check-outs, and structured pauses to keep the group aligned and productive. - Navigating Resistance: Strategies to handle conflict constructively. You will learn to view resistance not as a blocker, but as valuable data for your design. - Sustainable Decisions: How to close the loop—moving from sticky notes and discussions to concrete, supported design decisions that stick after the meeting. ## How it works Over two immersive days, we move beyond theory and put you in the facilitator’s seat by modeling a specific use case together with the other participants. The *Collaborative Software Design Workshop* will be a safe space to practice facilitation in real-time. You will practice handling the complex, real-world moments that make or break a design session. You will learn how to spot when a conversation is stalling, how to handle “difficult” stakeholders, and how to use conflict as a tool for better design, rather than something to be avoided. **Categories:** A catalogo --- ### [Collaborative Software Design Workshop](https://www.avanscoperta.it/en/training/collaborative-software-design-workshop/) **Published:** November 27, 2025 **Author:** Alessandra Granaudo **Excerpt:** Based on the book Collaborative Software Design, we provide you with the facilitation skills needed to guide a group and lead impactful modeling sessions. **Content:** Do your modeling sessions suffer from silence, circular arguments, or dominance by the loudest voice in the room? Is there a persistent gap between Business and IT that leads to software products that miss the mark? Effective software design hinges on strong collaboration. But let’s be honest: collaboration is messy. Misunderstandings, hidden assumptions, and social dynamics often undermine even the best technical plans. While collaborative modeling tools provide the visual canvas, they don’t solve the human problem. Collaboration is not innate; it is a discipline. The *Collaborative Software Design Workshop* (based on the book [*Collaborative Software Design*](https://collaborative-software-design.com/)) with Kenny Baas-Schwegler and Gien Verschatse is designed to close the gap between technical modeling and social dynamics. We’ll move beyond the “happy path” of cooperation and look at what actually happens when people disagree. This course tackles the hardest part of software design: the people. You will gain insight into how cognitive biases, and conflict patterns influence the architecture of your software and practice how to facilitate the “invisible” dynamics of the room, learning to spot how social ranking, silence, and behavior influence the architecture. We’ll provide you with the practical facilitation skills needed to guide a group and lead impactful modeling sessions. ## Learning Objectives - **The “Why” of Collaborative Design**: We explore why involving stakeholders early isn’t just “nice to have,” but essential for sustainable software, and the concrete risks of keeping design siloed. - **The Facilitator’s Stance**: You don’t have to be an extrovert to facilitate. We outline the necessary skills to hold the room, clarifying the difference between participating in the design and guiding the process. - **Navigating “Ranking”**: Power dynamics exist in every room. You will learn how conscious and unconscious rank impacts who gets heard, and practice techniques to level the playing field so the best ideas win. - **Reading the Room**: Behavior is data. You will learn to observe what isn’t being said (body language, silence, and disengagement) and how to use those observations to steer the group back to productivity. - **Active Listening & Inquiry**: Move beyond standard questions. We practice Socratic questioning and “Crucial Conversations” techniques to uncover the deep domain knowledge that stakeholders often struggle to articulate. - **Sense-Making & Flow**: Learn the practical utility of Check-ins and Check-outs to set the stage. We will cover how to restore flow when discussions become fragmented or stuck in the weeds. - **Conflict & Resistanc**e: Resistance isn’t always bad; often, it’s a signal. You will develop the confidence to address conflict head-on, using it to clarify constraints and reach a shared understanding. - **Sustainable Decision Making**: We connect the social to the technical. Learn how to converge the group’s collective knowledge into concrete, sustainable software design decisions. ## The Trainers [![Cover book collaborative software design kenny baas schwegler](https://www.avanscoperta.it/wp-content/uploads/2024/01/collaborative-software-design-kenny-baas-schwegler-150x150.jpg "Cover book")](https://www.manning.com/books/collaborative-software-design?utm_source=baas&utm_medium=affiliate&utm_campaign=book_baas_collaborative_2_1_23&a_aid=baas&a_bid=2f174b8d) The *Collaborative Software Design Workshop* is designed and delivered by [Kenny Baas-Schwegler](https://www.avanscoperta.it/en/trainer/kenny-baas-schwegler/) and [Gien Verschatse](https://www.avanscoperta.it/en/trainer/gien-verschatse/), who are co-authors, along with Evelyn van Kelle, of the book Collaborative Software Design. Kenny specializes in technical leadership, software architecture, and sociotechnical system design, guiding organizations in building sustainable, resilient, and adaptable software systems. Gien is a consultant and software engineer specializing in Domain-Driven Design, domain modeling, and software architecture, combining advanced technical skills with a strong ability to bridge gaps between domain experts, users, and engineers. ## Target Audience This workshop is designed for technical leaders who want to move beyond “running meetings” to effectively facilitating shared understanding. It is ideal for: - Software, Solution, & Domain Architects - Tech Leads, Staff+ Engineers, and Senior Developers - Product Managers & Product Owners - Business Analysts & QA Professionals - Engineering Managers & Scrum Masters - If you are responsible for bridging the gap between business requirements and technical implementation, this workshop is for you. Whether you are a Technical Lead, Engineering Manager, Product Owner, Architect, or Engineer, we’ll provide you with the facilitation stance needed to guide a group. ## Agenda ### Day 1 **The Human Side of Modeling** We start by diving straight into a large-group collaborative modeling session. We will focus on the “invisible” dynamics that govern the room: - Facilitation Mechanics: Practical techniques to guide the group without dictating the outcome. - Ranking Theory: recognizing how power and hierarchy (both conscious and unconscious) influence who speaks, who stays silent, and whose ideas get adopted. - Observation: Moving beyond “listening” to observing behavior, energy, and silence to assess the health of the group dynamic. - Active Listening: Practicing communication techniques that lower defenses and clarify complex domain concepts. ### Day 2 **From Conflict to Decision** On the second day, we tackle a specific design challenge using your preferred collaborative modeling tool. The focus shifts from managing the room to driving results: - Sense-Making: How to use check-ins, check-outs, and structured pauses to keep the group aligned and productive. - Navigating Resistance: Strategies to handle conflict constructively. You will learn to view resistance not as a blocker, but as valuable data for your design. - Sustainable Decisions: How to close the loop—moving from sticky notes and discussions to concrete, supported design decisions that stick after the meeting. ## How it works Over two immersive days, we move beyond theory and put you in the facilitator’s seat by modeling a specific use case together with the other participants. The *Collaborative Software Design Workshop* will be a safe space to practice facilitation in real-time. You will practice handling the complex, real-world moments that make or break a design session. You will learn how to spot when a conversation is stalling, how to handle “difficult” stakeholders, and how to use conflict as a tool for better design, rather than something to be avoided. **Categories:** On demand **Tags:** Process Modelling --- ### [EventStorming Remote Experience Workshop](https://www.avanscoperta.it/en/training/eventstorming-remote-modelling/) **Published:** May 5, 2020 **Author:** Alessandra Granaudo **Excerpt:** This workshop will lead you through three different styles of EventStorming performed remotely, we'll practice and discuss different styles of facilitation on business-class scenarios, in large and small teams. **Content:** > If you’re looking for the in-person workshop, check out the [EventStorming Master Class page](https://www.avanscoperta.it/en/training/eventstorming-master-class-alberto-brandolini/). ## EventStorming Online Training [EventStorming](https://www.avanscoperta.it/en/eventstorming/) is an incredibly powerful and versatile tool for navigating complexity and modelling organizations, business flows, and software. EventStorming leverages interpersonal communication to deliver a compelling collaborative discovery & design experience. But what if our organization’s constraints don’t allow in-person workshops, and remote interaction is our only option? The EventStorming Remote Experience Workshop will give you practice, examples, patterns and heuristics to design and lead your workshops. In this EventStorming Online Training, we’ll put the three flavours of [EventStorming](https://www.avanscoperta.it/en/eventstorming/) to the test in a remote setting, and we’ll learn and practice how to make the best use of remote tools, overcoming the limitations of a remote experience and leveraging the possibilities offered by digital media. ## Learning Objectives - How to design and lead the three main formats of EventStorming in a remote digital environment - How to deal with the common impediments happening before, during and after the workshops - How to use EventStorming in a variety of scenarios, customizing the format to better achieve our desired goals - When and when not to go for the digital version. ## The Trainer [Alberto Brandolini](https://www.avanscoperta.it/en/trainer/a-brandolini/) is a 360° software expert, always looking for the missing ingredient to improve things.[![EventStorming book cover](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Book-Cover-232x300.jpeg)](https://leanpub.com/introducing_eventstorming) In 2013, Alberto came up with the [EventStorming](https://www.avanscoperta.it/en/eventstorming/) idea. It started as a tool to model complex business processes quickly in a Domain-Driven Design fashion. But over the years, it evolved into an incredibly versatile tool for modelling organisations, processes, and software, intentionally crossing the lines between business and tech. The ability to uncover hidden problems in a very short time allowed Alberto to build unique cross-discipline expertise after modelling many different domains and businesses around the world. His book [*Introducing EventStorming* ](https://leanpub.com/introducing_eventstorming)is probably the most successful unfinished book on the Leanpub platform. Alberto is also the person behind the *Bullshit Asymmetry Principle*. ## Target audience *EventStorming Remote Experience Workshop* is aimed at software practitioners, workshop facilitators, professionals developing digital products and services, and explorers who want to practice EventStorming on the field. ## Topics - The many flavours of EventStorming, recipes and purposes - **Discovering complexity with Big Picture**: from divergence to structure to validated narrative. Key facilitation patterns for the online setting - Exploring **Value-Added Layers**. Discovering *where* and *how* is **value** created in our flows. Gathering visible consensus about **opportunities for improvement**. Getting insights about the most fitting structure of the underlying **Bounded Contexts**. Making **teams’ responsibility** boundaries and frictions visible. Leveraging the available information to extract a **structured backlog** for our project. - **Modelling processes** hands-on: how a coloured grammar will shape an interdisciplinary conversation - **Scaling facilitation and interaction styles** in design: from collaborative games to ensemble modelling - **Designing software systems**: identifying key components and bounded contexts in complex flows - **Designing your format**: Use heuristics to choose steps, formats, and constraints, given your scenario. ## Agenda In these five online sessions, we’ll cover: - Exploration in an online setting, making sense of divergent realities. - Explicit walkthrough and value-added layers - Process Modelling format. Tools for interdisciplinary collaboration - Software Design format. Closing the gap to implementation. ## How it works This workshop is mostly practical. We’ll simulate a real-life complexity scenario with a role-playing game and drill down into it from different angles and with different levels of depth. Those intense moments will be balanced with more open-ended discussions and the disclosure of some of the dirty secrets of online facilitation. **Categories:** On demand **Tags:** Domain-Driven Design, EventStorming, Facilitation --- ### [EventStorming Remote Experience Workshop](https://www.avanscoperta.it/it/training/eventstorming-remote-modelling/) **Published:** May 5, 2020 **Author:** Alessandra Granaudo **Excerpt:** This workshop will lead you through three different styles of EventStorming performed remotely, we'll practice and discuss different styles of facilitation on business-class scenarios, in large and small teams. **Content:** > If you’re looking for the in-person workshop, check out the [EventStorming Master Class page](https://www.avanscoperta.it/en/training/eventstorming-master-class-alberto-brandolini/). ## EventStorming Online Training [EventStorming](https://www.avanscoperta.it/en/eventstorming/) is an incredibly powerful and versatile tool for navigating complexity and modelling organizations, business flows, and software. EventStorming leverages interpersonal communication to deliver a compelling collaborative discovery & design experience. But what if our organization’s constraints don’t allow in-person workshops, and remote interaction is our only option? The EventStorming Remote Experience Workshop will give you practice, examples, patterns and heuristics to design and lead your workshops. In this EventStorming Online Training, we’ll put the three flavours of [EventStorming](https://www.avanscoperta.it/en/eventstorming/) to the test in a remote setting, and we’ll learn and practice how to make the best use of remote tools, overcoming the limitations of a remote experience and leveraging the possibilities offered by digital media. ## Learning Objectives - How to design and lead the three main formats of EventStorming in a remote digital environment - How to deal with the common impediments happening before, during and after the workshops - How to use EventStorming in a variety of scenarios, customizing the format to better achieve our desired goals - When and when not to go for the digital version. ## The Trainer [Alberto Brandolini](https://www.avanscoperta.it/en/trainer/a-brandolini/) is a 360° software expert, always looking for the missing ingredient to improve things.[![EventStorming book cover](https://www.avanscoperta.it/wp-content/uploads/2025/02/EventStorming-Book-Cover-232x300.jpeg)](https://leanpub.com/introducing_eventstorming) In 2013, Alberto came up with the [EventStorming](https://www.avanscoperta.it/en/eventstorming/) idea. It started as a tool to model complex business processes quickly in a Domain-Driven Design fashion. But over the years, it evolved into an incredibly versatile tool for modelling organisations, processes, and software, intentionally crossing the lines between business and tech. The ability to uncover hidden problems in a very short time allowed Alberto to build unique cross-discipline expertise after modelling many different domains and businesses around the world. His book [*Introducing EventStorming* ](https://leanpub.com/introducing_eventstorming)is probably the most successful unfinished book on the Leanpub platform. Alberto is also the person behind the *Bullshit Asymmetry Principle*. ## Target audience *EventStorming Remote Experience Workshop* is aimed at software practitioners, workshop facilitators, professionals developing digital products and services, and explorers who want to practice EventStorming on the field. ## Topics - The many flavours of EventStorming, recipes and purposes - **Discovering complexity with Big Picture**: from divergence to structure to validated narrative. Key facilitation patterns for the online setting - Exploring **Value-Added Layers**. Discovering *where* and *how* is **value** created in our flows. Gathering visible consensus about **opportunities for improvement**. Getting insights about the most fitting structure of the underlying **Bounded Contexts**. Making **teams’ responsibility** boundaries and frictions visible. Leveraging the available information to extract a **structured backlog** for our project. - **Modelling processes** hands-on: how a coloured grammar will shape an interdisciplinary conversation - **Scaling facilitation and interaction styles** in design: from collaborative games to ensemble modelling - **Designing software systems**: identifying key components and bounded contexts in complex flows - **Designing your format**: Use heuristics to choose steps, formats, and constraints, given your scenario. ## Agenda In these five online sessions, we’ll cover: - Exploration in an online setting, making sense of divergent realities. - Explicit walkthrough and value-added layers - Process Modelling format. Tools for interdisciplinary collaboration - Software Design format. Closing the gap to implementation. ## How it works This workshop is mostly practical. We’ll simulate a real-life complexity scenario with a role-playing game and drill down into it from different angles and with different levels of depth. Those intense moments will be balanced with more open-ended discussions and the disclosure of some of the dirty secrets of online facilitation. **Categories:** A catalogo **Tags:** Domain-Driven Design, EventStorming, Facilitation --- ### [Practical Event Sourcing Workshop](https://www.avanscoperta.it/it/training/practical-introduction-to-event-sourcing/) **Published:** January 28, 2025 **Author:** Enrico Meloni **Excerpt:** Event Sourcing helps us keep track of all the business facts without losing a single piece of business information, and build durable and robust systems. Start with the right foot with this online workshop by Oskar Dudycz. **Content:** Are you tempted by Event Sourcing but don’t know where to start? Is your business losing data? Event Sourcing allows us to keep track of all the business facts without losing a single piece of business information. Tracing and observing our business workflow allows us to gather insights about the present system’s behaviour and answer tomorrow’s questions and challenges. However, Event Sourcing also brings new questions and challenges to the development teams. What’s the right event granularity? Should we go for thin or fat events? How do we separate shared/public from private/local events? Event Sourcing also requires a new set of practices and the development of a new type of confidence in the design, construction, and ownership of durable systems. This hands-on *Event Sourcing Workshop* is designed to build this confidence, introducing participants gradually into Event Sourcing through hands-on activities. Oskar Dudycz will share his practical experience on working with Emmett, Marten and EventStoreDB to get you started! You don’t need to learn from your own mistakes but benefit from his experience. ## Learning objectives In the workshop, you will build a simple but real and complete web application using Event Sourcing, and so you will have experienced: - when and how to use Event Sourcing and CQRS and what benefits it brings, - how to reflect your business logic in the code using events, - how to model and implement business workflows with Event Sourcing, - differences to the classical approach, - different tools such as Emmett, Marten, and EventStoreDB and the differences between them, - how to use Event Sourcing on your system, - challenges related to Event Sourcing and recommended solutions. ## The trainer [Oskar Dudycz](https://www.avanscoperta.it/en/trainer/oskar-dudycz/) is a strong advocate for [Event Sourcing](https://www.youtube.com/watch?v=jnDchr5eabI), CQRS, and Event-Driven Architecture. He believes these approaches provide a solid foundation for building scalable and maintainable solutions. In addition to consulting, Oskar is an active open-source contributor, having played a key role in developing popular Event Sourcing tools like Emmett, Marten, and EventStoreDB. ## Target audience Have you thought that “it’d be much easier if we know the past data, or why this has happened”? Are you integrating your systems with events and already see that keeping them longer could help you improve observability, build projections, and integrate efficiently? Did you start modelling with EventStorming and want to see how to reflect your model in code? If any of those are true for you, then learning Event Sourcing can boost your system design and be a valuable asset. If you have already built some web applications in C#, Java or Node.js and would like to take them to next level, this workshop may be for you. You should have experience building web applications using C#, Java or TypeScript, but all topics related to Event Sourcing will be introduced from the beginning. Even if you know Event Sourcing, such a foundation summary should help you get alignment and ensure you didn’t miss anything. ## Topics - Event Sourcing, - CQRS, - Vertical Slices, - Business Workflows (Saga, Process Manager etc.), - How Event Stores are built, - Guarantees that Event Sourcing gives, - Versioning Events. ## Agenda ### Day 1-2 - Event Sourcing: Basic terminology (event, stream of events, command), differences from the classical approach, - Various ways of handling business logic: Aggregates, Command Handlers, functional approach, - Write model and data consistency guarantees, - Good and bad practices in modelling events, - Projections and best practices for building read models. ### Day 3-4 - Modelling Event Sourcing workflows: Saga, Choreography, Process Manager, handling distributed processes. - Challenges in Event Sourcing and EDA: delivery guarantees, event processing order, idempotency, etc. - Event Sourcing on production, evolution, event versioning, etc. ## How it works Through hands-on coding exercises, you’ll gradually learn Event Sourcing theory through practice. Exercises should trigger discussions to deepen the understanding of the topics. You’ll also get model solutions. You can either do them on your own or pair them with others. You’ll also be modelling group business workflows using EventStorming and implementing the outcome. The workshop is focused on practice and hands-on experience to give you a quick start. The workshop happens online and in live streaming. ### F.A.Q. ***Do I need to know something beforehand in order to participate in this workshop?*** You should have prior experience in building web applications using C#, Java or TypeScript, but all topics related to Event Sourcing will be introduced from the beginning. Even if you know Event Sourcing, such a summary of the foundation should help you to get alignment and ensure you didn’t miss anything. ***What level of expertise in Event Sourcing is required in order to join the workshop?*** Beginner with prior experience in building web applications using C#, Java or TypeScript. ***Any programming languages I should know in order to join this workshop?*** You can choose to do exercises in C#, Java or TypeScript. **Categories:** A catalogo **Tags:** CQRS, Domain-Driven Design, Event Sourcing, EventStorming --- ### [Event Sourcing & CQRS Master Class](https://www.avanscoperta.it/it/training/cqrs-event-sourcing-master-class/) **Published:** April 29, 2025 **Author:** Alessandra Granaudo **Excerpt:** Join Marco Heimeshoff for a 2-day, hands-on workshop. You’ll master CQRS and Event Sourcing to design systems that are scalable, testable, and ready to evolve. Built on real-world practices you can apply immediately. **Content:** ## Event Sourcing & CQRS Workshop Event Sourcing and CQRS can unlock transparency, scalability, and evolution. What’s hard is turning the blog-post promise into production-ready code. Where do aggregates end and bounded contexts begin? How do you refactor a stream full of historical events? How do you model long-running workflows without tying yourself in knots? In this two-day Event Sourcing & CQRS Masterclass with Marco Heimeshoff, you’ll work through the real challenges and you’ll: - Map messy domains into clean, focused bounded contexts preventing model entanglement. - Design events that capture real business intent and learn techniques for versioning them safely as the domain evolves. - Split read and write models with confidence, optimising performance without sacrificing consistency. - Practise patterns for sagas, process managers, and projections that keep complex workflows reliable and observable. - Explore the real-world hurdles that make or break CQRS/ES projects defining the right aggregate granularity coordinating complex, cross-aggregate transactions handling cross-cutting validation without leaking domain rules. Throughout the class [Marco Heimeshoff](https://www.avanscoperta.it/it/trainer/marco-heimeshoff/) pairs short theory bursts with guided, hands-on exercises. You’ll model, code, refactor, and deploy, seeing firsthand how each decision shows up in your event stream. Join us and make the leap from curious to competent, and build systems that stay future-proof, no matter how the future changes. ## Learning Objective By the end of the workshop, you’ll be able to: - Design scalable, auditable, event-driven systems from scratch that can evolve safely as business needs change. - Model real-world behaviour with rich, semantic commands and events, capturing intent and outcomes unambiguously. - Carve the domain into cohesive Bounded Contexts and apply CQRS to keep write-side decision-making isolated from read-side projections, taming complexity as the system grows. - Implement a production-ready architecture that combines CQRS with Event Sourcing, giving you full traceability, time-travel debugging, and flexible data-shaping options. - Build a rapid red-green-refactor feedback loop: write expressive, domain-driven tests that replay event streams to verify behaviour over time and guard against regression. The workshop is relentlessly practical: you’ll learn how meaningful separation of concerns, clear bounded contexts, and an event-centred testing cycle combine to produce antifragile systems. Systems that welcome change instead of fearing it. ## The Trainer Marco Heimeshoff is a Software Developer, a passionate EventStormer, a coach and a Speaker. Care Bear of DDD, cultural optimist, helping others to become better versions of themselves. Marco Heimeshoff is also the co-organiser of [KanDDDinsky](https://kandddinsky.de/). With over a decade of experience, he helps teams grow by guiding them through everything from code to culture, teaching practical mastery of Domain-Driven Design, Agile development, functional programming, and CQRS with Event Sourcing. When he’s not consulting with companies around the world, Marco speaks at international conferences on Domain-Driven Design, socio-technical systems, and software design fundamentals. ## Target Audience This workshop is designed for: - Software Architects looking to evolve legacy systems or design new ones - Senior Developers ready to move beyond layered architectures - Team Leads & Tech Leads dealing with scaling challenges and distributed systems - Anyone working with Domain-Driven Design, microservices, or event-driven systems. If you’re exploring semantic software, messaging, or tackling complex business domains, you’re in the right place. ## Topics - Event Sourcing: Events, event streams, and domain models - Events and Storage: managing event stores - Event Replay & Versioning: Rebuilding state and evolving events - Eventual Consistency: Handling distributed systems and consistency - Semantic Testing with Events: Writing tests for event flows and state transitions - CQRS: Benefits of Command and Query model separation - Command and Query Models: Working with commands, validation, and projections - Event-Driven CQRS: Using Event Sourcing to power CQRS systems. - Sagas: Reactive behaviour, distributed transactions, and - Failure handling in long running, distributed processes. ## Agenda ### Day 1: Mastering Event Sourcing - Why Event Sourcing? – Understand the power of immutable facts, auditability, traceability, and evolution. - Core Concepts – Learn how events, streams, aggregates and projections fit together. - Designing Event-Driven Systems – Practice modeling events, consistency boundaries, and storage choices. - Rebuilding & Evolving Systems – Use event replay and versioning to rebuild state and manage schema evolution. - Eventual Consistency – Handling distributed systems with Event Sourcing. How to manage business logic across different boundaries. - Semantic Testing – Validate system behavior with event-based testing strategies. ### Day 2: Integrating CQRS with Event Sourcing - Introduction to CQRS – Separate reads and writes to untangle complexity and gain clarity. - Semantic Messaging – Capture business intent and model domain behaviors through commands. - Event-Driven CQRS in Action – Drive projections, listeners, and workflows from your event store. - Advanced Topics – Implement sagas, orchestrate long-running processes, and handle distributed failures gracefully. ## How It Works This is a fully hands-on, in-person workshop. You’ll: - Build a CQRS & Event Sourcing system - Model commands, events, projections, and failure paths - Practice designing consistency boundaries and messaging patterns - Test your systems using event-driven flows and replays. Every concept is reinforced through guided exercises, making sure you leave with not just theory, but muscle memory. ### FAQ *Do I need to know something beforehand in order to participate in this workshop?* You should be able to build object-oriented or functional software and use a unit testing library. Anything else needed for this workshop will be taught during the sessions. *Do I need to bring my laptop with me?* Yes, please bring your laptop with a running dev-environment for your favourite language. **Categories:** A calendario **Tags:** CQRS, Event Sourcing --- ### [Event Sourcing & CQRS Master Class](https://www.avanscoperta.it/en/training/cqrs-event-sourcing-master-class/) **Published:** April 29, 2025 **Author:** Alessandra Granaudo **Excerpt:** Join Marco Heimeshoff for a 2-day, hands-on workshop. You’ll master CQRS and Event Sourcing to design systems that are scalable, testable, and ready to evolve. Built on real-world practices you can apply immediately. **Content:** ## Event Sourcing & CQRS Workshop Event Sourcing and CQRS can unlock transparency, scalability, and evolution. What’s hard is turning the blog-post promise into production-ready code. Where do aggregates end and bounded contexts begin? How do you refactor a stream full of historical events? How do you model long-running workflows without tying yourself in knots? In this two-day Event Sourcing & CQRS Masterclass with Marco Heimeshoff, you’ll work through the real challenges and you’ll: - Map messy domains into clean, focused bounded contexts preventing model entanglement. - Design events that capture real business intent and learn techniques for versioning them safely as the domain evolves. - Split read and write models with confidence, optimising performance without sacrificing consistency. - Practise patterns for sagas, process managers, and projections that keep complex workflows reliable and observable. - Explore the real-world hurdles that make or break CQRS/ES projects defining the right aggregate granularity coordinating complex, cross-aggregate transactions handling cross-cutting validation without leaking domain rules. Throughout the class [Marco Heimeshoff](https://www.avanscoperta.it/it/trainer/marco-heimeshoff/) pairs short theory bursts with guided, hands-on exercises. You’ll model, code, refactor, and deploy, seeing firsthand how each decision shows up in your event stream. Join us and make the leap from curious to competent, and build systems that stay future-proof, no matter how the future changes. ## Learning Objective By the end of the workshop, you’ll be able to: - Design scalable, auditable, event-driven systems from scratch that can evolve safely as business needs change. - Model real-world behaviour with rich, semantic commands and events, capturing intent and outcomes unambiguously. - Carve the domain into cohesive Bounded Contexts and apply CQRS to keep write-side decision-making isolated from read-side projections, taming complexity as the system grows. - Implement a production-ready architecture that combines CQRS with Event Sourcing, giving you full traceability, time-travel debugging, and flexible data-shaping options. - Build a rapid red-green-refactor feedback loop: write expressive, domain-driven tests that replay event streams to verify behaviour over time and guard against regression. The workshop is relentlessly practical: you’ll learn how meaningful separation of concerns, clear bounded contexts, and an event-centred testing cycle combine to produce antifragile systems. Systems that welcome change instead of fearing it. ## The Trainer Marco Heimeshoff is a Software Developer, a passionate EventStormer, a coach and a Speaker. Care Bear of DDD, cultural optimist, helping others to become better versions of themselves. Marco Heimeshoff is also the co-organiser of [KanDDDinsky](https://kandddinsky.de/). With over a decade of experience, he helps teams grow by guiding them through everything from code to culture, teaching practical mastery of Domain-Driven Design, Agile development, functional programming, and CQRS with Event Sourcing. When he’s not consulting with companies around the world, Marco speaks at international conferences on Domain-Driven Design, socio-technical systems, and software design fundamentals. ## Target Audience This workshop is designed for: - Software Architects looking to evolve legacy systems or design new ones - Senior Developers ready to move beyond layered architectures - Team Leads & Tech Leads dealing with scaling challenges and distributed systems - Anyone working with Domain-Driven Design, microservices, or event-driven systems. If you’re exploring semantic software, messaging, or tackling complex business domains, you’re in the right place. ## Topics - Event Sourcing: Events, event streams, and domain models - Events and Storage: managing event stores - Event Replay & Versioning: Rebuilding state and evolving events - Eventual Consistency: Handling distributed systems and consistency - Semantic Testing with Events: Writing tests for event flows and state transitions - CQRS: Benefits of Command and Query model separation - Command and Query Models: Working with commands, validation, and projections - Event-Driven CQRS: Using Event Sourcing to power CQRS systems. - Sagas: Reactive behaviour, distributed transactions, and - Failure handling in long running, distributed processes. ## Agenda ### Day 1: Mastering Event Sourcing - Why Event Sourcing? – Understand the power of immutable facts, auditability, traceability, and evolution. - Core Concepts – Learn how events, streams, aggregates and projections fit together. - Designing Event-Driven Systems – Practice modeling events, consistency boundaries, and storage choices. - Rebuilding & Evolving Systems – Use event replay and versioning to rebuild state and manage schema evolution. - Eventual Consistency – Handling distributed systems with Event Sourcing. How to manage business logic across different boundaries. - Semantic Testing – Validate system behavior with event-based testing strategies. ### Day 2: Integrating CQRS with Event Sourcing - Introduction to CQRS – Separate reads and writes to untangle complexity and gain clarity. - Semantic Messaging – Capture business intent and model domain behaviors through commands. - Event-Driven CQRS in Action – Drive projections, listeners, and workflows from your event store. - Advanced Topics – Implement sagas, orchestrate long-running processes, and handle distributed failures gracefully. ## How It Works This is a fully hands-on, in-person workshop. You’ll: - Build a CQRS & Event Sourcing system - Model commands, events, projections, and failure paths - Practice designing consistency boundaries and messaging patterns - Test your systems using event-driven flows and replays. Every concept is reinforced through guided exercises, making sure you leave with not just theory, but muscle memory. ### FAQ *Do I need to know something beforehand in order to participate in this workshop?* You should be able to build object-oriented or functional software and use a unit testing library. Anything else needed for this workshop will be taught during the sessions. *Do I need to bring my laptop with me?* Yes, please bring your laptop with a running dev-environment for your favourite language. **Categories:** Scheduled **Tags:** CQRS --- ### [Collaborative Modelling with Bytesize Architecture Sessions and C4](https://www.avanscoperta.it/it/training/collaborative-modelling-with-bytesize-architecture-sessions-and-c4/) **Published:** January 13, 2026 **Author:** Alessandra Granaudo **Excerpt:** Practice collaborative system modelling with Bytesize Architecture Sessions and the C4 model. Learn to visualize, communicate, and design software systems individually and as a team, creating models that clarify current states and guide future design decisions. **Content:** Understanding the systems you work on is challenging; furthermore, helping many people in your organisation have a somewhat consistent view of that same system is even more difficult. The knowledge and understanding of a system doesn’t happen all at once, and you can make it better by doing it as a practice. Creating a system is a team sport, and whether you are part of a development team or leading teams, a great place to start is enhancing your skills with solo and collaborative modelling techniques that help you both Discover and Design software. The *Collaborative Modelling Workshop,* led by [Andrea Magnorsky](https://www.avanscoperta.it/en/trainer/andrea-magnorsky/), will teach you to model alone and with others, to visualise your system and create models that help you understand and communicate the current state, as well as design a future state that people understand. In this workshop, you will use the [Bytesize Architecture Sessions,](https://bytesizearchitecturesessions.com/) a simple yet powerful modelling format. You will also practice the [C4 model](https://c4model.com/), an effective approach to software architecture diagramming. ## Learning Objectives At the end of the workshop, you will be able to: - Create models alone and then integrate them to co-create models within a group; - Use the C4 model that allows for modelling at different abstraction levels. ## The Trainer Andrea Magnorsky is the creator of [Bytesize Architecture Sessions](https://bytesizearchitecturesessions.com/). She is based in New Zealand and is well-known in the programming community for her contributions to functional programming and software architecture. ## Target Audience This workshop will be valuable to you if you: - Work with or lead technical teams - Lead teams that value effective time use and clarity when creating complex systems - Want to create a practice that enables knowledge sharing and open communication. It’s particularly beneficial for people in the following roles: - Software Architects or people doing software architecture as part of their role - Technical leads - Product leaders - Design leaders. ## Agenda This 3-half-day hands-on workshop enables participants to model using Bytesize Architecture Sessions through practical exercises with a fictional domain. Participants will learn to create and review System context and container diagrams, applying these skills through collaborative exercises. A business change scenario illustrates how architectural documentation evolves to meet changing requirements. ### Session 1 - Modelling as a tool for thinking - Bytesize Architecture Session – Learning about the fictional domain - Bytesize Architecture Session – Create a System Context Diagram. ### Session 2 - Review of the System diagram - Bytesize Architecture Session – Create a Container Diagram - Review the models. ### Session 3 - The business changed requirements - The business changed requirements - Bytesize Session – Update the models. ![Bytesize Architecture Sessions explanation](https://www.avanscoperta.it/wp-content/uploads/2026/01/bytesize-infographic-1024x576.png) **Categories:** A catalogo --- ### [Collaborative Modelling with Bytesize Architecture Sessions and C4](https://www.avanscoperta.it/en/training/collaborative-modelling-with-bytesize-architecture-sessions-and-c4/) **Published:** January 13, 2026 **Author:** Alessandra Granaudo **Excerpt:** Practice collaborative system modelling with Bytesize Architecture Sessions and the C4 model. Learn to visualize, communicate, and design software systems individually and as a team, creating models that clarify current states and guide future design decisions. **Content:** Understanding the systems you work on is challenging; furthermore, helping many people in your organisation have a somewhat consistent view of that same system is even more difficult. The knowledge and understanding of a system doesn’t happen all at once, and you can make it better by doing it as a practice. Creating a system is a team sport, and whether you are part of a development team or leading teams, a great place to start is enhancing your skills with solo and collaborative modelling techniques that help you both Discover and Design software. The *Collaborative Modelling Workshop,* led by [Andrea Magnorsky](https://www.avanscoperta.it/en/trainer/andrea-magnorsky/), will teach you to model alone and with others, to visualise your system and create models that help you understand and communicate the current state, as well as design a future state that people understand. In this workshop, you will use the [Bytesize Architecture Sessions,](https://bytesizearchitecturesessions.com/) a simple yet powerful modelling format. You will also practice the [C4 model](https://c4model.com/), an effective approach to software architecture diagramming. ## Learning Objectives At the end of the workshop, you will be able to: - Create models alone and then integrate them to co-create models within a group; - Use the C4 model that allows for modelling at different abstraction levels. ## The Trainer Andrea Magnorsky is the creator of [Bytesize Architecture Sessions](https://bytesizearchitecturesessions.com/). She is based in New Zealand and is well-known in the programming community for her contributions to functional programming and software architecture. ## Target Audience This workshop will be valuable to you if you: - Work with or lead technical teams - Lead teams that value effective time use and clarity when creating complex systems - Want to create a practice that enables knowledge sharing and open communication. It’s particularly beneficial for people in the following roles: - Software Architects or people doing software architecture as part of their role - Technical leads - Product leaders - Design leaders. ## Agenda This 3-half-day hands-on workshop enables participants to model using Bytesize Architecture Sessions through practical exercises with a fictional domain. Participants will learn to create and review System context and container diagrams, applying these skills through collaborative exercises. A business change scenario illustrates how architectural documentation evolves to meet changing requirements. ### Session 1 - Modelling as a tool for thinking - Bytesize Architecture Session – Learning about the fictional domain - Bytesize Architecture Session – Create a System Context Diagram. ### Session 2 - Review of the System diagram - Bytesize Architecture Session – Create a Container Diagram - Review the models. ### Session 3 - The business changed requirements - The business changed requirements - Bytesize Session – Update the models. ![Bytesize Architecture Sessions explanation](https://www.avanscoperta.it/wp-content/uploads/2026/01/bytesize-infographic-1024x576.png) **Categories:** On demand --- ### [Experience Design Workshop](https://www.avanscoperta.it/it/training/experience-design-workshop/) **Published:** January 23, 2026 **Author:** Alessandra Granaudo **Excerpt:** Un workshop intensivo di un giorno per imparare a progettare esperienze memorabili, coinvolgenti e trasformative, usando il modello delle 5E. **Content:** Cosa resta davvero alle persone dopo un evento, un workshop, una riunione, un incontro aziendale? I contenuti sono la parte più immediatamente visibile; le relazioni, le emozioni, l’esperienza sono la parte complessa, quella per la quale è richiesta una progettazione intenzionale. Perché la qualità delle esperienze che viviamo influenza la nostra capacità di connetterci, crescere e cambiare. L’esperienza non è solo ciò che accade, ma ciò che resta nelle persone. Quella sensazione difficile da nominare che continua a lavorare dentro, anche quando un evento è finito. Una traccia capace di orientare pensieri, decisioni e comportamenti. Come spostare, quindi, il focus dalla progettazione di prodotti e servizi alla progettazione di esperienze? In *Experience Design Workshop,* con i docenti [Ivano Masiero](https://www.avanscoperta.it/it/trainer/ivano-masiero/) e [Alessandra Granaudo](https://www.avanscoperta.it/it/trainer/alessandra-granaudo/), praticheremo l’arte di progettare esperienze per amplificare le connessioni significative tra persone, contenuti e spazi. Un approccio che mette al centro la relazione, intesa come struttura portante del progetto e non come effetto collaterale. *Experience Design Workshop* è il corso intensivo di una giornata dedicato a chi vuole capire cosa significhi pensare e progettare per esperienze e imparare a progettare esperienze di significato. ## I Docenti **Ivano Masiero** è formatore, Learning Designer e Agile Team Coach. Ivano progetta e facilita esperienze formative ed eventi ad alto impatto umano e relazionale. Co-fondatore di [Kitto](https://www.kitto.be/kitto/), “una scatola piena di cose dentro per fare delle cose fuori” per introdurre un approccio nuovo alla formazione multisensoriale e alla creazione di vere e proprie learning experiences. **Alessandra Granaudo** è Training Manager in Avanscoperta e organizzatrice seriale di eventi (per lavoro e per piacere). Progetta e coordina esperienze di apprendimento che aiutano persone e organizzazioni a crescere e a raggiungere i propri obiettivi, con uno sguardo curioso sulle dinamiche di gruppo e sulla facilitazione. ## Cosa impareremo In questo corso allenerai la capacità di: - progettare connessioni, passando dalla domanda “cosa deve succedere?” a “che cosa deve restare alle persone quando l’esperienza è finita?” - mettere al centro le emozioni e le persone, coltivando la curiosità per chi vive l’esperienza - utilizzare spazio, tempo, atmosfera, strumenti per creare contesti unici. Uscirai da questo corso con una piccola cassetta degli attrezzi di metodi di facilitazione ed experience design (come il modello delle 5E) immediatamente applicabili a workshop, eventi, iniziative organizzative e percorsi formativi volti a generare coinvolgimento, senso e trasformazione. ## A chi è rivolto Experience Design Workshop è pensato per chiunque voglia progettare esperienze memorabili e significative. In particolare è rivolto a: - **L&D Professional & Trainer**, per progettare esperienze di apprendimento coinvolgenti, intenzionali e trasformative. - **HR, People & Culture ed Employer Branding**, per progettare momenti chiave della vita organizzativa (onboarding, percorsi per talenti, eventi interni, team building) e curare l’esperienza vissuta dalle persone, non solo i contenuti o i format. - **Event Manager**, per chi progetta eventi, conferenze, format formativi o culturali e vuole passare dal design del programma al design dell’esperienza. - **Customer Experience & Service Designer**, per chi progetta l’esperienza delle persone in negozi, hotel, spazi di accoglienza e luoghi di servizio, e vuole creare esperienze coerenti, memorabili e significative. - **Change Maker, Consulenti e Agile Coach**, per chi affianca team e organizzazioni nei processi di trasformazione, progettando e facilitando esperienze intenzionali (workshop, rituali, momenti di allineamento e apprendimento). ## Agenda Durante la giornata di corso vivremo cosa significa spostare il focus dal design dei contenuti al design delle esperienze. Lavoreremo su un cambio di prospettiva fondamentale: progettare non solo ciò che deve accadere, ma soprattutto ciò che deve restare. Praticheremo cosa significa spostare la progettazione dai contenuti alle connessioni; dai processi a ciò che le persone vivono e sentono; dalla performance all’intenzionalità esperienziale. Utilizzeremo il modello delle “5E” (il framework proposto da Larry Keeley e poi sviluppato da Kaospilot) come bussola per progettare esperienze pluridimensionale, intenzionali, significative, trasformative, capaci di generare senso, relazione e cambiamento reale. L’intero corso è progettato e condotto utilizzando il modello delle 5E e secondo i principi di [Training from the Back of the Room](https://www.avanscoperta.it/it/training/training-from-the-back-of-the-room-workshop-italiano/). ## Come si svolge In *Experience Design Workshop* alterniamo attività pratiche individuali e di gruppo a momenti di riflessione e condivisione, con un’impostazione fortemente esperienziale. Progetteremo insieme momenti coinvolgenti e trasformativi utilizzando dei casi reali. ![people in classroom](https://www.avanscoperta.it/wp-content/uploads/2026/01/106-200x300.jpg)![workshop materials](https://www.avanscoperta.it/wp-content/uploads/2026/01/110-200x300.jpg)![workshop materials](https://www.avanscoperta.it/wp-content/uploads/2026/01/109-200x300.jpg)![Persona seduta a un tavolo](https://www.avanscoperta.it/wp-content/uploads/2026/01/113-e1769174736315-216x300.jpg) **Categories:** A calendario, A catalogo **Tags:** Experience Design, Learning Design --- ### [Experience Design Workshop](https://www.avanscoperta.it/en/training/experience-design-workshop/) **Published:** January 23, 2026 **Author:** Alessandra Granaudo **Excerpt:** Un workshop intensivo di un giorno per imparare a progettare esperienze memorabili, coinvolgenti e trasformative, usando il modello delle 5E. **Content:** Cosa resta davvero alle persone dopo un evento, un workshop, una riunione, un incontro aziendale? I contenuti sono la parte più immediatamente visibile; le relazioni, le emozioni, l’esperienza sono la parte complessa, quella per la quale è richiesta una progettazione intenzionale. Perché la qualità delle esperienze che viviamo influenza la nostra capacità di connetterci, crescere e cambiare. L’esperienza non è solo ciò che accade, ma ciò che resta nelle persone. Quella sensazione difficile da nominare che continua a lavorare dentro, anche quando un evento è finito. Una traccia capace di orientare pensieri, decisioni e comportamenti. Come spostare, quindi, il focus dalla progettazione di prodotti e servizi alla progettazione di esperienze? In *Experience Design Workshop,* con i docenti [Ivano Masiero](https://www.avanscoperta.it/it/trainer/ivano-masiero/) e [Alessandra Granaudo](https://www.avanscoperta.it/it/trainer/alessandra-granaudo/), praticheremo l’arte di progettare esperienze per amplificare le connessioni significative tra persone, contenuti e spazi. Un approccio che mette al centro la relazione, intesa come struttura portante del progetto e non come effetto collaterale. *Experience Design Workshop* è il corso intensivo di una giornata dedicato a chi vuole capire cosa significhi pensare e progettare per esperienze e imparare a progettare esperienze di significato. ## I Docenti **Ivano Masiero** è formatore, Learning Designer e Agile Team Coach. Ivano progetta e facilita esperienze formative ed eventi ad alto impatto umano e relazionale. Co-fondatore di [Kitto](https://www.kitto.be/kitto/), “una scatola piena di cose dentro per fare delle cose fuori” per introdurre un approccio nuovo alla formazione multisensoriale e alla creazione di vere e proprie learning experiences. **Alessandra Granaudo** è Training Manager in Avanscoperta e organizzatrice seriale di eventi (per lavoro e per piacere). Progetta e coordina esperienze di apprendimento che aiutano persone e organizzazioni a crescere e a raggiungere i propri obiettivi, con uno sguardo curioso sulle dinamiche di gruppo e sulla facilitazione. ## Cosa impareremo In questo corso allenerai la capacità di: - progettare connessioni, passando dalla domanda “cosa deve succedere?” a “che cosa deve restare alle persone quando l’esperienza è finita?” - mettere al centro le emozioni e le persone, coltivando la curiosità per chi vive l’esperienza - utilizzare spazio, tempo, atmosfera, strumenti per creare contesti unici. Uscirai da questo corso con una piccola cassetta degli attrezzi di metodi di facilitazione ed experience design (come il modello delle 5E) immediatamente applicabili a workshop, eventi, iniziative organizzative e percorsi formativi volti a generare coinvolgimento, senso e trasformazione. ## A chi è rivolto Experience Design Workshop è pensato per chiunque voglia progettare esperienze memorabili e significative. In particolare è rivolto a: - **L&D Professional & Trainer**, per progettare esperienze di apprendimento coinvolgenti, intenzionali e trasformative. - **HR, People & Culture ed Employer Branding**, per progettare momenti chiave della vita organizzativa (onboarding, percorsi per talenti, eventi interni, team building) e curare l’esperienza vissuta dalle persone, non solo i contenuti o i format. - **Event Manager**, per chi progetta eventi, conferenze, format formativi o culturali e vuole passare dal design del programma al design dell’esperienza. - **Customer Experience & Service Designer**, per chi progetta l’esperienza delle persone in negozi, hotel, spazi di accoglienza e luoghi di servizio, e vuole creare esperienze coerenti, memorabili e significative. - **Change Maker, Consulenti e Agile Coach**, per chi affianca team e organizzazioni nei processi di trasformazione, progettando e facilitando esperienze intenzionali (workshop, rituali, momenti di allineamento e apprendimento). ## Agenda Durante la giornata di corso vivremo cosa significa spostare il focus dal design dei contenuti al design delle esperienze. Lavoreremo su un cambio di prospettiva fondamentale: progettare non solo ciò che deve accadere, ma soprattutto ciò che deve restare. Praticheremo cosa significa spostare la progettazione dai contenuti alle connessioni; dai processi a ciò che le persone vivono e sentono; dalla performance all’intenzionalità esperienziale. Utilizzeremo il modello delle “5E” (il framework proposto da Larry Keeley e poi sviluppato da Kaospilot) come bussola per progettare esperienze pluridimensionale, intenzionali, significative, trasformative, capaci di generare senso, relazione e cambiamento reale. L’intero corso è progettato e condotto utilizzando il modello delle 5E e secondo i principi di [Training from the Back of the Room](https://www.avanscoperta.it/it/training/training-from-the-back-of-the-room-workshop-italiano/). ## Come si svolge In *Experience Design Workshop* alterniamo attività pratiche individuali e di gruppo a momenti di riflessione e condivisione, con un’impostazione fortemente esperienziale. Progetteremo insieme momenti coinvolgenti e trasformativi utilizzando dei casi reali. ![people in classroom](https://www.avanscoperta.it/wp-content/uploads/2026/01/106-200x300.jpg)![workshop materials](https://www.avanscoperta.it/wp-content/uploads/2026/01/110-200x300.jpg)![workshop materials](https://www.avanscoperta.it/wp-content/uploads/2026/01/109-200x300.jpg)![Persona seduta a un tavolo](https://www.avanscoperta.it/wp-content/uploads/2026/01/113-e1769174736315-216x300.jpg) **Categories:** On demand, Scheduled --- ### [Domain-Driven Design Executive View Training](https://www.avanscoperta.it/en/training/domain-driven-design-executive-view-training/) **Published:** May 26, 2020 **Author:** Alessandra Granaudo **Excerpt:** In this online session, we'll be building a map of the challenges of a complex enterprise software ecosystem and see where Domain-Driven Design can help and how. **Content:** There are many reasons to move towards Domain-Driven Design, but not all are deeply understood or explained. In this online session with Alberto Brandolini, we’ll dig into[ Domain-Driven Design](https://www.avanscoperta.it/en/learning-domain-driven-design/) from a socio-technical perspective, highlighting the links between approaches to software development, approaches to planning and recruiting up to business accounting. Domain-Driven Design is not a software architecture but an approach to software development that connects business goals to outstanding results, mixing technical excellence with a human-friendly perspective. ## Agenda The workshop is a 3-hour online session (with breaks), plus a chill-out time at the end. It’s designed to be interactive without wasting precious time. We’ll build a map of your challenges in a complex enterprise software ecosystem and see where Domain-Driven Design can help and how. We’ll showcase the key pillars of Domain-Driven Design to trigger discussion from the participants’ perspectives. Be sure to bring your objections! We’ll run short games and activities to give a taste of the dynamics of a collaborative modelling session. The closing would be about connecting the dots with your current challenges, previous exposure and war stories with Domain-Driven Design and other approaches. ## Target audience We designed this format for strategic decision-makers who need a first-hand deep summary of Domain-Driven Design without getting lost in the technical jargon. ## Learning Objectives - Understand why Domain-Driven Design matters in a software organisation. - Understand 360° consequences and impediments to a [Domain-Driven Design adoption](https://www.youtube.com/watch?v=hVK5swIL1_g&list=PLdINRwflMgm_C6or7HPBs6d_ElGAU3AiQ). - Understand alternatives to the pains we’re used to in software development projects. ## How it works The workshop will take place on Zoom, with participation activities happening on Miro. We recommend keeping the camera on during the workshop to make the experience more enjoyable. **Categories:** On demand **Tags:** Domain-Driven Design, EventStorming --- ### [Domain-Driven Design Modelling Workshop](https://www.avanscoperta.it/en/training/domain-driven-design-modelling-workshop/) **Published:** October 1, 2018 **Author:** Alessandra Granaudo **Excerpt:** Domain-Driven Design promotes a tighter alignment between business stakeholders and software practitioners. Join Alberto Brandolini's Workshop and learn a different approach for critical software development. **Content:** Large-scale software development projects often fail to deliver the expected value. Release after release, the resulting stack becomes unsafe and harder to change. Even worse, the fragility of the existing system pollutes the ecosystem: relevant business requests might be procrastinated due to a lack of safety, while talented developers may be tempted to leave. **Domain-Driven Design** attacks these problems from the source by promoting a **tighter alignment between business stakeholders and software practitioners**, and a different approach for critical software development. ## Target audience The class progressively shifts from general purpose to technical topics. - Software Architect - Software Developer - Analyst - PM - CTO ## Program and Agenda ### Day 1 – A different game **State-of-the-art Domain-Driven Design** What matters now and why. A different approach to software development: a new mindset makes DDD a perfect match for critical projects. **Exploring large and complex domain with Big Picture EventStorming.** See and touch how different subdomains cooperate and how a business-driven structure for the software infrastructure spontaneously emerge from stakeholders collaboration. **Strategic DDD: the big picture.** Where and when we should approach a complex software development process with Domain-Driven Design. Core Domain, Supporting e Generic Subdomains. Strategic Distillation. **Core Domain Strategies**: managing collaboration between developers and other key stakeholders. Debunking myths about the Domain Expert. DDD as an approach to software development process: ubiquitous language and Whirlpool model. How DDD meets Agile, Lean and Theory of Constraints. ### Day 2 – System dynamics. **Discovery of the system’s behavioural model**. Using Design-Level EventStorming to model critical processes and understand stakeholders needs and motivation. **Managing Bounded Contexts**: how to make multiple models co-evolve and cooperate, without trade-offs that we’ll one day regret. **Brownfield Context Mapping**: how to quickly read the implementation scenario, and how to choose the best strategies to lead implementation. Context Mapping Patterns. Reading organisations structures and limitations. **Greenfield Context Mapping**: strategies to manage models of growing complexity. Why, when and how to split our models. The three archetypes and their implementing patterns. ### Day 3 – Architecture & software **Which architectures for DDD?** Different implementation approaches: DDD by-the-book, Hexagonal (AKA ports and adapters), Event Sourcing and CQRS. How does it match with current software architecture paradigms? **Aggregate emersion.** Evolution of different implementation strategies since 2004. Which are the best strategies given our current technology stack? **Event Driven Modelling**: modelling a complex architecture outside-in. Patterns for discovery and modelling of a Domain Events based system. **Modelling our way out of the legacy**: how common flaws in past approaches to modelling paved the way to repeatable strategies for large system refractoriness in the sweet spot. **Q & A**: topic marketplace on the hottest topics, managed in a Kanban fashion. **Categories:** On demand, Scheduled **Tags:** CQRS, DDD, Domain-Driven Design, Event Sourcing, EventStorming --- ### [Training from the BACK of the Room! Workshop](https://www.avanscoperta.it/it/training/training-from-the-back-of-the-room-workshop-italiano/) **Published:** February 22, 2023 **Author:** Alessandra Granaudo **Excerpt:** Training from the BACK of the Room! Practitioner Class è un corso per la formazione e lo sviluppo di competenze specifiche relative all’apprendimento. Scopri come il nostro cervello impara le cose davvero, a favore di una visione dell'educazione più adatta agli adulti che vogliono imparare. **Content:** Come si progettano esperienze formative complete, interattive e capaci di avere impatto su chi è in aula? Come creare sessioni efficaci e coinvolgenti? I paradigmi tradizionali di formazione prevedono che il docente o la docente parli e gli studenti stiano in silenzio. Questo risulta piuttosto inefficace, specialmente nella formazione degli adulti. [*Training from the BACK of the Room (TBR) – Practitioner Class*](https://bowperson.com/training-from-the-back-of-the-room/) è il corso di fama internazionale, creato da Sharon Bowman, per la formazione e lo sviluppo di competenze specifiche relative all’apprendimento. Partendo da argomenti relativi alle neuroscienze cognitive, ossia i concetti di brain science che fanno da fondamento a tutti i percorsi realmente efficaci di formazione e di apprendimento, il corso TBR ti permetterà di guardare l’aula da una prospettiva diversa. Avrai la possibilità di sperimentare un approccio moderno alla progettazione e di costruire esperienze formative sfruttando metodi, trucchi, esempi e suggerimenti testati da centinaia di practitioner in tutto il mondo. Il corso è rivolto a trainer, docenti, istruttori, coach aziendali, facilitatori e chiunque abbia il compito di favorire lo scambio di conoscenza tra le persone. In questi due giorni con Marco Dussin, trainer TBR certificato, scoprirai come il cervello impara le cose “per davvero”, mettendo in discussione la visione classica e scolastica dell’apprendimento (basata sull’ascolto passivo di nozioni) a favore di una visione più andragogica, quindi più adatta agli adulti. ## Cosa impareremo - Applicare i Six Trumps – sei principi di apprendimento basati sulle neuroscienze utili a migliorare sensibilmente apprendimento e memorizzazione dei concetti a prescindere dall’argomento trattato. - Combinare l’utilizzo dei principi di neuroscienza alla tecnologia per creare momenti di apprendimento creativi e collaborativi. - Implementare la 4Cs Map, un potente modello di progettazione ed erogazione di percorsi formativi, per progettare qualsiasi tipo di training o presentazione; - Utilizzare nuovi strumenti, spunti e attività nelle tue attività di trainer, create e sperimentate durante il corso in aula. - Aiutare le persone ad apprendere al meglio, che si tratti di lezioni in aula, online, da remoto, sessioni one-to-one, lavori di gruppo, presentazioni. - Al completamento del corso, avrai accesso alla community internazionale di TBR Practitioners su Slack, nella quale ti potrai confrontare, potrai trovare e condividere risorse, e continuare a imparare anche dopo la fine del workshop. ## Docente [Marco Dussin](https://www.avanscoperta.it/it/trainer/marco-dussin/): *Certified Trainer* in Training from the BACK of the Room. Una delle passioni di Marco è fare formazione esplorando e progettando esperienze di apprendimento basate sul modo in cui il nostro cervello impara per davvero. ![Training from the BACK of the Room! Book cover](https://www.avanscoperta.it/wp-content/uploads/2023/02/training-from-the-back-of-the-room-book-e1742220594940-261x300.jpg)L’incontro con *Training from the BACK of the Room*, il libro di Sharon Bowman prima e il corso dopo, gli ha aperto mondi. Gli piace giocare, seriamente: ritiene che le nostre mani sono l’estensione naturale del nostro cervello e il gioco permette di massimizzare qualità e quantità di apprendimento, entrando in relazione con gli altri. Siamo fatti così, da migliaia di anni. Marco è un grande appassionato di approcci basati sulla sperimentazione, vero antidoto naturale contro l’incertezza. Quella stessa incertezza che richiede un significativo cambiamento nel modo di pensare il management. ## Target Audience Training from the BACK of the Room! Practitioner Class si rivolge a: - insegnanti, facilitatori e coach, che desiderano sperimentare nuovi modi per progettare ed erogare le loro esperienze formative; - scrum master, project managers, responsabili di innovazione di prodotto, team leaders e chiunque abbia il compito di favorire lo scambio di conoscenza tra le persone; - HR, promotori di iniziative di L&D, responsabili della formazione aziendale, che abbiano il desiderio di comprendere meglio le strategie che rendono la formazione efficace, coinvolgente ed adatta al target aziendale, per creare non solo percorsi formativi, ma una profonda *learning culture*; - learning designers che desiderino aggiungere alle loro competenze anche la partecipazione a una masterclass prestigiosa come TBR; - chiunque abbia già qualsiasi tipo di esperienza di insegnamento; - chiunque desideri iniziare a mettersi in gioco nell’ambito dell’insegnamento con un corso propedeutico, strutturato e completo. ## Agenda ### Day 1 - Attività di connessione (con gli altri studenti, con il contenuto e con gli obiettivi di apprendimento) - Prepariamoci al successo - Gli strumenti del trainer - I Six Trumps – sei principi di apprendimento basati sulle neuroscienze - Come impariamo: miti e fatti - Usiamo i centri concettuali come metodo di insegnamento - Mettiamo in pratica gli strumenti del trainer e i principi di neuroscienza - Attività conclusive (riassunto della giornata e discussione sull’apprendimento, piano d’azione) ### Day 2 - Dissonanza cognitiva, Sistema di attivazione reticolare e il Cervello Trino - Introduzione all’Apprendimento Accelerato e le 4c – modelli di design ed erogazione - Indicazioni generali di design ed erogazione - Creiamo una mappa 4C – prima bozza - Compito pratico – progetta la tua sessione di training (utilizzando gli strumenti del trainer e applicando la 4Cs Map a un argomento specifico) - Attività conclusive (riassunto della giornata e discussione sull’apprendimento, piano d’azione, celebrazione). ## Come si svolge Lo scopo del corso è aiutarti a creare la tua personale “cassetta degli attrezzi” di strategie di trasmissione della conoscenza e attivazione dell’apprendimento. Durante il workshop, farai esperienza in prima persona di tutto ciò che imparerai, compresi i sei grandi principi di neuroscienza che rendono l’apprendimento brain-based e incentrato sul discente così efficace e interessante, chiamati Six Trumps. Imparerai così a creare attività che ti aiutino non soltanto in classe o nella creazione di percorsi formativi, ma nella pratica continua di una learning culture profonda e reale. Progetterai già in aula i tuoi percorsi formativi, usando un argomento di tua scelta, i tuoi strumenti e un modello di design di attività formative chiamato “la mappa delle 4C” (4Cs Map). Tutte le strategie interattive e *brain-based* che svolgeremo durante il workshop sono indipendenti dal contenuto: sarai in grado di applicarle a qualsiasi contesto, persino i più tecnici o quelli apparentemente più ostici. ## Requisiti Il requisito richiesto è il desiderio di mettersi in gioco e condividere con i partecipanti esperienze e conoscenze. Prima del workshop, ti chiederemo di completare alcuni piccoli esercizi di preparazione. Il completamento di almeno qualcuna delle attività propedeutiche è fortemente consigliato. **Categories:** A calendario, A catalogo **Tags:** Education, Learning, TBR, Training for Trainers, Training from the back of the room --- ### [Training from the BACK of the Room! Workshop](https://www.avanscoperta.it/en/training/training-from-the-back-of-the-room-workshop-italiano/) **Published:** February 22, 2023 **Author:** Alessandra Granaudo **Excerpt:** Training from the BACK of the Room! Practitioner Class è un corso per la formazione e lo sviluppo di competenze specifiche relative all’apprendimento. Scopri come il nostro cervello impara le cose davvero, a favore di una visione dell'educazione più adatta agli adulti che vogliono imparare. **Content:** Come si progettano esperienze formative complete, interattive e capaci di avere impatto su chi è in aula? Come creare sessioni efficaci e coinvolgenti? I paradigmi tradizionali di formazione prevedono che il docente o la docente parli e gli studenti stiano in silenzio. Questo risulta piuttosto inefficace, specialmente nella formazione degli adulti. [*Training from the BACK of the Room (TBR) – Practitioner Class*](https://bowperson.com/training-from-the-back-of-the-room/) è il corso di fama internazionale, creato da Sharon Bowman, per la formazione e lo sviluppo di competenze specifiche relative all’apprendimento. Partendo da argomenti relativi alle neuroscienze cognitive, ossia i concetti di brain science che fanno da fondamento a tutti i percorsi realmente efficaci di formazione e di apprendimento, il corso TBR ti permetterà di guardare l’aula da una prospettiva diversa. Avrai la possibilità di sperimentare un approccio moderno alla progettazione e di costruire esperienze formative sfruttando metodi, trucchi, esempi e suggerimenti testati da centinaia di practitioner in tutto il mondo. Il corso è rivolto a trainer, docenti, istruttori, coach aziendali, facilitatori e chiunque abbia il compito di favorire lo scambio di conoscenza tra le persone. In questi due giorni con Marco Dussin, trainer TBR certificato, scoprirai come il cervello impara le cose “per davvero”, mettendo in discussione la visione classica e scolastica dell’apprendimento (basata sull’ascolto passivo di nozioni) a favore di una visione più andragogica, quindi più adatta agli adulti. ## Cosa impareremo - Applicare i Six Trumps – sei principi di apprendimento basati sulle neuroscienze utili a migliorare sensibilmente apprendimento e memorizzazione dei concetti a prescindere dall’argomento trattato. - Combinare l’utilizzo dei principi di neuroscienza alla tecnologia per creare momenti di apprendimento creativi e collaborativi. - Implementare la 4Cs Map, un potente modello di progettazione ed erogazione di percorsi formativi, per progettare qualsiasi tipo di training o presentazione; - Utilizzare nuovi strumenti, spunti e attività nelle tue attività di trainer, create e sperimentate durante il corso in aula. - Aiutare le persone ad apprendere al meglio, che si tratti di lezioni in aula, online, da remoto, sessioni one-to-one, lavori di gruppo, presentazioni. - Al completamento del corso, avrai accesso alla community internazionale di TBR Practitioners su Slack, nella quale ti potrai confrontare, potrai trovare e condividere risorse, e continuare a imparare anche dopo la fine del workshop. ## Docente [Marco Dussin](https://www.avanscoperta.it/it/trainer/marco-dussin/): *Certified Trainer* in Training from the BACK of the Room. Una delle passioni di Marco è fare formazione esplorando e progettando esperienze di apprendimento basate sul modo in cui il nostro cervello impara per davvero. ![Cover of the book training fro the back of the room](https://www.avanscoperta.it/wp-content/uploads/2023/02/training-from-the-back-of-the-room-book-e1742220594940-261x300.jpg)L’incontro con *Training from the BACK of the Room*, il libro di Sharon Bowman prima e il corso dopo, gli ha aperto mondi. Gli piace giocare, seriamente: ritiene che le nostre mani sono l’estensione naturale del nostro cervello e il gioco permette di massimizzare qualità e quantità di apprendimento, entrando in relazione con gli altri. Siamo fatti così, da migliaia di anni. Marco è un grande appassionato di approcci basati sulla sperimentazione, vero antidoto naturale contro l’incertezza. Quella stessa incertezza che richiede un significativo cambiamento nel modo di pensare il management. ## Target Audience Training from the BACK of the Room! Practitioner Class si rivolge a: - insegnanti, facilitatori e coach, che desiderano sperimentare nuovi modi per progettare ed erogare le loro esperienze formative; - scrum master, project managers, responsabili di innovazione di prodotto, team leaders e chiunque abbia il compito di favorire lo scambio di conoscenza tra le persone; - HR, promotori di iniziative di L&D, responsabili della formazione aziendale, che abbiano il desiderio di comprendere meglio le strategie che rendono la formazione efficace, coinvolgente ed adatta al target aziendale, per creare non solo percorsi formativi, ma una profonda *learning culture*; - learning designers che desiderino aggiungere alle loro competenze anche la partecipazione a una masterclass prestigiosa come TBR; - chiunque abbia già qualsiasi tipo di esperienza di insegnamento; - chiunque desideri iniziare a mettersi in gioco nell’ambito dell’insegnamento con un corso propedeutico, strutturato e completo. ## Agenda ### Day 1 - Attività di connessione (con gli altri studenti, con il contenuto e con gli obiettivi di apprendimento) - Prepariamoci al successo - Gli strumenti del trainer - I Six Trumps – sei principi di apprendimento basati sulle neuroscienze - Come impariamo: miti e fatti - Usiamo i centri concettuali come metodo di insegnamento - Mettiamo in pratica gli strumenti del trainer e i principi di neuroscienza - Attività conclusive (riassunto della giornata e discussione sull’apprendimento, piano d’azione) ### Day 2 - Dissonanza cognitiva, Sistema di attivazione reticolare e il Cervello Trino - Introduzione all’Apprendimento Accelerato e le 4c – modelli di design ed erogazione - Indicazioni generali di design ed erogazione - Creiamo una mappa 4C – prima bozza - Compito pratico – progetta la tua sessione di training (utilizzando gli strumenti del trainer e applicando la 4Cs Map a un argomento specifico) - Attività conclusive (riassunto della giornata e discussione sull’apprendimento, piano d’azione, celebrazione). ## Come si svolge Lo scopo del corso è aiutarti a creare la tua personale “cassetta degli attrezzi” di strategie di trasmissione della conoscenza e attivazione dell’apprendimento. Durante il workshop, farai esperienza in prima persona di tutto ciò che imparerai, compresi i sei grandi principi di neuroscienza che rendono l’apprendimento brain-based e incentrato sul discente così efficace e interessante, chiamati Six Trumps. Imparerai così a creare attività che ti aiutino non soltanto in classe o nella creazione di percorsi formativi, ma nella pratica continua di una learning culture profonda e reale. Progetterai già in aula i tuoi percorsi formativi, usando un argomento di tua scelta, i tuoi strumenti e un modello di design di attività formative chiamato “la mappa delle 4C” (4Cs Map). Tutte le strategie interattive e *brain-based* che svolgeremo durante il workshop sono indipendenti dal contenuto: sarai in grado di applicarle a qualsiasi contesto, persino i più tecnici o quelli apparentemente più ostici. ## Requisiti Il requisito richiesto è il desiderio di mettersi in gioco e condividere con i partecipanti esperienze e conoscenze. Prima del workshop, ti chiederemo di completare alcuni piccoli esercizi di preparazione. Il completamento di almeno qualcuna delle attività propedeutiche è fortemente consigliato. **Categories:** On demand, Scheduled **Tags:** Education, Learning, TBR, Training for Trainers, Training from the back of the room --- ### [AI-powered Domain-Driven Design](https://www.avanscoperta.it/it/training/ai-powered-domain-driven-design/) **Published:** February 27, 2026 **Author:** Alessandra Granaudo **Excerpt:** Learn to combine Domain-Driven Design with AI coding assistants with Alberto Brandolini. Model complex business software, optimize workflows, and integrate AI into professional development. **Content:** *Bridging the gap between strategic Domain-Driven Design and AI implementation to transform LLMs into architecturally-consistent engineering partners. Because a faster shovel just helps you dig a bigger Big Ball of Mud.* Modern AI-powered coding assistants change the rules of the game in software development, promising faster code delivery. But speed is useless without control. Domain-Driven Design highlighted that coding was rarely the bottleneck when writing business software. Complex and evolving requirements, and the need to learn the business domain, were the driving forces behind clean model separation and a robust architectural foundation. Can the two approaches coexist? And if so, what’s the best way to leverage the strengths of both? In this *AI-powered Domain-Driven Design* workshop with [Alberto Brandolini,](https://www.avanscoperta.it/en/trainer/a-brandolini/) we combine the power of modern AI tools where they have the most impact, while still maximizing learning through hands-on activities. We apply model decomposition to work within the constraints of the LLM context window and fine-tune workflows and architectures to meet the specific requirements of the models. ## Learning Objectives - Building DDD-aware high-performing code faster, leveraging AI-powered coding assistants. - Building actionable workflows for professional business software development. - Balancing lo-fi, hands-on, and AI-powered, understanding the strengths and pitfalls of each approach. ## The Trainer Alberto Brandolini is the creator of the [EventStorming](https://www.avanscoperta.it/en/eventstorming/) format, and will hide no secrets from a curious mind. A software architect with 20+ years of experience in Domain-Driven Design, a system thinker, entrepreneur, and facilitator, he will help you see the connections and the frictions between the different disciplines. His book [Introducing EventStorming ](https://leanpub.com/introducing_eventstorming)is probably the most successful unfinished book on the Leanpub platform. ## Target Audience - Software professionals embarking on a Domain-Driven Design journey. - Experts looking for new challenges. The field is vast; we expect participants to know enough about DDD, software craftsmanship, and AI-assisted coding so they are not surprised. We’ll cover the basics, but being a novice in all three fields will make your experience less enjoyable. In 2026, going to a “pure” DDD training would feel like old-fashioned. But that’s not the case. ## Topics - Discovering domain complexity: learning collaboratively with EventStorming. - How do we learn? Balancing digital and hands-on experiences. - Context Mapping. Decomposing the system into independent models. - Leverage Bounded Contexts to build loosely coupled architectures. - Acceptance tests as completion criteria. - Building sophisticated domain models, assisted by AI. Discipline and pitfalls. - Designing implementation workflows for AI-assisted business software development. - Build and fine-tune feedback loops. ## Agenda ### Day 1 – Learning domain complexity - How does our brain work? The case for DDD and the case for AI. - Large-scale domain exploration with Big Picture EventStorming - Extracting strategic information from our model. ### Day 2 – Model decomposition - Context Mapping in action. Heuristics for Brownfield and greenfield scenarios. - Leveraging bounded contexts to build an AI-friendly environment. - Acceptance tests to drive AI-assisted implementation ### Day 3 – Architectural Choices - Choosing the right option for your bounded context. - The Three Archetypes: Draft, Execute, Observe. - Modelling cross-cutting processes. ### Day 4 – managing Full Stack - Implementing a Robust UI. - Workflows for different scenarios. - Code-level Feedback - UI-level feedback. - Where to go next? ## How it works In this 4-day workshop, we’ll start with a deep exploration of a complex business domain, then refine our model to enable faster AI-supported implementation loops. We’ll build a non-trivial full-stack application on a modulith architecture, solving non-trivial business problems, and testing DDD principles against the new AI-propelled paradigm. **Categories:** A calendario, A catalogo **Tags:** Artificial Intelligence, Domain-Driven Design --- ### [AI-powered Domain-Driven Design](https://www.avanscoperta.it/en/training/ai-powered-domain-driven-design/) **Published:** February 27, 2026 **Author:** Alessandra Granaudo **Excerpt:** Learn to combine Domain-Driven Design with AI coding assistants with Alberto Brandolini. Model complex business software, optimize workflows, and integrate AI into professional development. **Content:** *Bridging the gap between strategic Domain-Driven Design and AI implementation to transform LLMs into architecturally-consistent engineering partners. Because a faster shovel just helps you dig a bigger Big Ball of Mud.* Modern AI-powered coding assistants change the rules of the game in software development, promising faster code delivery. But speed is useless without control. Domain-Driven Design highlighted that coding was rarely the bottleneck when writing business software. Complex and evolving requirements, and the need to learn the business domain, were the driving forces behind clean model separation and a robust architectural foundation. Can the two approaches coexist? And if so, what’s the best way to leverage the strengths of both? In this *AI-powered Domain-Driven Design* workshop with [Alberto Brandolini,](https://www.avanscoperta.it/en/trainer/a-brandolini/) we combine the power of modern AI tools where they have the most impact, while still maximizing learning through hands-on activities. We apply model decomposition to work within the constraints of the LLM context window and fine-tune workflows and architectures to meet the specific requirements of the models. ## Learning Objectives - Building DDD-aware high-performing code faster, leveraging AI-powered coding assistants. - Building actionable workflows for professional business software development. - Balancing lo-fi, hands-on, and AI-powered, understanding the strengths and pitfalls of each approach. ## The Trainer Alberto Brandolini is the creator of the [EventStorming](https://www.avanscoperta.it/en/eventstorming/) format, and will hide no secrets from a curious mind. A software architect with 20+ years of experience in Domain-Driven Design, a system thinker, entrepreneur, and facilitator, he will help you see the connections and the frictions between the different disciplines. His book [Introducing EventStorming ](https://leanpub.com/introducing_eventstorming)is probably the most successful unfinished book on the Leanpub platform. ## Target Audience - Software professionals embarking on a Domain-Driven Design journey. - Experts looking for new challenges. The field is vast; we expect participants to know enough about DDD, software craftsmanship, and AI-assisted coding so they are not surprised. We’ll cover the basics, but being a novice in all three fields will make your experience less enjoyable. In 2026, going to a “pure” DDD training would feel like old-fashioned. But that’s not the case. ## Topics - Discovering domain complexity: learning collaboratively with EventStorming. - How do we learn? Balancing digital and hands-on experiences. - Context Mapping. Decomposing the system into independent models. - Leverage Bounded Contexts to build loosely coupled architectures. - Acceptance tests as completion criteria. - Building sophisticated domain models, assisted by AI. Discipline and pitfalls. - Designing implementation workflows for AI-assisted business software development. - Build and fine-tune feedback loops. ## Agenda ### Day 1 – Learning domain complexity - How does our brain work? The case for DDD and the case for AI. - Large-scale domain exploration with Big Picture EventStorming - Extracting strategic information from our model. ### Day 2 – Model decomposition - Context Mapping in action. Heuristics for Brownfield and greenfield scenarios. - Leveraging bounded contexts to build an AI-friendly environment. - Acceptance tests to drive AI-assisted implementation ### Day 3 – Architectural Choices - Choosing the right option for your bounded context. - The Three Archetypes: Draft, Execute, Observe. - Modelling cross-cutting processes. ### Day 4 – managing Full Stack - Implementing a Robust UI. - Workflows for different scenarios. - Code-level Feedback - UI-level feedback. - Where to go next? ## How it works In this 4-day workshop, we’ll start with a deep exploration of a complex business domain, then refine our model to enable faster AI-supported implementation loops. We’ll build a non-trivial full-stack application on a modulith architecture, solving non-trivial business problems, and testing DDD principles against the new AI-propelled paradigm. **Categories:** On demand, Scheduled **Tags:** Artificial Intelligence, Domain-Driven Design --- ### [Architecture for Flow Workshop](https://www.avanscoperta.it/it/training/architecture-for-flow-workshop/) **Published:** December 11, 2025 **Author:** Alessandra Granaudo **Excerpt:** Join the Architecture for Flow Workshop to align strategy, architecture, and teams. Learn how to integrate Wardley Mapping, Domain-Driven Design, and Team Topologies to design adaptive socio-technical systems that deliver faster business impact and improve organizational decision-making. **Content:** *Combining Wardley Mapping, Domain-Driven Design, and Team Topologies into a single, coherent approach.* Modern organizations face constant pressure to evolve. But changing strategy, redesigning systems, or reorganizing teams in isolation rarely improves the performance of the whole. Most improvement efforts fail because they optimize in the wrong place: teams reorganize without changing architecture, architecture evolves without a link to strategy, strategy shifts without understanding the landscape. This leads to familiar symptoms: - Slow delivery and long lead times - Teams stepping on each other’s work - Architecture that’s too hard to change - Legacy friction everywhere - Conflicting priorities across departments - A lot of activity, but little real progress. You’re not alone. These problems are systemic. They are socio-technical. And they cannot be fixed by looking at only one part of the system. *Architecture for Flow* gives you a coherent way to connect strategy, software design, and team organization so your system can adapt, continuously and sustainably. It brings together three powerful perspectives: Wardley Mapping (understand your landscape and strategic options), Domain-Driven Design (discover domains, boundaries, and models), and Team Topologies (design teams and interactions for sustainable flow). Join [Susanne Kaiser](https://www.avanscoperta.it/en/trainer/susanne-kaiser/)‘s *Architecture for Flow Workshop* and learn how these perspectives fit together to help organisations move with clarity and alignment. ## Learning Objectives You will learn: - How to combine Wardley Mapping, Domain-Driven Design, and Team Topologies as a holistic approach - Design adaptive, socio-technical systems optimized for flow of change - Apply the Architecture for Flow Canvas to your organization - Connect business strategy with software design and architecture, and team organization. By the end of these 4 half-day sessions, you will gain not just techniques, but a way of thinking that supports continuous adaptation. ![Architecture for Flow book cover with an octopus](https://www.avanscoperta.it/wp-content/uploads/2025/11/Architecture-for-Flow-Book-cover-Susanne-Kaiser-229x300.jpg) ## The Trainer Susanne Kaiser helps organizations design adaptive socio-technical systems using Wardley Mapping, Domain-Driven Design, and Team Topologies. *«Susanne Kaiser writes with the precision of an architect and the care of a guide»* as Xin Yao wrote. Her book, [*Architecture for Flow*](https://architectureforflow.com/) (Addison-Wesley Signature Series, 2025), brings these disciplines together into a coherent model for navigating complex, evolving systems. ## Target Audience Is this workshop for you? You will find this workshop valuable if you: - Work in technical leadership or architecture roles - Lead teams that build or evolve complex systems - Support organizational change or transformation initiatives - Need a holistic approach to aligning strategy, architecture, and teams - Want practical ways to reduce friction and accelerate flow. Common roles include: Software architects, tech leads, engineering managers, domain experts, system designers, product leaders, transformation coaches. ## Agenda This workshop takes you through four connected modules. Each builds on the previous one so you can see the system as a whole. ### Module 1 – Wardley Mapping Fundamentals - Understanding the Strategy Cycle of Wardley Mapping - Starting with the Why of Business: The Purpose - Visualizing the Business Landscape with a Wardley Map - Creating a Wardley Map - Understanding Climatic Patterns - Applying Doctrinal Principles - Identifying Strategic Opportunities: Leadership and Gameplay. ### Module 2 – Strategic Domain-Driven Design - Exploring DDD patterns & practices as part of the value chain - Domain models and bounded contexts - EventStorming Formats - Mapping bounded contexts to evolution stages - Assessing change coupling with Context Maps. ### Module 3 – Team Topologies Essentials - Why functional silo teams create friction - Requirements for flow optimization - The fundamental team types of Team Topologies - The team Interaction modes. ### Module 4 – Connecting the Dots: Architecture for Flow - Combining Team Topologies with Wardley Mapping and DDD - Applying the Architecture for Flow Canvas - Working through a legacy system scenario - Seeing how strategy → architecture → teams align. ## How it works The Architecture for Flow Workshop provides hands-on exercises, collaborative mapping and modeling sessions, and guided scenarios based on prepared examples. Participants don’t just learn the ideas of the three perspectives, but also learn how to apply them in a coherent way to their own contexts. This isn’t a standard training on DDD, Wardley Mapping, or Team Topologies. You will: - Learn how all three methods work together to optimize flow and alignment - Apply concepts to real scenarios rather than theory - Use the Architecture for Flow Canvas to integrate strategy, domains, and team structures - Leave with maps, templates, and models you can apply immediately - Gain a practical mindset for continuous adaptation. ### F.A.Q. *Do I need to know something beforehand in order to participate in this workshop?* No prior experience with Wardley Mapping, Domain-Driven Design, or Team Topologies is required. While some familiarity with any of these approaches can be helpful, the workshop is designed to be accessible for participants at all levels. *How can I prepare to take the course? Recommended readings? Other?* If you would like to prepare in advance, my book Architecture for Flow (Pearson, 2025) offers a comprehensive foundation for the concepts we will explore in the workshop. However, it’s not required reading; we will cover the essential concepts during the workshop. **Categories:** A catalogo --- ### [Architecture for Flow Workshop](https://www.avanscoperta.it/en/training/architecture-for-flow-workshop/) **Published:** December 11, 2025 **Author:** Alessandra Granaudo **Excerpt:** Join the Architecture for Flow Workshop to align strategy, architecture, and teams. Learn how to integrate Wardley Mapping, Domain-Driven Design, and Team Topologies to design adaptive socio-technical systems that deliver faster business impact and improve organizational decision-making. **Content:** *Combining Wardley Mapping, Domain-Driven Design, and Team Topologies into a single, coherent approach.* Modern organizations face constant pressure to evolve. But changing strategy, redesigning systems, or reorganizing teams in isolation rarely improves the performance of the whole. Most improvement efforts fail because they optimize in the wrong place: teams reorganize without changing architecture, architecture evolves without a link to strategy, strategy shifts without understanding the landscape. This leads to familiar symptoms: - Slow delivery and long lead times - Teams stepping on each other’s work - Architecture that’s too hard to change - Legacy friction everywhere - Conflicting priorities across departments - A lot of activity, but little real progress. You’re not alone. These problems are systemic. They are socio-technical. And they cannot be fixed by looking at only one part of the system. *Architecture for Flow* gives you a coherent way to connect strategy, software design, and team organization so your system can adapt, continuously and sustainably. It brings together three powerful perspectives: Wardley Mapping (understand your landscape and strategic options), Domain-Driven Design (discover domains, boundaries, and models), and Team Topologies (design teams and interactions for sustainable flow). Join [Susanne Kaiser](https://www.avanscoperta.it/en/trainer/susanne-kaiser/)‘s *Architecture for Flow Workshop* and learn how these perspectives fit together to help organisations move with clarity and alignment. ## Learning Objectives You will learn: - How to combine Wardley Mapping, Domain-Driven Design, and Team Topologies as a holistic approach - Design adaptive, socio-technical systems optimized for flow of change - Apply the Architecture for Flow Canvas to your organization - Connect business strategy with software design and architecture, and team organization. By the end of these 4 half-day sessions, you will gain not just techniques, but a way of thinking that supports continuous adaptation. ![Architecture for Flow book cover with an octopus](https://www.avanscoperta.it/wp-content/uploads/2025/11/Architecture-for-Flow-Book-cover-Susanne-Kaiser-229x300.jpg) ## The Trainer Susanne Kaiser helps organizations design adaptive socio-technical systems using Wardley Mapping, Domain-Driven Design, and Team Topologies. *«Susanne Kaiser writes with the precision of an architect and the care of a guide»* as Xin Yao wrote. Her book, [*Architecture for Flow*](https://architectureforflow.com/) (Addison-Wesley Signature Series, 2025), brings these disciplines together into a coherent model for navigating complex, evolving systems. ## Target Audience Is this workshop for you? You will find this workshop valuable if you: - Work in technical leadership or architecture roles - Lead teams that build or evolve complex systems - Support organizational change or transformation initiatives - Need a holistic approach to aligning strategy, architecture, and teams - Want practical ways to reduce friction and accelerate flow. Common roles include: Software architects, tech leads, engineering managers, domain experts, system designers, product leaders, transformation coaches. ## Agenda This workshop takes you through four connected modules. Each builds on the previous one so you can see the system as a whole. ### Module 1 – Wardley Mapping Fundamentals - Understanding the Strategy Cycle of Wardley Mapping - Starting with the Why of Business: The Purpose - Visualizing the Business Landscape with a Wardley Map - Creating a Wardley Map - Understanding Climatic Patterns - Applying Doctrinal Principles - Identifying Strategic Opportunities: Leadership and Gameplay. ### Module 2 – Strategic Domain-Driven Design - Exploring DDD patterns & practices as part of the value chain - Domain models and bounded contexts - EventStorming Formats - Mapping bounded contexts to evolution stages - Assessing change coupling with Context Maps. ### Module 3 – Team Topologies Essentials - Why functional silo teams create friction - Requirements for flow optimization - The fundamental team types of Team Topologies - The team Interaction modes. ### Module 4 – Connecting the Dots: Architecture for Flow - Combining Team Topologies with Wardley Mapping and DDD - Applying the Architecture for Flow Canvas - Working through a legacy system scenario - Seeing how strategy → architecture → teams align. ## How it works The Architecture for Flow Workshop provides hands-on exercises, collaborative mapping and modeling sessions, and guided scenarios based on prepared examples. Participants don’t just learn the ideas of the three perspectives, but also learn how to apply them in a coherent way to their own contexts. This isn’t a standard training on DDD, Wardley Mapping, or Team Topologies. You will: - Learn how all three methods work together to optimize flow and alignment - Apply concepts to real scenarios rather than theory - Use the Architecture for Flow Canvas to integrate strategy, domains, and team structures - Leave with maps, templates, and models you can apply immediately - Gain a practical mindset for continuous adaptation. ### F.A.Q. *Do I need to know something beforehand in order to participate in this workshop?* No prior experience with Wardley Mapping, Domain-Driven Design, or Team Topologies is required. While some familiarity with any of these approaches can be helpful, the workshop is designed to be accessible for participants at all levels. *How can I prepare to take the course? Recommended readings? Other?* If you would like to prepare in advance, my book Architecture for Flow (Pearson, 2025) offers a comprehensive foundation for the concepts we will explore in the workshop. However, it’s not required reading; we will cover the essential concepts during the workshop. **Categories:** On demand --- ### [Microservices Practical Workshop](https://www.avanscoperta.it/it/training/microservices-practical-workshop/) **Published:** August 17, 2021 **Author:** Enrico Meloni **Excerpt:** Con Gianluca Padovani impareremo a costruire un’architettura a microservizi, a riconoscere varianti e differenze e a scegliere la migliore per il nostro contesto. **Content:** ***Microservizi: la panacea di tutti i mali, o la cosa peggiore da fare?*** In realtà, né uno né l’altro. Sono una delle tante architetture possibili, esistono dei contesti in cui danno grandi vantaggi e altri in cui portano solo morte e distruzione. In **Microservices Practical Workshop** con [Gianluca Padovani](https://www.avanscoperta.it/it/trainer/gianluca-padovani/) impareremo a costruire un’architettura a microservizi, a riconoscere varianti e differenze e a scegliere la migliore per il nostro contesto. Uno dei primi step per comprendere a fondo i Microservizi è quello di analizzarli nell’ottica di Domain-Driven Design, anche per capire se un’architettura di questo tipo è adatta al nostro business. La predisposizione mentale nell’analisi del dominio in cui si va a operare, prima ancora della scrittura del codice, è fondamentale per iniziare ad analizzare la problematica dal punto di vista corretto e in tutta la sua complessità, ed [EventStorming](https://www.eventstorming.com/) è uno strumento fondamentale in quest’ottica. Capiremo quali sono le diverse “nuance” dell’architettura e dei microservizi, quando è opportuno spingere su una determinata caratteristica o quando è meglio spingere sulla caratteristica opposta. ## Target Audience Hai letto molto sui microservizi ma non te la senti di provare a metterci le mani? Vuoi vedere alcuni casi reali di implementazione? Vuoi confrontarti con qualcuno che ha esperienza sul campo? È il tuo momento. Hai provato i microservizi, ne porti ancora le cicatrici e vuoi capire come mai c’è ancora gente che si ostina a fare queste pazzie? Questo è il corso che fa per te. Hai già usato i microservizi, ti piacciono e vuoi vedere se li hai fatti bene, o come potresti farli meglio? Questo corso è per te. Il corso si rivolge in particolare a: - Software Architect - Software Developer - CTO. È **richiesta** una conoscenza base di[ Domain-Driven Design](https://www.avanscoperta.it/it/formazione/imparare-domain-driven-design/) ed [EventStorming](https://www.avanscoperta.it/it/eventstorming/). A chi si iscriverà al corso verrà regalata una copia digitale del libro [*Cronache di Domain-Driven Design*](https://www.avanscoperta.it/it/libri/cronache-di-domain-driven-design/) (pubblicato da Avanscoperta). La lettura della prima parte del libro è un requisito per poter accedere e partecipare al corso. Svilupperemo un’architettura facendo chiamate HTTP e inviando messaggi su code, per cui devi avere un minimo di dimestichezza con queste. Devi sapere cos’è un DB e cos’è un’immagine Docker. ## Programma In questo corso svilupperemo un’architettura a microservizi. Partiremo analizzando un dominio di esempio con [EventStorming](https://www.avanscoperta.it/it/eventstorming/), tecnica che ci aiuterà a sviscerare il dominio in tutta la sua complessità. Troveremo quali sono i nostri “service boundary”, decideremo su quali microservizi vogliamo concentrarci e li svilupperemo. Durante questo percorso di 5 sessioni, decideremo che metodo di comunicazione utilizzare, come deployare i nostri microservizi e come evolverli. Lavoreremo anche su un monolite, da cui “estrarre” alcune funzionalità. Capiremo come gestire situazioni di carico e come essere sufficientemente resilienti al crash di uno o più microservizi. Lavoreremo sia in gruppo sia individualmente, come se fossimo “una vera azienda”. Affronteremo varie problematiche e alterneremo i momenti di pratica con quelli di teoria, in modo da capire quali principi e quali euristiche supportano le nostre decisioni. ## Agenda ### Sessione 1: Microservizi: cosa sono e dove trovarli - Cosa sono i microservizi e perché usarli - Macro, Micro, Nano: le dimensioni contano? - Alla ricerca dei microservizi in salsa DDD: EventStorming. ### Sessione 2: Sviluppiamo il primo microservizio - Come comunicano i microservizi - Eventi, comandi, messaggi - Come organizzare la persistenza e quanti database avere - Come gestire le foreign key e le transazioni. ### Sessione 3: Costruiamo un sistema complesso - Accoppiamenti tra i vari Microservizi - Il concetto di Saga - Come cambiare l’interfaccia dei miei microservizi - Versionamento, deploy sincronizzati, breaking changes. ### Sessione 4: Il monolite non è un problema ma un’opportunità - La fortuna di avere un monolite - Come scomporre un monolite - Un passo alla volta (qual è il primo?) ### Sessione 5 – Mettiamo tutto insieme - UI & Reportistica: come faccio a mettere tutto assieme - Dormire sereni: come capire cosa sta succedendo - Problemi comuni dei Microservizi - Un po’ di teoria… Q&A – Follow-up (2 h) a distanza di una/due settimane dalla chiusura del corso. ## Cosa impareremo - Dopo aver visto come funziona EventStorming, impareremo ad analizzare un dominio complesso step-by-step, assicurandoci che tutti abbiano una comprensione condivisa del contesto in cui andremo a operare con i nostri microservizi - Impareremo a conoscere i microservizi, cosa sono, come si trovano e in che modo è opportuno farli comunicare e come metterli in produzione - Quali sono le caratteristiche chiave di un’architettura a microservizi e cosa potrebbe succedere nel caso in cui alcune di esse venissero meno - Come introdurli in un ambiente già esistente - Cosa aspettarsi nel momento in cui si mette in produzione qualcosa, e il traffico aumenta o semplicemente qualcosa “si rompe”. ## Come si svolge Il corso è strutturato in 5 mezze giornate + 2 ore di follow-up. Durante le quattro sessioni svilupperemo un’architettura a microservizi e la faremo funzionare, la metteremo sotto stress e la faremo evolvere durante le varie giornate. Il workshop sarà online e in diretta, per un massimo di 16 persone: il docente e tutti i partecipanti saranno in videoconferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. Applicheremo alcuni principi del metodo Training from the back of the room, con prevalenza di attività su lectures. Alle poche definizioni teoriche si affiancano numerosi esercizi ed attività pratiche. La condivisione tra i partecipanti e il supporto del trainer completano il quadro formativo. ## Perché partecipare A fine del corso avrai aumentato la tua conoscenza sui microservizi. Se non hai mai messo in produzione nessun microservizio, sarai in grado di identificare i primi da mettere in produzione. Se hai cicatrici da microservizi, cercheremo di lenire le tue pene e fornirti gli strumenti per fare un secondo tentativo. Se hai già in produzione dei microservizi, l’intento è di darti tutti gli spunti possibili per fare un salto di qualità e migliorare il tuo processo di sviluppo. **Categories:** A calendario, A catalogo **Tags:** Domain-Driven Design, EventStorming, Microservices --- ### [Strategic Design for Software Teams](https://www.avanscoperta.it/it/training/strategic-design-for-software-teams/) **Published:** June 24, 2025 **Author:** Alessandra Granaudo **Excerpt:** A 2-day workshop with Eric Evans focused on strategic modeling for complex systems. Learn to align software architecture with business goals, manage multi-team development, and make design decisions that drive innovation, even with legacy constraints. **Content:** **Clarify the big picture. Focus on what matters. Make strategic design work in the real world.** In complex systems, some design decisions shape the future of your entire product or organization. Yet the larger the system, the easier it is for modeling efforts to get diluted or disconnected from the core design. Strategic Design is a 2-day deep-dive workshop led by Eric Evans, author of Domain-Driven Design, known globally for introducing essential tools like context mapping, core domain focus, and bounded contexts. This workshop gives Development Leaders, Architects, and Technical Managers the mindset and tools to make meaningful design decisions in complex, multi-team environments, even when legacy constraints are involved. ## Learning Objectives By the end of this workshop, you will be able to: - Map and navigate complexity in large-scale systems through context mapping - Distill your core domain and align design work with business priorities - Coordinate across multiple teams and development styles without losing focus - Design systems that balance in-house innovation and off-the-shelf components - Launch new projects that break free from legacy baggage without breaking the business - Make architecture and modeling decisions that stick, even in messy real-world constraints. ## The Trainer[![Cover of a blue book about DDD](https://www.avanscoperta.it/wp-content/uploads/2025/06/DDD-Book-Eric-Evans-227x300.jpeg)](https://www.oreilly.com/library/view/domain-driven-design-tackling/0321125215/) [Eric Evans ](https://www.avanscoperta.it/it/trainer/eric-evans/)is the author of the book *Domain-Driven Design: Tackling Complexity in the Heart of Software* and founder of [Domain Language](https://www.domainlanguage.com/). He has helped development teams around the world improve the way they design, model, and collaborate. His ideas have shaped modern software architecture and continue to influence how technical and business teams work together. ## Target Audience This workshop is ideal for: - Software and solution architects - Technical leaders and engineering managers - Senior developers working across teams or services - Product and platform owners dealing with complex systems. If you are leading teams, working with distributed systems, or shaping the architecture of a large-scale product, this is for you. ## Agenda ### Day 1: See the system clearly **Context Mapping** - Pragmatic approach to dealing with diverse models and designs on real projects - Relationships between subsystems/ relationships between teams. **Distilling the Core Domain** - Aligning software strategy with business strategy - Distinguishing the differentiators from the mass of requirements - Clarifying a shared vision - Setting up a project for success. ### Day 2 – Make legacy work for you - Enabling innovation even when you rely heavily on legacy systems - Devising Strategies - Relationship to architectures such as microservices. ## How It Works This is a hands-on, discussion-based workshop. You will work in small groups on real-world modeling exercises and explore decision-making patterns in complex settings. The format mixes short lectures with collaborative design activities. No slides-only sessions, just real practice. ### FAQ *Do I need any prior knowledge to join this workshop?* This workshop is best suited for participants with experience in large-scale systems and multi-team development. Familiarity with complex software projects will help you fully engage with the content. *Should I bring my laptop?* No laptop needed. The workshop is practical but not tool-based. Pen, paper, and your experience are all you need. **Categories:** A calendario, A catalogo **Tags:** Domain-Driven Design, Eric Evans --- ### [Strategic Design for Software Teams](https://www.avanscoperta.it/en/training/strategic-design-for-software-teams/) **Published:** June 24, 2025 **Author:** Alessandra Granaudo **Excerpt:** A 2-day workshop with Eric Evans focused on strategic modeling for complex systems. Learn to align software architecture with business goals, manage multi-team development, and make design decisions that drive innovation, even with legacy constraints. **Content:** **Clarify the big picture. Focus on what matters. Make strategic design work in the real world.** In complex systems, some design decisions shape the future of your entire product or organization. Yet the larger the system, the easier it is for modeling efforts to get diluted or disconnected from the core design. Strategic Design is a 2-day deep-dive workshop led by Eric Evans, author of Domain-Driven Design, known globally for introducing essential tools like context mapping, core domain focus, and bounded contexts. This workshop gives Development Leaders, Architects, and Technical Managers the mindset and tools to make meaningful design decisions in complex, multi-team environments, even when legacy constraints are involved. ## Learning Objectives By the end of this workshop, you will be able to: - Map and navigate complexity in large-scale systems through context mapping - Distill your core domain and align design work with business priorities - Coordinate across multiple teams and development styles without losing focus - Design systems that balance in-house innovation and off-the-shelf components - Launch new projects that break free from legacy baggage without breaking the business - Make architecture and modeling decisions that stick, even in messy real-world constraints. ## The Trainer[![Cover of "Domain-Driven Design: Tackling complexity at the heart of software"](https://www.avanscoperta.it/wp-content/uploads/2025/06/DDD-Book-Eric-Evans-227x300.jpeg)](https://www.oreilly.com/library/view/domain-driven-design-tackling/0321125215/) [Eric Evans ](https://www.avanscoperta.it/it/trainer/eric-evans/)is the author of the book *Domain-Driven Design: Tackling Complexity in the Heart of Software* and founder of [Domain Language](https://www.domainlanguage.com/). He has helped development teams around the world improve the way they design, model, and collaborate. His ideas have shaped modern software architecture and continue to influence how technical and business teams work together. ## Target Audience This workshop is ideal for: - Software and solution architects - Technical leaders and engineering managers - Senior developers working across teams or services - Product and platform owners dealing with complex systems. If you are leading teams, working with distributed systems, or shaping the architecture of a large-scale product, this is for you. ## Agenda ### Day 1: See the system clearly **Context Mapping** - Pragmatic approach to dealing with diverse models and designs on real projects - Relationships between subsystems/ relationships between teams. **Distilling the Core Domain** - Aligning software strategy with business strategy - Distinguishing the differentiators from the mass of requirements - Clarifying a shared vision - Setting up a project for success. ### Day 2 – Make legacy work for you - Enabling innovation even when you rely heavily on legacy systems - Devising Strategies - Relationship to architectures such as microservices. ## How It Works This is a hands-on, discussion-based workshop. You will work in small groups on real-world modeling exercises and explore decision-making patterns in complex settings. The format mixes short lectures with collaborative design activities. No slides-only sessions, just real practice. ### FAQ *Do I need any prior knowledge to join this workshop?* This workshop is best suited for participants with experience in large-scale systems and multi-team development. Familiarity with complex software projects will help you fully engage with the content. *Should I bring my laptop?* No laptop needed. The workshop is practical but not tool-based. Pen, paper, and your experience are all you need. **Categories:** On demand, Scheduled **Tags:** Domain-Driven Design, Domain-Driven Design, Eric Evans --- ### [AI Assistants for your teams Workshop](https://www.avanscoperta.it/it/training/ai-assistants-for-your-teams-workshop/) **Published:** December 30, 2025 **Author:** Alessandra Granaudo **Excerpt:** Learn how to effectively use AI assistants in team workflows. Understand prompt engineering, verify AI outputs, and integrate tools systematically to improve productivity, collaboration, and code quality. **Content:** Artificial intelligence tools have become an integral part of modern software development. They can accelerate prototyping, support design decisions, and simplify complex tasks. As powerful as they are, they can also be frustrating: ignoring simple instructions, hallucinating impossible solutions, or agreeing too easily with poor ideas. This *AI Assistants for your teams Workshop* with Uberto Barbini teaches how to approach AI assistants and large language models not as magical entities or “coding buddies,” but as tools that respond best to well-defined methods and clear processes. You will learn how to consistently produce valuable outcomes by adopting disciplined workflows, gaining a clear understanding of the state of the art, and building a robust framework for evaluating and leveraging future technologies. This hands-on course is designed for professional developers and technical leads who want to integrate AI assistants into their daily work systematically and reliably. ## Learning Objectives By completing this course, you will: - Develop a structured approach to AI-assisted software development. - Understand the strengths and weaknesses of the various tools currently available to developers. - Learn to distinguish between exploratory “vibe coding” and systematic engineering. - Gain the ability to build, document, and maintain AI-generated solutions with confidence. - Strengthen your ability to evaluate, guide, and verify AI output. ## The Trainer ![cover book Uberto Barbini](https://www.avanscoperta.it/wp-content/uploads/2025/12/Process-Over-Magic-Beyond-Vibe-Coding-Uberto-Barbini-1-150x150.png) [Uberto Barbini](https://www.avanscoperta.it/en/trainer/uberto-barbini/) is the author of [*Process Over Magic: Beyond Vibe Coding* ](https://pragprog.com/titles/ubaidev/process-over-magic-beyond-vibe-coding/)and a polyglot programmer and independent software consultant with over 20 years of experience. He helps organizations unlock the power of AI and LLM-driven tools to tackle complex software challenges, blending deep expertise in Kotlin, functional programming, and software architecture with practical, real-world insights. ## Target Audience The *AI Assistants for your teams Workshop* is intended for professional software developers, team leads, and architects who aim to improve their effectiveness with AI coding tools. It is also aimed at organisations seeking to introduce AI into their development workflows while maintaining high standards of quality and governance. ## Agenda ### Module 1 **Vibe Coding and Spec-Driven Development** The first module explores how AI tools can generate complete prototypes or proofs of concept from high-level specifications. You will learn how to formulate precise goals and inputs for the AI, structure a productive dialogue, and maintain control of the process even when the assistant generates large amounts of code automatically. Beyond technical experimentation, this module also discusses the limitations and risks of “vibe coding,” including loss of reproducibility, security vulnerabilities, and subtle bugs. You will leave with practical strategies such as defining and documenting detailed specifications and giving clear instructions to AI agents to minimize these issues. You will also learn how to leverage the speed and power of AI assistants to reduce idle time and open new opportunities for delivering greater business value. ### Module 2 **Chat-Oriented Programming** The second module introduces the principles of Chat-Oriented Programming. This differs from Vibe Coding as the developer stays in control and reviews all the code. Here, the emphasis is on designing and developing greenfield projects using AI support while maintaining engineering discipline and code quality. You will learn techniques for structuring AI interactions to ensure code quality and consistent results. We will also explore how to use AI assistants to learn unfamiliar technologies faster and more effectively than with traditional methods alone. This module also introduces Vector Databases (VectorDBs) and the Model Context Protocol (MCP), explaining how these technologies enhance the memory and reasoning capabilities of AI systems, and how to use them. ### Module 3 **AI in Large and Legacy Codebases** The third module focuses on applying AI tools within large, real-world systems — from active codebases to legacy software. You will use practical “recipes” for reading, refactoring, and extending complex projects in collaboration with AI assistants. The goal is to understand how to use AI responsibly in environments where code quality, security, and maintainability are critical. We will also examine how AI assistants can integrate into professional teams, exploring how they impact workflows, clarify accountability, and combine automation with human expertise. By the end, you will have a clear framework for introducing AI into established projects without compromising reliability or team cohesion. ## How it works The course builds progressively: starting from rapid prototyping, moving toward full project design and development, and concluding with the application of AI assistants in real-world, large-scale, or legacy environments. The course is organized into three modules of half a day (3.5 hours) each. Each module combines guided demonstrations (about 25% of the time), practical hands-on exercises (50% of the time), and Q&A and group reflections (the remaining time). **Categories:** A calendario, A catalogo **Tags:** AI Augmented, Craft, Vibe Coding --- ### [AI Assistants for your teams Workshop](https://www.avanscoperta.it/en/training/ai-assistants-for-your-teams-workshop/) **Published:** December 30, 2025 **Author:** Alessandra Granaudo **Excerpt:** Learn how to effectively use AI assistants in team workflows. Understand prompt engineering, verify AI outputs, and integrate tools systematically to improve productivity, collaboration, and code quality. **Content:** Artificial intelligence tools have become an integral part of modern software development. They can accelerate prototyping, support design decisions, and simplify complex tasks. As powerful as they are, they can also be frustrating: ignoring simple instructions, hallucinating impossible solutions, or agreeing too easily with poor ideas. This *AI Assistants for your teams Workshop* with Uberto Barbini teaches how to approach AI assistants and large language models not as magical entities or “coding buddies,” but as tools that respond best to well-defined methods and clear processes. You will learn how to consistently produce valuable outcomes by adopting disciplined workflows, gaining a clear understanding of the state of the art, and building a robust framework for evaluating and leveraging future technologies. This hands-on course is designed for professional developers and technical leads who want to integrate AI assistants into their daily work systematically and reliably. ## Learning Objectives By completing this course, you will: - Develop a structured approach to AI-assisted software development. - Understand the strengths and weaknesses of the various tools currently available to developers. - Learn to distinguish between exploratory “vibe coding” and systematic engineering. - Gain the ability to build, document, and maintain AI-generated solutions with confidence. - Strengthen your ability to evaluate, guide, and verify AI output. ## The Trainer ![cover book Uberto Barbini](https://www.avanscoperta.it/wp-content/uploads/2025/12/Process-Over-Magic-Beyond-Vibe-Coding-Uberto-Barbini-1-150x150.png) [Uberto Barbini](https://www.avanscoperta.it/en/trainer/uberto-barbini/) is the author of [*Process Over Magic: Beyond Vibe Coding* ](https://pragprog.com/titles/ubaidev/process-over-magic-beyond-vibe-coding/)and a polyglot programmer and independent software consultant with over 20 years of experience. He helps organizations unlock the power of AI and LLM-driven tools to tackle complex software challenges, blending deep expertise in Kotlin, functional programming, and software architecture with practical, real-world insights. ## Target Audience The *AI Assistants for your teams Workshop* is intended for professional software developers, team leads, and architects who aim to improve their effectiveness with AI coding tools. It is also aimed at organisations seeking to introduce AI into their development workflows while maintaining high standards of quality and governance. ## Agenda ### Module 1 **Vibe Coding and Spec-Driven Development** The first module explores how AI tools can generate complete prototypes or proofs of concept from high-level specifications. You will learn how to formulate precise goals and inputs for the AI, structure a productive dialogue, and maintain control of the process even when the assistant generates large amounts of code automatically. Beyond technical experimentation, this module also discusses the limitations and risks of “vibe coding,” including loss of reproducibility, security vulnerabilities, and subtle bugs. You will leave with practical strategies such as defining and documenting detailed specifications and giving clear instructions to AI agents to minimize these issues. You will also learn how to leverage the speed and power of AI assistants to reduce idle time and open new opportunities for delivering greater business value. ### Module 2 **Chat-Oriented Programming** The second module introduces the principles of Chat-Oriented Programming. This differs from Vibe Coding as the developer stays in control and reviews all the code. Here, the emphasis is on designing and developing greenfield projects using AI support while maintaining engineering discipline and code quality. You will learn techniques for structuring AI interactions to ensure code quality and consistent results. We will also explore how to use AI assistants to learn unfamiliar technologies faster and more effectively than with traditional methods alone. This module also introduces Vector Databases (VectorDBs) and the Model Context Protocol (MCP), explaining how these technologies enhance the memory and reasoning capabilities of AI systems, and how to use them. ### Module 3 **AI in Large and Legacy Codebases** The third module focuses on applying AI tools within large, real-world systems — from active codebases to legacy software. You will use practical “recipes” for reading, refactoring, and extending complex projects in collaboration with AI assistants. The goal is to understand how to use AI responsibly in environments where code quality, security, and maintainability are critical. We will also examine how AI assistants can integrate into professional teams, exploring how they impact workflows, clarify accountability, and combine automation with human expertise. By the end, you will have a clear framework for introducing AI into established projects without compromising reliability or team cohesion. ## How it works The course builds progressively: starting from rapid prototyping, moving toward full project design and development, and concluding with the application of AI assistants in real-world, large-scale, or legacy environments. The course is organized into three modules of half a day (3.5 hours) each. Each module combines guided demonstrations (about 25% of the time), practical hands-on exercises (50% of the time), and Q&A and group reflections (the remaining time). **Categories:** On demand, Scheduled --- ### [Video, remote meetups, panel discussions, Small Talk from our YouTube channel](https://www.avanscoperta.it/it/training/free-events-for-the-community/) **Published:** March 25, 2020 **Author:** Enrico Meloni **Excerpt:** Free online events open to anyone willing to talk, share knowledge, and learn together. We Are Learners - always! **Content:** A calendar of free online events: remote meetups, Small Talks, Panel Discussions. Join us through the live chat on YouTube or on LinkedIn to ask questions, share knowledge, and learn together. We Are Learners, always! Below you can find all of our events. The list is being updated on a regular basis. *Don’t ever miss a video again: [subscribe to our YouTube Channel](http://bit.ly/SubscribeAvanscoperta) and [follow us on LinkedIn](https://www.linkedin.com/company/avanscoperta-s-r-l-/)!* It is not a free event, but it is definitely a community event… check out **DDD Open Space 2025**, the first Italian unconference on Domain-Driven Design (4-5 February 2025, Verona). [Tickets and Info](https://www.eventbrite.it/e/biglietti-ddd-open-space-2025-verona-875895776847) ## Live Streaming Events by Avanscoperta #### Coming soon **8 October 2024** ### Gojko Adzic – Lizard Optimization (Book presentation) - in English - with Gojko Adzic - in Live Streaming on [Youtube](https://www.youtube.com/live/cQyCCCIAZ9k?si=zHYnx4BKtOKv3hto) and [LinkedIn](https://www.linkedin.com/events/7241722486478848003/comments/) **27 September 2024** ### Training from the BACK of the Room: Esperimenti ed esperienze (parte 2) - in Italian - with Marco Dussin, Carlo Rizzi, Pietro Monari and Stefano Costa - in Live Streaming on [Youtube](https://www.youtube.com/live/1z0dXHPitFI?si=FrJOSeh5Q51O-R8M) and [LinkedIn](https://www.linkedin.com/events/7236291996573724672/comments/) #### Past events **16 July 2024** ### Small Talk – Writing OKRs - in English - with Allan Kelly - in Live Streaming on [Youtube](https://www.youtube.com/live/8o-2Ahb1L_I?si=A-1tt3NzcF4l6Mdw) e [LinkedIn](https://www.linkedin.com/events/7212011225981845504/) **28 June 2024** ### Training from the BACK of the Room: Esperimenti ed esperienze - in Italian - with Marco Dussin, Anna Lombardi, Cristina De Toni, Giacomo De Luca, Giada Trovato and Valentina Vantaggiato - in Live Streaming on [Youtube](https://www.youtube.com/live/rJTjzkUTPwg?si=RQ3z2RgB6NbS4f2b) - in Live Streaming on [LinkedIn](https://www.linkedin.com/events/7203705583286267906/comments/) **6 May 2024** ### OKR e future cones: come prevedere e gestire il futuro - in Italian - with Francesco Fullone and Matteo Cavucci - in Live Streaming on [Youtube](https://www.youtube.com/live/XmpB0ifUOpM?si=uYcqwiXpJ0beyO2c) - in Live Streaming on [LinkedIn](https://www.linkedin.com/events/7188181916687220736/comments/) **22 April 2024** ### Training from the BACK of the Room! - in English - with Jean-Paul Bayley and Marco Dussin - in Live Streaming [on Youtube](https://www.youtube.com/live/koDRj6mtzio?si=yWsxM-xLgelKBOZX) - in Live Streaming [on LinkedIn](https://www.linkedin.com/events/7173648689750654976/comments/) **8 March 2024** ### Domain-driven Design, CQRS and Event Sourcing (Small Talk) - in English - with Marco Heimeshoff - in Live Streaming [on Youtube](https://www.youtube.com/live/FrvOiVNkwOs?si=KxWQHwkZanzEqzxr) - in Live Streaming [on LinkedIn](https://www.linkedin.com/events/marcoheimeshoff-domain-drivende7165678242958303233/theater/) **16 February 2024** ### Model-Driven Design (Small Talk) - in English - with Bruno Boucard and Kenny Baas-Schwegler - in Live Streaming on Youtube: [https://www.youtube.com/live/j89oqlSgoT8?si=gF3-NqXCds\_m\_58Z](https://www.youtube.com/live/j89oqlSgoT8?si=gF3-NqXCds_m_58Z) - in Live Streaming on LinkedIn: **12 February 2024** ### Effective Management – English edition (Small Talk) - in English - with Luca Sartoni - in Live Streaming on Youtube: - in Live Streaming on LinkedIn: [https://www.linkedin.com/events/7160999773309677568/](https://www.linkedin.com/events/7160999773309677568/comments/) **10 January 2024** ### Value Proposition Strategy (Small Talk) - in Italian - with Hoang Huynh - in Live Streaming on Youtube: - in Live Streaming on LinkedIn: **13 December 2023** ### La mia azienda è pronta per gli OKR? - in Italian - with Francesco Fullone - in Live Streaming on Youtube: - in Live Streaming on LinkedIn: **16 November 2023** ### Residuality Theory (Small Talk) - in English - with Barry O’Reilly - in Live Streaming on Youtube: - in Live Streaming on LinkedIn: **27 October 2023** ### Product Owner Collaboration Toolkit (Small Talk) - in English - with Jenny Martin - in Live Streaming on Youtube: [https://www.youtube.com/watch?v=3Tw-whaju\_I](https://www.youtube.com/watch?v=3Tw-whaju_I) - in Live Streaming on LinkedIn: **26 June 2023** ### Effective Management (Small Talk) - in Italian - with Luca Sartoni - in Live Streaming on Youtube: **30 May 2023** ### Software Crafting Programme (Small Talk) - in Italian - with Alessandro Di Gioia and Marco Consolaro - in Live Streaming on Youtube: [https://www.youtube.com/live/tFsUl0Mepdw](https://www.youtube.com/live/tFsUl0Mepdw?feature=share) **22 May 2023** ### Domain modelling with state machines - in English - with Marco Perone - in Live Streaming on Youtube: [https://www.youtube.com/live/UBnHpnss8Fg](https://www.youtube.com/live/UBnHpnss8Fg?feature=share) **19 May 2023** ### Intentional Architecture (Small Talk) - in English - with João Rosa and Trond Hjorteland - in Live Streaming on Youtube: [https://www.youtube.com/live/8fP7\_WDUZ2Q](https://www.youtube.com/live/8fP7_WDUZ2Q) **3 May 2023** ### Training from the BACK of the Room (Small Talk) - in Italian - with Marco Dussin - in Live Streaming on Youtube: **6 April 2023** ### Kill Aggregate! (An Evening With) - in Italian - with Sara Pellegrini - in Live Streaming on Youtube: **29 March 2023** ### Dynamic Product Roadmaps (Small Talk) - in English - with Matteo Cavucci - in Live Streaming on Youtube: **22 March 2023** ### OKR and Wardley Mapping (Small Talk) - in English - with Marijn Huizendveld - in Live Streaming on Youtube: **9 March 2023** ### Designing and Implementing Aggregates - in English - con Mariusz Gil - in Live Streaming on Youtube: **3 March 2023** ### The unFIX Model for Versatile Organizations (Small Talk) - in English - with Jurgen Appelo - in Live Streaming on Youtube: **13 February 2023** ### Modern Portfolio Management e OKR a confronto - in Italian - with Gaetano Mazzanti and Francesco Fullone - in Live Streaming on Youtube: [https://youtu.be/kT-5vERo\_-U](https://youtu.be/kT-5vERo_-U) **30 September 2022** ### TypeScript e React (Small Talk) - in English - with Gabriele Petronella - in Live Streaming on Youtube: **14 September 2022** ### Microservices (Small Talk) - in Italian - with Gianluca Padovani - in Live Streaming on Youtube: **22 June 2022** ### Functional Programming – Small Talk - in Italian - with Matteo Baglini - in Live Streaming on Youtube: **2 March 2022** ### Team Topologies e altri modelli organizzativi (Panel) - in Italian - with Alessandro Giardina, Francesca Carta and Luca Cioria - in Live Streaming on Youtube: **20 April 2022** ### Wardley Mapping – A panel - in English - with Ben Mosior, Xin Yao, Marijn Huizendveld and Marco Heimeshoff - in Live Streaming on Youtube: **2 February 2022** ### OKR e Lean Value Tree a confronto - in Italian - with Francesco Fullone and Matteo Cavucci - in Live Streaming on Youtube: **1 June 2022** ### TypeScript and React – Live coding - in English - with Gabriele Petronella - in Live Streaming on Youtube: **25 January 2022** ### Panel: Collaborative asynchronous communication - in English - with Woytek Ptak, Emanuela Damiani, Luca Sartoni and Alberto Brandolini - in Live Streaming on Youtube: **21 January 2022** ### Small Talk: Matteo Cavucci – Product Discovery with the Lean Value Tree - in English - in Live Streaming on Youtube: **18 January 2022** ### Small Talk: Gojko Adzic – Specification By Example - in English - in Live Streaming on Youtube: **24 November 2021** ### The unFIX Model for Versatile Organizations - in English - with Jurgen Appelo and Alberto Brandolini - in Live Streaming on Youtube: **10 November 2021** ### A gentle introduction to Microservices - in Italian - with Gianluca Padovani - in Live Streaming on Youtube: **3 November 2021** ### Extreme Contracts and Decision-making - in English - with Francesco Strazzullo and Jacopo Romei - in Live Streaming on Youtube: [https://youtu.be/SSG7K0JMVKk ](https://youtu.be/SSG7K0JMVKk) **22 October 2021** ### Small Talk: Scott Wlaschin – Functional Programming and DDD - in English - in Live Streaming on Youtube: **20 October 2021** ### Building better domain models with functions - in English - with Marco Heimeshoff - in Live Streaming on Youtube: **15 October 2021** ### Small Talk: Alberto Acerbis e Alessandro Colla – Event Sourcing, CQRS e Testing degli eventi - in Italian - in Live Streaming on Youtube: **13 October 2021** ### Small Talk: Gojko Adzic – Impact Mapping - in English - in Live Streaming on Youtube: **8 October 2021** ### Small Talk: Gaetano Mazzanti – Portfolio Management - in Italian - in Live Streaming on Youtube: **24 September 2021** ### Small Talk: Marco Heimeshoff – DDD, CQRS and Event Sourcing - in English - in Live Streaming on Youtube: **17 September 2021** ### Small Talk: Francesco Fullone – OKR (Objectives and Key Results) - in Italian - in Live Streaming on Youtube: **10 September 2021** ### Small Talk: Emanuele DelBono – Actor Model - in Italian - in Live Streaming on Youtube: **23 June 2021** ### Introduzione all’Actor Model - in Italian - with Emanuele DelBono - in Live Streaming on Youtube: **26 May 2021** ### Facilitating Impact Mapping sessions - in English - with Gojko Adzic - in Live Streaming on Youtube: **19 May 2021** ### OKR: Come e perché le grandi aziende dell’IT li usano - in Italian - with Francesco Fullone - in Live Streaming on Youtube: **13 May 2021** ### Functional Programming - in Italian - with Matteo Baglini and Gianluca Padovani - in Live Streaming on Youtube: **21 April 2021** ### Lean Validation Playbook - in Italian - with Federica Pecoraro, Matteo Cavucci and Mattia Carletti - in Live Streaming on Youtube: **9 April 2021** ### A chat with the author: Decision-making with Francesco Strazzullo (part 4) - in inglese - with Francesco Strazzullo - in Live Streaming on YouTube: [https://youtu.be/ET\_bVX1\_NaI](https://youtu.be/ET_bVX1_NaI) **7 April 2021** ### EventStorming: Redesigning everything - in English - with Alberto Brandolini - in Live Streaming on Youtube: **19 March 2021** ### A chat with the author: Decision-making with Francesco Strazzullo (part 3) - in English - with Francesco Strazzullo - in Live Streaming on YouTube: **17 March 2021** ### Team Topologies - in English - with Manuel Pais and Alberto Brandolini - in Live Streaming on Youtube: **24 February 2021** ### What is Training from the BACK of the Room all about? - in English - with Teri Frith - in Live Streaming on Youtube: [https://youtu.be/1jw7\_xdG1mM](https://youtu.be/1jw7_xdG1mM) **19 February 2021** ### A chat with the author: Decision-making with Francesco Strazzullo (part 2) - in English - with Francesco Strazzullo - in Live Streaming on YouTube: **5 February 2021** ### A chat with the author: Decision-making with Francesco Strazzullo (part 1) - in English - with Francesco Strazzullo - in Live Streaming on YouTube: **16 December 2020** ### Avanscoperta Xmas Quiz - in English - presented by Marco Consolaro, Alessandro Di Gioia and Pedro Santos - in Live Streaming on Youtube: **11 November 2020** ### What’s next? How to prioritize according to the cost of delay - in English - with Matteo Cavucci - in Live Streaming on Youtube: **28 October 2020** ### The importance of Feedback - in English - with Jacopo Romei - in Live Streaming on Youtube: **29 September 2020** ### Facilitating Online Agile Retrospectives - in English - with Enrico Teotti - in Live Streaming on Youtube: **22 September 2020** ### Agile stories from the trenches - in English - with Cédric Pontet e Guy Fabien - in Live Streaming on Youtube: **6 July 2020** ### Mapping the future of events post-COVID - in English - with Simon Wardley - in Live Streaming on Youtube: **30 June 2020** ### Ask Me Anything with Matteo Cavucci: Product Discovery e Lean Value Tree - in Italian - with Matteo Cavucci - in Live Streaming on Youtube: **16 June 2020** ### The Power of Mob Programming - in English - with Woody Zuill - in Live Streaming on Youtube: [https://youtu.be/yu-Gvx\_\_UmE](https://youtu.be/yu-Gvx__UmE) **14 May 2020** ### Extreme Contracts: Guadagnare di più, lavorando come ci piace - in Italian - with Jacopo Romei - in Live Streaming on Youtube: **5 May 2020** ### Facing new challenges, as professionals consultants and mentors - in English - with Alberto Brandolini and Paul Rayner - in Live Streaming on Youtube: **29 April 2020** ### Domain Modeling Made Functional - in English - with Scott Wlaschin - in Live Streaming on Youtube: **15 April 2020** ### Inside Bounded Contexts - in English - with Marco Heimeshoff - in Live Streaming on Youtube: **7 April 2020** ### Remote working: come lavorare da casa ed essere felice - in Italian - with Emanuela Damiani - in Live Streaming su Youtube: **2 April 2020** ### Come scegliere il tuo prossimo stack tecnologico - in Italian - with Francesco Strazzullo - in Live Streaming on Youtube: **24 March 2020** ### Come testare il comportamento del dominio - in Italian - with Alberto Acerbis and Alessandro Colla - in Live Streaming su Youtube: [https://youtu.be/-\_CeNjBNvG4](https://youtu.be/-_CeNjBNvG4) **16 March 2020** ### Smart Working / Remote Working: cosa abbiamo imparato facendolo - in Italian - with Alberto Brandolini, Matteo Cavucci, Matteo Collina, Emanuela Damiani, Emanuele DelBono, and Gianluca Padovani - in Live Streaming on Youtube: **3 March 2020** ### Modern Portfolio Management - in Italian - with Gaetano Mazzanti - in Live Streaming on Youtube: **Tags:** Conferences, Meetup, Remote Working --- ### [Video, remote meetups, panel discussions, Small Talk from our YouTube channel](https://www.avanscoperta.it/en/training/free-events-for-the-community/) **Published:** March 25, 2020 **Author:** Enrico Meloni **Excerpt:** Free online events open to anyone willing to talk, share knowledge, and learn together. We Are Learners - always! **Content:** A calendar of free online events: remote meetups, Small Talks, Panel Discussions. Join us through the live chat on YouTube or on LinkedIn to ask questions, share knowledge, and learn together. We Are Learners, always! Below you can find all of our events. The list is being updated on a regular basis. *Don’t ever miss a video again: [subscribe to our YouTube Channel](http://bit.ly/SubscribeAvanscoperta) and [follow us on LinkedIn](https://www.linkedin.com/company/avanscoperta-s-r-l-/)!* It is not a free event, but it is definitely a community event… check out **DDD Open Space 2025**, the first Italian unconference on Domain-Driven Design (4-5 February 2025, Verona). [Tickets and Info](https://www.eventbrite.it/e/biglietti-ddd-open-space-2025-verona-875895776847) ## Live Streaming Events by Avanscoperta #### Coming soon **8 October 2024** ### Gojko Adzic – Lizard Optimization (Book presentation) - in English - with Gojko Adzic - in Live Streaming on [Youtube](https://www.youtube.com/live/cQyCCCIAZ9k?si=zHYnx4BKtOKv3hto) and [LinkedIn](https://www.linkedin.com/events/7241722486478848003/comments/) **27 September 2024** ### Training from the BACK of the Room: Esperimenti ed esperienze (parte 2) - in Italian - with Marco Dussin, Carlo Rizzi, Pietro Monari and Stefano Costa - in Live Streaming on [Youtube](https://www.youtube.com/live/1z0dXHPitFI?si=FrJOSeh5Q51O-R8M) and [LinkedIn](https://www.linkedin.com/events/7236291996573724672/comments/) #### Past events **16 July 2024** ### Small Talk – Writing OKRs - in English - with Allan Kelly - in Live Streaming on [Youtube](https://www.youtube.com/live/8o-2Ahb1L_I?si=A-1tt3NzcF4l6Mdw) e [LinkedIn](https://www.linkedin.com/events/7212011225981845504/) **28 June 2024** ### Training from the BACK of the Room: Esperimenti ed esperienze - in Italian - with Marco Dussin, Anna Lombardi, Cristina De Toni, Giacomo De Luca, Giada Trovato and Valentina Vantaggiato - in Live Streaming on [Youtube](https://www.youtube.com/live/rJTjzkUTPwg?si=RQ3z2RgB6NbS4f2b) - in Live Streaming on [LinkedIn](https://www.linkedin.com/events/7203705583286267906/comments/) **6 May 2024** ### OKR e future cones: come prevedere e gestire il futuro - in Italian - with Francesco Fullone and Matteo Cavucci - in Live Streaming on [Youtube](https://www.youtube.com/live/XmpB0ifUOpM?si=uYcqwiXpJ0beyO2c) - in Live Streaming on [LinkedIn](https://www.linkedin.com/events/7188181916687220736/comments/) **22 April 2024** ### Training from the BACK of the Room! - in English - with Jean-Paul Bayley and Marco Dussin - in Live Streaming [on Youtube](https://www.youtube.com/live/koDRj6mtzio?si=yWsxM-xLgelKBOZX) - in Live Streaming [on LinkedIn](https://www.linkedin.com/events/7173648689750654976/comments/) **8 March 2024** ### Domain-driven Design, CQRS and Event Sourcing (Small Talk) - in English - with Marco Heimeshoff - in Live Streaming [on Youtube](https://www.youtube.com/live/FrvOiVNkwOs?si=KxWQHwkZanzEqzxr) - in Live Streaming [on LinkedIn](https://www.linkedin.com/events/marcoheimeshoff-domain-drivende7165678242958303233/theater/) **16 February 2024** ### Model-Driven Design (Small Talk) - in English - with Bruno Boucard and Kenny Baas-Schwegler - in Live Streaming on Youtube: [https://www.youtube.com/live/j89oqlSgoT8?si=gF3-NqXCds\_m\_58Z](https://www.youtube.com/live/j89oqlSgoT8?si=gF3-NqXCds_m_58Z) - in Live Streaming on LinkedIn: **12 February 2024** ### Effective Management – English edition (Small Talk) - in English - with Luca Sartoni - in Live Streaming on Youtube: - in Live Streaming on LinkedIn: [https://www.linkedin.com/events/7160999773309677568/](https://www.linkedin.com/events/7160999773309677568/comments/) **10 January 2024** ### Value Proposition Strategy (Small Talk) - in Italian - with Hoang Huynh - in Live Streaming on Youtube: - in Live Streaming on LinkedIn: **13 December 2023** ### La mia azienda è pronta per gli OKR? - in Italian - with Francesco Fullone - in Live Streaming on Youtube: - in Live Streaming on LinkedIn: **16 November 2023** ### Residuality Theory (Small Talk) - in English - with Barry O’Reilly - in Live Streaming on Youtube: - in Live Streaming on LinkedIn: **27 October 2023** ### Product Owner Collaboration Toolkit (Small Talk) - in English - with Jenny Martin - in Live Streaming on Youtube: [https://www.youtube.com/watch?v=3Tw-whaju\_I](https://www.youtube.com/watch?v=3Tw-whaju_I) - in Live Streaming on LinkedIn: **26 June 2023** ### Effective Management (Small Talk) - in Italian - with Luca Sartoni - in Live Streaming on Youtube: **30 May 2023** ### Software Crafting Programme (Small Talk) - in Italian - with Alessandro Di Gioia and Marco Consolaro - in Live Streaming on Youtube: [https://www.youtube.com/live/tFsUl0Mepdw](https://www.youtube.com/live/tFsUl0Mepdw?feature=share) **22 May 2023** ### Domain modelling with state machines - in English - with Marco Perone - in Live Streaming on Youtube: [https://www.youtube.com/live/UBnHpnss8Fg](https://www.youtube.com/live/UBnHpnss8Fg?feature=share) **19 May 2023** ### Intentional Architecture (Small Talk) - in English - with João Rosa and Trond Hjorteland - in Live Streaming on Youtube: [https://www.youtube.com/live/8fP7\_WDUZ2Q](https://www.youtube.com/live/8fP7_WDUZ2Q) **3 May 2023** ### Training from the BACK of the Room (Small Talk) - in Italian - with Marco Dussin - in Live Streaming on Youtube: **6 April 2023** ### Kill Aggregate! (An Evening With) - in Italian - with Sara Pellegrini - in Live Streaming on Youtube: **29 March 2023** ### Dynamic Product Roadmaps (Small Talk) - in English - with Matteo Cavucci - in Live Streaming on Youtube: **22 March 2023** ### OKR and Wardley Mapping (Small Talk) - in English - with Marijn Huizendveld - in Live Streaming on Youtube: **9 March 2023** ### Designing and Implementing Aggregates - in English - con Mariusz Gil - in Live Streaming on Youtube: **3 March 2023** ### The unFIX Model for Versatile Organizations (Small Talk) - in English - with Jurgen Appelo - in Live Streaming on Youtube: **13 February 2023** ### Modern Portfolio Management e OKR a confronto - in Italian - with Gaetano Mazzanti and Francesco Fullone - in Live Streaming on Youtube: [https://youtu.be/kT-5vERo\_-U](https://youtu.be/kT-5vERo_-U) **30 September 2022** ### TypeScript e React (Small Talk) - in English - with Gabriele Petronella - in Live Streaming on Youtube: **14 September 2022** ### Microservices (Small Talk) - in Italian - with Gianluca Padovani - in Live Streaming on Youtube: **22 June 2022** ### Functional Programming – Small Talk - in Italian - with Matteo Baglini - in Live Streaming on Youtube: **2 March 2022** ### Team Topologies e altri modelli organizzativi (Panel) - in Italian - with Alessandro Giardina, Francesca Carta and Luca Cioria - in Live Streaming on Youtube: **20 April 2022** ### Wardley Mapping – A panel - in English - with Ben Mosior, Xin Yao, Marijn Huizendveld and Marco Heimeshoff - in Live Streaming on Youtube: **2 February 2022** ### OKR e Lean Value Tree a confronto - in Italian - with Francesco Fullone and Matteo Cavucci - in Live Streaming on Youtube: **1 June 2022** ### TypeScript and React – Live coding - in English - with Gabriele Petronella - in Live Streaming on Youtube: **25 January 2022** ### Panel: Collaborative asynchronous communication - in English - with Woytek Ptak, Emanuela Damiani, Luca Sartoni and Alberto Brandolini - in Live Streaming on Youtube: **21 January 2022** ### Small Talk: Matteo Cavucci – Product Discovery with the Lean Value Tree - in English - in Live Streaming on Youtube: **18 January 2022** ### Small Talk: Gojko Adzic – Specification By Example - in English - in Live Streaming on Youtube: **24 November 2021** ### The unFIX Model for Versatile Organizations - in English - with Jurgen Appelo and Alberto Brandolini - in Live Streaming on Youtube: **10 November 2021** ### A gentle introduction to Microservices - in Italian - with Gianluca Padovani - in Live Streaming on Youtube: **3 November 2021** ### Extreme Contracts and Decision-making - in English - with Francesco Strazzullo and Jacopo Romei - in Live Streaming on Youtube: [https://youtu.be/SSG7K0JMVKk ](https://youtu.be/SSG7K0JMVKk) **22 October 2021** ### Small Talk: Scott Wlaschin – Functional Programming and DDD - in English - in Live Streaming on Youtube: **20 October 2021** ### Building better domain models with functions - in English - with Marco Heimeshoff - in Live Streaming on Youtube: **15 October 2021** ### Small Talk: Alberto Acerbis e Alessandro Colla – Event Sourcing, CQRS e Testing degli eventi - in Italian - in Live Streaming on Youtube: **13 October 2021** ### Small Talk: Gojko Adzic – Impact Mapping - in English - in Live Streaming on Youtube: **8 October 2021** ### Small Talk: Gaetano Mazzanti – Portfolio Management - in Italian - in Live Streaming on Youtube: **24 September 2021** ### Small Talk: Marco Heimeshoff – DDD, CQRS and Event Sourcing - in English - in Live Streaming on Youtube: **17 September 2021** ### Small Talk: Francesco Fullone – OKR (Objectives and Key Results) - in Italian - in Live Streaming on Youtube: **10 September 2021** ### Small Talk: Emanuele DelBono – Actor Model - in Italian - in Live Streaming on Youtube: **23 June 2021** ### Introduzione all’Actor Model - in Italian - with Emanuele DelBono - in Live Streaming on Youtube: **26 May 2021** ### Facilitating Impact Mapping sessions - in English - with Gojko Adzic - in Live Streaming on Youtube: **19 May 2021** ### OKR: Come e perché le grandi aziende dell’IT li usano - in Italian - with Francesco Fullone - in Live Streaming on Youtube: **13 May 2021** ### Functional Programming - in Italian - with Matteo Baglini and Gianluca Padovani - in Live Streaming on Youtube: **21 April 2021** ### Lean Validation Playbook - in Italian - with Federica Pecoraro, Matteo Cavucci and Mattia Carletti - in Live Streaming on Youtube: **9 April 2021** ### A chat with the author: Decision-making with Francesco Strazzullo (part 4) - in inglese - with Francesco Strazzullo - in Live Streaming on YouTube: [https://youtu.be/ET\_bVX1\_NaI](https://youtu.be/ET_bVX1_NaI) **7 April 2021** ### EventStorming: Redesigning everything - in English - with Alberto Brandolini - in Live Streaming on Youtube: **19 March 2021** ### A chat with the author: Decision-making with Francesco Strazzullo (part 3) - in English - with Francesco Strazzullo - in Live Streaming on YouTube: **17 March 2021** ### Team Topologies - in English - with Manuel Pais and Alberto Brandolini - in Live Streaming on Youtube: **24 February 2021** ### What is Training from the BACK of the Room all about? - in English - with Teri Frith - in Live Streaming on Youtube: [https://youtu.be/1jw7\_xdG1mM](https://youtu.be/1jw7_xdG1mM) **19 February 2021** ### A chat with the author: Decision-making with Francesco Strazzullo (part 2) - in English - with Francesco Strazzullo - in Live Streaming on YouTube: **5 February 2021** ### A chat with the author: Decision-making with Francesco Strazzullo (part 1) - in English - with Francesco Strazzullo - in Live Streaming on YouTube: **16 December 2020** ### Avanscoperta Xmas Quiz - in English - presented by Marco Consolaro, Alessandro Di Gioia and Pedro Santos - in Live Streaming on Youtube: **11 November 2020** ### What’s next? How to prioritize according to the cost of delay - in English - with Matteo Cavucci - in Live Streaming on Youtube: **28 October 2020** ### The importance of Feedback - in English - with Jacopo Romei - in Live Streaming on Youtube: **29 September 2020** ### Facilitating Online Agile Retrospectives - in English - with Enrico Teotti - in Live Streaming on Youtube: **22 September 2020** ### Agile stories from the trenches - in English - with Cédric Pontet e Guy Fabien - in Live Streaming on Youtube: **6 July 2020** ### Mapping the future of events post-COVID - in English - with Simon Wardley - in Live Streaming on Youtube: **30 June 2020** ### Ask Me Anything with Matteo Cavucci: Product Discovery e Lean Value Tree - in Italian - with Matteo Cavucci - in Live Streaming on Youtube: **16 June 2020** ### The Power of Mob Programming - in English - with Woody Zuill - in Live Streaming on Youtube: [https://youtu.be/yu-Gvx\_\_UmE](https://youtu.be/yu-Gvx__UmE) **14 May 2020** ### Extreme Contracts: Guadagnare di più, lavorando come ci piace - in Italian - with Jacopo Romei - in Live Streaming on Youtube: **5 May 2020** ### Facing new challenges, as professionals consultants and mentors - in English - with Alberto Brandolini and Paul Rayner - in Live Streaming on Youtube: **29 April 2020** ### Domain Modeling Made Functional - in English - with Scott Wlaschin - in Live Streaming on Youtube: **15 April 2020** ### Inside Bounded Contexts - in English - with Marco Heimeshoff - in Live Streaming on Youtube: **7 April 2020** ### Remote working: come lavorare da casa ed essere felice - in Italian - with Emanuela Damiani - in Live Streaming su Youtube: **2 April 2020** ### Come scegliere il tuo prossimo stack tecnologico - in Italian - with Francesco Strazzullo - in Live Streaming on Youtube: **24 March 2020** ### Come testare il comportamento del dominio - in Italian - with Alberto Acerbis and Alessandro Colla - in Live Streaming su Youtube: [https://youtu.be/-\_CeNjBNvG4](https://youtu.be/-_CeNjBNvG4) **16 March 2020** ### Smart Working / Remote Working: cosa abbiamo imparato facendolo - in Italian - with Alberto Brandolini, Matteo Cavucci, Matteo Collina, Emanuela Damiani, Emanuele DelBono, and Gianluca Padovani - in Live Streaming on Youtube: **3 March 2020** ### Modern Portfolio Management - in Italian - with Gaetano Mazzanti - in Live Streaming on Youtube: **Tags:** Conferences, Interview, Meetups, Remote Working, Small Talk --- ### [Domain-Driven Design Made Simple Workshop](https://www.avanscoperta.it/it/training/domain-driven-design-made-simple-workshop/) **Published:** July 25, 2025 **Author:** Alessandra Granaudo **Excerpt:** Il corso DDD che collega teoria e pratica, modellazione e codice, design e business, per costruire applicazioni allineate al tuo modello di dominio. **Content:** Hai mosso i primi passi in Domain-Driven Design e ti sei perso tra pattern, libri e concetti teorici? Cerchi un posto in cui fare pratica per poi procedere senza indugio? Vuoi modellare un’applicazione vera seguendo i principi del DDD? Sei nel posto giusto! Il workshop *Domain Driven Design Made Simple* con Luca Giovenzana e Gabriele Toselli è pensato per chi vuole capire [Domain-Driven Design](https://blog.avanscoperta.it/2020/08/04/domain-driven-design-in-2020/), partendo dai problemi quotidiani di chi sviluppa software. I docenti ti guideranno passo dopo passo lungo un percorso chiaro e progressivo, che collega teoria e pratica, modellazione e codice, design e business. Vedremo insieme implementazioni diverse degli stessi pattern, ne analizzeremo i pro e i contro, e ti forniremo gli strumenti per scegliere consapevolmente. ## Docenti [Luca Giovenzana ](https://www.avanscoperta.it/it/trainer/luca-giovenzana/)(CTO di Golee e CTPO viteSicure) e [Gabriele Toselli](https://www.avanscoperta.it/it/trainer/gabriele-toselli/) (Senior Backend Engineer in Serenis). Luca e Gabriele hanno unito tutta la loro conoscenza di DDD e la loro esperienza su domini reali per creare il workshop che mancava: il corso Domain-Driven Design che loro stessi avrebbero voluto seguire quando hanno iniziato. ## Cosa impareremo Al termine di questo workshop, sarai in grado di: - Modellare un dominio complesso e tradurlo in un codice pulito, leggibile e manutenibile, allineato alle esigenze reali del business. - Implementare i pattern tattici DDD come Aggregate, Entity, Value Object e Repository. - Scomporre domini complessi in Bounded Contexts chiari, favorendo alta coesione e basso accoppiamento tra le diverse aree del sistema. - Progettare architetture backend che applicano i principi del DDD, dell’Architettura Esagonale e della separazione Command/Query, scegliendo pragmaticamente l’approccio più adatto in base al contesto. - Sperimentare EventStorming come strumento di modellazione collaborativa che facilita la comunicazione con gli stakeholder, trasformando la comprensione del dominio in codice. ## Target Audience Questo workshop è pensato per: - Sviluppatrici e sviluppatori che cercano un’introduzione pratica al Domain-Driven Design, immediatamente spendibile nello sviluppo di tutti i giorni. - CTO di Startup che vogliono modellare software con i principi DDD, evitando complessità tecniche inutili - Developer che vogliono comprendere e valutare scelte architetturali, acquisendo una visione più astratta e ad alto livello dei processi di business. - Chiunque desideri vedere un esempio concreto e “production ready” di applicazione backend che segue i principi DDD, implementata in TypeScript. ## Argomenti - Esperti di dominio per creare modelli di dominio - Sviluppo iterativo e incrementale di requisiti - Pattern tattici DDD: Aggregate, Entity, Value Object , Repository - Da EventStorming a codice e viceversa - Bounded Context: separare e modellare concetti sovrapposti - Domini: organizzare il problemi di business in aree distinte - Approcci al test unitario, di integrazione e di componente - Hexagonal Architecture (port & adapters) - Message bus: approcci diversi alla comunicazione tra bounded context - CQS / CQRS: compromessi diversi per implementare una separazione tra comandi / query, write model / read model. ## Agenda ### Creiamo un modello di dominio - Esperti e modelli di dominio - Modellazione di un dominio con test e logica pura - Stesso nome, significati diversi - Identificare Bounded Context e domini usando EventStorming. ### Costruiamo un’applicazione reale - Persistenza di un modello di dominio (database MongoDB) - Architettura di un’applicazione backend (Express, NestJS) - Individuare comandi, aggregati e invarianti - Policy e comunicazione tra bounded context - Separare i modelli di scrittura da quelli di lettura. ## Come si svolge Questo è un workshop di 1 giornata in presenza completamente hands-on. Lavorerai in coppia, sviluppando in Typescript (non servono conoscenze pregresse: gli esercizi sono molto semplici e guidati). Potrai modellare il dominio, fare design e costruire un’applicazione web completa. ![Classroom full with people working on pc](https://www.avanscoperta.it/wp-content/uploads/2025/07/IMG_9145-225x300.jpg) ![](https://www.avanscoperta.it/wp-content/uploads/2025/07/IMG_9171-225x300.jpg) ![](https://www.avanscoperta.it/wp-content/uploads/2025/07/IMG_9160-225x300.jpg) **Categories:** A calendario, A catalogo **Tags:** Domain-Driven Design --- ### [Domain-Driven Design Made Simple Workshop](https://www.avanscoperta.it/en/training/domain-driven-design-made-simple-workshop/) **Published:** July 25, 2025 **Author:** Alessandra Granaudo **Excerpt:** Il corso DDD che collega teoria e pratica, modellazione e codice, design e business, per costruire applicazioni allineate al tuo modello di dominio. **Content:** Hai mosso i primi passi in Domain-Driven Design e ti sei perso tra pattern, libri e concetti teorici? Cerchi un posto in cui fare pratica per poi procedere senza indugio? Vuoi modellare un’applicazione vera seguendo i principi del DDD? Sei nel posto giusto! Il workshop *Domain Driven Design Made Simple* con Luca Giovenzana e Gabriele Toselli è pensato per chi vuole capire [Domain-Driven Design](https://blog.avanscoperta.it/2020/08/04/domain-driven-design-in-2020/), partendo dai problemi quotidiani di chi sviluppa software. I docenti ti guideranno passo dopo passo lungo un percorso chiaro e progressivo, che collega teoria e pratica, modellazione e codice, design e business. Vedremo insieme implementazioni diverse degli stessi pattern, ne analizzeremo i pro e i contro, e ti forniremo gli strumenti per scegliere consapevolmente. ## Docenti [Luca Giovenzana ](https://www.avanscoperta.it/it/trainer/luca-giovenzana/)(CTO di Golee e CTPO viteSicure) e [Gabriele Toselli](https://www.avanscoperta.it/it/trainer/gabriele-toselli/) (Senior Backend Engineer in Serenis). Luca e Gabriele hanno unito tutta la loro conoscenza di DDD e la loro esperienza su domini reali per creare il workshop che mancava: il corso Domain-Driven Design che loro stessi avrebbero voluto seguire quando hanno iniziato. ## Cosa impareremo Al termine di questo workshop, sarai in grado di: - Modellare un dominio complesso e tradurlo in un codice pulito, leggibile e manutenibile, allineato alle esigenze reali del business. - Implementare i pattern tattici DDD come Aggregate, Entity, Value Object e Repository. - Scomporre domini complessi in Bounded Contexts chiari, favorendo alta coesione e basso accoppiamento tra le diverse aree del sistema. - Progettare architetture backend che applicano i principi del DDD, dell’Architettura Esagonale e della separazione Command/Query, scegliendo pragmaticamente l’approccio più adatto in base al contesto. - Sperimentare EventStorming come strumento di modellazione collaborativa che facilita la comunicazione con gli stakeholder, trasformando la comprensione del dominio in codice. ## Target Audience Questo workshop è pensato per: - Sviluppatrici e sviluppatori che cercano un’introduzione pratica al Domain-Driven Design, immediatamente spendibile nello sviluppo di tutti i giorni. - CTO di Startup che vogliono modellare software con i principi DDD, evitando complessità tecniche inutili - Developer che vogliono comprendere e valutare scelte architetturali, acquisendo una visione più astratta e ad alto livello dei processi di business. - Chiunque desideri vedere un esempio concreto e “production ready” di applicazione backend che segue i principi DDD, implementata in TypeScript. ## Argomenti - Esperti di dominio per creare modelli di dominio - Sviluppo iterativo e incrementale di requisiti - Pattern tattici DDD: Aggregate, Entity, Value Object , Repository - Da EventStorming a codice e viceversa - Bounded Context: separare e modellare concetti sovrapposti - Domini: organizzare il problemi di business in aree distinte - Approcci al test unitario, di integrazione e di componente - Hexagonal Architecture (port & adapters) - Message bus: approcci diversi alla comunicazione tra bounded context - CQS / CQRS: compromessi diversi per implementare una separazione tra comandi / query, write model / read model. ## Agenda ### Creiamo un modello di dominio - Esperti e modelli di dominio - Modellazione di un dominio con test e logica pura - Stesso nome, significati diversi - Identificare Bounded Context e domini usando EventStorming. ### Costruiamo un’applicazione reale - Persistenza di un modello di dominio (database MongoDB) - Architettura di un’applicazione backend (Express, NestJS) - Individuare comandi, aggregati e invarianti - Policy e comunicazione tra bounded context - Separare i modelli di scrittura da quelli di lettura. ## Come si svolge Questo è un workshop di 1 giornata in presenza completamente hands-on. Lavorerai in coppia, sviluppando in Typescript (non servono conoscenze pregresse: gli esercizi sono molto semplici e guidati). Potrai modellare il dominio, fare design e costruire un’applicazione web completa. ![Classroom full with people working on pc](https://www.avanscoperta.it/wp-content/uploads/2025/07/IMG_9145-225x300.jpg) ![Coding exercise](https://www.avanscoperta.it/wp-content/uploads/2025/07/IMG_9171-225x300.jpg) ![Supervised coding exercise in pairing](https://www.avanscoperta.it/wp-content/uploads/2025/07/IMG_9160-225x300.jpg) **Categories:** On demand, Scheduled **Tags:** Domain-Driven Design --- ### [Advanced Software Architecture with Residuality Theory Workshop](https://www.avanscoperta.it/it/training/advanced-software-architecture-workshop/) **Published:** October 24, 2023 **Author:** Alessandra Granaudo **Excerpt:** Barry O'Reilly guides us through the world of Residuality Theory, an advanced theory of software design that will help you think differently when building robust, antifragile software that is fit for uncertain times. **Content:** How can we design software systems that remain adaptable and maintainable as our business needs evolve? How can we reduce risk and make confident architectural decisions in an unpredictable domain? Modern software development demands a shift from rigid, upfront planning to adaptable, resilient design, especially when dealing with evolving business needs and unpredictable infrastructure behavior. Residuality Theory provides a revolutionary approach to tackling these challenges effectively. In the Residuality Theory, we combine ideas from philosophy, the complexity sciences, and software engineering to produce a very lightweight set of tools that help us to navigate uncertainty and to turn uncertain situations into coherent software architectures without any hand waving, *hocus pocus* or magical thinking – in a way that’s validated, verified and can work. Join the three-day in-person *Advanced Software Architecture with Residuality Theory Workshop* with Barry O’Reilly and learn how Residuality Theory will help you think differently when building robust, antifragile software that is fit for uncertain times. ## Learning Objectives In this workshop, you will explore the philosophy of architecture, challenging yourself to think beyond technology and connect decision-making to markets, culture, economics, and societal dynamics. You’ll gain practical techniques in stressor analysis and matrix-based decision-making, applying them hands-on in labs and group exercises. After completing the course, you and your team will align around a shared understanding of architecture, fostering clearer communication and stronger collaboration. ## The Trainer [Barry O’Reilly](https://www.avanscoperta.it/en/trainer/barry-o-reilly/) is a Software Architect and Ph.D. in Complexity Science and Software Engineering at [The Open University](https://research.open.ac.uk/people/bor37). He has held leading roles at global software companies and has spent many years educating architects. Author of two cutting edge books: - [Residues: Time, Change, and Uncertainty in Software Architecture](https://leanpub.com/residuality) - [The Architect’s Paradox](https://leanpub.com/architectsparadox) [![Cover of "Residues", Barry O'Reilly's book.](https://www.avanscoperta.it/wp-content/uploads/2024/08/Barry-o-reilly-book-211x300.png)](https://leanpub.com/residuality)[![Cover del libro Architect Paradox Barry O’Reilly con tulipano nero](https://www.avanscoperta.it/wp-content/uploads/2025/02/Architect-Paradox-Book-Barry-OReilly-222x300.png)](https://leanpub.com/architectsparadox) ## Target Audience The *Advanced Software Architecture with Residuality Theory Workshop* workshop is suitable for: - Architects working in complex environments, - Senior Developers who want a head start in the world of architecture - Teams embarking on large, risk-filled projects. ## Agenda ### Day 1 - Concrete Complexity for Software Engineering - Philosophy of Architecture - Representation in Architecture - Residuality Theory - Attractor networks. ### Day 2 - Modelling stress: socio-economic architecture - Defining residues - Surviving unknown unknowns - Producing a real-world architecture. ### Day 3 - Contagion analysis and component decisions - Adjacency matrix techniques - Incidence matrix techniques - Testing the architecture. ![group activity during a workshop, two men and one woman talking](https://www.avanscoperta.it/wp-content/uploads/2023/10/Residuality-Theory-Workshop-group-activity-300x225.jpg) ![A Beard Man talking with another man in front of a flipchart](https://www.avanscoperta.it/wp-content/uploads/2023/10/Residuality-Theory-Barry-O-Reilly-talking-e1749725121633-300x222.jpg) ![a group of people taking a group picture with a certificate after a workshop](https://www.avanscoperta.it/wp-content/uploads/2023/10/Residuality-Theory-Workshop-group-picture-300x225.jpg) **Categories:** A calendario, A catalogo **Tags:** Antifragile, Residuality Theory, Software Architecture --- ### [Advanced Software Architecture with Residuality Theory Workshop](https://www.avanscoperta.it/en/training/advanced-software-architecture-workshop/) **Published:** October 24, 2023 **Author:** Alessandra Granaudo **Excerpt:** Barry O'Reilly guides us through the world of Residuality Theory, an advanced theory of software design that will help you think differently when building robust, antifragile software that is fit for uncertain times. **Content:** How can we design software systems that remain adaptable and maintainable as our business needs evolve? How can we reduce risk and make confident architectural decisions in an unpredictable domain? Modern software development demands a shift from rigid, upfront planning to adaptable, resilient design, especially when dealing with evolving business needs and unpredictable infrastructure behavior. Residuality Theory provides a revolutionary approach to tackling these challenges effectively. In the Residuality Theory, we combine ideas from philosophy, the complexity sciences, and software engineering to produce a very lightweight set of tools that help us to navigate uncertainty and to turn uncertain situations into coherent software architectures without any hand waving, *hocus pocus* or magical thinking – in a way that’s validated, verified and can work. Join the three-day in-person *Advanced Software Architecture with Residuality Theory Workshop* with Barry O’Reilly and learn how Residuality Theory will help you think differently when building robust, antifragile software that is fit for uncertain times. ## Learning Objectives In this workshop, you will explore the philosophy of architecture, challenging yourself to think beyond technology and connect decision-making to markets, culture, economics, and societal dynamics. You’ll gain practical techniques in stressor analysis and matrix-based decision-making, applying them hands-on in labs and group exercises. After completing the course, you and your team will align around a shared understanding of architecture, fostering clearer communication and stronger collaboration. ## The Trainer [Barry O’Reilly](https://www.avanscoperta.it/en/trainer/barry-o-reilly/) is a Software Architect and Ph.D. in Complexity Science and Software Engineering at [The Open University](https://research.open.ac.uk/people/bor37). He has held leading roles at global software companies and has spent many years educating architects. Author of two cutting edge books: - [Residues: Time, Change, and Uncertainty in Software Architecture](https://leanpub.com/residuality) - [The Architect’s Paradox](https://leanpub.com/architectsparadox) [![Cover of "Residues", Barry O'Reilly's book.](https://www.avanscoperta.it/wp-content/uploads/2024/08/Barry-o-reilly-book-211x300.png)](https://leanpub.com/residuality)[![Cover del libro Architect Paradox Barry O’Reilly con tulipano nero](https://www.avanscoperta.it/wp-content/uploads/2025/02/Architect-Paradox-Book-Barry-OReilly-222x300.png)](https://leanpub.com/architectsparadox) ## Target Audience The *Advanced Software Architecture with Residuality Theory Workshop* workshop is suitable for: - Architects working in complex environments, - Senior Developers who want a head start in the world of architecture - Teams embarking on large, risk-filled projects. ## Agenda ### Day 1 - Concrete Complexity for Software Engineering - Philosophy of Architecture - Representation in Architecture - Residuality Theory - Attractor networks. ### Day 2 - Modelling stress: socio-economic architecture - Defining residues - Surviving unknown unknowns - Producing a real-world architecture. ### Day 3 - Contagion analysis and component decisions - Adjacency matrix techniques - Incidence matrix techniques - Testing the architecture. ![group activity during a workshop, two men and one woman talking](https://www.avanscoperta.it/wp-content/uploads/2023/10/Residuality-Theory-Workshop-group-activity-300x225.jpg) ![A Beard Man talking with another man in front of a flipchart](https://www.avanscoperta.it/wp-content/uploads/2023/10/Residuality-Theory-Barry-O-Reilly-talking-e1749725121633-300x222.jpg) ![a group of people taking a group picture with a certificate after a workshop](https://www.avanscoperta.it/wp-content/uploads/2023/10/Residuality-Theory-Workshop-group-picture-300x225.jpg) **Categories:** On demand, Scheduled **Tags:** Antifragile, Residuality Theory, Software Architecture --- ### [Training from the BACK of the Room - Virtual Edition (TBR-VE)](https://www.avanscoperta.it/it/training/training-from-the-back-of-the-room/) **Published:** March 8, 2019 **Author:** Enrico Meloni **Excerpt:** Training for trainers. Energise your training programs and engage your learners with this hands-on remote workshop: your training courses will never be the same. **Content:** > Se stai cercando la versione **in presenza** e in italiano, chiamata TBR Practitioner Class, la trovi qui: [Training from the BACK of the Room! Practitioner Class, con Marco Dussin](https://www.avanscoperta.it/it/training/training-from-the-back-of-the-room-workshop-italiano/). In this practical and interactive **virtual** class, you’ll explore the current “cognitive neuroscience” that explains how ALL humans learn. You’ll discover 6 specific brain-science principles and a 4-step instructional design model that you can use in your own virtual teaching and training. And you’ll leave with dozens of new ideas, activities, resources, and a new “Gold Standard” for virtual instruction and learning. ## Target Audience The “Training from the BACK of the room” workshop is suitable for **teachers**, **facilitators** and **coaches**, as well as **scrum masters** and **project managers**. People with some experience of delivering training will get the most out of this course. ## Program ### Module 1 - Introduction to moving from ‘in person’ to ‘virtual’ learning format, online facilitation and tools - Connection activities (to other learners, to content and to learning outcomes) - Setting up for success and Trainers Toolkit - Psychological safety and learning agreements. ### Module 2 - How humans learn - The Six Trumps – six learning principles based on brain science - Application of the “trainer’s toolkit” and brain science principles. ### Module 3 - Introduction to Accelerated Learning and the 4Cs – design and delivery model - General design and delivery reminders - Creating a 4Cs map – first draft. ### Module 4 - Deeper dive into one of Connections, Concepts, Concrete Practice or Conclusion step - Writing successful learning outcomes - Practical task – design your own training session (application of the 4Cs map and toolbox strategies to specific training topics) ### Module 5 - Teachbacks – learners each present their 4Cs map back to the group - Glows and Grows – all learners receive feedback on their 4Cs map presentation - Conclusion activities. ## What you will learn After your active participation in the TBR-VE Class with Teri Frith, you will be able to: - Apply 6 brain-science principles based on current research every time you deliver virtual training, regardless of the complexity of the topic, size of group, or level of learners. - Use the 4Cs Map as a training design and delivery model for brain-based virtual instruction. - Create virtual training sessions that combine your own topic and materials with the brain-based concepts and strategies from the class and demonstrate how to leverage the strengths of virtual learning environments. - Explain to colleagues your understanding of cognitive science as it applies to learning, training and memory in both virtual and face-to-face environments. - Choose from dozens of virtual brain-based learning activities for all topics. - Become an active member of the TBR-VE Class Group and share your own expertise about brain-based virtual instruction and learning. ## Requirements You will need to commit and attend all five 2.5 hour modules. In order to attend the TBR-VE Class, you will **need to**: - **Do** the “Warm-Ups” and “Follow-Ups”, i.e. pre/post work for each module (between 90 and 120 minutes of homework before the start and between each module – reading, viewing, writing, responding) - **Become** an active member of the TBR-VE Class Group on Slack (free membership). Post your “homework” assignments there and respond to what others have posted - **Complete** our feedback survey to help us improve the TBR VE class for the future. Also, in order to join us you’ll **need to have**: - Live-streaming camera capability and adequate sound system – so that we can all see and hear you as part of the class - A copy of the book “Training for the BACK of the Room” by Sharon Bowman in either paperback or digital format (provided by Avanscoperta) - A computer (desktop or laptop; not just a tablet or cell phone) - A printed copy of the participant workbook (provided as a pdf) – so that you can write and draw on it, and flag pages with sticky notes etc - Miscellaneous analogic materials: sticky notes, blank paper, markers, pen/pencil. - A basic familiarity with the software platforms that will be used to deliver the class: Zoom, Mural, Slack. If these apps are new to you, please consider viewing one of the free introductory tutorials on YouTube: [Mural](https://youtu.be/uds8lsv-CEQ) – [Slack](https://youtu.be/m2JuAa6-ors) – [Zoom](https://www.youtube.com/playlist?list=PLKpRxBfeD1kEM_I1lId3N_Xl77fKDzSXe). ## Online Workshop – How does it work We will meet online in a virtual classroom and use presentation through screen share. The modules are designed to help you learn in a brain-friendly way. Every module includes interactive and collaborative activities, applying and building on the concepts in the warm-up and follow-up homework tasks. Discussions and questions are encouraged all the time. The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we \*require\* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos during the workshop, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Tags:** Brain-based Learning, Cognitive Neuroscience, Learning, Teaching skills, Training for Trainers --- ### [CQRS Advanced Workshop](https://www.avanscoperta.it/en/training/cqrs-advanced-workshop/) **Published:** October 8, 2012 **Author:** Greg Young **Content:** A 3 days interactive workshop on the most advanced topics of **Domain-Driven Design** like **Command Query Responsibility Segregation** and **Event Sourcing.** The workshop will be led by **Greg Young** and facilitated by **Alberto Brandolini** ##### **Target Audience** Architect or Senior Developer with a strong interest in Domain Driven Design and in Command Query Separation (CQRS), Domain Events and Event Sourcing. ##### **Requirements** Please, bring your own laptop with you. You’ll need to develop on your favourite platform and IDE, not to waste time on another platform’s technicalities… Also having read Eric Evans’ book on Domain-Driven Design is recommended. For those coding seldom, some “Katas” are recommended too, not to be unprepared when it comes to coding again. ##### **Labs and Exercises** The goal of the workshop is to collaboratively build a fully working implementation of CQRS and Event Sourcing. There will be code, games and simulations. A maximum of 14 people will attend, to facilitate interaction. **Categories:** Scheduled **Tags:** CQRS, DDD --- ### [CQRS Advanced Workshop](https://www.avanscoperta.it/en/training/cqrs-advanced-workshop-3/) **Published:** December 17, 2013 **Author:** Greg Young **Content:** A 3 days interactive workshop on the most advanced topics of **Domain-Driven Design** like **Command Query Responsibility Segregation** and **Event Sourcing.** The workshop will be led by **[Greg Young](https://www.avanscoperta.it/en/trainers/greg-young)** and facilitated by **Alberto Brandolini** ##### **Target Audience** Architect or Senior Developer with a strong interest in Domain Driven Design and in Command Query Separation (CQRS), Domain Events and Event Sourcing. ##### **Requirements** Please, bring your own laptop with you. You’ll need to develop on your favourite platform and IDE, not to waste time on another platform’s technicalities… Also having read Eric Evans’ book on Domain-Driven Design is recommended. For those coding seldom, some “Katas” are recommended too, not to be unprepared when it comes to coding again. ##### **Labs and Exercises** The goal of the workshop is to collaboratively build a fully working implementation of CQRS and Event Sourcing. There will be code, games and simulations. A maximum of 14 people will attend, to facilitate interaction. ##### Combo with 2 Days Standard Class Catch the best value by spending an intensive 5 days with Greg. Joining the [2 Days Standard Class](https://www.avanscoperta.it/en/training/encqrs-event-sourcing-and-applying-domain-driven-design-2014/) with the 3 Days Advanced Class in an immersive brainwashing combo. **Categories:** Scheduled **Tags:** CQRS, DDD, Event Sourcing --- ### [Designing Microservices Workshop](https://www.avanscoperta.it/it/training/designing-microservices-workshop/) **Published:** July 1, 2024 **Author:** Enrico Meloni **Excerpt:** Chris Richardson is our guide in the world of microservices: experience how to design a loosely coupled, microservice architecture that enables fast, sustainable flow. **Content:** ## Build Microservices that accelerate delivery, not slow it down Many teams adopt microservices with the goal of moving faster, but end up with a distributed monolith: fragile, tightly coupled services that change in lockstep and slow down both delivery and innovation. The result? Frustrated teams, rising costs, and delayed value for customers. When applying the microservice architecture pattern, the most important design decisions you make are not about technology choices, Kubernetes vs. Serverless, or REST vs. gRPC. What really determines success is designing an architecture that supports fast flow: the continuous delivery of valuable changes to customers. To achieve this, you must identify services correctly and define their responsibilities, APIs, and collaborations. Poorly designed services turn into hidden points of failure, forcing teams to coordinate every change and recreating the same bottlenecks of a monolith, only distributed. In this three-day *Designing Microservices Workshop*, you’ll learn how to design a loosely coupled, resilient architecture that enables fast, sustainable flow of value. Through lectures, hands-on exercises, and real-world design reviews, you’ll gain practical skills to avoid common architectural anti-patterns and build microservices that scale with your teams and your business. Join Chris Richardson to learn proven techniques for designing successful microservice architectures. ## The Trainer ![Microservices Patterns book cover.](https://www.avanscoperta.it/wp-content/uploads/2024/08/Chris-Richardson-Microservices-book-239x300.jpg) [Chris Richardson](https://www.avanscoperta.it/en/trainer/chris-richardson) is a software architecture consultant and the author of the book [Microservices Patterns](https://www.manning.com/books/microservices-patterns). He founded the original CloudFoundry.com, an early Java PaaS for Amazon EC2. Today, he is a recognised thought leader in microservices, and he helps organisations deliver better software faster. ## Learning Objectives - Understand when to use the microservice architecture - Identify and define services - Design operations that span multiple services using patterns such as Saga and CQRS - Evaluate a microservice architecture and identify architectural smells - Refactor and improve the architecture - Document a microservice architecture. ## Target Audience This workshop is for you if you’re an experienced developer, architect, CTO, or VP of engineering, and you are either using or planning to use the microservice architecture. If you are considering migrating your monolith to microservices, you will learn how to avoid many pitfalls using the microservice architecture pattern. Alternatively, if you are currently using microservices, you will learn how to improve your microservice architecture now and in the future. ## Topics - **The architectural requirements for fast, sustainable flow** What DevOps and Team topologies require from the architecture in order to deliver a continuous stream of small changes, - **Dark energy and dark matter, the forces that shape an architecture** The conflicting concerns, such as increasing team autonomy by defining smaller services vs. the need for efficient inter-service communication – that you must address with designing an architecture, - **The essential characteristics of the microservice architecture** A precise definition of this architecture style, including its essential features, why it enables fast flow, and why it doesn’t mean a collection of tiny services, - **A process for designing a microservice architecture** A rigorous design process for creating an architecture that carefully balances the dark energy and dark matter forces, - **Eventually consistent service collaboration patterns** Eventually consistent patterns for implementing requests that span multiple services. ## Agenda Through a combination of lectures, discussions, and kata exercises, the trainer, Chris Richardson, will walk you through distilling your application’s requirements into a collection of loosely coupled, appropriately-sized services. ### Day 1 - Designing a microservice architecture for fast, sustainable flow - Discovering system operations - Designing subdomains. ### Day 2 - Service collaboration patterns - Designing a service architecture, part 1. ### Day 3 - Designing a service architecture, part 2 - Evaluating a microservice architecture - Refactoring a microservice architecture. ## How it works In this workshop, you will design a service architecture for a simple, yet realistic application. The workshop is a mixture of Lectures + Katas + Design reviews. We’ll use a variety of tools, both tech and non-tech, such as Miro, pen and paper, post-its, for all the exercises. The workshop will mix of theory and practice, with lots of practical exercises, both solo and in groups. ### F.A.Q. ***Do I need to know something beforehand to participate in this workshop?*** You’ll get the most out of this workshop if you already have experience in developing enterprise applications. ***What languages will be used throughout the workshop?*** The architecture and design exercises are on paper or Miro, therefore they are independent of any particular technology stack. There won’t be any code-based exercises. ***Do I need my laptop to attend this workshop?*** Yes. Participants will decide whether to do the design exercises on paper or using technology such as Miro. We won’t be doing coding exercises during the workshop. ***Will there be any materials to take away?*** Yes, slides and design template documents. ![classroom with a trainer and a group of adult students](https://www.avanscoperta.it/wp-content/uploads/2024/07/Microservices-Chris-Richardson-workshop-300x225.jpg) ![Two people talking about a book](https://www.avanscoperta.it/wp-content/uploads/2024/07/Chris-Richardson-Workshop-e1756389959899-300x225.jpg) ![Group Picture of a classroom](https://www.avanscoperta.it/wp-content/uploads/2024/07/Microservices-Workshop-300x225.jpg) **Categories:** A catalogo **Tags:** Domain-Driven Design, Microservices, monolith, Software Architecture --- ### [Designing Microservices Workshop](https://www.avanscoperta.it/en/training/designing-microservices-workshop/) **Published:** July 1, 2024 **Author:** Enrico Meloni **Excerpt:** Chris Richardson is our guide in the world of microservices: experience how to design a loosely coupled, microservice architecture that enables fast, sustainable flow. **Content:** ## Build Microservices that accelerate delivery, not slow it down Many teams adopt microservices with the goal of moving faster, but end up with a distributed monolith: fragile, tightly coupled services that change in lockstep and slow down both delivery and innovation. The result? Frustrated teams, rising costs, and delayed value for customers. When applying the microservice architecture pattern, the most important design decisions you make are not about technology choices, Kubernetes vs. Serverless, or REST vs. gRPC. What really determines success is designing an architecture that supports fast flow: the continuous delivery of valuable changes to customers. To achieve this, you must identify services correctly and define their responsibilities, APIs, and collaborations. Poorly designed services turn into hidden points of failure, forcing teams to coordinate every change and recreating the same bottlenecks of a monolith, only distributed. In this three-day *Designing Microservices Workshop*, you’ll learn how to design a loosely coupled, resilient architecture that enables fast, sustainable flow of value. Through lectures, hands-on exercises, and real-world design reviews, you’ll gain practical skills to avoid common architectural anti-patterns and build microservices that scale with your teams and your business. Join Chris Richardson to learn proven techniques for designing successful microservice architectures. ## The Trainer ![Microservices Patterns book cover.](https://www.avanscoperta.it/wp-content/uploads/2024/08/Chris-Richardson-Microservices-book-239x300.jpg) [Chris Richardson](https://www.avanscoperta.it/en/trainer/chris-richardson) is a software architecture consultant and the author of the book [Microservices Patterns](https://www.manning.com/books/microservices-patterns). He founded the original CloudFoundry.com, an early Java PaaS for Amazon EC2. Today, he is a recognised thought leader in microservices, and he helps organisations deliver better software faster. ## Learning Objectives - Understand when to use the microservice architecture - Identify and define services - Design operations that span multiple services using patterns such as Saga and CQRS - Evaluate a microservice architecture and identify architectural smells - Refactor and improve the architecture - Document a microservice architecture. ## Target Audience This workshop is for you if you’re an experienced developer, architect, CTO, or VP of engineering, and you are either using or planning to use the microservice architecture. If you are considering migrating your monolith to microservices, you will learn how to avoid many pitfalls using the microservice architecture pattern. Alternatively, if you are currently using microservices, you will learn how to improve your microservice architecture now and in the future. ## Topics - **The architectural requirements for fast, sustainable flow** What DevOps and Team topologies require from the architecture in order to deliver a continuous stream of small changes, - **Dark energy and dark matter, the forces that shape an architecture** The conflicting concerns, such as increasing team autonomy by defining smaller services vs. the need for efficient inter-service communication – that you must address with designing an architecture, - **The essential characteristics of the microservice architecture** A precise definition of this architecture style, including its essential features, why it enables fast flow, and why it doesn’t mean a collection of tiny services, - **A process for designing a microservice architecture** A rigorous design process for creating an architecture that carefully balances the dark energy and dark matter forces, - **Eventually consistent service collaboration patterns** Eventually consistent patterns for implementing requests that span multiple services. ## Agenda Through a combination of lectures, discussions, and kata exercises, the trainer, Chris Richardson, will walk you through distilling your application’s requirements into a collection of loosely coupled, appropriately-sized services. ### Day 1 - Designing a microservice architecture for fast, sustainable flow - Discovering system operations - Designing subdomains. ### Day 2 - Service collaboration patterns - Designing a service architecture, part 1. ### Day 3 - Designing a service architecture, part 2 - Evaluating a microservice architecture - Refactoring a microservice architecture. ## How it works In this workshop, you will design a service architecture for a simple, yet realistic application. The workshop is a mixture of Lectures + Katas + Design reviews. We’ll use a variety of tools, both tech and non-tech, such as Miro, pen and paper, post-its, for all the exercises. The workshop will mix of theory and practice, with lots of practical exercises, both solo and in groups. ### F.A.Q. ***Do I need to know something beforehand to participate in this workshop?*** You’ll get the most out of this workshop if you already have experience in developing enterprise applications. ***What languages will be used throughout the workshop?*** The architecture and design exercises are on paper or Miro, therefore they are independent of any particular technology stack. There won’t be any code-based exercises. ***Do I need my laptop to attend this workshop?*** Yes. Participants will decide whether to do the design exercises on paper or using technology such as Miro. We won’t be doing coding exercises during the workshop. ***Will there be any materials to take away?*** Yes, slides and design template documents. ![classroom with a trainer and a group of adult students](https://www.avanscoperta.it/wp-content/uploads/2024/07/Microservices-Chris-Richardson-workshop-300x225.jpg) ![Two people talking about a book](https://www.avanscoperta.it/wp-content/uploads/2024/07/Chris-Richardson-Workshop-e1756389959899-300x225.jpg) ![Group Picture of a classroom](https://www.avanscoperta.it/wp-content/uploads/2024/07/Microservices-Workshop-300x225.jpg) **Categories:** On demand **Tags:** Domain-Driven Design, Microservices, monolith, Software Architecture --- ### [Agile Boot Camp](https://www.avanscoperta.it/en/training/agile-boot-camp/) **Published:** July 31, 2020 **Author:** Enrico Meloni **Excerpt:** Join Cédric Pontet to kick start your journey into agile by answering questions such as “what to know”, "where to start" and "how to avoid some of the most common pitfalls". **Content:** From desire to implementation: discover how to bootstrap your agile team by getting answers to the questions “what to know”, “where to start” and “how to avoid some of the most common pitfalls”. Also learn how to efficiently set up several agile teams, by sharing common practices, while reducing dependencies. Join Cedric Pontet from Agile Partner for this 4 half-day modules *Agile Boot Camp*! ## Target Audience This workshop is for anyone interested in bootstrapping one or more agile teams, whether they are directly involved in a team (e.g. Software developer, Product manager, Facilitator) or secondarily impacted by this change (e.g. UX designer, Ops engineer, Team manager, Competence center manager, Talent manager). ## Agenda ### Module 1 - What are the challenges that a team must tackle to perform durably? - How to increase a project’s chances of success? - How do agility and its specific mindset address these aspects? ### Module 2 - What are the basics of Scrum and what does Scrum change in terms of team organization? - What are the three roles of Scrum and the responsibilities associated with each of them? - What are the key success factors when applying Scrum? ### Module 3 - What is Lean and Kanban? - How are Scrum and Kanban similar? How do they differ? - How to manage a product in an agile way through a well-refined backlog? ### Module 4 - What are the possible steps to properly set up an agile team? - How to organize value delivery with several agile teams working in parallel? - How to address your current biggest challenges? (Q&A session, Lean Coffee style). ## Learning Objectives After the workshop you will understand: - The challenges that projects and teams usually face - How agility addresses these challenges - The core values and principles of agility - The Scrum framework and its related roles and responsibilities - The Lean and Kanban principles and their differences with Scrum - The basics of Product Management by using a backlog - How to bootstrap an agile team and work with several autonomous teams. ## Online Workshop – How does it work Learning works better in an immersive and engaging setting, and we’ve been working hard to recreate that feeling, even in an online delivery format. The training will be delivered over 4 half-day modules (4 x 4 hours). We will go through the different sections where we will alternate theory, discussions, and concrete practice through fun activities, co-creation, and videos. We will also keep a lot of space to answer as many of your questions as we can. You will be interacting and working together in real-time thanks to a variety of tools that you will have at your disposal, namely a virtual classroom, a collaborative virtual board, and a video-conference platform with breakout rooms. A good learning experience doesn’t match with passive fruition. Just like the in-person version of the workshop, expect to be challenged with real-world problems, and to be ready to listen to your brain signals while doing it. Part of the content will be available as slides, part will be created collectively as we dig into the various exercises. Every bit of content created will be made available to the students after the workshop is over, as PDFs in the virtual classroom. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we require that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. **Tags:** Agile, Kanban, Scrum, Team collaboration --- ### [Deep Dive into Model-Driven Design Workshop](https://www.avanscoperta.it/it/training/deep-dive-into-model-driven-design-workshop/) **Published:** January 24, 2024 **Author:** Enrico Meloni **Excerpt:** Next level Domain-Driven Design! Go beyond using basic tactical patterns such as aggregates, entities and value objects, learn the skills to become domain experts as software developers and unlock critical breakthroughs in product development. **Content:** Have you implemented a software model but find yourself uncertain about how to refine it effectively with new business constraints? Are you grappling with an initial domain model that, amidst changing business landscapes, seems more like an impediment than a help? Do you notice a growing disconnect between your code, the intricate complexities of your domain, and the ***core domain*** concepts? Experience the true power of Domain-Driven Design, dive deep into the complexities of Model-Driven Design and discover practical strategies beyond simple solutions to refine your Domain Model in Code. Embark on a journey with an intensive workshop that immerses Java and C# developers in the transformative process of [Eric Evans’s modeling whirlpool](https://www.domainlanguage.com/ddd/whirlpool/). Recognizing that many projects begin with simplistic models, which become limiting as complexity grows, this workshop starts with a Bounded Context derived from an EventStorming exercise. Participants will use [**Example Mapping**](https://cucumber.io/blog/bdd/example-mapping-introduction/) and **CRC-cards** sessions to formalize acceptance criteria, sketching a ‘naive’ domain model for our defined bounded context. This serves as a launchpad for practical, hands-on coding experiences, where acceptance criteria guide **Test-Driven Development** (TDD) exercises in both C# and Java. This *Deep Dive into Model-Driven Design Workshop* will reveal practical strategies for ‘*designing by coding*‘, ensuring that code remains aligned with the changing domain model. This workshop is not just an exploration but a deep dive into Part III of Evans’s groundbreaking work on [Domain-Driven Design](https://www.avanscoperta.it/en/learning-domain-driven-design/) (DDD), specifically designed for those looking to advance beyond basic concepts like aggregates, entities, and value objects. ## Learning Objectives - - Understand how you can include Design by coding in. - Get to experience the true power of Domain-Driven Design and go beyond using the basic tactical patterns. - Refine a basic domain model to a complex one that deeply resonates with the domain experts’ understanding. - Deep Modeling: Accurately reflect the complex realities and rules of the domain in code - Refactoring to deeper insights: These emerging practices will guide you in continuously refactoring your code build for complex domains, ensuring it remains deeply aligned with the evolving insights you gain from conversations with your domain experts. This approach allows you to dedicate more cognitive resources to comprehending and addressing the core needs of your stakeholders and users, rather than spending excessive time on translating requirements into your code. ## The Trainers In this workshop you will be guided by Kenny Baas-Schwegler and Bruno Boucard. [![Cover book collaborative software design kenny baas schwegler](https://www.avanscoperta.it/wp-content/uploads/2024/01/collaborative-software-design-kenny-baas-schwegler-239x300.jpg)](https://www.manning.com/books/collaborative-software-design) [Kenny Baas-Schwegler](https://www.avanscoperta.it/en/trainer/kenny-baas-schwegler/) is a passionate practitioner and supporter of collaborative software design, believing that “every voice shapes the software.” He has contributed to many books, such as *Collaborative Software Design*, *Domain-Driven Design: The First 15 Years*, *Visual Collaboration Tools*. [Bruno Boucard](https://www.avanscoperta.it/en/trainer/bruno-boucard/) is a consultant at OCTO Technology, as well as a technical manager and software architect. He has extensive experience as an agile and technical coach, specializing in TDD, BDD, DDD, and refactoring legacy code. ## Target Audience The workshop is aimed at: - Software Developers and Engineers with at least five years of experience - Tech Leads - Software or Solution Architects - Engineering Managers. The workshop’s language will be either Java or C#. ## Topics - Supple Design – Creating a flexible, cohesive, and easily maintainable domain model in code. - Deep Modeling – Accurately reflecting the complex realities and rules of the domain in code. - Refactoring toward deeper insight – Continuously improving and evolving the domain model - Design by coding – Refine the domain model through the coding process rather than having it extensively planned upfront. [![A practical view of the DDD Modelling Whirlpool](https://www.avanscoperta.it/wp-content/uploads/2024/01/Model-Driven-Design-Workshop-by-Kenny-Baas-and-Bruno-Boucard-Whirpool-OFFICIAL-1-1024x585.png)](https://www.avanscoperta.it/wp-content/uploads/2024/01/Model-Driven-Design-Workshop-by-Kenny-Baas-and-Bruno-Boucard-Whirpool-OFFICIAL-1.png) ## Agenda ### Module 1 – Software Design - How do we tackle software design today? - The true meaning of modelling, according to Eric Evans. - Collaboration in the Model Exploration Whirlpool - Introduction to our problem through an EventStorming outcome - Refreshment of the Bounded Context pattern ### Module 2 – Sketching and probing the early model - Lab 1 – Discovering acceptance criteria through Example Mapping - Lab 2 – Sketching our early model with CRC-Cards - Emerging tactical patterns of the model - Lab 3 – Code probe the naive model through Outside-in TDD ### Module 3 – Supple design - How the code can become rigid by unexpected requirements - Lab 4 – Introducing new requirements we did not account for - Supple Design – Creating a flexible, cohesive, and easily maintainable domain model in code ### Module 4 – Deep modeling - How the code can be left behind from the domain model - Lab 5 – Introducing more complex business rules in the code - Deep Modeling – Accurately reflecting the complex realities and rules of the domain in code ### Module 5 – Refactoring to deeper insights - Refactoring toward deeper insight – Continuously improving and evolving the domain model - When to collaborate with domain experts - Lab 6 – Prototype and Design by Coding through advanced deep modelling - Complexity – when do we need all this? ## How it works The workshop will include a variety of activities, including coding (both solo, in pair or mob programming), discussions, group exercises and collaborative modeling using tools such as Miro and Zoom. Coding is the main focus, guided by Test-Driven Development in Java or C#. While you have the option to code individually, we strongly recommend pair programming or ensemble programming to enhance the learning experience. You’ll spend most of your time engaging with the domain, mainly through **Design by Coding**. You might occasionally return to the Miro digital whiteboard for insightful refactoring. **Categories:** A calendario, A catalogo **Tags:** DDD, Domain-Driven Design, Example Mapping, Software Acrhitecture, Software Architecture, TDD --- ### [Deep Dive into Model-Driven Design Workshop](https://www.avanscoperta.it/en/training/deep-dive-into-model-driven-design-workshop/) **Published:** January 24, 2024 **Author:** Enrico Meloni **Excerpt:** Next level Domain-Driven Design! Go beyond using basic tactical patterns such as aggregates, entities and value objects, learn the skills to become domain experts as software developers and unlock critical breakthroughs in product development. **Content:** Have you implemented a software model but find yourself uncertain about how to refine it effectively with new business constraints? Are you grappling with an initial domain model that, amidst changing business landscapes, seems more like an impediment than a help? Do you notice a growing disconnect between your code, the intricate complexities of your domain, and the ***core domain*** concepts? Experience the true power of Domain-Driven Design, dive deep into the complexities of Model-Driven Design and discover practical strategies beyond simple solutions to refine your Domain Model in Code. Embark on a journey with an intensive workshop that immerses Java and C# developers in the transformative process of [Eric Evans’s modeling whirlpool](https://www.domainlanguage.com/ddd/whirlpool/). Recognizing that many projects begin with simplistic models, which become limiting as complexity grows, this workshop starts with a Bounded Context derived from an EventStorming exercise. Participants will use [**Example Mapping**](https://cucumber.io/blog/bdd/example-mapping-introduction/) and **CRC-cards** sessions to formalize acceptance criteria, sketching a ‘naive’ domain model for our defined bounded context. This serves as a launchpad for practical, hands-on coding experiences, where acceptance criteria guide **Test-Driven Development** (TDD) exercises in both C# and Java. This *Deep Dive into Model-Driven Design Workshop* will reveal practical strategies for ‘*designing by coding*‘, ensuring that code remains aligned with the changing domain model. This workshop is not just an exploration but a deep dive into Part III of Evans’s groundbreaking work on [Domain-Driven Design](https://www.avanscoperta.it/en/learning-domain-driven-design/) (DDD), specifically designed for those looking to advance beyond basic concepts like aggregates, entities, and value objects. ## Learning Objectives - - Understand how you can include Design by coding in. - Get to experience the true power of Domain-Driven Design and go beyond using the basic tactical patterns. - Refine a basic domain model to a complex one that deeply resonates with the domain experts’ understanding. - Deep Modeling: Accurately reflect the complex realities and rules of the domain in code - Refactoring to deeper insights: These emerging practices will guide you in continuously refactoring your code build for complex domains, ensuring it remains deeply aligned with the evolving insights you gain from conversations with your domain experts. This approach allows you to dedicate more cognitive resources to comprehending and addressing the core needs of your stakeholders and users, rather than spending excessive time on translating requirements into your code. ## The Trainers In this workshop you will be guided by Kenny Baas-Schwegler and Bruno Boucard. [![Cover book collaborative software design kenny baas schwegler](https://www.avanscoperta.it/wp-content/uploads/2024/01/collaborative-software-design-kenny-baas-schwegler-239x300.jpg)](https://www.manning.com/books/collaborative-software-design) [Kenny Baas-Schwegler](https://www.avanscoperta.it/en/trainer/kenny-baas-schwegler/) is a passionate practitioner and supporter of collaborative software design, believing that “every voice shapes the software.” He has contributed to many books, such as *Collaborative Software Design*, *Domain-Driven Design: The First 15 Years*, *Visual Collaboration Tools*. [Bruno Boucard](https://www.avanscoperta.it/en/trainer/bruno-boucard/) is a consultant at OCTO Technology, as well as a technical manager and software architect. He has extensive experience as an agile and technical coach, specializing in TDD, BDD, DDD, and refactoring legacy code. ## Target Audience The workshop is aimed at: - Software Developers and Engineers with at least five years of experience - Tech Leads - Software or Solution Architects - Engineering Managers. The workshop’s language will be either Java or C#. ## Topics - Supple Design – Creating a flexible, cohesive, and easily maintainable domain model in code. - Deep Modeling – Accurately reflecting the complex realities and rules of the domain in code. - Refactoring toward deeper insight – Continuously improving and evolving the domain model - Design by coding – Refine the domain model through the coding process rather than having it extensively planned upfront. [![The DDD Whirlpool model in action](https://www.avanscoperta.it/wp-content/uploads/2024/01/Model-Driven-Design-Workshop-by-Kenny-Baas-and-Bruno-Boucard-Whirpool-OFFICIAL-1-1024x585.png)](https://www.avanscoperta.it/wp-content/uploads/2024/01/Model-Driven-Design-Workshop-by-Kenny-Baas-and-Bruno-Boucard-Whirpool-OFFICIAL-1.png) ## Agenda ### Module 1 – Software Design - How do we tackle software design today? - The true meaning of modelling, according to Eric Evans. - Collaboration in the Model Exploration Whirlpool - Introduction to our problem through an EventStorming outcome - Refreshment of the Bounded Context pattern ### Module 2 – Sketching and probing the early model - Lab 1 – Discovering acceptance criteria through Example Mapping - Lab 2 – Sketching our early model with CRC-Cards - Emerging tactical patterns of the model - Lab 3 – Code probe the naive model through Outside-in TDD ### Module 3 – Supple design - How the code can become rigid by unexpected requirements - Lab 4 – Introducing new requirements we did not account for - Supple Design – Creating a flexible, cohesive, and easily maintainable domain model in code ### Module 4 – Deep modeling - How the code can be left behind from the domain model - Lab 5 – Introducing more complex business rules in the code - Deep Modeling – Accurately reflecting the complex realities and rules of the domain in code ### Module 5 – Refactoring to deeper insights - Refactoring toward deeper insight – Continuously improving and evolving the domain model - When to collaborate with domain experts - Lab 6 – Prototype and Design by Coding through advanced deep modelling - Complexity – when do we need all this? ## How it works The workshop will include a variety of activities, including coding (both solo, in pair or mob programming), discussions, group exercises and collaborative modeling using tools such as Miro and Zoom. Coding is the main focus, guided by Test-Driven Development in Java or C#. While you have the option to code individually, we strongly recommend pair programming or ensemble programming to enhance the learning experience. You’ll spend most of your time engaging with the domain, mainly through **Design by Coding**. You might occasionally return to the Miro digital whiteboard for insightful refactoring. **Categories:** On demand, Scheduled **Tags:** DDD, Domain-Driven Design, Example Mapping, Software Architecture, TDD --- ### [Passionate Product Ownership: Certified Scrum Product Owner Course](https://www.avanscoperta.it/it/training/jeff-patton-certified-scrum-product-owner-course/) **Published:** April 8, 2015 **Author:** Jeff Patton **Excerpt:** Passionate Product Ownership is a Certified Scrum Product Ownership course that blends solid product management, user experience design, and design thinking into a collaborative team-based approach to Scrum product ownership. **Content:** *Passionate Product Ownership is a Certified\* Scrum Product Ownership course that blends **solid product management**, **user experience design**, and **design thinking into a collaborative team-based approach to Scrum product ownership**.* That’s a mouthful of jargon, but what’s important to know is that this *isn’t* just a course about filling the product ownership role in Scrum. I**t’s a course that teaches the practices you and your team need to create successful products**. #### An Approach to Successful Product Ownership Product ownership is one of the most critical and most difficult roles in an agile process. Too often organizations adopting agile approaches and Scrum are lead to believe a single person in a product owner role is responsible for making all the decisions about the product- down to the last detail. The result is stressed, overworked product owner that’s become a bottleneck for everyone else in the organization. Others with critical input and valuable skills are often shut out of the process. In the end the product being built gets worse, and people in the company are less happy than ever before. *But that’s not the way agile development is supposed to work.* **This class is about an approach to agile product ownership that does**. In this course with [Jeff Patton](https://www.avanscoperta.it/it/author/jeff-patton/ "Jeff Patton"), we’ll teach a **team-based approach** to product ownership where a product owner leads a small discovery team that includes the roles and skills necessary to create a great product. ##### Who should attend this course? - **Product managers**, **business stakeholders**, and **product marketing professionals**: to understand the practices that lead to valuable products - **User experience practitioners**, and **business analysts**: to understand the practices that lead to usable and desirable products - **Senior engineers**: to understand the practices that lead to feasible products - **Project managers**, **Scrum Masters**, and **agile coaches**: to understand how to guide successful product discovery and delivery ##### What will you learn in this course? The simple Scrum Framework is an effective product delivery approach, but the hardest part of software development is figuring out exactly what to deliver. In this course you’ll learn: - the **goals** and **activities of product discovery**. - to use a **dual-track approach to development** where a discovery track is used to guide rapid learning, and a delivery track is used to guide rapid delivery of validated product solutions. - how to use **effective product design concepts** and **practices** to engage in effective collaborative product discovery work - practices that blend **the best of agile, lean, and user experience thinking**. These practices allow small teams to engage in faster more collaborative product design and validation. - **Lean Startup** and **Validated Learning** - **Design Thinking** - Workshop facilitation and **card modeling** - **Lightweight persona sketching** - **User story mapping** - **Collaborative design sketching** - **Paper prototyping and testing** - Techniques for finding a **minimal viable product** - **MVP** in a large product release ##### *Expect to get your hands dirty* You won’t spend time dozing to PowerPoint slides. **You’ll be up and moving and getting hands-on experience working** in a small collaborative group. *\*This course contains all the necessary instructions to qualify participants for Scrum Product Owner Certification. The certification is given and the status maintained by [the Scrum Alliance](https://www.scrumalliance.org/get-certified/product-owner-track/certified-scrum-product-owner "csp scrum alliance"). To receive the certification, the student needs only to attend the course.* ##### *Combo Better Software* Combine your attendance at [**Better Software 2015**](http://2015.bettersoftware.it/ "Better Software 2015") with **Jeff Patton’s Course** and **save 20%**! [Write us](mailto:info@avanscoperta.it) and get your promo code! ###### FAQ *I am already a CSPO. Does it make sense for me to join this class?* Yes, if you’re interested in **USER STORY MAPPING** and in techniques to collaboratively achieve a shared product vision, that’s the place to be. Definitely not a “CSPO by the book” class. *Will there be a real-time translation?* No, however **Alberto Brandolini** will be there to facilitate discussion whenever needed, to help with translation, and to take visual notes. **Tags:** Agile Software Development, CSPO, Lean, Scrum --- ### [Passionate Product Ownership, the Certified Scrum Product Owner Course](https://www.avanscoperta.it/en/training/the-certified-scrum-product-owner-course-jeff-patton/) **Published:** April 8, 2015 **Author:** Jeff Patton **Excerpt:** Passionate Product Ownership is a Certified Scrum Product Ownership course that blends solid product management, user experience design, and design thinking into a collaborative team-based approach to Scrum product ownership. **Content:** *Passionate Product Ownership is a Certified\* Scrum Product Ownership course that blends **solid product management**, **user experience design**, and **design thinking into a collaborative team-based approach to Scrum product ownership**.* That’s a mouthful of jargon, but what’s important to know is that this *isn’t* just a course about filling the product ownership role in Scrum. I**t’s a course that teaches the practices you and your team need to create successful products**. ## An Approach to Successful Product Ownership Product ownership is one of the most critical and most difficult roles in an agile process. Too often organizations adopting agile approaches and Scrum are lead to believe a single person in a product owner role is responsible for making all the decisions about the product- down to the last detail. The result is stressed, overworked product owner that’s become a bottleneck for everyone else in the organization. Others with critical input and valuable skills are often shut out of the process. In the end the product being built gets worse, and people in the company are less happy than ever before. *But that’s not the way agile development is supposed to work.* **This class is about an approach to agile product ownership that does**. In this course with [Jeff Patton](https://www.avanscoperta.it/it/author/jeff-patton/ "Jeff Patton - avanscoperta"), we’ll teach a **team-based approach** to product ownership where a product owner leads a small discovery team that includes the roles and skills necessary to create a great product. ##### Who should attend this course? - **Product managers**, **business stakeholders**, and **product marketing professionals**: to understand the practices that lead to valuable products - **User experience practitioners**, and **business analysts**: to understand the practices that lead to usable and desirable products - **Senior engineers**: to understand the practices that lead to feasible products - **Project managers**, **Scrum Masters**, and **agile coaches**: to understand how to guide successful product discovery and delivery ##### What will you learn in this course? The simple Scrum Framework is an effective product delivery approach, but the hardest part of software development is figuring out exactly what to deliver. In this course you’ll learn: - the **goals** and **activities of product discovery**. - to use a **dual-track approach to development** where a discovery track is used to guide rapid learning, and a delivery track is used to guide rapid delivery of validated product solutions. - how to use **effective product design concepts** and **practices** to engage in effective collaborative product discovery work - practices that blend **the best of agile, lean, and user experience thinking**. These practices allow small teams to engage in faster more collaborative product design and validation. - **Lean Startup** and **Validated Learning** - **Design Thinking** - Workshop facilitation and **card modeling** - **Lightweight persona sketching** - **User story mapping** - **Collaborative design sketching** - **Paper prototyping and testing** - Techniques for finding a **minimal viable product** - **MVP** in a large product release ##### Expect to get your hands dirty You won’t spend time dozing off to PowerPoint slides. **You’ll be up and moving and getting hands-on experience working** in a small collaborative group. *\*This course contains all the necessary instructions to qualify participants for Scrum Product Owner Certification. The certification is given and the status maintained by [the Scrum Alliance](https://www.scrumalliance.org/get-certified/product-owner-track/certified-scrum-product-owner "csp scrum alliance"). To receive the certification, the student need only attend the course.* ##### Combo Better Software Combine your attendance at [**Better Software 2015**](http://2015.bettersoftware.it/ "Better Software 2015") with **Jeff Patton’s Course** and **save 20%**! [Write us](mailto:info@avanscoperta.it) and get your promo code! ###### FAQ *I am already a CSPO. Does it make sense for me to join this class?* Yes, if you’re interested in **USER STORY MAPPING** and in techniques to collaboratively achieve a shared product vision, that’s the place to be. Definitely not a “CSPO by the book” class. *Will there be a real-time translation?* No, however **Alberto Brandolini** will be there to facilitate discussion whenever needed, to help with translation, and to take visual notes. **Tags:** Agile Software Development, CSPO, Lean, Scrum --- ### [Implementing Domain-Driven Design Meetup](https://www.avanscoperta.it/it/training/implementing-domain-driven-design-meetup/) **Published:** October 15, 2012 **Author:** Vaughn Vernon **Content:** Abbiamo il piacere di organizzare una serata speciale a Roma con Vaughn Vernon, autore di “Implementing Domain-Driven Design”, forse uno dei libri più attesi dalla comunità degli sviluppatori. Vaughn ci parlerà di alcuni argomenti chiave di DDD, con particolare riferimento alle scelte ed alle strategia da applicare per bilanciare lo sviluppo di nuove funzionalità in contesti con componenti legacy. Seguirà una discussione aperta, moderata o attizzata da Alberto Brandolini. **Categories:** A calendario **Tags:** DDD --- ### [Wardley Mapping Accelerator](https://www.avanscoperta.it/en/training/wardley-mapping-accelerator/) **Published:** March 17, 2022 **Author:** Enrico Meloni **Excerpt:** Learn about the purpose of organizations, how to make your own Wardley Maps, and even get some practice with strategic thinking with Ben Mosior. **Content:** ## Abstract Wardley Mapping is a self-taught strategy. Popularized by its inventor, Simon Wardley, Wardley Mapping uses visual models to prompt important strategic conversations and decisions. Today, Wardley Mapping finds plenty of use in personal, organizational, and even national contexts to create purposeful designs, facilitate transformation, and even save lives. While Simon Wardley has written a free book, sometimes getting started with Wardley Mapping remains a challenge. In this workshop, Ben Mosior invites us to join him along an unconventional but well-tested path through the Wardley Mapping material. Along the way, we will learn about the purpose of organization, make our own Wardley Maps, and even get some practice with strategic thinking. ## Target Audience This 3-hour workshop does not require any prior experience with Wardley Mapping, and it’s particularly useful for: - Everyday people who don’t want to be leaders but must be, out of necessity; - Anyone who makes (or aspires to make) decisions that must endure the test of time; - Anyone in a leadership position who feels like an imposter when it comes to strategy work. ## Program Tomorrow, countless everyday people will wander into moments of potential leadership, where clear thinking and right action would make all the difference. Sadly, they won’t notice the opportunity. And if they do notice, they won’t answer the call, because they “aren’t leaders” or “don’t know what to do.” Wardley Mapping isn’t a magic solution but an invitation. With a few basic skills, everyday people can learn to see opportunity, design purposeful action, and leverage what they have to great effect. This three-hour experience follows the shortest path to value through the Wardley Mapping body of knowledge. You’ll get hands-on practice, make your first Wardley Map, and learn to find hidden opportunities through strategic thinking. ### Topics A formal, rapid introduction to Wardley Mapping. Along the way, we’ll cover: - The purpose of organization - What is Wardley Mapping? - The Five Minute Wardley Map: – Lists: How to identify Users, Needs, and Capabilities; – Value Chains: How to identify dependency relationships; – Wardley Maps: How to identify the impact of market forces on our situation. - The Strategic Thinking Process: – Cultivating Options: A basic process for using Wardley Maps for strategic thinking; – Finding Even More Options: How to iterate and improve upon a Wardley Map and expand our questions; – Overcoming common obstacles - A more formal path into Wardley Mapping - Plenty of time for Q&A and discussion! ## Learning Objectives – What are we gonna learn? Participants will leave with the ability to: - Define the basic parts of a strategic “situation” (i.e., users, needs, capabilities). - Define how the parts work together to create value and meet needs (i.e., value chains) - Describe the system-wide implications of market forces (i.e., evolution and Wardley Maps). - Engage in a basic strategic thinking process to discover potential opportunities (e.g., build, buy, or outsource). ## Expect to get your hands dirty Expect small group discussions, short lectures and demonstrations, full group discussions as needed, and quite a bit of private individual work. (No toy examples or hypotheticals. You will explore your real-world situation with Wardley Mapping using pencil and paper at home. You will not be obligated to share what you find.) We will also make use Miro and Zoom to create a supportive learning environment. ## Why should you buy a ticket? If you’ve always wanted Wardley Mapping to work for you, or if you’re just curious what it’s all about, this course will deliver! You will leave with a map, a list of strategic opportunities available to you on that map, and everything you’d need to continue learning Wardley’s approach to strategy if you find it helpful. ## Online Workshop – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. We’ll also be using analog tools such as pen and paper in some moments of the workshop. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Categories:** Scheduled **Tags:** Business Strategy, Decision Making, Wardley Mapping --- ### [Crafted Design Workshop](https://www.avanscoperta.it/it/training/crafted-design-workshop/) **Published:** July 26, 2018 **Author:** Enrico Meloni **Excerpt:** Crafted Design addresses design from the most micro level (via TDD) all the way up to defining microservices by analsying business requirements. After the workshop you'll be able to design software that is responsive to changing requirements and new functionally, avoiding some of the pitfalls that lead to legacy code. **Content:** Crafted Design Workshop with [Sandro Mancuso](https://www.avanscoperta.it/en/trainer/sandro-mancuso/) is for **experienced developers** who want to get better at designing well-crafted solutions. This training addresses **design** from the most **micro level (via TDD)** all the way up to defining **microservices** by **analysing business requirements**. After this workshop with Sandro Mancuso you’ll be able to **design software that is responsive to changing requirements and new functionalities,** **avoiding** some of the pitfalls that lead to **legacy code**. ## Target audience Crafted Design is **an advanced workshop** aimed at software developers who: - Have at least **a couple of years of experience developing software commercially** - Are familiar with at least one **Object-Oriented Programming language** (such as **Java**, **C#**, or **C++**) - Are comfortable using **TDD to build software** - Understand **mock objects** and know how to use a **mocking library** - Have a general understanding of different **architectural styles**, including **microservices**. ## The Trainer Sandro Mancuso is the Author of the book [Software Craftsmanship](https://leanpub.com/socra) and the co-founder and CEO of Codurance. Sandro is a pioneer of the Software Craftsmanship movement. ## What will you learn in this course? - Learn **design techniques** applied in successful projects - Use **TDD as a design tool**, learning about the two main TDD styles (Classicist and Outside-In) and how they differ when driving the design of your code - Drive out a **flexible design** at different levels, from details of real-world all the way up to **microservices** - Build **software that is not bound to a specific technology or framework** by keeping them at the boundaries of your system - **Express your business domain in every facet of your application**, not just methods and classes - **Keep your design clean** as your application grows and requirements change - Let your architecture emerge, rather than designing a rigid and unchangeable structure up-front - Learn **how to derive a microservices architecture from business requirements** and bounded contexts - Learn **how to model behaviour instead of state** keeping your design more aligned to business goals. ## Program ***Day 1*** - Write tests focused on behaviour instead of state - **Emergent design** through classicist TDD - **SOLID** principles - BAP – **Balanced Abstraction Principle** - Use TDD as a design tool with **Outside-In TDD** - **Tell, Don’t Ask** - Commands, Queries, and Open/Close Principle compliance. ***Day 2*** - Principles of **Domain-Driven Design** - IDD – **Interaction-Driven Design** - Structure projects in a way that expresses what the application does and what it is about - Differences between **layers**, **hexagons**, **features**, and **components** - Modelling behaviour using Outside-In Design - Identifying services from business rules - Express design and architecture in code, but keeping your domain clear - Understanding **Impact Mapping** and how a **services architectur**e can real-world from it. **Categories:** A catalogo **Tags:** Domain-Driven Design, Microservices, Software Design, TDD, Test Driven Development --- ### [Crafted Design Workshop](https://www.avanscoperta.it/en/training/crafted-design-workshop/) **Published:** July 26, 2018 **Author:** Enrico Meloni **Excerpt:** Crafted Design addresses design from the most micro level (via TDD) all the way up to defining microservices by analsying business requirements. After the workshop you'll be able to design software that is responsive to changing requirements and new functionally, avoiding some of the pitfalls that lead to legacy code. **Content:** Crafted Design Workshop with [Sandro Mancuso](https://www.avanscoperta.it/en/trainer/sandro-mancuso/) is for **experienced developers** who want to get better at designing well-crafted solutions. This training addresses **design** from the most **micro level (via TDD)** all the way up to defining **microservices** by **analysing business requirements**. After this workshop with Sandro Mancuso you’ll be able to **design software that is responsive to changing requirements and new functionalities,** **avoiding** some of the pitfalls that lead to **legacy code**. ## Target audience Crafted Design is **an advanced workshop** aimed at software developers who: - Have at least **a couple of years of experience developing software commercially** - Are familiar with at least one **Object-Oriented Programming language** (such as **Java**, **C#**, or **C++**) - Are comfortable using **TDD to build software** - Understand **mock objects** and know how to use a **mocking library** - Have a general understanding of different **architectural styles**, including **microservices**. ## The Trainer Sandro Mancuso is the Author of the book [Software Craftsmanship](https://leanpub.com/socra) and the co-founder and CEO of Codurance. Sandro is a pioneer of the Software Craftsmanship movement. ## What will you learn in this course? - Learn **design techniques** applied in successful projects - Use **TDD as a design tool**, learning about the two main TDD styles (Classicist and Outside-In) and how they differ when driving the design of your code - Drive out a **flexible design** at different levels, from details of real-world all the way up to **microservices** - Build **software that is not bound to a specific technology or framework** by keeping them at the boundaries of your system - **Express your business domain in every facet of your application**, not just methods and classes - **Keep your design clean** as your application grows and requirements change - Let your architecture emerge, rather than designing a rigid and unchangeable structure up-front - Learn **how to derive a microservices architecture from business requirements** and bounded contexts - Learn **how to model behaviour instead of state** keeping your design more aligned to business goals. ## Program ***Day 1*** - Write tests focused on behaviour instead of state - **Emergent design** through classicist TDD - **SOLID** principles - BAP – **Balanced Abstraction Principle** - Use TDD as a design tool with **Outside-In TDD** - **Tell, Don’t Ask** - Commands, Queries, and Open/Close Principle compliance. ***Day 2*** - Principles of **Domain-Driven Design** - IDD – **Interaction-Driven Design** - Structure projects in a way that expresses what the application does and what it is about - Differences between **layers**, **hexagons**, **features**, and **components** - Modelling behaviour using Outside-In Design - Identifying services from business rules - Express design and architecture in code, but keeping your domain clear - Understanding **Impact Mapping** and how a **services architectur**e can real-world from it. **Categories:** On demand **Tags:** Domain-Driven Design, Microservices, Software Design, TDD, Test Driven Development --- ### [Domain Modeling Made Functional Workshop](https://www.avanscoperta.it/it/training/domain-modeling-made-functional-workshop/) **Published:** December 11, 2019 **Author:** Alessandra Granaudo **Excerpt:** DDD meets F#. It's time to learn how to build working solutions with rich domain models by using only functional programming techniques. **Content:** Functional Programming and Domain-Driven Design might not seem to be a good match, but in fact functional programming can be an excellent approach to designing decoupled, reusable systems with a rich domain model. This workshop will show you why. This is a hands-on workshop by [Scott Wlaschin](https://www.avanscoperta.it/en/trainer/scott-wlaschin/), author of the book “Domain Modeling Made Functional”, and it’s designed for beginners in functional programming. You’ll do lots of domain modeling exercises starting with some simple models and then enhancing them with constraints, state machines, error handling, commands and events, and so on. ## Learning Objectives By the end of the workshop, you’ll know how to build working solutions with rich domain models, using only functional programming techniques. Join this workshop by Scott Wlaschin and learn: - The concepts of functional programming - How to represent the nouns and verbs of a domain using types and functions - How to decouple the pure domain logic from the outside world - How to ensure that constraints and business rules are captured in the design - How to represent state transitions in the domain model - How to build a business workflow from smaller components - How to handle errors as part of the domain. ## The Trainer *«I believe that solutions emerge from the judicious study of discernible reality.» [![Cover book Domain Modeling Made Functional](https://www.avanscoperta.it/wp-content/uploads/2019/12/Scott-Wlaschin-Book-Domain-modeling-made-functional-250x300.jpg)](https://pragprog.com/titles/swdddf/domain-modeling-made-functional/)* Scott Wlaschin is the creator of the popular F# website [fsharpforfunandprofit.com](https://fsharpforfunandprofit.com/) and the author of *Domain Modeling Made Functional*. Renowned for his clear, business-oriented approach to functional programming, Scott prioritises real-world understanding over abstract theory. His teaching style focuses on practical, relatable examples rather than academic models. A well-known speaker, Scott has presented at major conferences including NDC, F# Exchange, KanDDDinsky, and DDD Europe, inspiring audiences around the world. ## Target Audience This workshop is aimed at software developers and it will be especially useful if you are learning functional programming – all concepts used in the workshop will be explained. Previous development experience is recommended. No prior knowledge of functional programming required. ## Topics - Introduction to functional programming - Functions and types - Composition as the fundamental principle - Overview of DDD principles - The importance of bounded contexts - Persistence ignorance - Onion/Hexagonal architecture and how this works with functional programming - Modeling requirements with algebraic types - Records, choices, and functions - Modeling constraints - Modeling states - Programming a workflow - Keeping IO at the edges - Handling domain errors - Composing complex functions - Evolving the domain - Dealing with changes in requirements. ## How it works The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. ### F.A.Q. *Do I need to know something beforehand in order to participate in this workshop?* We will be using F# as our development language. No experience with F# needed. *Is there anything I must do before I buy a ticket for this online workshop?* Check out [your connection’s speed](https://www.speedtest.net/it). **Categories:** A calendario, A catalogo **Tags:** DDD, Domain Model, Domain-Driven Design, F#, Functional Programming --- ### [Domain Modeling Made Functional Workshop](https://www.avanscoperta.it/en/training/domain-modeling-made-functional-workshop/) **Published:** December 11, 2019 **Author:** Alessandra Granaudo **Excerpt:** DDD meets F#. It's time to learn how to build working solutions with rich domain models by using only functional programming techniques. **Content:** Functional Programming and Domain-Driven Design might not seem to be a good match, but in fact functional programming can be an excellent approach to designing decoupled, reusable systems with a rich domain model. This workshop will show you why. This is a hands-on workshop by [Scott Wlaschin](https://www.avanscoperta.it/en/trainer/scott-wlaschin/), author of the book “Domain Modeling Made Functional”, and it’s designed for beginners in functional programming. You’ll do lots of domain modeling exercises starting with some simple models and then enhancing them with constraints, state machines, error handling, commands and events, and so on. ## Learning Objectives By the end of the workshop, you’ll know how to build working solutions with rich domain models, using only functional programming techniques. Join this workshop by Scott Wlaschin and learn: - The concepts of functional programming - How to represent the nouns and verbs of a domain using types and functions - How to decouple the pure domain logic from the outside world - How to ensure that constraints and business rules are captured in the design - How to represent state transitions in the domain model - How to build a business workflow from smaller components - How to handle errors as part of the domain. ## The Trainer *«I believe that solutions emerge from the judicious study of discernible reality.» [![Cover book Domain Modeling Made Functional](https://www.avanscoperta.it/wp-content/uploads/2019/12/Scott-Wlaschin-Book-Domain-modeling-made-functional-250x300.jpg)](https://pragprog.com/titles/swdddf/domain-modeling-made-functional/)* Scott Wlaschin is the creator of the popular F# website [fsharpforfunandprofit.com](https://fsharpforfunandprofit.com/) and the author of *Domain Modeling Made Functional*. Renowned for his clear, business-oriented approach to functional programming, Scott prioritises real-world understanding over abstract theory. His teaching style focuses on practical, relatable examples rather than academic models. A well-known speaker, Scott has presented at major conferences including NDC, F# Exchange, KanDDDinsky, and DDD Europe, inspiring audiences around the world. ## Target Audience This workshop is aimed at software developers and it will be especially useful if you are learning functional programming – all concepts used in the workshop will be explained. Previous development experience is recommended. No prior knowledge of functional programming required. ## Topics - Introduction to functional programming - Functions and types - Composition as the fundamental principle - Overview of DDD principles - The importance of bounded contexts - Persistence ignorance - Onion/Hexagonal architecture and how this works with functional programming - Modeling requirements with algebraic types - Records, choices, and functions - Modeling constraints - Modeling states - Programming a workflow - Keeping IO at the edges - Handling domain errors - Composing complex functions - Evolving the domain - Dealing with changes in requirements. ## How it works The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. ### F.A.Q. *Do I need to know something beforehand in order to participate in this workshop?* We will be using F# as our development language. No experience with F# needed. *Is there anything I must do before I buy a ticket for this online workshop?* Check out [your connection’s speed](https://www.speedtest.net/it). **Categories:** On demand, Scheduled **Tags:** DDD, Domain-Driven Design, F#, Functional Programming --- ### [Microservices Practical Training Course](https://www.avanscoperta.it/en/training/microservices-practical-training-course/) **Published:** May 20, 2024 **Author:** Enrico Meloni **Excerpt:** With Gianluca Padovani we will learn to build a microservices architecture, to recognize variations and differences and to choose the best one for our context. **Content:** > ***The next edition of the workshop will be held in Italian.**[ Join the Early access List](https://forms.gle/TXhLwcxQ6Hn2VgGQA) to know when we will schedule an English edition of the workshop, or visit the Italian page of the Microservices Practical Workshop.*** ***Microservices: the panacea for all ills, or the worst thing to do?*** In reality, neither one nor the other. They are one of the many possible architectures, there are contexts in which they provide great advantages and others in which they bring only death and destruction. In the Microservices Practical Workshop with Gianluca Padovani, we will learn to build a microservices architecture, recognize variations and differences and choose the best one for our context. One of the first steps to fully understand Microservices is to analyze them from a Domain-Driven Design perspective, also to understand if an architecture of this type is suitable for our business. The mental predisposition in the analysis of the domain in which one is going to operate, even before writing the code, is fundamental to start analyzing the problem from the correct point of view and in all its complexity, and EventStorming is a fundamental tool with regards to this. We will understand what the different “nuances” of architecture and microservices are, when it is appropriate to push on a certain feature or when it is better to push on the opposite feature. ## Target Audience Have you read a lot about microservices but don’t feel like trying to get your hands on it? Want to see some real implementation cases? Do you want to compare yourself with someone who has experience in the field? It’s your time. Have you tried microservices, do you still bear the scars and want to understand why there are still people who persist in doing these crazy things? This is the course for you. Have you already used microservices, do you like them and want to see if you did them well, or how you could do them better? This course is for you. This workshop is specifically aimed at: - Software Architect - Software Developer - CTO. Basic knowledge of Domain-Driven Design and EventStorming is required. Anyone who enrolls in the course will receive a digital copy of the book Cronache di Domain-Driven Design (published by Avanscoperta). Reading the first part of the book is a requirement to access and participate in the course. We will develop an architecture making HTTP calls, and sending messages on queues, so you will need to have some familiarity with these. You need to know what a DB is and what a docker image is. ## Program In this course we will develop a microservices architecture. We will start by analyzing an example domain with EventStorming, a technique that will help us dissect the domain in all its complexity. We will find what our service boundaries are, decide which microservices we want to focus on, and develop them. During this 5 session journey, we will decide which communication method to use, how to deploy our microservices and how to evolve them. We will also work on a monolith, from which to “extract” some functionality. We will understand how to manage load situations, and how to be sufficiently resilient to the crash of one or more microservices. We will work both in groups and individually, as if we were “a real company”. We will address various issues and alternate moments of practice with those of theory, in order to understand which principles and which heuristics support our decisions. ## Agenda ### Session 1: Microservices: What they are and where to find them - What are microservices and why use them - Macro, Micro, Nano: does size matter - In search of microservices in DDD sauce: EventStorming ### Session 2: Let’s develop the first microservice - How microservices communicate - Events, commands, messages - How to organize persistence and how many databases to have - How to manage foreign keys and transactions ### Session 3: Let’s build a complex system - Couplings between the various microservices - The concept of Saga - How to change the interface of my microservices - Versioning, synchronized deployments, breaking changes. ### Session 4: The monolith is not a problem but an opportunity - The luck of having a monolith - How to break down a monolith - One step at a time (which is the first?) ### Session 5 – Let’s put it all together - UI & Reporting: How do I put it all together - Sleep peacefully: how to understand what is happening - Common Microservices Problems - A bit of theory… Q&A – Follow-up (2 h) one month after the workshop is finished. ## Learning objectives – What are we gonna learn - After seeing how EventStorming works, we will learn to analyze a complex domain step-by-step, ensuring that everyone has a shared understanding of the context in which we will operate our microservices - We will learn about microservices, what they are, how they are found and how to make them communicate and how to put them into production. - What are the key features of a microservices architecture and what could happen if some of them fail. - How to introduce them into an existing environment. - What should I expect when I put something into production, and traffic increases or something simply “breaks”. ## Expect to get your hands dirty – How does it work The course is structured in 5 half days + 2 hours of follow-up. During the four sessions we will develop a microservice architecture and make it work, we will put it under stress and make it evolve during the various days. The workshop will be online and live, for a maximum of 16 people: the teacher and all participants will be in video conference and will have a series of digital tools available to interact with each other and work hands-on. Despite the online mode, the course maintains its interactive and participatory approach. For this reason, it is required that all participants have their cameras turned on for the entire duration of the workshop for better enjoyment and communication. It will not be a passive course, made only of slides and pre-recorded videos. We will apply some principles of the Training from the back of the room method, with a prevalence of activities over lectures. The few theoretical definitions are accompanied by numerous exercises and practical activities. Sharing between participants and the support of the trainer complete the training framework. ## Why should you buy a ticket At the end of the course you will have increased your knowledge of microservices. If you have never put any microservices into production you will be able to identify the first ones to put into production. If you have microservice scars, we’ll try to ease your pain and give you the tools to give it a second try. If you already have microservices in production, the intent is to give you all the possible ideas to make a leap in quality and improve your development process. **Categories:** On demand **Tags:** Microservices --- ### [Rapid Prototyping e Design Thinking in pratica](https://www.avanscoperta.it/it/training/corso-rapid-prototyping-e-design-thinking/) **Published:** May 9, 2018 **Author:** Enrico Meloni **Excerpt:** Impara a pianificare, realizzare e testare prototipi in cicli di mezza giornata e scopri in che modo la prototipazione rapida influenza il processo di innovazione attraverso il design. **Content:** Progettare prodotti, applicazioni, siti web e servizi è un processo dinamico, all’interno del quale **la prototipazione** è un elemento fondamentale. Prototipare e testare rapidamente un’idea è uno dei cardini del **Design Thinking**. In particolare, la **prototipazione rapida** permette di esplorare velocemente nuove idee e validare diverse scelte mantenendo **il focus sull’utente**. ## A chi si rivolge La prototipazione è una competenza imprescindibile per un designer, ma può essere utilizzata anche da **sviluppatori/sviluppatrici**, **ricercatori/ricercatrici**, **persone di business** e **architetti dell’informazione**. Il workshop è rivolto a tutti e tutte coloro che vogliono imparare a mettere in pratica questo bagaglio di tecniche in un contesto di **progettazione centrata sulle persone**. ## Programma L’obiettivo di questo corso con Raffaele Boiano è **introdurre un mindset** nel flusso di lavoro di ogni designer: la prototipazione rapida. Capire inoltre come la prototipazione rapida possa influenzare tutto il vostro processo di **innovazione attraverso il design**. Durante questo corso, Raffaele vi fornirà tutti i fondamenti teorici per discutere insieme le tecniche per **prototipare in tempi molto brevi**, scegliendo di volta in volta il livello di fedeltà adeguato al progetto e capendo, in uno spettro che va da prototipi di carta a prototipi scritti in codice come è meglio investire il nostro tempo. Lo scopo di questo corso è di fornire un framework di riferimento molto potente per poter **comunicare un design** e **testare direttamente con gli utenti**. ### Argomenti - Che cosa significa **prototipare** e che cosa significa **fedeltà** - Il concetto di **scenario** e **user journey** - Le 6 tecniche di prototipazione rapida - Come strutturare una **feedback trap** - Come usare un prototipo durante la **field research**. ## Agenda ### Mattina - Qualche definizione, giusto per capirci: prototipare, fedeltà - Esercitazione di warm up (forbici, carta e colla, stile art attack) - La prima feedback trap - Design patterns vs components - Esercitazione - La carta d’identità di un prototipo. ### Pomeriggio - Le 6 tecniche di prototipazione rapida - Esercitazione - Portare il prototipo davanti agli utenti - Esercitazione. ## Cosa impareremo - L’approccio del **Design Thinking** verso la prototipazione rapida - Come usare la prototipazione durante le attività di **discovery** e di **validation** un progetto di design - Come costruire una **design library** - Come trasformare dei **concept in un prototipo** - Come scegliere il **livello di fedeltà** adeguato al progetto - Come **comunicare** i vostri prototipi. ## Perché iscriversi (cosa mi porto veramente a casa?) In un tweet: *imparerai delle tecniche per **realizzare prototipi** e **raccogliere feedback in maniera super rapida***. **Tags:** Design, design thinking, Prototipazione, prototyping, User Research --- ### [Legacy Code Refactoring Workshop - Modernize Your System](https://www.avanscoperta.it/en/training/legacy-code-refactoring-workshop/) **Published:** April 15, 2025 **Author:** Alessandra Granaudo **Excerpt:** Hands-on course for Developers and Tech Leads. Learn how to safely refactor legacy code, break dependencies, and retrofit tests, without rewriting everything. **Content:** ## Refactoring Legacy Code Without Fear Refactor with confidence. Retrofit tests. Master the system you thought was untouchable! Are you working with a system that feels like a black box? It’s fragile, slow to change, and every small modification feels like a gamble. Someone mentioned rewriting everything… but that’s a financial black hole! Imagine confidently changing legacy code, safely adding features, and improving maintainability without breaking anything. Imagine your team collaborating effectively on the toughest parts of the system. The *Refactoring Legacy Code Worksho*p is an advanced training program inspired by Michael Feathers’ book “*[Working Effectively with Legacy Code](https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code).*” It was designed by the trainer Alessandro Di Gioia and enriched with modern topics and the “Legacy Code Smells” classification. The course develops through hands-on sessions on Refactoring Calisthenics and Characterization & Mutation Tests, enabling the participants to tackle even the most complex code issues confidently. Join this advanced workshop and experience with Alessandro practices to retrofit tests, break dependencies, and master your legacy system, one clean step at a time. ## Learning Objectives By the end of this workshop, you will be able to: - Confidently refactor code even without initial test coverage - Break harmful dependencies and isolate code for testing - Use characterization and mutation testing to understand behavior - Apply refactoring calisthenics in real-world, messy codebases - Face and overcome complex “big ball of mud” scenarios You’ll walk away not just with techniques, but the mindset and collaborative habits to lead modernization efforts in your team. ## The Trainer [![copertina agile technical practice distilled libro](https://www.avanscoperta.it/wp-content/uploads/2023/03/agile-technical-practice-distilled-libro-243x300.jpg)](https://www.goodreads.com/en/book/show/41758433-agile-technical-practices-distilled) [Alessandro Di Gioia](https://www.avanscoperta.it/it/trainer/alessandro-di-gioia/) is a Software Crafting advocate, trainer, and co-author of [*Agile Technical Practices Distilled*](https://www.goodreads.com/en/book/show/41758433-agile-technical-practices-distilled). He brings years of hands-on experience helping teams regain control of complex systems, and he’s known for making advanced technical practices practical and engaging. ## Target Audience Is This for You? Yes, if you are: - A Developer facing complex legacy systems - A Tech Lead trying to make safe progress in risky code - A Quality Engineer who wants to retrofit safety nets into production - A Senior Engineer who wants a deeper, modern take on legacy code than the usual katas. ### What People Are Saying “*It would normally take years for a developer to learn the many lessons taught in this course*.” Anders Marchsteiner, Software Architect “*I’ve never thought that things can become so much easier with the right technique*.” Philip Benz, Senior Software Engineer, CSS Insurance (CH) ## Program Overview Six live online sessions of 3.5 hours each. A mix of theory, practical exercises, and group collaboration, with space for homework and further study between modules. The entire course is built around Software Teaming (Mob Programming), maximizing shared learning and collaborative refactoring under real-world constraints. In the final challenge (which has been called “end-level monster”), the participants have to solve collaboratively a realistic “big ball of mud” scenario, applying everything they have learned in the previous lessons. We recommend taking this course after the completion of the [Software Crafting Programme](https://www.avanscoperta.it/it/training/software-crafting-programme-workshop/) with Marco Consolaro. ## Agenda ### Module 1: Code Renovation – Mikado Method & Parallel Change Learn to safely refactor complex legacy systems with structured, incremental techniques. Discover the Mikado Method for breaking large refactoring goals into manageable steps, identify obstacles systematically, and integrate improvements without blocking team progress. Build a repeatable framework for reducing technical debt while keeping your system stable. ### Module 2: Refactoring Calisthenics Discover the foundational principles of clean, controlled code transformation and build the habits for consistent, safe refactoring. ### Module 3: Refactoring Calisthenics – Dependencies Learn to break hidden couplings and decouple code for better testability and maintainability. ### Module 4: Characterization and Mutation Testing Retrofit tests into untested codebases safely and incrementally. Understand behavior through characterization and validate it with mutation testing. ### Module 5: Advanced Refactoring Applied I Apply your skills to tangled, real-world scenarios in a collaborative group setting, practicing techniques in a controlled, hands-on environment. ### Module 6: Advanced Refactoring Applied II Face a large-scale “big ball of mud” challenge, combining everything learned. Solve complex issues collaboratively and put your refactoring mastery to the test. **Categories:** On demand, Scheduled **Tags:** Refactoring, TDD --- ### [Legacy Code Refactoring Workshop - Modernize Your System](https://www.avanscoperta.it/it/training/legacy-code-refactoring-workshop/) **Published:** April 15, 2025 **Author:** Alessandra Granaudo **Excerpt:** Hands-on course for Developers and Tech Leads. Learn how to safely refactor legacy code, break dependencies, and retrofit tests, without rewriting everything. **Content:** ## Refactoring Legacy Code Without Fear Refactor with confidence. Retrofit tests. Master the system you thought was untouchable! Are you working with a system that feels like a black box? It’s fragile, slow to change, and every small modification feels like a gamble. Someone mentioned rewriting everything… but that’s a financial black hole! Imagine confidently changing legacy code, safely adding features, and improving maintainability without breaking anything. Imagine your team collaborating effectively on the toughest parts of the system. The *Refactoring Legacy Code Worksho*p is an advanced training program inspired by Michael Feathers’ book “*[Working Effectively with Legacy Code](https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code).*” It was designed by the trainer Alessandro Di Gioia and enriched with modern topics and the “Legacy Code Smells” classification. The course develops through hands-on sessions on Refactoring Calisthenics and Characterization & Mutation Tests, enabling the participants to tackle even the most complex code issues confidently. Join this advanced workshop and experience with Alessandro practices to retrofit tests, break dependencies, and master your legacy system, one clean step at a time. ## Learning Objectives By the end of this workshop, you will be able to: - Confidently refactor code even without initial test coverage - Break harmful dependencies and isolate code for testing - Use characterization and mutation testing to understand behavior - Apply refactoring calisthenics in real-world, messy codebases - Face and overcome complex “big ball of mud” scenarios You’ll walk away not just with techniques, but the mindset and collaborative habits to lead modernization efforts in your team. ## The Trainer [![copertina agile technical practice distilled libro](https://www.avanscoperta.it/wp-content/uploads/2023/03/agile-technical-practice-distilled-libro-243x300.jpg)](https://www.goodreads.com/en/book/show/41758433-agile-technical-practices-distilled) [Alessandro Di Gioia](https://www.avanscoperta.it/it/trainer/alessandro-di-gioia/) is a Software Crafting advocate, trainer, and co-author of [*Agile Technical Practices Distilled*](https://www.goodreads.com/en/book/show/41758433-agile-technical-practices-distilled). He brings years of hands-on experience helping teams regain control of complex systems, and he’s known for making advanced technical practices practical and engaging. ## Target Audience Is This for You? Yes, if you are: - A Developer facing complex legacy systems - A Tech Lead trying to make safe progress in risky code - A Quality Engineer who wants to retrofit safety nets into production - A Senior Engineer who wants a deeper, modern take on legacy code than the usual katas. ### What People Are Saying “*It would normally take years for a developer to learn the many lessons taught in this course*.” Anders Marchsteiner, Software Architect “*I’ve never thought that things can become so much easier with the right technique*.” Philip Benz, Senior Software Engineer, CSS Insurance (CH) ## Program Overview Six live online sessions of 3.5 hours each. A mix of theory, practical exercises, and group collaboration, with space for homework and further study between modules. The entire course is built around Software Teaming (Mob Programming), maximizing shared learning and collaborative refactoring under real-world constraints. In the final challenge (which has been called “end-level monster”), the participants have to solve collaboratively a realistic “big ball of mud” scenario, applying everything they have learned in the previous lessons. We recommend taking this course after the completion of the [Software Crafting Programme](https://www.avanscoperta.it/it/training/software-crafting-programme-workshop/) with Marco Consolaro. ## Agenda ### Module 1: Code Renovation – Mikado Method & Parallel Change Learn to safely refactor complex legacy systems with structured, incremental techniques. Discover the Mikado Method for breaking large refactoring goals into manageable steps, identify obstacles systematically, and integrate improvements without blocking team progress. Build a repeatable framework for reducing technical debt while keeping your system stable. ### Module 2: Refactoring Calisthenics Discover the foundational principles of clean, controlled code transformation and build the habits for consistent, safe refactoring. ### Module 3: Refactoring Calisthenics – Dependencies Learn to break hidden couplings and decouple code for better testability and maintainability. ### Module 4: Characterization and Mutation Testing Retrofit tests into untested codebases safely and incrementally. Understand behavior through characterization and validate it with mutation testing. ### Module 5: Advanced Refactoring Applied I Apply your skills to tangled, real-world scenarios in a collaborative group setting, practicing techniques in a controlled, hands-on environment. ### Module 6: Advanced Refactoring Applied II Face a large-scale “big ball of mud” challenge, combining everything learned. Solve complex issues collaboratively and put your refactoring mastery to the test. **Categories:** A calendario, A catalogo **Tags:** Refactoring, TDD --- ### [Product Owner Collaboration Toolkit](https://www.avanscoperta.it/it/training/product-owner-collaboration-toolkit/) **Published:** October 3, 2023 **Author:** Enrico Meloni **Excerpt:** A workshop for product owners that will equip you with a toolkit of techniques you'll be able to implement when it comes to discussing every stage of a product lifecycle with other stakeholders. **Content:** ## Abstract Collaboration can be a challenge, but it’s a game-changer for successful product development. Whether you’re defining the product or delivering it, you need to bring your team and stakeholders closer. You should be able to manage techniques focused on bridging communication gaps and ensuring your work adds value. The Product Owner Collaboration Toolkit Workshop, designed and led by Jenny Martin, equips you with practical techniques for every step of the product journey. Exploring real-life scenarios and examples throughout the product life cycle will provide you valuable insights into how to harness a group’s collective intelligence and drive successful product outcomes. ## Target audience This workshop is designed for Product Managers, Product Owners and whoever needs to improve collaboration within a team or organization. Professionals with intermediate/advanced levels of experience will gain the skills and confidence to expertly guide the product delivery process from start to finish, acting as a catalyst for collaboration in their organisation. This workshop is useful for: - Product Managers and Product Owners (whether with this job title or not) who want to improve the way they communicate with team and stakeholders - Head of Product or Product Lead who want to evolve their organization - Marketing Managers, Customer Success Managers or any other type of professional who needs to design and plan a product - Agile Coaches - Anyone interested in levelling up their facilitation skills. To get the most out of this course, it is recommended to have some experience in a product ownership role (two years+ of experience are beneficial) so that participants can reflect on real examples and challenges. ## Program This workshop will provide you with a whole toolkit of collaborative product development techniques. It will cover the principles behind designing and structuring effective workshops. You will learn how to facilitate a group so they all contribute to their fullest, leveraging the team’s collective intelligence. The workshop is structured around the concepts of Product Delivery Process, Product Definition, Continuous Product Discovery and Iterative Delivery. As we enter each phase, we will briefly revisit key concepts and best practices to give context to the collaborative techniques and practices that will be applied. There will be opportunities to share experiences and reflect on how these techniques can be applied to solve challenges and avoid typical product development pitfalls. The Collaboration Toolkit Workshop is structured in 5 sessions delivered remotely in 3.5 hours each. ## Agenda ### Module 1: Collaboration and Product Definition - How to structure, design and facilitate any workshop for maximum impact - Inclusive collaboration: making the most of a varied and diverse group of people - Aligning to one vision: product vision, lean canvas and metrics ### Module 2: Exploring Problems and Prioritising Opportunities - Principles of continuous discovery and design thinking - Discovering and defining problems - Planning horizons of value through outcome-based planning ### Module 3: Exploring and validating solutions - Exploring solutions through problem statements and Impact Mapping - Creating hypothesis – Feedback and assumption mapping - Experiments, solutions and understanding the context ### Module 4: Innovate and Design - Design sprint: key principles and getting started - Design sprint: how-to, simulations, real-world cases, walkthrough ### Module 5: Starting small and Specifying collaboratively - Iterative delivery and hunting the value - Navigating complexity with OOPSI - Building a shared understanding and wrap-up. ## Learning objectives If you want to accelerate product delivery, align teams towards a vision and purpose and build products that customers love, the Collaboration Toolkit is what you need. You should join Kenny Martin and her workshop if you want to: - Enhance collaborative techniques to redefine product vision and definition - Boost confidence in designing and facilitating workshops aimed at deepening understanding of customer problems - Generate outcome-based product roadmaps through effective planning and strategy - Conduct design sprints to prototype and validate ideas for innovation and problem-solving - Foster team alignment towards an MVP through optimized feedback loops and continuous learning. ## Expect to get your hands dirty – How does it work The workshop will be highly engaging, hands-on and fun. Each topic will be introduced so that there will be a common ground for discussion, and making sure that the majority of content is practical and hands-on. Each collaborative technique will be practised on Miro, and participants will retain access to the templates to use and customise for their own workshops after the course. Participants will get lots of opportunities to practice the techniques, ask questions and share their experiences with the group. In some cases, participants will work together in small groups. The workshop will keep its interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole workshop duration: this will enhance the quality of the communication and the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! ## Why should you buy a ticket This highly participatory workshop equips participants with the knowledge and techniques to accelerate product delivery, align teams towards a vision and purpose and build products that customers love. Come and experience: - Strategic Toolkit Mastery: Gain practical techniques to foster collaboration, not just blindly apply them. Learn when and how to use these tools effectively, depending on your working context. - Achieve Clear Goals Together: You’ll align with your team, engineers, and stakeholders, fostering autonomy and making decisions that drive results. - Less Rework, More Customer Happiness: Effective collaboration ensures everyone understands the project, leading to happier customers and a smoother process. - Unleash Creativity: Collaboration fuels innovation, allowing you to explore creative solutions you might not have considered otherwise. **Tags:** Communication, Product Discovery, Product Owner, Team collaboration --- ### [Product Owner Collaboration Toolkit](https://www.avanscoperta.it/en/training/product-owner-collaboration-toolkit-workshop/) **Published:** October 3, 2023 **Author:** Enrico Meloni **Excerpt:** A workshop for product owners that will equip you with a toolkit of techniques you'll be able to implement when it comes to discussing every stage of a product lifecycle with other stakeholders. **Content:** ## Abstract Collaboration can be a challenge, but it’s a game-changer for successful product development. Whether you’re defining the product or delivering it, you need to bring your team and stakeholders closer. You should be able to manage techniques focused on bridging communication gaps and ensuring your work adds value. The **Product Owner Collaboration Toolkit Workshop**, designed and led by Jenny Martin, equips you with practical techniques for every step of the product journey. Exploring real-life scenarios and examples throughout the product life cycle will provide you valuable insights into how to harness a group’s collective intelligence and drive successful product outcomes. ## Target audience This workshop is designed for Product Managers, Product Owners and whoever needs to improve collaboration within a team or organization. Professionals with intermediate/advanced levels of experience will gain the skills and confidence to expertly guide the product delivery process from start to finish, acting as a catalyst for collaboration in their organisation. This workshop is useful for: - Product Managers and Product Owners (whether with this job title or not) who want to improve the way they communicate with team and stakeholders - Head of Product or Product Lead who want to evolve their organization - Marketing Managers, Customer Success Managers or any other type of professional who needs to design and plan a product - Agile Coaches - Anyone interested in levelling up their facilitation skills. To get the most out of this course, it is recommended to have some experience in a product ownership role (two years+ of experience are beneficial) so that participants can reflect on real examples and challenges. ## Program This workshop will provide you with a whole toolkit of collaborative product development techniques. It will cover the principles behind designing and structuring effective workshops. You will learn how to facilitate a group so they all contribute to their fullest, leveraging the team’s collective intelligence. The workshop is structured around the concepts of Product Delivery Process, Product Definition, Continuous Product Discovery and Iterative Delivery. As we enter each phase, we will briefly revisit key concepts and best practices to give context to the collaborative techniques and practices that will be applied. There will be opportunities to share experiences and reflect on how these techniques can be applied to solve challenges and avoid typical product development pitfalls. The Collaboration Toolkit Workshop is structured in 5 sessions delivered remotely in 3.5 hours each. ## Agenda ### Module 1: Collaboration and Product Definition - How to structure, design and facilitate any workshop for maximum impact - Inclusive collaboration: making the most of a varied and diverse group of people - Aligning to one vision: product vision, lean canvas and metrics ### Module 2: Exploring Problems and Prioritising Opportunities - Principles of continuous discovery and design thinking - Discovering and defining problems - Planning horizons of value through outcome-based planning ### Module 3: Exploring and validating solutions - Exploring solutions through problem statements and Impact Mapping - Creating hypothesis – Feedback and assumption mapping - Experiments, solutions and understanding the context ### Module 4: Innovate and Design - Design sprint: key principles and getting started - Design sprint: how-to, simulations, real-world cases, walkthrough ### Module 5: Starting small and Specifying collaboratively - Iterative delivery and hunting the value - Navigating complexity with OOPSI - Building a shared understanding and wrap-up. ## Learning objectives If you want to accelerate product delivery, align teams towards a vision and purpose and build products that customers love, the Collaboration Toolkit is what you need. You should join Kenny Martin and her workshop if you want to: - Enhance collaborative techniques to redefine product vision and definition - Boost confidence in designing and facilitating workshops aimed at deepening understanding of customer problems - Generate outcome-based product roadmaps through effective planning and strategy - Conduct design sprints to prototype and validate ideas for innovation and problem-solving - Foster team alignment towards an MVP through optimized feedback loops and continuous learning. ## Expect to get your hands dirty – How does it work The workshop will be highly engaging, hands-on and fun. Each topic will be introduced so that there will be a common ground for discussion, and making sure that the majority of content is practical and hands-on. Each collaborative technique will be practised on Miro, and participants will retain access to the templates to use and customise for their own workshops after the course. Participants will get lots of opportunities to practice the techniques, ask questions and share their experiences with the group. In some cases, participants will work together in small groups. The workshop will keep its interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole workshop duration: this will enhance the quality of the communication and the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! ## Why should you buy a ticket This highly participatory workshop equips participants with the knowledge and techniques to accelerate product delivery, align teams towards a vision and purpose and build products that customers love. Come and experience: - Strategic Toolkit Mastery: Gain practical techniques to foster collaboration, not just blindly apply them. Learn when and how to use these tools effectively, depending on your working context. - Achieve Clear Goals Together: You’ll align with your team, engineers, and stakeholders, fostering autonomy and making decisions that drive results. - Less Rework, More Customer Happiness: Effective collaboration ensures everyone understands the project, leading to happier customers and a smoother process. - Unleash Creativity: Collaboration fuels innovation, allowing you to explore creative solutions you might not have considered otherwise. **Tags:** Communication, Product Discovery, Product Owner, Team collaboration --- ### [Intentional Organizations](https://www.avanscoperta.it/it/training/intentional-architecture/) **Published:** April 27, 2023 **Author:** Enrico Meloni **Excerpt:** Learn about open sociotechnical systems thinking by jointly optimising the social and technical systems while putting people at the centre of the design. Let's explore the environment surrounding the organisation, identify sensible boundaries for teams and architecture, and generate options for the evolution of the sociotechnical system. **Content:** The rapidly changing world demands that organisations adapt quickly, and software plays a crucial role in this evolution. However, traditional methods often lead to growing unnecessary complexity, increased difficulty in system evolution, and a rising cost of change, ultimately putting pressure on the people involved. In this Intentional Organizations workshop with João Rosa and Trond Hjorteland, you will explore first-hand, through real-world simulations, what is the experience of creating a sensible organization design that allows teams to self-manage and optimizes the use of technology. By integrating principles from open sociotechnical systems theory, Domain-Driven Design, Wardley Maps, and Team Topologies, we will explore the organisation’s environment, identify sensible boundaries for teams and architecture, and generate options for the evolution of the sociotechnical system. This simulation workshop will equip you with the knowledge and tools to create more adaptive, resilient organizations and software systems. In this workshop, participants will join a journey on how to scan the environment, look at the company’s current capabilities, and generate options to keep, evolve, and be a sustainable company where people are happy to work. ## Target Audience The workshop targets folks who are involved in decisions about architecture (business, product and/or IT). The learnings are more effective when people already have some experience in the industry, and are eager to learn how to jointly optimise their organisation’s social and technical aspects. - Executives - VP/Directors/Head of IT/Business/Product - Enterprise/Solution/Software architects - Business analysts - Product managers/owners - (Senior) Software engineers/Testers/Operations - UX - Team managers/Tech leads - Agile coaches/Scrum masters/Agile Release Train Engineers In more generic terms, the target is companies that believe in their own employees and want them to be engaged in work and be happy workers. And they are ready to participate in the design, whatever that is, even if it’s the strategy or down to the team level. These must be companies that trust their employees. ## Topics - **Open sociotechnical systems and their role in organisational design**: Explore the concept of open sociotechnical systems and how they provide a framework for balancing social and technical aspects, leading to more adaptive and resilient organisations. - **Identifying options for architectural evolution**: Learn techniques for observing and interpreting the environmental factors that impact your organisation, enabling you to make informed decisions about architectural changes and improvements. - **Putting it all together**: Leveraging Domain-Driven Design, Wardley Maps, and Team Topologies to optimize sociotechnical systems. By learning how to combine the practices and principles of those approaches, you can develop strategies to improve the architecture and the organisation structure continuously. ## Program **Navigating the complexities of software development in a turbulent world** In today’s fast-paced, ever-changing environment, organizations must adapt quickly to stay competitive. This workshop will dive into the challenges and complexities of software development in such a turbulent world, discussing the impact of technological, social, and economic factors. By understanding these complexities, participants will be better prepared to identify strategies for building resilient, adaptable systems that can respond effectively to change. **Designing adaptive, resilient organisations through open sociotechnical systems thinking** Organizations that embrace open sociotechnical systems thinking are better equipped to balance their operations’ social and technical aspects, leading to more adaptable and resilient systems. In this workshop, participants will learn the principles of open sociotechnical systems and how they can be applied to design software and organize teams effectively. We will use a real-world simulation to demonstrate this approach’s benefits, helping attendees understand the importance of integrating social and technical aspects into their organizational design. **Applying practical techniques for an intentional architecture and team organisation** To create an adaptive, resilient organization, it is crucial to understand and apply practical techniques for architecture and team organization. In this workshop, participants will delve into approaches such as Domain-Driven Design, Wardley Maps, and Team Topologies. We will discuss their practical applications in designing, evolving, and optimizing sociotechnical systems. Through the real-world simulation and group discussions, attendees will gain the skills and knowledge needed to create a more effective, responsive organization that can navigate the complexities of the modern world. ## Agenda ### Day 1 - Overview of what an open sociotechnical system is - Understand how to sense the environment to create options for the architectural evolution - Discuss the two organisational design principles, and their implications - How to create different options for the architecture ### Day 2 - Explore how to implement the different options for the architecture - How to jointly optimise the sociotechnical system - Patterns and practices to evolve the sociotechnical system ## Learning Objectives – What are we gonna learn? - Learn how to design systems while dealing with an uncertaint environment - Discover how to create evolutionary paths for the architecture (IT, product and business) and be intentional about its options - Understand how the principles and practices can be applied to create a more effective and resilient organization (and architecture), regardless of whether you are a technical or non-technical professional. ## Expect to get your hands dirty – How it works In this workshop, you will participate in a real-world simulation designed to help you internalize the principles of open sociotechnical systems thinking. You’ll have the chance to explore and apply the concepts in real-world scenarios through group exercises, small group discussions, and individual reflection. We’ve carefully designed each activity to provide a balance between theory and practice, ensuring that you gain a comprehensive understanding of the workshop topics. You’ll engage in puzzle-solving tasks, through a series of scenarios of a fictional organisation, all aimed at giving you practical experience in designing and implementing open sociotechnical systems. To facilitate this hands-on approach, we’ll employ various visual collaboration tools and use physical materials like pens, post-its, and paper during the exercises. The trainers will be there every step of the way, providing valuable insights, answering questions, and fostering a dynamic environment where participants can learn from one another. This real-world simulation workshop is designed to provide you with practical experience and tools that you can apply immediately to your organisation. ## Why should you buy a ticket? Come ready to engage, collaborate, and expand your skillset in this immersive workshop that will transform the way you approach software development and team organization. *The aim is to go back to a human-centric idea where the people who are building the software are the same who make design decisions and are also the same in making strategic decisions.* This workshop is an opportunity to acquire practical knowledge which will enable you to increase the intentionality in your architecture. In today’s fast-paced world, organizations must adapt swiftly, and you have a chance to experience how to create an adaptive and resilient system during the workshop. **Tags:** Domain-Driven Design, Team, Team collaboration, Team Topologies --- ### [Intentional Organizations Workshop](https://www.avanscoperta.it/en/training/intentional-architecture-workshop/) **Published:** April 27, 2023 **Author:** Enrico Meloni **Excerpt:** Learn about open sociotechnical systems thinking by jointly optimising the social and technical systems while putting people at the centre of the design. Let's explore the environment surrounding the organisation, identify sensible boundaries for teams and architecture, and generate options for the evolution of the sociotechnical system. **Content:** The rapidly changing world demands that organisations adapt quickly, and software plays a crucial role in this evolution. However, traditional methods often lead to growing unnecessary complexity, increased difficulty in system evolution, and a rising cost of change, ultimately putting pressure on the people involved. In this Intentional Organizations workshop with João Rosa and Trond Hjorteland, you will explore first-hand, through real-world simulations, what is the experience of creating a sensible organization design that allows teams to self-manage and optimizes the use of technology. By integrating principles from open sociotechnical systems theory, Domain-Driven Design, Wardley Maps, and Team Topologies, we will explore the organisation’s environment, identify sensible boundaries for teams and architecture, and generate options for the evolution of the sociotechnical system. This simulation workshop will equip you with the knowledge and tools to create more adaptive, resilient organizations and software systems. In this workshop, participants will join a journey on how to scan the environment, look at the company’s current capabilities, and generate options to keep, evolve, and be a sustainable company where people are happy to work. ## Target Audience The workshop targets folks who are involved in decisions about architecture (business, product and/or IT). The learnings are more effective when people already have some experience in the industry, and are eager to learn how to jointly optimise their organisation’s social and technical aspects. - Executives - VP/Directors/Head of IT/Business/Product - Enterprise/Solution/Software architects - Business analysts - Product managers/owners - (Senior) Software engineers/Testers/Operations - UX - Team managers/Tech leads - Agile coaches/Scrum masters/Agile Release Train Engineers In more generic terms, the target is companies that believe in their own employees and want them to be engaged in work and be happy workers. And they are ready to participate in the design, whatever that is, even if it’s the strategy or down to the team level. These must be companies that trust their employees. ## Topics - **Open sociotechnical systems and their role in organisational design**: Explore the concept of open sociotechnical systems and how they provide a framework for balancing social and technical aspects, leading to more adaptive and resilient organisations. - **Identifying options for architectural evolution**: Learn techniques for observing and interpreting the environmental factors that impact your organisation, enabling you to make informed decisions about architectural changes and improvements. - **Putting it all together**: Leveraging Domain-Driven Design, Wardley Maps, and Team Topologies to optimize sociotechnical systems. By learning how to combine the practices and principles of those approaches, you can develop strategies to improve the architecture and the organisation structure continuously. ## Program **Navigating the complexities of software development in a turbulent world** In today’s fast-paced, ever-changing environment, organizations must adapt quickly to stay competitive. This workshop will dive into the challenges and complexities of software development in such a turbulent world, discussing the impact of technological, social, and economic factors. By understanding these complexities, participants will be better prepared to identify strategies for building resilient, adaptable systems that can respond effectively to change. **Designing adaptive, resilient organisations through open sociotechnical systems thinking** Organizations that embrace open sociotechnical systems thinking are better equipped to balance their operations’ social and technical aspects, leading to more adaptable and resilient systems. In this workshop, participants will learn the principles of open sociotechnical systems and how they can be applied to design software and organize teams effectively. We will use a real-world simulation to demonstrate this approach’s benefits, helping attendees understand the importance of integrating social and technical aspects into their organizational design. **Applying practical techniques for an intentional architecture and team organisation** To create an adaptive, resilient organization, it is crucial to understand and apply practical techniques for architecture and team organization. In this workshop, participants will delve into approaches such as Domain-Driven Design, Wardley Maps, and Team Topologies. We will discuss their practical applications in designing, evolving, and optimizing sociotechnical systems. Through the real-world simulation and group discussions, attendees will gain the skills and knowledge needed to create a more effective, responsive organization that can navigate the complexities of the modern world. ## Agenda ### Day 1 - Overview of what an open sociotechnical system is - Understand how to sense the environment to create options for the architectural evolution - Discuss the two organisational design principles, and their implications - How to create different options for the architecture ### Day 2 - Explore how to implement the different options for the architecture - How to jointly optimise the sociotechnical system - Patterns and practices to evolve the sociotechnical system ## Learning Objectives – What are we gonna learn? - Learn how to design systems while dealing with an uncertain environment - Discover how to create evolutionary paths for the architecture (IT, product and business) and be intentional about its options - Understand how the principles and practices can be applied to create a more effective and resilient organization (and architecture), regardless of whether you are a technical or non-technical professional. ## Expect to get your hands dirty – How it works In this workshop, you will participate in a real-world simulation designed to help you internalize the principles of open sociotechnical systems thinking. You’ll have the chance to explore and apply the concepts in real-world scenarios through group exercises, small group discussions, and individual reflection. We’ve carefully designed each activity to provide a balance between theory and practice, ensuring that you gain a comprehensive understanding of the workshop topics. You’ll engage in puzzle-solving tasks, through a series of scenarios of a fictional organisation, all aimed at giving you practical experience in designing and implementing open sociotechnical systems. To facilitate this hands-on approach, we’ll employ various visual collaboration tools and use physical materials like pens, post-its, and paper during the exercises. The trainers will be there every step of the way, providing valuable insights, answering questions, and fostering a dynamic environment where participants can learn from one another. This real-world simulation workshop is designed to provide you with practical experience and tools that you can apply immediately to your organisation. ## Why should you buy a ticket? Come ready to engage, collaborate, and expand your skillset in this immersive workshop that will transform the way you approach software development and team organization. *The aim is to go back to a human-centric idea where the people who are building the software are the same who make design decisions and are also the same in making strategic decisions.* This workshop is an opportunity to acquire practical knowledge which will enable you to increase the intentionality in your architecture. In today’s fast-paced world, organizations must adapt swiftly, and you have a chance to experience how to create an adaptive and resilient system during the workshop. **Tags:** Domain-Driven Design, Team, Team collaboration, Team Topologies --- ### [TypeScript e React Workshop per web app flessibili ed evolvibili](https://www.avanscoperta.it/it/training/typescript-e-react-per-web-app-flessibili-ed-evolvibili/) **Published:** March 16, 2022 **Author:** Enrico Meloni **Excerpt:** Con Gabriele Petronella scopriremo come l'utilizzo combinato e consapevole di React e TypeScript permetta di domare la complessità, facilitare l'evoluzione e la manutenzione. Un workshop interattivo di 4 moduli ricco di esercizi e casi pratici. **Content:** ## Abstract **React** è una delle tecnologie dominanti per lo sviluppo di applicazioni frontend. **TypeScript** è un linguaggio che aggiunge *static typing* a JavaScript. Entrambe le tecnologie promettono “scalabilità”, ma cosa significa questa parola? Un’applicazione si può definire scalabile se permette di: - aggiungere nuove funzionalità senza che la complessità aumenti in maniera significativa nel tempo; - effettuare *refactor* di funzionalità esistenti senza forti rischi di introdurre bug; - aggiungere nuove persone al team con facilità. Creare applicazioni scalabili non è scontato: chi lavora nel campo sa bene quanto la complessità di una codebase ‘esploda’ facilmente e diventi difficilmente gestibile e fortemente dipendente da specifiche persone del team. React e TypeScript sono ottimi strumenti per raggiungere gli obiettivi di scalabilità e in questo corso con Gabriele Petronella vedremo come usarli insieme possa far sì che 2 + 2 faccia 5, ossia come sfruttare *veramente* e in modo consapevole la combinazione di queste due tecnologie, e non solo affiancarle in maniera passiva. ## Target Audience Il corso si rivolge a front-end developer o architect con conoscenza professionale di JavaScript che si stanno approcciando all’ecosistema React e TypeScript e che vogliono imparare come sfruttare al meglio le potenzialità del loro utilizzo combinato. I prerequisiti per il corso sono: - conoscenza professionale di JavaScript e della programmazione web; - conoscere le basi di come funziona React; - sapere cosa sia un linguaggio tipizzato (preferibilmente TypeScript, ma anche Java, Go, C# o simili sono esempi validi). ## Programma In questo corso vogliamo vedere come impostare applicazioni front-end in modo che siano manutenibili nel tempo, siano resistenti ai refactor e sia semplice introdurvi nuove persone nel team. Durante il corso svilupperemo insieme un’applicazione web che andrà a toccare in maniera realistica i problemi più comuni che possono compromettere la scalabilità. Per ognuno di questi problemi, illustreremo uno o più approcci con cui gestire la complessità e creeremo insieme delle soluzioni pratiche e funzionanti all’interno dell’applicazione. Le soluzioni che vedremo saranno molto concrete (per esempio vedremo specifiche librerie), ma per ognuna di esse alterneremo momenti teorici in cui vedremo i principi che vi stanno dietro, in modo che possano essere applicate anche ad altri strumenti o contesti. ## Agenda ### Sessione 1 - Connessione a una API e visualizzazione dei dati - Come riconciliare type-safety e dati che arrivano da fonti esterne utilizzando io-ts. ### Sessione 2 - Come gestire loading ed errori in React con react-query - Sum types vs product types ### Sessione 3 - Come modificare i dati utilizzando le mutation react-query - App multi-lingua: come react-i18n-next e TypeScript possono aiutarci a eliminare intere categorie di errori dalle nostre applicazioni - Come non scordarsi di tradurre qualcosa e mantenere coerenti le traduzioni cross-linguaggio. ### Sessione 4 - Lean coffee - Spazio per affrontare insieme temi come: Routing e navigazione, Pattern matching in TypeScript, Functional programming in TypeScript con fp-ts, Full-stack type-safety. ## Cosa impareremo L’obiettivo principale di questo corso è fornire strumenti e metodologie per progettare applicazioni scalabili in React e TypeScript. Alla fine del corso avremo imparato sia specifiche tecnologie correlate che possono aiutarci, sia la teoria che sta dietro alle soluzioni in modo da poterla applicare ad altri contesti. ## Expect to get your hands dirty Ci sporcheremo le mani incontrando in prima persona i problemi che andremo a trattare e capendo quindi le ragioni dietro alle soluzioni proposte. Partiremo sempre da problemi realistici, in modo che sia chiaro il vantaggio di un determinato approccio e che non rimanga tutto in astratto. Ogni partecipante dovrà dotarsi del proprio editor preferito e degli strumenti necessari a implementare l’applicazione. Lavoreremo in gruppi e in coppie. ## Perché partecipare Alla fine di questo corso avrai visto come affrontare i principali problemi di scalabilità di un’applicazione front-end e avrai in mano gli strumenti per progettare applicazioni React e TypeScript che li possano rendere gestibili e controllabili. ## Come si svolge Il corso si svolgerà online e in diretta per un massimo di 10 persone: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. Applicheremo alcuni principi del metodo Training from the back of the room, con prevalenza di attività su lectures. Alle poche definizioni teoriche si affiancano numerosi esercizi ed attività pratiche. La condivisione tra i partecipanti ed il supporto del trainer completano il quadro formativo. **Tags:** Front-end, Javascript, React, TypeScript --- ### [TypeScript and React Workshop for Flexible and Evolvable Apps](https://www.avanscoperta.it/en/training/typescript-and-react-workshop-for-flexible-web-apps/) **Published:** May 10, 2022 **Author:** Enrico Meloni **Content:** ## Abstract React is one of the best-known technologies for front-end software development. TypeScript is a language that adds static typing to JavaScript. Both technologies promise “scalability”, but what does this mean exactly? We believe an app can be defined as scalable if it allows one to do the following: - add new functionalities without carrying extra complexity over time; - *refactor* existing functionalities without a high risk of adding new bugs; - easily onboard new people to the team. Building scalable apps isn’t easy: it’s very common for a codebase to “explode” in complexity, and it can be difficult to maintain and evolve, especially when it relies heavily on a few specific team members. React and TypeScript are great tools for scalability, and during this workshop with Gabriele Petronella we’ll see how to use them so that 2 + 2 = 5; this means being able to use these tools to the fullest and taking advantage of their collaborative ability, rather than just having them working side by side. ## Target Audience This workshop is aimed at front-end developers or architects with a professional knowledge of JavaScript, who have started working with React and TypeScript and want to learn how to take full advantage of the combination of the two. The entry requirements for this workshop are as follows: - professional knowledge of JavaScript and web software development; - basic understanding of React and how it works; - - basic knowledge of statically-typed languages (ideally TypeScript, but Java, Go, C#, or similar ones work too). ## Program This workshop aims at understanding how to build front-end apps so that they’re easily maintainable over time and resilient to refactoring, making it easy to add new people to the team. In 4 half-days together, we’ll build a web app that stresses some of the most common issues that can compromise scalability in real-world scenarios. We’ll explore several approaches to manage complexity for each of these problems, and we’ll create practical and working solutions within the app itself. These solutions will be extremely concrete (e.g., we’ll use specific libraries), but there’ll be space for exploring the concepts behind the solutions, so as to understand the underlying principles. This way, you’ll also be able to apply these ideas and concepts in other contexts and with other tools. ## Agenda ### Module 1 - Connecting to an API and visualizing data - How to reconcile type-safety and data coming from external sources using io-ts ### Module 2 - How to manage loading and errors in React by using react-query - Sum types vs product types: how TypeScript can help us get it right ### Module 3 - How to modify data using mutations in react-query - Multi-language apps: how react-i18n-next and TypeScript can help eliminate entire categories of bugs from apps - Techniques for avoiding some of the most common mistakes, such as forgetting to translate something and maintaining consistency in different languages/translations. ### Module 4 - Lean coffee - Discussions about (including but not limited to): – Routing and navigation – Pattern matching in TypeScript – Functional programming in TypeScript with fp-ts – Full-stack type-safety. ## Learning Objectives The main goal of this workshop is to provide tools and methodologies to build scalable apps in React and TypeScript. By the end of the workshop, we’ll have learned some specific technologies, as well as some of the theoretical notions behind them, so that we can work in different contexts too. ## Expect to Get Your Hands Dirty You’ll get “your hands dirty” by joining this workshop: you’ll face the problems encountered during the app development so that you’ll be able to reason and understand what solutions to offer based on concrete cases. We’ll always start with realistic scenarios to ensure the advantages of a proposed solution are clear and not too abstract. Each participant will need their own chosen editor and all the tools necessary for the implementation. ## Why Should You Join? By the end of the workshop, you’ll have seen how to solve the most common problems of scalability with a front-end app, and you’ll have the tools to design apps in React and TypeScript that will help you keep the apps under control. ## How Does It Work? This online workshop will accommodate up to 10 people so that the trainer will be able to provide the appropriated level of attention to each participant. It will be livestreamed, with the trainer and the participants taking part in a videoconference. Group members will in the same room (whether physical or digital), and each person will be working on their own laptop. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. You won’t be sitting at your desk watching slides and videos. Instead, you’ll be engaged in real-time activities for the majority of the time… as if you were in a real classroom! **Tags:** Front-end, Javascript, React, TypeScript --- ### [Certified Agile Leadership (CAL1)®](https://www.avanscoperta.it/it/training/certified-agile-leadership-cal1/) **Published:** October 12, 2017 **Author:** Enrico Meloni **Excerpt:** Impara i segreti per diventare un vero leader e far crescere un'organizzazione agile con il primo CAL1 in Italia certificato da Scrum Alliance. **Content:** ## Chi è l’Agile Leader? A partire dal 2001, decine di migliaia di leader in tutto il mondo hanno contribuito a creare ambienti di lavoro seguendo **i principi del Manifesto Agile**. Inizialmente questo tipo di ambienti si incontrava principalmente nel mondo dello sviluppo software. Oggi, però, l’Agile Leadership sta prendendo piede in molte organizzazioni e in tanti settori dell’economia, e questo perché lo sviluppo software ricopre un ruolo chiave nel successo di qualunque business. Gli Agile Leader non stanno semplicemente “trafficando” con le pratiche di management ritenute di successo. Stanno creando qualcosa di diverso: ambienti lavorativi che sposano la cultura dell’agilità e valori, pratiche e metriche agili. ## Cosa sa fare l’Agile Leader… - Svolge il proprio lavoro efficacemente, anche in situazioni complesse, caratterizzate da **forte incertezza** e **rapidi cambiamenti** - Ha una profonda conoscenza dei valori, degli approcci e delle pratiche agili - Propone un gran numero di soluzioni creative grazie a **una maggiore autoconsapevolezza**, a un approccio volto alla crescita, e il coinvolgimento dei colleghi - Allinea e responsabilizza i team con l’obiettivo di produrre **più valore per il cliente** - Integra i feedback e gli esperimenti personalmente - Implementa **un approccio continuativo, collaborativo e migliorativo** votato all’efficienza dell’organizzazione - Catalizza il cambiamento nei colleghi e facilita i cambiamenti a livello di organizzazione. ## Cosa imparerai in questo workshop Il workshop *CAL (Certified Agile Leadership)* con Angel Diaz-Maroto è stato pensato e strutturato per favorire la diffusione della leadership agile e si propone come punto di partenza di un percorso verso l’acquisizione di tali competenze. **L’obiettivo di queste due giornate è rendere i valori e i principi agili accessibili e comprensibili da chiunque si ritrovi ad avere il ruolo di Leader.** Come? Esplicitando il perché, il cosa e il come dell’Agile attraverso un approccio pratico e basato sull’esperienza. ## Programma ### Primo giorno - **Context of Agile**: capiremo cos’è la *Business Agility* e perché sempre più compagnie si stiano spostando verso l’Agile - **Leadership development in “The leader’s Dancefloor”**: impareremo, anche tramite esercizi, a utilizzare un framework di sviluppo della leadership basato su: coaching partecipato, coaching ontologico, Agile e *complexity thinking* - **Complexity**: scopriremo come ragionare seguendo il *complexity thinking* e il *Cynefin framework* - **Collective dimension of leadership**: impareremo come influenzare il gruppo di cui sei leader - **Organizational culture**: metteremo in pratica il *competing values framework* - **Organizational Structure**: impareremo come cambiare la struttura di un’organizzazione in modo che possa gestire meglio le complessità - **Agile processes**: vedremo come guidare l’implementazione delle pratiche e dei framework agili all’interno delle organizzazioni. ### Secondo giorno - **Leading organizational Change**: esploreremo diversi approcci utili a gestire i cambiamenti nelle organizzazioni, quali: *Lean change*, *Kotter 8 steps*, e *V.Satir model* - **Personal dimension of leadership**: impareremo e analizzeremo il percorso di sviluppo della leadership - **Interacting as a leader**: Scopriremo e comprenderemo diversi stili di leadership e vedremo in che contesto vadano utilizzati - **Acting as a leader**: impareremo come dare, ricevere e assimilare il feedback, e come utilizzarli per ottenere risultati migliori nel nostro ruolo di leader - **Being a leader**: vedremo come entrare in connessione con gli altri in modo empatico e l’impatto di questo approccio nel nostro ruolo di leader. **Tags:** Agile Leadership, Agile Software Development, leadership, Management 3.0, Scrum --- ### [Actor Model Workshop](https://www.avanscoperta.it/it/training/actor-model-workshop/) **Published:** May 5, 2021 **Author:** Enrico Meloni **Excerpt:** Workshop pratico e interattivo per scoprire l'Actor Model, un approccio basato su solidi principi di programmazione, che permette di affrontare problemi legati alla concorrenza e alla scalabilità in un modo diverso. **Content:** ## Abstract I requisiti funzionali e non funzionali delle applicazioni moderne ci hanno portato a progettare e utilizzare nuovi modelli architetturali che risolvono i problemi posti dal business. L’Actor Model è un modello concettuale per l’implementazione di applicazioni concorrenti. È una delle alternative possibili e ha un approccio molto innovativo ma basato su solidi principi di programmazione. Sebbene la sua nascita risalga a quasi cinquant’anni fa, pochi linguaggi e framework lo supportano in modo completo e, tra i pochi, il candidato principe è Elixir. Le applicazioni scritte in questo linguaggio girano su una virtual machine (la BEAM) che ha molti dei costrutti necessari all’implementazione corretta dell’Actor Model. Conoscere l’Actor Model, saperne usare i costrutti e i pattern, permette di affrontare problemi legati alla concorrenza e alla scalabilità in un modo diverso, ed è questo l’obiettivo del workshop con Emanuele DelBono. ## Target Audience Il workshop si rivolge a software developer e architetti che vogliono conoscere un nuovo modo di progettare e implementare le loro applicazioni. È richiesta una conoscenza dei concetti base di Elixir e della libreria OTP. ## Programma Il workshop ha l’obiettivo di fornire ai partecipanti gli strumenti necessari a valutare quando un’architettura basata sull’Actor Model è conveniente e utile per la risoluzione del problema. Insieme realizzeremo un’applicazione completa usando i pattern del mondo dell’Actor Model. Questi verranno presentati, valutati e analizzati in un processo costruttivo step-by-step durante le sessioni. In ogni sessione ci sarà spazio per la teoria ma sempre supportata dal codice che verrà scritto durante il workshop. Al termine di ogni giornata verranno lasciate alcune user story da implementare in autonomia tra una sessione e l’altra. ## Agenda ### Sessione 1 - Introduzione ai concetti di attore e messaggio, - Presentazione del dominio dell’applicazione da implementare, - Setup del progetto, - Primo test (health-check), - Modellazione dei primi elementi tramite attori. ### Sessione 2 - Introduzione dei supervisor, - Gestione del ciclo di vita e interazione tra attori tramite il process manager. ### Sessione 3 - Persistenza dello stato, - Pool di processi per aumentare la scalabilità. ### Sessione 4 - Long running task, - Conclusione del progetto, - Considerazioni finali, Q&A e accenni a framework alternativi. ## Cosa impareremo - Cos’è l’Actor Model e come si differenzia da altri approcci - Che tipo di problemi sono adatti a essere risolti con l’Actor Model - Quali sono i componenti base di un’architettura basata sull’Actor Model - Che relazioni esistono tra il Domain-Driven Design e l’Actor Model - Come si organizzano grosse applicazioni che utilizzano l’Actor Model - Come si testa un’applicazione basata sull’Actor Model - Quali alternative esistono ad Elixir/Erlang. ## Expect to get your hands dirty Il workshop avrà un taglio decisamente pratico, ogni partecipante dovrà dotarsi del proprio editor preferito e degli strumenti necessari ad implementare l’applicazione. Fin dalla prima sessione i partecipanti dovranno implementare parti dell’applicazione seguendo le user stories predisposte. Dedicheremo anche una parte del tempo a domande puntuali, per discutere approfonditamente le soluzioni implementate. ## Come si svolge Il corso si svolgerà online e in diretta per un massimo di 12 persone: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. Applicheremo alcuni principi del metodo Training from the back of the room, con prevalenza di attività su lectures. Alle poche definizioni teoriche si affiancano numerosi esercizi ed attività pratiche. La condivisione tra i partecipanti ed il supporto del trainer completano il quadro formativo. **Categories:** A catalogo **Tags:** Actor Model, Domain-Driven Design, Elixir --- ### [DDD in produzione Workshop](https://www.avanscoperta.it/it/training/practical-event-sourcing-and-testing-workshop/) **Published:** February 12, 2020 **Author:** Alessandra Granaudo **Excerpt:** Workshop hands-on per realizzare microservizi CQRS con event sourcing e testing degli eventi partendo da un esempio pratico, basato su un caso reale. **Content:** Per poter sviluppare un sistema in stile DDD, che sia veramente reattivo, bisogna necessariamente passare per la strada che porta alla gestione degli eventi e che sia “message-driven”, nonché alla gestione dei long running process, al versionamento degli eventi e il loro testing. Nel workshop *DDD in produzione*, impareremo con Alberto Acerbis e Alessandro Colla come gestire al meglio lo sviluppo di tale sistema, grazie a un esempio pratico, basato su un caso reale. ## Target Audience Il workshop si rivolge a software developers e tester che hanno una buona conoscenza di Domain-Driven Design e vogliono approfondire i temi CQRS, specification testing e Saga, lavorando hands-on su un caso pratico. Al momento dell’iscrizione al corso, verrà regalata una copia digitale del libro *Cronache di Domain-Driven Design* (pubblicato da Avanscoperta). La lettura della prima parte del libro, è un requisito per poter accedere e partecipare al corso. ## Argomenti - Domain-Driven Design: Approfondiremo insieme concetti importanti quali entity, value objects, aggregate e bounded context. - EventStorming: Effettueremo l’analisi dell’applicativo che realizzeremo usando questo strumento estremamente potente e che deve far parte della cassetta degli attrezzi di ogni sviluppatore. - CQRS+ES: vedremo come è strutturato un sistema a comandi ed eventi e su quali principi si basa. - Realizzare un’applicazione: realizzeremo un sistema composto da microservizi che utilizzeranno un service bus per comunicare tra loro. - Esercizi di testing: scriveremo insieme gli specification test per testare gli eventi dell’applicazione e di conseguenza garantire il corretto comportamento del nostro dominio. - Long running process: realizzeremo un servizio che per operare deve attendere il verificarsi di più eventi distribuiti nel tempo; - Versioning degli eventi: vedremo come gestire eventi che evolvono nel tempo all’interno della nostra applicazione. ## Programma Le prime due mezze giornate saranno incentrate maggiormente sui problemi di design; nel corso delle rimanenti due mezze giornate lavoreremo in pairing in C# (Visual Studio 2017/2019, Visual Studio Code, Raider, etc.) per realizzare la nostra applicazione. ## **Agenda** Il workshop prevede l’alternanza continua di spiegazioni, esercizi (di gruppo e individuali) e discussioni. Ciascun giorno si aprirà con un recap del modulo precedente, con ampio spazio a domande e risoluzione di punti in sospeso. ### Modulo 1 - Descrizione del core domain e obiettivi del corso - EventStorming: perché è utile ed esercizi - Strategic patterns: scrittura codice ed esercizi. ### Modulo 2 - Tactical patterns e scrittura aggregati - Applicazione CQRS al progetto - Esercizi: scrittura aggregati. ### Modulo 3 - Applicazione Event Sourcing ed evoluzione del codice - Testing degli eventi - Evolviamo l’applicazione: come cambiano gli eventi al cambiare dei requisiti business? - Esercizi: come mantenere la compatibità dei vecchi eventi ### Modulo 4 - Versioning degli eventi - Long-running process (saga e process manager) - Applicazione finale: dove siamo arrivati - Q&A finale ## **Cosa impareremo** - Trasformeremo alcune delle user story che emergeranno nella sessione di EventStorming in codice funzionante. - Svilupperemo due microservizi basati su CQRS ed Event Sourcing. - Impareremo a testare il dominio tramite l’applicazione dello specification testing. - Realizzazione di un long running process. - Gestione del versionamento di eventi che inevitabilmente evolvono nel sistema. ## Come si svolge Il corso si svolgerà online e in diretta per un massimo di 16 persone: i docenti e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. Applicheremo alcuni principi del metodo Training from the back of the room, con prevalenza di attività su lectures. Alle poche definizioni teoriche si affiancano numerosi esercizi ed attività pratiche. La condivisione tra i partecipanti ed il supporto dei trainer completano il quadro formativo. ## Perché partecipare Lo scopo del corso è dimostrare che una cosa che sembra difficile non è poi così difficile. Con Alberto e Alessandro scopriremo perché le tecniche applicate durante il corso non devono fare paura. **Tags:** Domain-Driven Design, Event Sourcing, EventStorming, Testing --- ### [Refactoring Legacy Code](https://www.avanscoperta.it/it/training/refactoring-legacy-code/) **Published:** June 30, 2016 **Author:** Matteo Baglini **Excerpt:** Riconquista il controllo di una codebase legacy e riduci giorno dopo giorno il costo e il rischio associato al continuo cambiamento del software! **Content:** *Smell, shortcuts, Golden Master e tests: gli ingredienti per trasformare il tuo codice puzzolente in clean code.* *Per la ricetta iscriviti al corso di Matteo… lo chef del codice!* ***Emanuele DelBono – Codice Plastico*** L’obiettivo di questo corso è fare luce su due argomenti distinti ma relazionati tra loro: **riprendere il controllo e la fiducia di una codebase legacy** e applicare diverse strategie di refactoring che permettano in modo pratico e sicuro l’evoluzione del design dell’applicazione. Nel lavoro quotidiano non c’è tempo per imparare a fare questo, proprio a causa del troppo tempo speso sulle difficoltà introdotte dalla codebase legacy, minando così la competitività del business. La maggior parte dei corsi e delle tecnologie è focalizzata sullo scrivere nuovo codice. In realtà il 90% del tempo che il programmatore passa sul codice è per manutenere codebase già scritte, il più delle volte da altri e sicuramente non testate. Ogni modifica è così rischiosa, tanto da trasformare il programmatore in un artificiere. Rimettere sotto controllo codice legacy è una disciplina ben precisa, con strumenti ed approcci consolidati e di provata efficacia. ## Programma Durante il corso – **mani sulla tastiera** – metteremo in pratica tutte le **t**ecniche che ci permetteranno di riconquistare il controllo di una codebase legacy, di ridurre giorno dopo giorno il costo e il rischio associato al continuo cambiamento del software e, in definitiva, di **riconquistare la competitività del business** che questo codice sostiene. ## Argomenti Non tratteremo né una tecnologia rivoluzionaria né un *super-nuovo-fiammante framework*, ma solo del metodo che permette di raggiungere i propri obiettivi in un terreno difficile come quello delle **c**odebase legacy. Le skill che apprenderete vi renderanno programmatori migliori, più professionali e vi serviranno “oggi” come “domani” quando affronterete la vostra nuova avventura. ### Cosa impareremo Abbiamo strutturato le due giornate in modo tale che alla fine del corso avrete acquisito: - **varie tecniche di testing** (black e white box) - le principali mosse di **refactoring** - le **code smell** più comuni; e sarete in grado di: - sfruttare il ciclo del **Test Driven-Development** - **rompere le dipendenze** (esplicite ed implicite) - applicare le **4 regole del Simple Design** - **ridurre il rischio nel cambiamento** tramite isolamento. ## A chi si rivolge? **Sviluppatori professionisti** (con diversi livelli di esperienza) impegnati quotidianamente nello sviluppo di feature di un prodotto. **Startupper** che vogliono trasformare il proprio prototipo in un’applicazione stabile e scalabile senza compromettere la velocità di sviluppo. **Studenti** che si affacciano sul mondo del lavoro e che vogliono conoscere gli strumenti che gli permetteranno di essere subito produttivi in codebase estranee. ### Materiale Il corso prevede che le esercitazioni avvengano sul vostro portatile. È possibile lavorare da soli o in coppia. Lavoreremo su **codebase opensource** disponibili su **GitHub**. ### Tecnologia Le esercitazioni pratiche saranno svolte in **C#**. ### Prerequisiti Pochi ma essenziali: - **Visual Studio** (dalla versione 2012 in poi, anche la Free Community Edition) - **ReSharper** (dalla versione 9.0 in poi) - il vostro **TestRunner di fiducia** (ne offrono uno sia VS che R#) - **Git**. ## F.A.Q. *Come devo prepararmi per il corso?* Non è richiesta nessuna preparazione o particolare skill se non la **conoscenza del linguaggi** e dell’**ambiente di sviluppo utilizzato**. *È un corso per principianti o per esperti?* Basta avere un **buon livello di conoscenza del linguaggio** e di **concetti dell’OOP** come per esempio **polimorfismo**, **interfacce** ed **ereditarietà**. *Io programmo in Java, come mi può essere utile questo corso?* Le tecniche che impareremo sia di **testing** che di **refactoring** possono essere **applicate anche ad altri linguaggi di programmazione**. Per avere un ambiente di sviluppo .NET completo ed adatto al corso, potete installare Visual Studio Free Community Edition. *Esercitazioni vs teoria: in che percentuale possono essere definite?* La parola chiave di questo corso è “pratica”: i momenti di teoria saranno pochi, ma essenziali. Diciamo **30% teoria e 70% pratica**. ## N.B. La classe sarà composta da un **numero massimo** di 12 partecipanti. Ci riserviamo la possibilità di posticiparlo o annullarlo qualora il numero minimo non fosse raggiunto. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A catalogo **Tags:** Black Box Testing, Code Smell, Legacy Code, Refactoring, TDD, Test Driven Development, White Box Testing --- ### [Value Proposition Strategy Workshop](https://www.avanscoperta.it/it/training/value-proposition-strategy-workshop/) **Published:** December 5, 2023 **Author:** Enrico Meloni **Excerpt:** Acquisisci o allena le competenze che ti permetteranno di costruire una solida base per l'innovazione del prodotto e una strategia di posizionamento a lungo termine, indipendentemente dal settore di mercato o dalle dimensioni dell'organizzazione. **Content:** ## Abstract Creare prodotti che riescano a catturare l’attenzione del mercato e diventare la “next big thing” è una sfida che richiede una comprensione profonda del valore che tali prodotti portano ai clienti. Value Proposition Strategy Workshop è progettato per assistere manager di prodotto nel creare proposte di valore irresistibili: cioè capaci di identificare e comprendere in modo approfondito le esigenze dei clienti, sia quelle espresse sia quelle latenti, e trasformare intuizioni in strategie concrete, per valorizzare nuovi prodotti e quelli già esistenti sul mercato. Comprendere e applicare una strategia di Value Proposition aumenta la probabilità di successo del prodotto sul mercato e crea un vantaggio competitivo sostenibile in scenari di mercati altamente competitivi. Le competenze acquisite durante il Value Proposition Strategy Workshop saranno trasferibili e applicabili a vari ambiti, indipendentemente dalla tipologia di prodotto, dal settore di mercato o dalla dimensione dell’organizzazione. ## Target Audience Devi lanciare una nuova linea di business o un prodotto innovativo e vuoi imparare a comunicare in modo efficace e strutturato la Value Proposition ai tuoi stakeholder, allo scopo di ottenere supporto interno ed esterno? Questo workshop è l’occasione ideale per tutte le persone audaci che ricoprono il ruolo di Product Owner, Managers di Prodotto, Marketing Manager e Responsabili dell’Innovazione, per le persone che sono mosse dal desiderio di creare prodotti rivoluzionari e si trovano a dover navigare le complesse acque della Value Proposition. Il corso è progettato principalmente per: - Product Owners che vogliano trasformare le idee innovative in prodotti di successo, - Managers di Prodotto che vogliono affinare le loro competenze nella definizione e comunicazione della Value Proposition, - Responsabili dell’Innovazione che aspirano a guidare il loro team verso la creazione di prodotti rivoluzionari. Altre figure professionali che possono trarre beneficio da questo workshop includono: - Marketing Manager e Project Managers in team multifunzionali, alla ricerca di strategie per definire e comunicare la Value Proposition, - Professionisti nel settore tech che desiderano acquisire competenze avanzate nella creazione e gestione di proposte di valore efficaci, - Venture builders e Manager che devono lanciare o rilanciare servizi innovativi all’interno di spinoff o corporate startup operando in contesti complessi di open-innovation. È richiesto che le persone abbiano già esperienza nell’applicazione e utilizzo del Business Model Canvas. ## Programma Hai provato ad applicare il Business Model Canvas nel lancio di un nuovo prodotto, idea o iniziativa, ma non è bastato. Durante il *Value Proposition Strategy Workshop* con Hoang Huynh farai esperienza su come strutturare le prime fasi di un go-to market in modo efficace e trasferibile nel tuo contesto. Questo workshop rappresenta un’opportunità preziosa per i professionisti e le professioniste di prodotto di acquisire nuove prospettive, condividere esperienze con i colleghi e elevare le proprie capacità in un ambiente di apprendimento stimolante. Con la guida di Hoang Huynh, vivrai un viaggio interattivo e pratico che non solo affinerà la tua comprensione delle necessità dei clienti, ma ti fornirà anche strumenti tangibili e metodo comprovato per tradurre queste comprensioni in proposte di valore efficaci. Le lezioni apprese in questo workshop saranno immediatamente applicabili, indipendentemente dal settore di mercato o dalla dimensione dell’organizzazione, fornendo una base solida per l’innovazione del prodotto e una strategia di posizionamento a lungo termine. ## Agenda ### I Fondamentali di una Value Proposition - Il valore e la sua percezione - Definizione e importanza della Value Proposition - Il modello di Pine & Gilmore - La relazione fra Mission, Vision, Purpose e Value Proposition e Unique Selling Proposition - Il modello del Value Stick ### Value Proposition Design - Elementi chiave di una Value Proposition efficace - La scala dei Benefici - Definizione dei Valori Chiave - Ideazione e Prototipazione della Value Proposition - Uso e limiti del Value Proposition Canvas - Progettare il contesto con il modello “MOA” ### Value Proposition Strategy - La Formula della Value Proposition - Ingegnerizzare una promessa con il framework “Premise Promise Proof” - Implementare una Value Proposition Strategy ### Comunicare la Value Proposition - Strategie per comunicare efficacemente la Value Proposition a stakeholder interni ed esterni - Verbalizzare una Value Proposition ## Cosa impareremo - Sperimenterai tecniche essenziali e immediatamente applicabili in diversi contesti professionali per definire e affinare una Value Proposition. - Ti allenerai a trasformare una Value Proposition in una Strategia di Value to Market. - Farai pratica con metodi e strumenti di design thinking per sviluppare, validare e iterare la Value Proposition, garantendo un approccio dinamico e centrato sull’utente. - Esplorare strategie di comunicazione efficace per trasmettere in modo persuasivo e incisivo la Value Proposition a stakeholder interni ed esterni, garantendo un’adesione ottimale alle idee innovative proposte. ## Come si svolge Attraverso case study reali, esercizi pratici, e feedback costruttivi, proverai a traslare le tue idee in proposte di valore convincenti che possono guidare il successo del prodotto sul mercato. Un mix di teoria, esempi pratici, lavori di gruppo e interazione, questo workshop ti fornirà gli strumenti e le conoscenze necessarie per portare la tua carriera e i tuoi prodotti al livello successivo. ## Perché partecipare Value Proposition Strategy Workshop con Hoang Huynh è il corso dove acquisire o allenare competenze che permettono di costruire una solida base per l’innovazione del prodotto e una strategia di posizionamento a lungo termine, indipendentemente dal settore di mercato o dalle dimensioni dell’organizzazione. **Tags:** Product Delivery, Product Discovery, UX, Value Proposition Canvas --- ### [Lean Problem Solving with A3 Thinking and Popcorn Flow](https://www.avanscoperta.it/en/training/lean-problem-solving-with-a3-thinking-and-popcorn-flow/) **Published:** December 9, 2014 **Author:** administrator **Excerpt:** A fun and highly-participative workshop: you'll practice with A3 Thinking and Popcorn Flow, two powerful methods to solve problems and introduce rapid change. **Content:** In this fun and highly-participative workshop, you’ll practice with two powerful methods to solve problems and introduce rapid change: **A3 Thinking** and **Popcorn Flow**. **A3 Thinking** is a **Lean management approach** originated **from Toyota** to help you investigate and solve problems even outside your immediate circle of influence (e.g. cross team or even cross department), develop the critical thinking skills of people, and raise visibility within any organization. With the help of the **A3 Thinker’s Action Deck** — an original set of 71 **brainstorming cards** — you’ll participate in games and activities to learn just enough to begin your **journey into the world of A3 Thinking**. The deck will be yours to keep! It will stay with you well after the training, when you’ll face your most critical challenges in your workplace. Depending on the complexity of the domain, however, not all problems can and should be solved with A3 Thinking. Which is why, on the second part of the workshop, you’ll drop the investigator hat and practice with a new approach emerged from the application of entrepreneurial **Lean Startup techniques** **to organizational change**. With **Popcorn Flow** you’ll learn a great way to work with teams to systematically highlight problems, elicit options and establish a continuous flow of small, traceable, co-created, explicit change experiments. At the end of the workshop, you’ll have gained **solid techniques** and **tools** that you’ll be able to apply as soon as you go back to your workplace. ##### Who is this for? Change agents, managers, scrum masters, agile team members… We have some theories, but the only person who knows why you’ll ultimately choose to participate to this workshop is you. **Tags:** A3, Agile Software Development, Business Strategy, lean startup, problem solving, retrospectives, Team collaboration --- ### [PopcornFlow Remote Workshop](https://www.avanscoperta.it/en/training/popcornflow/) **Published:** January 28, 2016 **Author:** Claudio Perrone **Excerpt:** PopcornFlow workshop: an “epic” workshop for innovators, change instigators and achievers. **Content:** ## Abstract PopcornFlow brings to life a way of thinking, principles, actionable techniques and tools to introduce rapid change in your organization and innovate like some of the best and most aggressive Lean startups around. The goal of this workshop is to help you develop the skills to introduce change and innovate inside and outside your workplace through ultra-rapid experimentation. ## Target Audience This online workshop is for: - Innovators (either inside or outside organizations), - Change Instigators (e.g. change agents, PMs/scrum masters/team leads, managers, whole teams) - Achievers (you :-) ) This is a practical, action-learning workshop focused on real problems. Participants are strongly encouraged to bring issues from their business and situations. ## Agenda ### Day 1 (Surfing over Complexity) - Getting Started - The First (Meta) Experiment - Move fast to learn faster: Continuous Improvement vs. Continuous Change - Enter PopcornFlow (5 principles, 7-step decision cycle) - Probing: Problems & Observations - Sensing: Perceptions & Bias - Create/Co-create/Buy/Share (Real) Options. ### Day 2 (Experiments in the wild) - Experiment design & launch - Small bets, big payoff: Anti-Fragile strategies - Jobs-To-Be-Done & PopcornFlow in the Wild - Personal PopcornFlow - Popcornflow for Lean Startups. ### Day 3 (Review and Scaling) - Review ExperimentsResponding: Next Steps - Team Facilitation Strategies - PopcornFlow at Scale: Organizational Deployment Strategies (e.g. PopcornFlow Stealth, Open, Delta Force, Borg, Mitosis, etc.) - Conclusion: Next is Now. ## What will you learn in this workshop? After this workshop, you will: - Use PopcornFlow as your core system to introduce, sustain and accelerate change to *annihilate organizational inertia* - Use solid metric**s** to indicate increased agility and progress within your team(s) - Be able to facilitate very effective retrospectives for both co-located and distributed teams - Use PopcornFlow as a visual communication/mentoring platform to reach wider consensus and take better decisions with peers, managers and/or reports - Integrate and/or replace other popular (but often short-lived and less effective) Lean Startup tools with PopcornFlow’s experiment board to sustain continuous product innovation and get traction. - Be happy… *really happy*. ## Methodology The workshop includes individual and group activities to actively involve participants in learning/refining the PopcornFlow methodology and allow them to practice in a safe and fun environment. Learners will engage in learning/refining the PopcornFlow methodology through highly participative activities. It follows the *4C instructional design model*, which is based on sequences of: - ***Connections:*** Activities that connect learners to what they know already about the topic, to each other, and to what they want and need to learn - ***Concrete Practice:*** Learners actively review content and practice skills - ***Concepts:*** Lectures or “direct instruction” training segments - ***Conclusions:*** Learner-­led summaries, evaluations, and celebration activities. ## Expect to get your hands dirty – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. This is why we suggest that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time. **Tags:** Decision Making, lean startup, Lean Thinking, PopcornFlow, Team collaboration --- ### [PopcornFlow Workshop](https://www.avanscoperta.it/it/training/popcornflow-workshop/) **Published:** January 26, 2016 **Author:** Claudio Perrone **Excerpt:** PopcornFlow è un workshop memorabile per pionieri dell’innovazione e agenti del cambiamento, altamente interattivo. Per introdurre, sostenere e accelerare il cambiamento e combattere l'inerzia organizzativa. **Content:** ## Abstract PopcornFlow brings a philosophy, principles, actionable techniques and tools to introduce rapid change in your organization and innovate like some of the best and most aggressive Lean startups around. The goal of this workshop is to help you develop the skills to introduce change and innovate inside and outside your workplace through **ultra-rapid experimentation**. ## Target Audience This online workshop is for: - Innovators (either inside or outside organizations), - Change Instigators (e.g. change agents, PMs/scrum masters/team leads, managers, whole teams) - Achievers (you :-) ) This is a practical, action-learning workshop focused on real problems. Participants are strongly encouraged to bring issues from their business and situations. ## What will you learn in this workshop? After this workshop, you will: - Use PopcornFlow as your core system to introduce, sustain and accelerate change to *annihilate organizational inertia* - Use solid metric**s** to indicate increased agility and progress within your team(s) - Be able to facilitate very effective retrospectives for both co-located and distributed teams - Use PopcornFlow as a visual communication/mentoring platform to reach wider consensus and take better decisions with peers, managers and/or reports - Integrate and/or replace other popular (but often short-lived and less effective) **Lean Startup tools with PopcornFlow’s experiment board** to sustain continuous product innovation and get traction. - **Be happy**… *really happy*. ## Methodology The workshop includes **individual and group activities** to actively involve participants in learning/refining the PopcornFlow methodology and allow them to practice in a safe and fun environment. Learners will engage in learning/refining the PopcornFlow methodology through highly participative activities. It follows the *4C instructional design model*, which is based on sequences of: - ***Connections:*** Activities that connect learners to what they know already about the topic, to each other, and to what they want and need to learn - ***Concrete Practice:*** Leaners actively review content and practice skills - ***Concepts:*** Lectures or “direct instruction” training segments - ***Conclusions:*** Learner-­led summaries, evaluations, and celebration activities. ## Expect to get your hands dirty – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. This is why we suggest that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time. **Tags:** Decision Making, lean startup, Lean Thinking, PopcornFlow, Team collaboration --- ### [Product Discovery per team agili](https://www.avanscoperta.it/it/training/lean-ux-e-product-discovery-per-team-agili/) **Published:** August 6, 2024 **Author:** Enrico Meloni **Excerpt:** Un'occasione unica: il corso basato sul best seller Lean UX di Jeff Gothelf e Josh Seiden finalmente in Italia e in italiano! Unisciti a Francesco Fullone per una due giorni in cui acquisire le competenze e le conoscenze necessarie per rivoluzionare il tuo approccio allo sviluppo dei prodotti. **Content:** ## Abstract Un viaggio immersivo di due giorni nel mondo di Lean UX, dove acquisirai le competenze e le conoscenze necessarie per rivoluzionare il tuo approccio allo sviluppo dei prodotti. Creato da Jeff Gothelf e Josh Seiden di Sense and Respond, autori di fama internazionale, questo workshop hands-on basato sul libro **Lean UX** offre un’opportunità unica per apprendere metodologie e strumenti sviluppati dai pionieri di Lean UX. **Il corso sarà tenuto in italiano da Francesco Fullone**, Business e Sustainability Designer, e in collaborazione con Avanscoperta, rispettivamente trainer e partner certificati di formazione di Sense and Respond Learning in Italia, garantendo un’esperienza di apprendimento completa e di impatto. Il tutto in una location d’eccezione, **Casa Spadoni a Faenza**, nel cuore della Romagna, che oltre a essere una venue spaziosa e accogliente è anche un ottimo ristorante (coffee break e pranzo, inclusi nel prezzo del biglietto, saranno preparati da Casa Spadoni) e un B&B con 12 stanze. *Posti limitati… non aspettare!* ## Programma In questo workshop dinamico, completo e pratico, scoprirai come Lean UX può trasformare le tue pratiche agili, ottimizzare il tuo processo di scoperta dei prodotti e potenziare i tuoi team per costruire soluzioni centrate sul cliente. Le due giornate sono un mix di discussioni, lavoro di gruppo e presentazioni, grazie alle quali ottenere conoscenze e strategie pratiche per promuovere l’innovazione e dare più valore ai tuoi clienti. ## Target Audience - Designer UX, - Product Manager, - Product Owner, - Project Manager, - Agile Coach, - Leads of Engineering - e chiunque desideri adottare i principi di Lean UX e apportare cambiamenti significativi nelle proprie aziende. Che tu sia un professionista esperto o nuovo nel mondo di Lean UX, questo corso offre preziose idee e strategie attuabili per elevare la tua pratica e accelerare la tua carriera. ## Cosa impareremo – Learning Outcomes - Ottieni una comprensione approfondita dei principi e delle metodologie di Lean UX. - Impara a integrare Lean UX nel tuo framework agile esistente per massimizzare l’impatto. - Esplora concetti chiave come Product Discovery, sviluppo orientato ai risultati e sperimentazione basata sulle ipotesi. - Impara a padroneggiare il Lean UX canvas e altri strumenti collaborativi per favorire la comprensione condivisa e l’allineamento all’interno del tuo team. - Sviluppa competenze nella redazione di ipotesi verificabili, nella conduzione di ricerche sugli utenti e nella sintesi delle informazioni per fare decisioni consapevoli e informate sui prodotti. - Scopri tecniche pratiche per la collaborazione remota e la partecipazione efficace degli stakeholder nell’era digitale. ## Materiali di Supporto Extra – Take aways - Tutti i video e le presentazioni utilizzati durante la lezione. - Accesso a tutti i modelli, esempi e guide utilizzati durante il corso. - Un canale dedicato su Slack la tua classe che ti permetterà di discutere i compiti durante e dopo la fine del corso. Questo canale rimarrà attivo anche dopo le lezioni in aula, in modo che possiamo continuare ad aiutarti anche successivamente. - Copie digitali dell’ultima edizione del libro Lean UX, scritto dagli autori del corso Jeff Gothelf e Josh Seiden. - Un certificato di completamento del corso. **Categories:** A catalogo **Tags:** Lean, Startup, UX --- ### [Dynamic Product Roadmaps for Digital Products Workshop](https://www.avanscoperta.it/it/training/dynamic-product-roadmaps-for-digital-products-workshop/) **Published:** March 14, 2023 **Author:** Enrico Meloni **Excerpt:** Con Matteo Cavucci, impareremo a costruire roadmap dinamiche e flessibili per migliorare il modo di comunicare gli obiettivi e di misurazione del progresso di un prodotto digitale. **Content:** ## Abstract Una roadmap non è solo una lista di features in ordine di priorità. A ben scavare, c’è molto di più. È uno strumento essenziale per creare allineamento e offrire trasparenza al team e agli stakeholder. Al tempo stesso però, può diventare un motivo di frustrazione, forzando una convergenza prematura sulle soluzioni, generando promesse irrealistiche e aumentando a dismisura il work-in-progress. In *Dynamic Product Roadmap for Digital Products Workshop* con Matteo Cavucci, articolato in due sessioni da 3.5 ore ciascuna, vogliamo indagare a fondo i pro e i contro delle roadmap di prodotti digitali, per imparare a costruire una roadmap efficace e adatta a un contesto in costante cambiamento. Partiremo da alcuni elementi fondamentali e imprescindibili, per esplorare e testare approcci diversi che aiutino a mantenere l’equilibrio tra pianificazione e incertezza. ## Target Audience - Product manager e product owner (con o senza titolo) che vogliono comunicare meglio con team e stakeholder - Head of product o product lead che vogliono evolvere la propria organizzazione - Marketing manager, Customer Success manager, o ogni altro profilo che si trovi a progettare e pianificare il rilascio di un prodotto digitale - Team lead ed Engineering manager che vogliono perfezionare le proprie skill e fare la differenza. ## Programma Il corso si articola in due sessioni da 3.5 ore l’una e si struttura in un’alternanza di discussioni, teoria e lavori di gruppo. Con la facilitazione di Matteo Cavucci, i partecipanti condivideranno le loro esperienze, e saranno guidati nell’esplorazione di nuovi punti di vista attraverso esercizi mirati e casi concreti provenienti da scenari reali. Osserveremo come è possibile bilanciare il rispetto delle scadenze lasciando la porta aperta alla scoperta e alla sperimentazione. Ragioneremo per ipotesi, applicheremo le metriche giuste e amplificheremo la chiarezza delle informazioni distribuite, minimizzando i rischi e il lavoro necessario. ## Argomenti - Product Roadmap: pro e contro - Pensare in Bets - *Hypothesis-driven development* e *decision points* - Formulare buoni outcome - Misurare il progresso: metriche e KPI. ## Agenda ### Sessione 1 - **Kick-off**: cos’è una roadmap a partire dalla vostra esperienza - **Focus**: a che serve una roadmap, dove applicarla, come crearne una e come communicare attraverso di essa - **Challenge**: dalle deadline alle ipotesi e risultati - **Focus**: come incorporare l’imprevedibilità tipica dello sviluppo dei prodotti digitali - **Focus**: gli snodi decisionali e la riprogrammazione continua - **Challenge**: dall’incertezza all’orchestrazione della scoperta - **DYI**: applica i concetti chiave nel tuo ambiente di lavoro. ### Sessione 2 - **Review**: cosa abbiamo imparato dal portare le “nuove” idee nel nostro contesto - **Case study**: analizziamo un caso virtuoso - **Focus**: la roadmap come un piano-guida per gli esperimenti - **Q&A**: domande e temi dai partecipanti. ## Cosa impareremo - Migliorare la maniera con cui si comunicano gli obiettivi e si misura il progresso di un prodotto digitale - Come risolvere i problemi dati da disallineamento ed esecuzione lineare - Praticare strumenti e conversazioni per cambiare il modo di intendere le roadmap nel proprio ambiente. ## Come si svolge I partecipanti saranno divisi in gruppi e lavoreranno a partire dalla propria esperienza su pianificazione e roadmap. Man mano che verranno esposti i concetti chiave, verranno applicati e testati in piccoli gruppi di lavoro. Alla fine del percorso, ogni gruppo avrà preparato una roadmap dinamica adatta al contesto digitale. Il corso si svolgerà online e in diretta per un massimo di 16 persone: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. Applicheremo alcuni principi del metodo Training from the back of the room, con prevalenza di attività su lectures. Alle poche definizioni teoriche si affiancano esercizi ed attività pratiche. La condivisione tra i partecipanti ed il supporto del trainer completano il quadro formativo. ## Perché iscriversi Sapere dove si va è importante. Lo è ancora di più sapere come orientarsi nell’incertezza mantenendo una direzione chiara e visibile. Il corso è un *must do* per tutte quelle figure professionali che vogliono guidare con successo i team in contesti ad altà complessità favorendo una comunicazione trasparente e il mantenimento dell’allineamento tra gli stakeholder. **Categories:** A catalogo **Tags:** Communication, Product Delivery, Product Discovery, Product Management, Roadmaps --- ### [Practical Event Sourcing Workshop](https://www.avanscoperta.it/en/training/practical-introduction-to-event-sourcing-workshop/) **Published:** January 28, 2025 **Author:** Enrico Meloni **Excerpt:** Event Sourcing helps us keep track of all the business facts without losing a single piece of business information, and build durable and robust systems. Start with the right foot with this online workshop by Oskar Dudycz. **Content:** Are you tempted by Event Sourcing but don’t know where to start? Is your business losing data? Event Sourcing allows us to keep track of all the business facts without losing a single piece of business information. Tracing and observing our business workflow allows us to gather insights about the present system’s behaviour and answer tomorrow’s questions and challenges. However, Event Sourcing also brings new questions and challenges to the development teams. What’s the right event granularity? Should we go for thin or fat events? How do we separate shared/public from private/local events? Event Sourcing also requires a new set of practices and the development of a new type of confidence in the design, construction, and ownership of durable systems. This hands-on *Event Sourcing* workshop is designed to build this confidence, introducing participants gradually into Event Sourcing through hands-on activities. Oskar Dudycz will share his practical experience on working with Emmett, Marten and EventStoreDB to get you started! You don’t need to learn from your own mistakes but benefit from his experience. ## Learning objectives In the workshop, you will build a simple but real and complete web application using Event Sourcing, and so you will have experienced: - when and how to use Event Sourcing and CQRS and what benefits it brings, - how to reflect your business logic in the code using events, - how to model and implement business workflows with Event Sourcing, - differences to the classical approach, - different tools such as Emmett, Marten, and EventStoreDB and the differences between them, - how to use Event Sourcing on your system, - challenges related to Event Sourcing and recommended solutions. ## The trainer [Oskar Dudycz](https://www.avanscoperta.it/en/trainer/oskar-dudycz/) is a strong advocate for [Event Sourcing](https://www.youtube.com/watch?v=jnDchr5eabI), CQRS, and Event-Driven Architecture. He believes these approaches provide a solid foundation for building scalable and maintainable solutions. In addition to consulting, Oskar is an active open-source contributor, having played a key role in developing popular Event Sourcing tools like [Emmett](https://github.com/event-driven-io/emmett), [Marten](https://martendb.io/), and EventStoreDb (now [Kurrent](https://www.kurrent.io/)) ## Target audience Have you thought that “it’d be much easier if we know the past data, or why this has happened”? Are you integrating your systems with events and already see that keeping them longer could help you improve observability, build projections, and integrate efficiently? Did you start modelling with EventStorming and want to see how to reflect your model in code? If any of those are true for you, then learning Event Sourcing can boost your system design and be a valuable asset. If you have already built some web applications in C#, Java or Node.js and would like to take them to next level, this workshop may be for you. You should have experience building web applications using C#, Java or TypeScript, but all topics related to Event Sourcing will be introduced from the beginning. Even if you know Event Sourcing, such a foundation summary should help you get alignment and ensure you didn’t miss anything. ## Topics - Event Sourcing - CQRS - Vertical Slices - Business Workflows (Saga, Process Manager etc.) - How Event Stores are built - Guarantees that Event Sourcing gives - Versioning Events. ## Agenda ### Day 1-2 - Introduction to Event Sourcing. Basic terminology (event, stream of events, command), differences from the classical approach, - Various ways of handling business logic: Aggregates, Command Handlers, functional approach, - Write model and data consistency guarantees, - Good and bad practices in modelling events, - Projections and best practices for building read models. ### Day 3-4 - Modelling Event Sourcing workflows: Saga, Choreography, Process Manager, handling distributed processes. - Challenges in Event Sourcing and EDA: delivery guarantees, event processing order, idempotency, etc. - Event Sourcing on production, evolution, event versioning, etc. ## How it works Through hands-on coding exercises, you’ll gradually learn Event Sourcing theory through practice. Exercises should trigger discussions to deepen the understanding of the topics. You’ll also get model solutions. You can either do them on your own or pair them with others. You’ll also be modelling group business workflows using EventStorming and implementing the outcome. The workshop is focused on practice and hands-on experience to give you a quick start. The workshop happens online and in live streaming. **Categories:** On demand, Scheduled **Tags:** CQRS, Domain-Driven Design, Event Sourcing, EventStorming --- ### [Kanban Software Development Workshop](https://www.avanscoperta.it/it/training/kanban-software-development-workshop/) **Published:** October 5, 2012 **Author:** Alberto Brandolini **Content:** **3 giorni** intensi e coinvolgenti, interamente dedicati a Kanban: l’ultima frontiera dello sviluppo software lean-agile. - **Lean software development**: principi e valori dello sviluppo snello. Economia dello sviluppo software - **Regole base dei sistemi Kanban**: visualizzazione sulla Kanban Board e limitazione del Work in Progress - **Individuazione e risoluzione dei colli di bottiglia**: *diagnostica*, *root cause analysis*, *system thinking* - **Kanban Implementation**: la messa su strada di Kanban e l’impatto sull’organizzazione - **Kanban Planning**: ovvero la pianificazione ridotta all’osso - **Theory of constraints**: fondamenti teorici della teoria dei vincoli, ed implementazione nei sistemi Kanban - **Value Stream Mapping**: visualizzazione degli sprechi nel nostro flusso di sviluppo. **Tags:** Agile Software Development, Kanban --- ### [Beyond Budgeting Master Class](https://www.avanscoperta.it/en/training/beyond-budgeting-master-class/) **Published:** October 14, 2024 **Author:** Enrico Meloni **Excerpt:** Bring our leadership and planning processes to the next level! Join Bjarte Bogsnes for a real change within your organization from one of the pioneers of Beyond Budgeting. **Content:** How can management innovation drive competitive advantage just as powerfully as technology and product innovation? At the core of the traditional way of managing, you find the budgeting process and the budgeting mindset. It’s impossible to change management and leadership without also addressing the budgeting process. Beyond Budgeting has 12 principles. Six are on leadership, like purpose, autonomy, and transparency. Six are on management processes, like target setting, forecasting, resource allocation, performance evaluation, rewards, and recommendations on the rhythm of all these processes. There is also a strong focus on creating coherence between what is said about leadership and what is practiced through these management processes. The Beyond Budgeting Masterclass by Bjarte Bogsnes is a two-day journey that will provide you with a thorough and practical understanding of Beyond Budgeting. Led by one of the pioneers of Beyond Budgeting, the Masterclass aims to uncover and explore how an entire organization can be run in an agile way, where people and interactions are more valued than processes and tools and where responding to change is more important than following a plan. You will get unique insights into Business Agility in practice, both from a managerial, financial, and human perspective. ## Trainer[![Copertine libri Bjarte Bogsnes](https://www.avanscoperta.it/wp-content/uploads/2024/10/beyond-budgeting-books-1-300x249.png)](https://www.amazon.it/stores/Bjarte-Bogsnes/author/B001JSCDQ6?ref=sr_ntt_srch_lnk_1&qid=1739445917&sr=1-1&isDramIntegrated=true&shoppingPortalEnabled=true) [Bjarte Bogsnes](https://www.avanscoperta.it/it/trainer/bjarte-bogsnes/) is the go-to expert when it comes to embarking on a journey beyond traditional budgeting. An internationally renowned professional and author of *Implementing Beyond Budgeting – Unlocking the Performance Potential*, he shares his 30-year journey advocating for Beyond Budgeting. His latest book, This is Beyond *Budgeting – A Guide to More Adaptive and Human Organizations*, further explores this transformative approach. ## Target Audience Large corporations are the type of companies that need this kind of approach the most. You’ll benefit from this workshop if you have a corporate background, and therefore this Master Class is aimed at: - CEOs - HRs - CFOs - Finance Directors - Agile practitioners - Middle managers - Team leaders - Agile coaches - Product managers - Consultants Do you work in a start-up or in a smaller company? You’ll still benefit from this workshop – Beyond Budgeting is exactly what you need in order to know what to avoid when your company grows. ## Topics - Beyond Budgeting – the adaptive management model. “Performance. The Right Way”: - Companies on the journey around the world; great case stories of how they operate - The Borealis story – going Beyond Budgeting before Beyond Budgeting - The Equinor (formerly Statoil) story - Redefining performance – dynamic and relative targets and a holistic performance evaluation - Dynamic forecasting and resource allocation and no traditional budgets - From calendar-driven to event-driven - Holistic performance evaluation - Beyond Budgeting in the public sector - KPI and OKR pitfalls - Agile and Beyond Budgeting – similarities and differences - Why no Agile transformation without Beyond Budgeting - Implementation experiences and advice - The business model canvas – the brand new Viable Map - Beyond Budgeting and the major consulting firms - Does Beyond Budgeting work? Fresh survey data. The Master Class will also provide participants with a thorough and practical understanding of how cost can be managed in much better ways and how funding works in a Beyond Budgeting world. ## Learning Objectives - How to trust and empower without losing control - How to redefine performance – with dynamic and relative targets (or no targets at all) and a holistic performance evaluation. - How dynamic forecasting and resource allocation works, and also other examples of self-regulating management mechanisms, including transparency. Bjarte will also share insights into KPI and OKR pitfalls, and bonus problems. ## How it works The Master Class is made of parts of lecture (sharing knowledge and ideas), workshop and discussion, and facilitated exercises to experience methods and put principles into practice. It includes a number of exercises which supplements the theory and practice of Beyond Budgeting, including how the model can be applied in your own organisation. You will benefit from Bjarte Bogsnes’ extensive experience. He has helped companies all over the world getting started on a Beyond Budgeting journey, including his former employer Equinor (Statoil) – where the budget (and much more) was kicked out. This and many other great case stories and practical examples will be shared. **Categories:** On demand **Tags:** Agile, beyond budgeting, budget, Management --- ### [Beyond Budgeting Masterclass](https://www.avanscoperta.it/it/training/beyond-budgeting-masterclass/) **Published:** October 14, 2024 **Author:** Enrico Meloni **Excerpt:** Bring our leadership and planning processes to the next level! Join Bjarte Bogsnes for a real change within your organization from one of the pioneers of Beyond Budgeting. **Content:** How can management innovation drive competitive advantage just as powerfully as technology and product innovation? At the core of the traditional way of managing, you find the budgeting process and the budgeting mindset. It’s impossible to change management and leadership without also addressing the budgeting process. Beyond Budgeting has 12 principles. Six are on leadership, like purpose, autonomy, and transparency. Six are on management processes, like target setting, forecasting, resource allocation, performance evaluation, rewards, and recommendations on the rhythm of all these processes. There is also a strong focus on creating coherence between what is said about leadership and what is practiced through these management processes. The Beyond Budgeting Masterclass by Bjarte Bogsnes is a two-day journey that will provide you with a thorough and practical understanding of Beyond Budgeting. Led by one of the pioneers of Beyond Budgeting, the Masterclass aims to uncover and explore how an entire organization can be run in an agile way, where people and interactions are more valued than processes and tools and where responding to change is more important than following a plan. You will get unique insights into Business Agility in practice, both from a managerial, financial, and human perspective. ## Trainer[![Copertine libri Bjarte Bogsnes](https://www.avanscoperta.it/wp-content/uploads/2024/10/beyond-budgeting-books-1-300x249.png)](https://www.amazon.it/stores/Bjarte-Bogsnes/author/B001JSCDQ6?ref=sr_ntt_srch_lnk_1&qid=1739445917&sr=1-1&isDramIntegrated=true&shoppingPortalEnabled=true) [Bjarte Bogsnes](https://www.avanscoperta.it/it/trainer/bjarte-bogsnes/) is the go-to expert when it comes to embarking on a journey beyond traditional budgeting. An internationally renowned professional and author of *Implementing Beyond Budgeting – Unlocking the Performance Potential*, he shares his 30-year journey advocating for Beyond Budgeting. His latest book, This is Beyond *Budgeting – A Guide to More Adaptive and Human Organizations*, further explores this transformative approach. ## Target Audience Large corporations are the type of companies that need this kind of approach the most. You’ll benefit from this workshop if you have a corporate background, and therefore this Masterclass is aimed at: - CEOs - HRs - CFOs - Finance Directors - Agile practitioners - Middle managers - Team leaders - Agile coaches - Product managers - Consultants. Do you work in a start-up or in a smaller company? You’ll still benefit from this workshop – Beyond Budgeting is exactly what you need in order to know what to avoid when your company grows. ## Topics - Beyond Budgeting – the adaptive management model. “Performance. The Right Way”: - Companies on the journey around the world; great case stories of how they operate - The Borealis story – going Beyond Budgeting before Beyond Budgeting - The Equinor (formerly Statoil) story - Redefining performance – dynamic and relative targets and a holistic performance evaluation - Dynamic forecasting and resource allocation and no traditional budgets - From calendar-driven to event-driven - Holistic performance evaluation - Beyond Budgeting in the public sector - KPI and OKR pitfalls - Agile and Beyond Budgeting – similarities and differences - Why no Agile transformation without Beyond Budgeting - Implementation experiences and advice - The business model canvas – the brand new Viable Map - Beyond Budgeting and the major consulting firms - Does Beyond Budgeting work? Fresh survey data. The Masterclass will also provide participants with a thorough and practical understanding of how cost can be managed in much better ways and how funding works in a Beyond Budgeting world. ## Learning Objectives - How to trust and empower without losing control - How to redefine performance – with dynamic and relative targets (or no targets at all) and a holistic performance evaluation. - How dynamic forecasting and resource allocation works, and also other examples of self-regulating management mechanisms, including transparency. Bjarte will also share insights into KPI and OKR pitfalls, and bonus problems. ## How it works The Masterclass is made of parts of lecture (sharing knowledge and ideas), workshop and discussion, and facilitated exercises to experience methods and put principles into practice. It includes a number of exercises which supplements the theory and practice of Beyond Budgeting, including how the model can be applied in your own organisation. You will benefit from Bjarte Bogsnes’ extensive experience. He has helped companies all over the world getting started on a Beyond Budgeting journey, including his former employer Equinor (Statoil) – where the budget (and much more) was kicked out. This and many other great case stories and practical examples will be shared. **Categories:** A catalogo **Tags:** Agile, beyond budgeting, budget, Management --- ### [Effective Management Workshop](https://www.avanscoperta.it/it/training/effective-management/) **Published:** June 8, 2023 **Author:** Enrico Meloni **Excerpt:** Acquisisci (e pratica) le skill necessarie per diventare la manager o il manager che tutti vorrebbero avere! Un corso adatto a chiunque si trovi a gestire altre persone, indipendentemente dal contesto, **Content:** ## Come guidare un team con efficacia Gestire persone correttamente, creando team efficaci, è una sfida complessa. Che risulta ancora più ardua per chi si trova alla prima esperienza e non ha ancora trovato un equilibrio tra fare il proprio lavoro e dirigere altre persone. L’*Effective Management Workshop* è stato progettato da [Luca Sartoni](https://www.avanscoperta.it/it/trainer/luca-sartoni/) per aiutarti a sviluppare le competenze necessarie per diventare più efficace come manager, partendo dalla comprensione dei fondamenti della leadership, fino alla costruzione di un team ad alto rendimento. Essere efficaci come manager porta molto valore a ogni azienda perché si amplifica il ritorno dell’investimento in personale specializzato che, in molti casi, è già stato fatto. Inoltre, essere efficaci come manager riduce il turnover di personale perché si è in grado di attrarre e mantenere il talento all’interno dell’organizzazione. Le abilità di manager efficaci sono ampiamente trasferibili durante tutto il percorso professionale, indipendentemente dal ruolo, azienda, o settore industriale. In questo corso pratico e interattivo avrai la possibilità di: - imparare a comunicare professionalmente con il tuo team, definire obiettivi, stabilire aspettative e valutare i risultati operativi; - imparare a motivare il tuo team per raggiungere il loro pieno potenziale, offrendo loro opportunità di miglioramento; - acquisire una serie di strumenti che ti permetteranno di superare le sfide iniziali di ogni manager, e ti preparerà per il successo negli anni a venire. ## Target Audience Questo corso è dedicato a tutti i brillanti professionisti che, dopo aver assunto un ruolo manageriale, hanno perso il proprio equilibrio. Per anni hai lavorato con impegno e dedizione, e come ricompensa hai ricevuto una meritata promozione: gestire altre persone. La differenza tra essere molto capaci nel proprio lavoro e gestire altre persone è tanto grande quanto sottovalutata, a volte non viene neanche presa in considerazione. Ma come si fa a gestire al meglio le altre persone, senza esserne sopraffatti? Sei valutato/a in base al lavoro svolto da altri? Se la risposta è affermativa, questo workshop è stato creato appositamente per te. Il corso è rivolto a manager alla prima esperienza nel settore tech: - Engineering Manager - Design Manager - Team leads Altre figure professionali che possono beneficiare di questo workshop: - Project Manager in team multifunzionali - Product Manager con molti stakeholder - Chiunque si trovi a dover gestire altre persone per la prima volta - Chiunque abbia già esperienza di management di persone ma desideri consolidare i fondamentali in preparazione di ruoli di leadership più complessi (per esempio director, lead of leads, middle management). ## Perché partecipare - Avere lavorato con manager incapaci è la prima causa di dimissioni, [secondo uno studio di Gallup.](https://www.linkedin.com/pulse/bad-bosses-1-reason-why-people-quit-stefan-lindegaard/) - Essere in grado di guidare un team con efficacia è il primo obiettivo di manager che vogliano trattenere il talento aziendale. - L’incertezza in chi ricopre il ruolo di manager è un grosso freno alla crescita di un’azienda. Al contrario, essere efficaci amplifica il valore del proprio team. - Le capacità di gestione efficace sono utili in qualsiasi passo successivo della propria carriera, persino cambiando ruolo, azienda, settore industriale. - Ingegnere e ingegneri, designer, specialiste e specialisti, si aggiornano continuamente per restare al passo coi tempi. Anche le persone che ricoprono il ruolo di manager dovrebbero curare la propria professione per rimanere impiegate e impiegabili. ## Argomenti - Evitare le incomprensioni facendo domande efficaci - L’intenzionalità del processo cognitivo: dai dati alle azioni - Capire meglio le altre persone e prendere decisioni efficaci - Ascolto attivo e domande efficaci. L’arte di fare in modo che ogni conversazione conti. - Conoscere profondamente il tuo team - Quanto conosci il tuo team? Capire di più delle persone che stai gestendo per motivarle meglio - Come navigare tra le relazioni, bilanciando l’aspetto personale/professionale del lavorare insieme - Definire le preferenze lavorative per amplificare l’efficacia del tuo team e superare le sfide degli ambienti di lavoro distribuiti, remoti, ibridi e co-locati. - Dare feedback efficace - Costruire una cultura della fiducia nell’ambiente di lavoro - Offrire feedback efficace per ottenere risultati - Apprezzare e valutare i comportamenti di lavora con noi per migliorare le performance dell’organizzazione. - Affrontare conversazioni difficili - Comprendere la natura delle conversazioni difficili - Preparare e prepararsi alle conversazioni difficili - Strategie di comunicazione efficace ed errori comuni da evitare. ## Agenda ### Modulo 1 - Introduzione - Le sfide che affronteremo insieme: - Limiti cognitivi, conflitti, conversazioni difficili - Elementi della gestione cognitiva - Il processo di creazione del significato - La scala dell’Inferenza - Esercizio sulla comprensione di una realtà condivisa - Esercizio sulle conversazioni efficaci. ### Modulo 2 - Elementi della comunicazione efficace per i manager - Definizione delle preferenze di lavoro - Superare le sfide degli ambienti di lavoro distribuiti, remoti, ibridi e co-localizzati - Quanto conosci bene il tuo team? ### Modulo 3 - Dare feedback efficace - Estrarre valore da qualunque feedback - Gioco di ruolo sul dare e ricevere feedback. ### Modulo 4 - Comprendere le conversazioni difficili (salario, performance, licenziamento, ecc.) - Gioco di ruolo sull’affrontare conversazioni difficili - Conclusioni. ***Nota: tra un modulo e l’altro, è previsto lo svolgimento di compiti ed esercizi, per i quali è bene prevedere almeno un’ora di tempo.*** ## Cosa impareremo - Acquisire confidenza nel gestire le persone - Capire meglio i membri del tuo team - Essere in grado di fare domande efficaci - Essere in grado di gestire conversazioni difficili - Essere in grado di negoziare e stabilire aspettative, ed utilizzarle per mantenere alti gli standard di lavoro - Dare e ricevere feedback con competenza. ## Come si svolge Oltre il 60% del tempo di questo workshop sarà dedicato a esercizi pratici. Le parti teoriche (40%) stabiliscono le fondamenta per la parte pratica (60%). Sarai immediatamente in grado di collegare i tuoi obiettivi agli esercizi e superare alcune delle tue sfide durante il ciclo di lezioni. Il corso si svolgerà online e in diretta per un massimo di 12 persone: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. La condivisione tra i partecipanti e il supporto del trainer completano il quadro formativo. ### F.A.Q. **Come verranno gestite le informazioni riservate durante il workshop?** Questo corso ha una forte componente di crescita personale e durante le sessioni potrebbe succedere che le persone condividano informazioni sensibili. Per questo motivo, è richiesto l’impegno da parte di tutti i partecipanti a non divulgare tali informazioni personali al di fuori del gruppo di lavoro e del contesto del corso. **Sono previsti requisiti minimi per poter partecipare a questo corso?** No, e non è richiesta alcuna preparazione specifica, a parte il genuino interesse verso il voler gestire altre persone con efficacia. **Ci saranno attività da svolgere tra una sessione e l’altra?** Sì: ti consigliamo di allocare almeno un’ora di tempo tra una sessione e l’altra per lo svolgimento di compiti ed esercizi. **Categories:** A catalogo **Tags:** leadership, Management, Team, Team Leader --- ### [Effective Management Workshop](https://www.avanscoperta.it/en/training/effective-management-workshop/) **Published:** June 8, 2023 **Author:** Enrico Meloni **Excerpt:** With Effective Management Workshop by Luca Sartoni, you'll get the skills and mindset you need to become the manager everyone wants. This workshop is suitable for anyone who just got promoted and needs to manage other people all of a sudden. **Content:** > The next edition of the workshop will be **in Italian.** [Join the Early access List](https://docs.google.com/forms/d/e/1FAIpQLSddehfJlHBNjE4HPkgwp45Pi6BrTCYitJk8Gsjuo0vWvCK7sg/viewform?usp=sf_link) to be notified as soon as we launch a new English edition. ## Abstract Managing people effectively and creating effective teams is a complex challenge, especially for those new to management who have not yet found a balance between their expertise and leading others. The *Effective Management Workshop*, designed by Luca Sartoni, is aimed at helping individuals develop the necessary skills to become effective managers, starting with understanding the fundamentals of leadership and building high-performance teams. An effective manager adds significant value to any company by amplifying the return on investment in specialized personnel, which has already been made in many cases. Additionally, an effective manager reduces employee turnover by attracting and retaining talent within the organization. The skills of an effective manager are widely transferable throughout one’s professional career, regardless of role, company, or industry sector. In this practical and interactive course you will have the opportunity to: - learn to communicate professionally with your team, define goals, set expectations and evaluate operational results; - learn to motivate your team to reach their full potential by offering them opportunities for improvement; - acquire a set of tools that will enable you to overcome every manager’s initial challenges, and set you up for success for years to come. ## Target Audience This course is dedicated to all the brilliant professionals who have lost their balance after starting a managerial role. For years, you have worked with commitment and dedication, and as a reward, you have received a well-deserved promotion: managing other people. The difference between being very capable in your work and managing others is as significant as it is underestimated, sometimes not even considered. But how do you manage others to the best of your ability without being overwhelmed? Are you evaluated based on the work done by others? If the answer is yes, then this workshop is designed specifically for you. The course is aimed at first-time managers in the tech industry, including: - Engineering Manager - Design Manager - Team leads Other professionals who can benefit from this workshop: - Project Managers in multifunctional teams - Product Managers with many stakeholders - Anyone who finds themselves managing other people for the first time - Anyone with previous management experience who wishes to consolidate the fundamentals in preparation for more complex leadership roles (e.g., Director, Lead of Leads, Middle Management). ## Topics - The Ladder of Inference - How people understand reality and act upon it - How to understand people to inform the decision-making process - Active listening and effective inquiring. The art of making every conversation count. - Getting to know your team deeply - How deeply do you know your team? Get to know them better to unleash their motivation - How to navigate personal and professional relationships at work - Establishing work preferences to amplify your impact and overcome the challenges of distributed, remote, hybrid, and co-located work environments. - Giving feedback - Establishing a solid culture of trust based on effective feedback. - Giving effective feedback that changes people’s behaviours. - Appreciating and evaluating other people’s actions. - Navigating difficult conversations - Understanding the nature of difficult conversations. - Prepare yourself for better outcomes in your upcoming difficult conversations. - Effective communication strategies for difficult conversations. ## Agenda ### Module 1 - Introduction - Our main goals: - Cognitive challenges, conflicts, difficult conversations. - Fundamentals of cognitive management - The meaning-making process - The ladder of inference - Exercise on understanding reality - Exercise on effective conversations. ### Module 2 - Communication for managers - Negotiating work preferences - Overcoming the challenges of distributed, remote, hybrid, and co-located work environments - How well do you know your team? ### Module 3 - Giving effective feedback - Extracting value from any type of feedback - Role-play on giving and receiving feedback. ### Module 4 - Understanding difficult conversations (salary negotiations, performance management, layoffs, and terminations) - Role-play on navigating difficult conversations - Wrapping up. ***N.B.: A few tasks and exercises must be completed between sessions, so setting aside at least one hour for each session is recommended.*** ## Learning Objectives - Managing people with confidence - Understanding your team members - Asking powerful questions - Navigating difficult conversations - Negotiating and setting expectations, as well as keeping people accountable for them - Giving and receiving feedback like a pro. ## How it works Over 60% of the time in this workshop will be dedicated to hands-on exercises. The theoretical parts (40%) establish the foundation for the hands-on detail (60%). You will immediately be able to connect your goals to the exercises and overcome some of your challenges during the course. The course will be held online and live for a maximum of 12 people: the instructor and all participants will be in a video conference and have access to various digital tools to interact with each other and work hands-on. Despite being online, the course maintains its interactive approach. For this reason, all participants are recommended to have their cameras on for the entire workshop duration for better engagement and communication. The training framework recommends active sharing between participants and guarantees full support from the trainer. ## Why should you buy a ticket? - [According to a study by Gallup](https://www.linkedin.com/pulse/bad-bosses-1-reason-why-people-quit-stefan-lindegaard/), having an incapable manager is the number one cause of resignations. - Leading a team effectively is a manager’s primary duty to retain company talent. - An insecure manager is a significant hindrance to the growth of a company. On the other hand, an effective manager amplifies the value of their team. - Adequate management skills are helpful in any subsequent step of one’s career, even when changing roles, companies, or industries. - Engineers, designers, and specialists constantly update their skills to stay up-to-date. Similarly, a manager should ensure their professional development to remain employed and employable. **Categories:** On demand **Tags:** leadership, Management, Team, team leadership --- ### [Modern Portfolio Management Workshop](https://www.avanscoperta.it/it/training/modern-portfolio-management-workshop/) **Published:** December 11, 2019 **Author:** Alessandra Granaudo **Excerpt:** Un approccio nuovo alla gestione del Portafoglio delle iniziative e dei progetti aziendali per abbandonare gli stereotipi e le pratiche tradizionali a favore di modalità adatte alla dinamica e all’incertezza delle condizioni di business attuali. **Content:** ## Per un miglior time to market e una massima efficacia Le domande a cui cerchiamo di rispondere quando si parla di gestione di un portafoglio di progetti sono sempre le stesse: cosa faccio partire? Cosa butto via? Cosa può aspettare? E quanto può aspettare? Chi ci lavorerà e quando? L’approccio tradizionale genera tipicamente problemi quali sovra-allocazione di persone e team e/o troppe iniziative affrontate in parallelo. Questo causa ritardi, aumento dei costi e incapacità di reagire rapidamente a variazioni di condizioni e richieste di mercato. Avviare iniziative ci costa denaro: solo quando le completiamo abbiamo un guadagno. Anche lasciare iniziative a metà, bloccarle o farle rallentare costa molto denaro. È fondamentale imparare a facilitare il flusso decisionale e operativo per cui sappiamo cosa fare iniziare e quando, e far sì che una volta avviate le iniziative non si fermino e arrivino alla fine *smoothly*. Il [Modern Portfolio Management](https://www.youtube.com/watch?v=kT-5vERo_-U) è l’approccio adatto a tutti i contesti in cui coesistono più iniziative e progetti da gestire. Riguarda tutto ciò che va oltre il lavoro del singolo team o di pochi team che lavorano su un singolo progetto. Abilita la connessione tra tutti i livelli coinvolti: strategico (alto), operativo (basso), e tutto quello che c’è nel mezzo. È quell’approccio che consente di visualizzare e creare una connessione tra progetti e strategia aziendale, di bilanciare Demand e Capability, applicando meccanismi decisionali contestualizzati per scegliere cosa, quando e perché. In linea coi principi Agile e Lean, il Modern Portfolio Management si propone di rovesciare la prospettiva: dall’idea di essere guidati dai progetti e dalle deadline, si passa all’idea che siano le persone, i team e i flussi a guidare le iniziative, in modo che siano i progetti ad adeguarsi, e non il contrario. Così si evita di essere pilotati da decisioni prese dall’alto, che seguono logiche estranee al modo in cui si dovrebbe lavorare realmente. Semplificando al massimo, si segue un approccio pull e non push: prendiamo cose quando abbiamo la capacità di farlo, e non ragioniamo a “infinite capacity” o capacity al 100%. In questo workshop, [Gaetano Mazzanti](https://www.avanscoperta.it/it/trainer/gaetano-mazzanti) ti guiderà nella comprensione e adozione di principi e pratiche utili ad affrontare i tipici problemi da gestione tradizionale del portfolio a favore di una gestione volta al raggiungimento del miglior *time to market* e della massima efficacia e adattabilità. ## Target Audience Il Modern Portfolio Management Workshop è un corso che si rivolge in particolare a: - CIO - CTO - PMO - Portfolio & Project Managers - a chi si occupa di Organizational Development e Change Management. E a chiunque si trova a lavorare con gli aspetti strategici, organizzativi e operativi della gestione del Portafoglio. Per i Coach e Consulenti che vogliono partecipare al corso, è richiesta la partecipazione di rappresentanti del target indicato scelti tra i propri clienti, in modo da potersi confrontare su situazioni reali. ## Agenda ### Sessione 1 - Check-in - Presentations - Traditional Portfolio Management - Flight Level Model - Participant Case Studies. ### Sessione 2 - Check-in + Options Pool - Modern Portfolio - Commitment Types - Participant Case Studies - Triage & Cost of Delay - Participant Case Studies. ### Sessione 3 - Check-in + Options Pool - Risk Profiles & Demand Shaping - Scheduling - Dependencies - Participant Case Studies. ### Sessione 4 - Check-in + Options Pool - Cadences - Participant Case Studies - OKRs - Team Topologies - Parking Lot + Q&A. ## Argomenti - Problemi tipici dell’approccio tradizionale al Portfolio Management - Flight Levels: Strategia, Coordinamento, Operatività - Upstream e Downstream Portfolio - Triage e Costo del Delay - Selezione vs Prioritizzazione; Profili di Rischio - Gestione delle Dipendenze - Forecasting - Metriche e OKR. ## Cosa impareremo - Come applicare il *flight level model* per connettere strategia e operatività - Come visualizzare iniziative in corso e potenziali, connessioni, dipendenze, criticità ai vari livelli - Come scegliere quali iniziative portare avanti, quando e perché - Come monitorare e ottimizzare attività, modello e processo. ## **Perché iscriversi a questo corso** Questo corso fa per te se vuoi: - ottenere la giusta conoscenza dei principi alla base di una gestione moderna del Portafoglio - sperimentare pratiche di gestione del Portafoglio da adattare poi al contesto specifico della tua azienda - avere maggiore consapevolezza della necessità di un approccio end-to-end, allineato alla strategia aziendale. ## Come si svolge I partecipanti saranno divisi in gruppi e lavoreranno su casi reali (casi del proprio contesto lavorativo o su un caso fittizio), su cui applicare i concetti affrontati. Applicheremo alcuni principi del metodo [Training from the back of the room](https://www.avanscoperta.it/it/training/training-from-the-back-of-the-room-workshop-italiano/), con prevalenza di attività su lectures. Alle poche definizioni teoriche si affiancano numerosi esercizi ed attività pratiche. ### F.A.Q. *Sono previsti requisiti minimi per poter partecipare a questo corso?* No, ma è preferibile una conoscenza delle problematiche relative alla gestione e coordinamento di iniziative e progetti multipli. Consulta la sezione “Approfondimenti”. **Categories:** A calendario, A catalogo **Tags:** Agile, Business Strategy, Kanban, Portfolio Management --- ### [Modern Portfolio Management](https://www.avanscoperta.it/en/training/modern-portfolio-management/) **Published:** August 25, 2020 **Author:** Enrico Meloni **Excerpt:** Learn a new approach to the traditional way a Portfolio of projects is commonly managed. Get rid of stereotypes and traditional practices in favor of methods suitable for the dynamics and uncertainty of current business conditions. **Content:** The questions we try to answer when talking about managing a portfolio of projects are always the same: what do I start with? What do I throw away? What can he wait for? And how long can he wait? Who will work on it and when? The traditional approach typically generates problems such as over-allocation of people and teams and/or too many initiatives tackled in parallel. This causes delays, increased costs and an inability to react quickly to changes in market conditions and demands. Starting initiatives costs us money: only when we complete them do we make a profit. Leaving initiatives half-finished, blocking them or slowing them down also costs a lot of money. In the traditional approach, you typically decide what needs to be done and allocate people, who are sucked into what they are doing – as if it were an alien spaceship – thrown onto new projects, and sent back when the project is finished. Only to be sucked into yet another spaceship, another project, and so on… This is how companies normally work. Modern Portfolio Management is the right approach for all contexts in which multiple initiatives and projects to manage coexist. It’s about everything beyond the work of a single team or a few teams working on a single project. It enables the connection between all levels involved: strategic (high), operational (low), and everything in between. It is that approach that allows you to visualize and create a connection between projects and company strategy, to balance Demand and Capability, applying contextualized decision-making mechanisms to choose what, when and why. In line with the Agile and Lean principles, Modern Portfolio Management aims to overturn this perspective: from the idea of ​​being guided by projects and deadlines, we move on to the idea that it is people, teams and flows that guide initiatives, so that the projects adapt, and not the other way around. This way you avoid being guided by decisions taken from above, which follow logics that are foreign to the way you should actually work. To put it simply, we follow a pull and not a push approach: we take things when we have the ability to do so, and we don’t think about “infinite capacity” or 100% capacity. In this workshop, Gaetano Mazzanti will guide you in understanding and adopting principles and practices useful for addressing the typical problems of traditional portfolio management in favor of management aimed at achieving the best time to market and maximum effectiveness and adaptability. ## Target Audience The Modern Portfolio Management Workshop is aimed: - CIOs - CTOs - PMOs - Portfolio & Project Managers - all those involved in Organizational Development and Change Management And anyone working with portfolio management’s strategic, organizational and operational aspects. Are you a coach or a consultant, and do you want to join the workshop? Please involve representatives of your clients who fill the roles mentioned above – this will help us focus on real-life cases. ## Topics - Traditional Portfolio Management: problems and challenges - Flight Levels: Strategy, Coordination, Operativity - Upstream and Downstream Portfolio - Triage and Cost of Delay - Selecting vs Prioritizing; Risk Profiles - Managing Dependencies - Forecasting - Metrics and OKR. ## Agenda ### Session 1 - Check-in - Presentations - Traditional Portfolio Management - Flight Level Model - Participant Case Studies. ### Session 2 - Check-in + Options Pool - Modern Portfolio - Commitment Types - Participant Case Studies - Triage & Cost of Delay - Participant Case Studies. ### Session 3 - Check-in + Options Pool - Risk Profiles & Demand Shaping - Scheduling - Dependencies - Participant Case Studies. ### Session 4 - Check-in + Options Pool - Cadences - Participant Case Studies - OKRs - Team Topologies - Parking Lot + Q&A. ## What will you learn - How to apply the flight level model to connect strategy and operativity - How to visualize ongoing and potential activities, connections, dependencies, and ongoing issues at all levels - How to select which initiatives should progress, when and why - How to monitor and optimize activity, model and process. ## Why should you attend This workshop is for you if you want to: - get it right when it comes to the principles behind Modern Portfolio Management - experiment with practices of portfolio management that you can adapt in your own context - gain more awareness about the necessity of an end-to-end approach that is aligned with the company strategy. ## How it works Participants will be divided into groups and will work on real cases (cases from their own work context or on a fictitious case), on which to apply the concepts covered. The course will take place online and live for a maximum of 14 people: the teacher and all participants will be in video conference and will have a series of digital tools available to interact with each other and work hands-on. Despite the online mode, the course maintains its interactive and participatory approach. **Categories:** On demand, Scheduled **Tags:** Agile, Business Strategy, Kanban, Portfolio Management --- ### [Product Discovery Workshop with Lean Value Tree](https://www.avanscoperta.it/en/training/lean-value-tree-workshop/) **Published:** June 15, 2018 **Author:** Alessandra Granaudo **Excerpt:** Learn how to generate an effective Product Strategy and how to get from ideas to a value-driven product roadmap using the Lean Value Tree. **Content:** > Have you seen Matteo Cavucci’s latest workshop? [Dynamic Product Roadmaps for Digital Products Workshop (in Italian)](https://www.avanscoperta.it/it/training/dynamic-product-roadmaps-for-digital-products-workshop/?utm_source=sito&utm_medium=post&utm_campaign=roadmaps). When a project starts, or when the time comes to re-think an existing one, there are endless possibilities. Still, in many development teams, the exploration of problems and solutions is quickly archived as “done” as the most obvious option is given priority, or as everyone tends to agree on the boss’ opinion. During the Product Discovery with the Lean Value Tree Workshop with Matteo Cavucci we’ll discover how you can organise the Product Discovery activities in an agile and pragmatic way by introducing enabling constraints to promote alignment and clarity. All this without limitations to the team’s autonomy and distributed decision making, and without closing the door to innovation and continuous improvement. Thanks to the Lean Value Tree instruments and a lean inception approach, we’ll explore how to gain consensus on what MVPs have to be created and how to kick-off an agile project… the right way. ## Target Audience - Managers who are in charge of the creation of a new product or of the evolution of an existing one - Project managers who need to create clarity and transparency for their teams - UX professionals who are trapped in frustrating and meaningless chains of tasks - Software developers who work on assembly lines - Digital specialists who are not involved in strategic decision-making - Creative agencies looking for an effective way to define their clients’ objectives. ## Program During the workshop we’ll explore a different approach when it comes to kicking off the production of a digital product, putting value for the client at the centre of the process, with the aim of creating interactions and services which are useful and appreciated by the users. We’ll be deep-diving in the application of the agile approach to planning, and we’ll be getting our hands dirty with the tools that were created and used in challenging environments (from startups to big-scale enterprises). We’ll focus on the principles behind the Lean approach to Product Discovery and Project Inception, working all together with other participants. Thanks to the Lean Value Tree model, we’ll be able to create a Product Strategy with clear and defined objectives that are able to adapt and respond to change. ## Agenda ### Discovery (session 1 – 2) - How to make different points of view and knowledge emerge in a collaborative, remote-first, environment - How to explore the product idea in the service ecosystem by identifying users, interactions, and touchpoints - How to understand the context and the frame the purpose to identify ideas and opportunities - How to evaluate a project at its initial stages in order to understand driving and restraining forces. ### Ideation (session 3 – 4) - How to create a Leading Vision (to be followed all along) for the product - How to identify the goals starting from the opportunities identified - How to define the strategic bets which represent the foundation of the project - How to generate experiments that will guide the actions of the team and will allow easier reviews and feedback sessions. ## What you will learn - How to organise ideas for a new product by aligning team and stakeholders on what to create and where to start - How to have a Product Discovery able to maximise shared knowledge in the shortest possible time - How to balance the need for a defined plan with the knowledge that will emerge during the execution of the project - How to use models and structures as a mean to integrate feedback and support continuous improvement - How to create a clear Product Strategy and roadmap which has value at its centre - How to do it effectively in a remote setup. ## Why you should buy a ticket It is extremely demotivating to work on a product nobody really needs. Not only this is a waste of time and energy… it also makes the application of good software development practices and the use of advanced technologies useless. It’s time to learn how to generate an effective Product Strategy through a good session of Discovery. ## Online Workshop: How it works The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! This workshop is also designed to enable participants to use and practice the learnings in their working environment from day 1. We’ll be working on a real-case study by “getting our hands dirty”. We’ll be using the instruments and concepts which underlay a real Product Strategy examining all the process: from discovery to convergence. Warning: *This workshop is not suitable for those who wanna sit down and listen!* ;-) **Tags:** Business Model Generation, design thinking, Lean Value Tree, Product Discovery, Product Roadmap --- ### [Product Discovery Workshop con il Lean Value Tree](https://www.avanscoperta.it/it/training/product-discovery-workshop-con-il-lean-value-tree/) **Published:** March 5, 2019 **Author:** Alessandra Granaudo **Excerpt:** Impara a trasformare intuizioni e idee in prodotti digitali apprezzati dagli utenti utilizzando il Lean Value Tree e una Strategia di Product Discovery. **Content:** > Hai visto il nuovo workshop di Matteo Cavucci? [Dynamic Product Roadmaps for Digital Products Workshop (in italiano)](https://www.avanscoperta.it/it/training/dynamic-product-roadmaps-for-digital-products-workshop/?utm_source=sito&utm_medium=post&utm_campaign=roadmaps). All’inizio di un progetto, o quando è tempo di ripensare un prodotto esistente, le possibilità possono essere davvero infinite. Eppure in molti team di sviluppo l’esplorazione di problemi e soluzioni viene sacrificata in fretta per convergere sull’ipotesi più ovvia, o sul parere e le opinioni del boss. Durante il workshop *Product Discovery con il Lean Value Tree* scopriremo come si possono organizzare le attività di Product Discovery in maniera agile e pragmatica, creando allineamento e chiarezza sugli obiettivi da conseguire senza limitare l’autonomia del team e chiudere la porta all’innovazione e al miglioramento continuo. Con gli strumenti derivati da Lean Value Tree e l’approccio lean inception, scopriremo come creare consenso su quali MVP creare e come far partire un progetto agile col piede giusto. ## A chi si rivolge questo corso - Managers incaricati di creare un nuovo prodotto o far evolvere un prodotto esistente. - Project managers che hanno bisogno di creare chiarezza e trasparenza per i team. - Professionisti della UX intrappolati in frustranti catene di task senza senso. - Sviluppatori che lavorano in catena di montaggio. - Specialisti del digitale tagliati fuori dalle decisioni strategiche. - Agenzie creative che cercano una maniera efficace per definire gli obiettivi dei loro committenti. ## Programma Durante il workshop avremo la possibilità di sperimentare un approccio diverso nella fase iniziale di un prodotto digitale, **mettendo al centro il valore per l’utente**, al fine di creare interazioni e servizi realmente utili e apprezzati. Avremo modo di comprendere a fondo l’approccio agile applicato al planning e di sporcarci le mani con “ferri del mestiere” creati e affinati in contesti impegnativi, che vanno dalla startup ambiziosa all’enterprise che opera su scala globale. Verranno approfonditi i principi dietro l’approccio Lean al Product Discovery e Project Inception, lavorando in un contesto collaborativo con gli altri partecipanti. Attraverso il modello del Lean Value Tree saremo capaci di creare una Product Strategy con obiettivi chiari e definiti, capace di adattarsi e rispondere al cambiamento. ## Agenda ### Discovery (sessione 1 -2) - Come far emergere differenti punti di vista e conoscenze in un ambiente collaborativo. - Esplorare l’idea del prodotto nell’ecosistema del servizio, individuando utenti, interazioni e punti di contatto. - Individuare idee e opportunità nel giusto contesto. - Condurre una valutazione iniziale utile a condividere osservazioni e intuizioni. ### Ideation (sessione 3 – 4) - Creare una visione (Leading Vision) per il prodotto che faccia da stella polare per il progetto. - Identificare gli obiettivi (Goals) a partire dalle opportunità individuate. - Definire quali scommesse strategiche (Bets) su cui si fonda il progetto. - Generare esperimenti ed iniziative che guidino il lavoro del team e facilitino le revisioni e i feedback. ## Cosa impareremo Alla fine delle 4 sessioni di corso saremo in grado di: - organizzare idee per un nuovo prodotto allineando team e stakeholders su cosa creare e da dove partire; - condurre una Product Discovery che massimizzi la condivisione della conoscenza in breve tempo; - bilanciare il bisogno di un piano definito con la conoscenza che emergerà durante l’esecuzione; - usare modelli e strutture per integrare feedback e supportare il miglioramento continuo; - creare una Product Strategy chiara e concreta incentrata sul valore. ## Come si svolge Il corso si svolgerà online e in diretta: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare *hands-on*. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è *richiesto* che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. L’esecuzione del workshop è pensata e strutturata per rendere i partecipanti capaci di usare nel loro ambiente di lavoro ciò che apprenderanno. Verrà proposto, quindi, un caso d’uso reale su cui lavoreremo sporcandoci le mani, utilizzando i concetti e gli strumenti alla base di una vera Product Strategy, attraversando tutto il processo dalla scoperta alla convergenza. *Astenersi: “voglio stare solo ascoltare”. :-D* ## Perché iscriversi Lavorare su un prodotto di cui non si ha bisogno è davvero molto demotivante. Oltre a essere uno spreco di denaro ed energie, rende inutile ogni applicazione di buone pratiche di sviluppo o tecnologie avanzate. È tempo di imparare a generare una Product Strategy efficace attraverso una buona fase di Discovery. **Tags:** Lean Value Tree, Product Discovery, Product Strategy --- ### [Domain-Driven Front-end Workshop](https://www.avanscoperta.it/it/training/domain-driven-front-end-workshop/) **Published:** August 30, 2021 **Author:** Enrico Meloni **Excerpt:** Discover how Domain-Driven Design principles can add value to an extensive front-end application that can scale with ease. With Francesco Strazzullo. **Content:** Domain-Driven Design has changed the way developers build and maintain applications. And while Front-end applications are becoming more and more complex and essential in the software ecosystem, they are often overlooked when discussing domain modeling. This workshop aims to change this behavior. You will be able to adapt all the most crucial Domain-Driven Design techniques to real-world front-end applications and seamlessly integrate your models to the most front-end frameworks out there. ## Target audience This workshop is for front-end developers with an interest in Domain-Driven Design. Attendees do not need to know any specific framework because most of the exercises will be frameworkless-based. Regardless of your experience in either JavaScript or TypeScript, this workshop can help you create maintainable front-end applications focused on business behaviors. ## Topics - The importance of Domain-Driven Design for front-end, - What parts of Domain-Driven Design are useful for front-end developers - Services, Repositories, Aggregates. How must they work in a front-end application? ## Program In this course, you will learn how Domain-Driven Design principles can bring value to an extensive front-end application and how to put the essential principles into practice with real-world exercise. You will learn how to create complex domain models that work for front-end applications and how to integrate them with the most critical frameworks out there. You will learn to create an Event-Driven architecture that lets your application scale with ease, maintaining a very low degree of coupling. Lastly, we will cover Micro-Frontends and how they can change your development pipeline. ## Agenda ### Session 1 - Why DDD Matters for front-enders? - Our first JavaScript model. ### Session 2 - Services, Repositories, - Aggregates. ### Session 3 - Connecting models to frameworks, - Event-Driven Architectures. ### Session 4 - Micro-Frontends. ## Learning Objectives - Understand how Domain-Driven Design can bring value to front-end applications, - Learn to create Frameworkless Domain models that integrate with any front-end frameworks, - Leverage Event-Driven architectures to create front-end applications that scale, - The basic principle and advantages of Micro-Frontends. ## Expect to get your hands dirty – How does it work The majority of the workshop will be hands-on, creating a complete front-end application. In some of the exercises, you will work in a group, while in others, all the attendees will work together in an engaging Mob Programming session with the trainer. The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! ## Why should you buy a ticket? Domain-Driven Design is one of the most effective ways to create software in line with your organisation’s business rules. If you’re a front-end developer, it’s time to get your hands dirty and start building your models. **Tags:** Domain-Driven Design, Frameworkless, Front-end, Frontend Development, Javascript --- ### [Domain-Driven Front-end Remote Workshop](https://www.avanscoperta.it/en/training/domain-driven-front-end-remote-workshop/) **Published:** August 30, 2021 **Author:** Enrico Meloni **Excerpt:** Discover how Domain-Driven Design principles can add value to an extensive front-end application that can scale with ease, with Francesco Strazzullo. **Content:** Domain-Driven Design has changed the way developers build and maintain applications. And while Front-end applications are becoming more and more complex and essential in the software ecosystem, they are often overlooked when discussing domain modeling. This workshop aims to change this behavior. You will be able to adapt all the most crucial Domain-Driven Design techniques to real-world front-end applications and seamlessly integrate your models to the most front-end frameworks out there. ## Target audience This workshop is for front-end developers with an interest in Domain-Driven Design. Attendees do not need to know any specific framework because most of the exercises will be frameworkless-based. Regardless of your experience in either JavaScript or TypeScript, this workshop can help you create maintainable front-end applications focused on business behaviors. ## Topics - The importance of Domain-Driven Design for front-end, - What parts of Domain-Driven Design are useful for front-end developers - Services, Repositories, Aggregates. How must they work in a front-end application? ## Program In this course, you will learn how Domain-Driven Design principles can bring value to an extensive front-end application and how to put the essential principles into practice with real-world exercise. You will learn how to create complex domain models that work for front-end applications and how to integrate them with the most critical frameworks out there. You will learn to create an Event-Driven architecture that lets your application scale with ease, maintaining a very low degree of coupling. Lastly, we will cover Micro-Frontends and how they can change your development pipeline. ## Agenda ### Session 1 - Why DDD Matters for front-enders? - Our first JavaScript model. ### Session 2 - Services, Repositories, - Aggregates. ### Session 3 - Connecting models to frameworks, - Event-Driven Architectures. ### Session 4 - Micro-Frontends. ## Learning Objectives - Understand how Domain-Driven Design can bring value to front-end applications, - Learn to create Frameworkless Domain models that integrate with any front-end frameworks, - Leverage Event-Driven architectures to create front-end applications that scale, - The basic principle and advantages of Micro-Frontends. ## Expect to get your hands dirty – How does it work The majority of the workshop will be hands-on, creating a complete front-end application. In some of the exercises, you will work in a group, while in others, all the attendees will work together in an engaging Mob Programming session with the trainer. The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! ## Why should you buy a ticket? Domain-Driven Design is one of the most effective ways to create software in line with your organisation’s business rules. If you’re a front-end developer, it’s time to get your hands dirty and start building your models. **Tags:** Domain-Driven Design, Front-end --- ### [Strategic Domain-Driven Design Workshop](https://www.avanscoperta.it/en/training/strategic-domain-driven-design-workshop/) **Published:** May 27, 2014 **Author:** Alberto Brandolini **Content:** > **We can deliver this workshop for your team. Write us an email at info@avanscoperta.it for more info.** > Check out the next public workshops by Alberto Brandolini, delivered online and in live-streaming: [EventStorming Remote Modelling workshop](https://www.avanscoperta.it/en/training/eventstorming-remote-modelling/) (4 half-day sessions) and [Domain-driven Design Executive View Training](https://www.avanscoperta.it/en/training/domain-driven-design-executive-view-training/) (one half-day session). ##### Improve learning and everything else will follow Software development is a learning process, working code is a side effect. If that’s true… **how can we maximize learning?** **Domain-Driven Design** is an approach targeting complex domains, so it needs different tools, different mindset and a see-the-whole approach which is missing in most software development approaches. During the class we’ll fill the gap between the business strategy and the architecture portfolio management and lay down a groundbreaking strategy for **quick implementation in very complex domains**. #### You’ll learn: - How to discover business complexity at warp speed with **EventStorming** - How to discover context-dependent hotspot and viability constraints with **Context Mapping** - **How to model** **complex business process** to streamline your organizations flow - **How to implement your models** with best-of-breed available software architectures *Available also as a private onsite training.* --- ### [Strategic Domain-Driven Design](https://www.avanscoperta.it/it/training/strategic-domain-driven-design/) **Published:** November 14, 2014 **Author:** Alberto Brandolini **Excerpt:** Tre giorni intensi ed interattivi per scoprire nuovi modi di collaborare con gli stakeholders, di produrre software e di progettare architetture funzionali performanti e robuste. **Content:** Un buon **modello software** è quello che permette di accogliere i nuovi requisiti senza problemi, o di mettere il team di sviluppo nella condizione di proporre soluzioni che migliorino l’efficienza e la competitività dell’azienda. Questo è l’obiettivo di **Domain-Driven Design**: non la pulizia del software o l’eleganza fine a sé stessa, ma una profonda comprensione del dominio business che si traduce in un’architettura software pragmatica, efficiente e flessibile, dove è più necessario. ## A chi si rivolge - Software Architect - Developer - Analyst - PM ## Programma e Agenda ### 1° Giorno - **Domain Driven Design**: lo stato dell’arte. Un approccio diverso allo sviluppo del software: un nuovo mindset fa del DDD un match perfetto per progetti complessi. - **Strategic DDD**: il quadro generale. Dove quando e perché affrontare un progetto complesso con Domain-Driven Design. Core Domain, Supporting e Generic Subdomains. Strategic Distillation. - **Core Domain Strategies**: gestione della collaborazione, DDD come approccio al processo di sviluppo, ubiquitous language e Whirlpool model. - **Sviluppo software** come processo di apprendimento: cambio di prospettiva e conseguenze nella gestione dei progetti. - **Esplorazione del dominio** di riferimento con EventStorming. Stabiliamo le basi per la collaborazione creativa con gli esperti di dominio. ### 2° Giorno - Discovery del **modello comportamentale del sistema**. - **Conceptual CQRS**: come fare le domande giuste e capire qual è l’architettura più adatta al problema che stiamo esplorando. - Emersione degli aggregati ed evoluzione delle **strategie implementative** dal 2004 ad oggi. Quali le strategie migliori con il nostro stack tecnologico? - Quali architetture per **DDD**? Diversi approcci all’implementazione. DDD by-the-book, Hexagonal (ports and adapters), Event Sourcing e CQRS. Relazione con i principali paradigmi architetturali comunemente utilizzati. ### 3° Giorno - Gestione dei **Bounded Context**: come fare convivere e dialogare tra loro molteplici modelli, senza scendere a compromessi. - **Brownfield Context Mapping**: lettura dello scenario ed individuazione delle migliori strategie implementative. Context Mapping Patterns. Lettura delle organizzazioni. - **Greenfield Context Mapping**: strategie per modelli di complessità crescente. I tre archetipi e corrispondenti pattern implementativi. - **Event Driven Modelling**: realizzazione di un modello in modalità outside-in. Pattern per la modellazione e l’implementazione di un sistema basato su Domain Events. - Aggregati: individuazione dei confini e strategie implementative. **Polyglot persistence**. - **Q&A**: topic marketplace sugli argomenti più caldi delle giornate. ## Cosa impareremo Al termine del corso con Alberto Brandolini, i/le partecipanti saranno in grado di valutare se, come, **quando** e **dove applicare Domain-Driven Design** nei propri scenari di sviluppo, e di strutturare correttamente il proprio dominio, utilizzando le modalità di implementazione più consone al proprio problema. **Tags:** CQRS, DDD, Domain-Driven Design, EventStorming, Microservices --- ### [Decision-making for Software Development Teams Workshop](https://www.avanscoperta.it/en/training/decision-making-for-software-development-teams/) **Published:** April 9, 2021 **Author:** Enrico Meloni **Excerpt:** A workshop to learn how to make critical decisions collaboratively and choose your next tech stack mindfully. **Content:** There’s a fundamental skill all members of a software development team should master: the ability to make conscious technical decisions. We’re facing technical and methodological decisions every day, and we often make these decisions without even realising it, decisions such as “what test do I write for this functionality?” However, making unmindful decisions on tech stacks and architectural choices can significantly damage the project and the team’s overall wellbeing. Join Francesco Strazzullo for his workshop and learn some fundamental decision-making techniques. In this workshop, you’ll understand which variables you should take into account to make mindful and collaborative decisions, as well as learning how to choose your next tech stack. ## **Target Audience** - CTO who want to improve their decision process - Software architects who want to take business objectives into account when it comes to software design - Software developers who want to learn decisional processes that can help them in their daily work - Software development teams that find it challenging to navigate the vast ocean of tech stacks available in the market. ## **Program** We’ll understand how to define our project’s non-functional requirements and the project’s context during the workshop. We’ll also understand how such requirements should impact our tech choices, and we’ll do so by doing some exercises that you can replicate in your daily work every time you need to decide on a tech stack or one of its parts. ## **Topics** - The “right” tech stack - The decision landscape - Non-functional requirements - Decisional tools. ## **Learning objectives** At the end of the workshop, you’ll be able to: - define the non-functional requirements needed to make technical decisions - know what decisional tools you need to use and when - understand how to find the often-hidden trade-offs of each tech decision - collaboratively make critical decisions. ## **Why should you buy a ticket?** You can’t become a proficient software developer with your hard skills only. Making decisions is now a fundamental skill you should master. ## **Online workshop – How does it work** The workshop will happen online and in live streaming: the trainer and all other participants (max 12) will be in a video conference. You’ll be interacting and working together in real-time, thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we require that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and the workshop. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Tags:** Decision Making, frontend, Software Develepment --- ### [Decision-making for Software Development Teams](https://www.avanscoperta.it/it/training/decision-making-for-software-development-teams-workshop/) **Published:** April 1, 2020 **Author:** Alessandra Granaudo **Excerpt:** Un workshop per imparare a prendere decisioni critiche in maniera collaborativa e scegliere il tuo prossimo stack tecnologico in maniera consapevole. **Content:** C’è una skill che è diventata fondamentale per tutte le figure all’interno di un team di sviluppo software: la capacità di prendere decisioni tecnologiche in maniera consapevole. Ogni giorno ci troviamo di fronte a scelte tecnologiche e metodologiche che spesso facciamo in maniera del tutto inconsapevole, come per esempio “*Quale test scrivo per questa funzionalità*?”. Ma prendere decisioni in maniera inconsapevole su stack tecnologici e scelte architetturali può rivelarsi distruttivo per il progetto e lo stato di salute del team. In questo workshop con Francesco Strazzullo, applicheremo alcune tecniche di decision-making che ti permetteranno di capire le variabili da tenere in considerazione per prendere decisioni in maniera consapevole e collaborativa e come scegliere il tuo prossimo stack tecnologico. ## **Target Audience** - CTO che vogliono migliorare il loro processo decisionale - Software Architect che vogliono tenere conto degli obiettivi di business nei loro design - Sviluppatori che vogliono dei processi decisionali che li aiutino nel day-by-day - Team di sviluppo che fanno fatica a muoversi nel mare di stack tecnologici disponibili sul mercato. ## **Programma** Durante il workshop capiremo come definire i requisiti non funzionali di un progetto e a definire il contesto in cui il nostro progetto è immerso. Capiremo come quei requisiti dovrebbero o non dovrebbero incidere sulle nostre scelte tecnologiche, attraverso una serie di esercizi utilizzabili anche nel day-by-day ogni volta che ci ritroviamo a dover decidere uno stack tecnologico o parte di esso. ## **Argomenti** - Il “Giusto” stack tecnologico - Il Decisions Landscape - Non-functional requirements - Strumenti decisionali. ## **Cosa impareremo** Alla fine del corso sarai in grado di: - definire quali sono i *non-functional requirements* utili per prendere decisioni tecnologiche - conoscere quali strumenti decisionali usare e in quale occasione - capire come trovare i *trade-off*, spesso nascosti, delle scelte tecnologiche - prendere decisioni critiche in maniera collaborativa. ## **Perché partecipare** Non si può diventare davvero competenti nello Sviluppo Software solo grazie alle *hard-skills*, il saper prendere decisioni è diventato fondamentale*.* Per questo ti consigliamo di partecipare a questo workshop. ## **Come si svolge** Il corso si svolgerà online e in diretta: il docente e tutti i partecipanti (massimo 12) saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso ha un approccio interattivo e partecipativo. Per questo motivo, è *richiesto* che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. Applicheremo alcuni principi del metodo Training from the back of the room. La condivisione tra i partecipanti ed il supporto del trainer completano il quadro formativo. **Tags:** Decision Making, Software Development --- ### [Test-Driven Development](https://www.avanscoperta.it/it/training/test-driven-development-2014-2/) **Published:** July 15, 2013 **Author:** administrator **Excerpt:** Non sarebbe bello riuscire a scrivere codice pulito, che funziona, codice che raggiunge i nostri obiettivi in poco tempo? E ottenere un design pulito, dove si possano aggiungere nuove funzionalità senza paura? **Content:** Il problema Il software dovrebbe essere soffice, malleabile, facile da modellare sotto le nostre dita. Eppure spesso non è così: lavoriamo con codice fragile, pieno di difetti; codice brutto, difficile da capire e da modificare. Molti sviluppatori vivono nella paura che il codice si rompa, e andare in produzione è un dramma. Non sarebbe bello riuscire a scrivere codice pulito, che funziona, codice che raggiunge i nostri obiettivi in poco tempo? E ottenere un design pulito, dove si possano aggiungere nuove funzionalità senza paura? #### Una soluzione: il TDD Il Test-Driven Development è una delle pratiche più importanti dei metodi agili. Ti permette di scrivere codice flessibile e malleabile, guidato dai test. Il codice sviluppato in TDD ha meno difetti, è più manutenibile e disaccoppiato. Inoltre, con il TDD otterrai una suite di test automatici che rendono la manutenzione più sicura e consentono di mantenere pulito il design. La ricetta del TDD è semplice, ma non è facile da mettere in pratica. Per imparare è importante praticare il TDD sotto la guida di un esperto. In questo corso imparerai, mani sulla tastiera, come scrivere test efficaci, che esprimono l’intento. Imparerai come scrivere il primo test, e quelli successivi; cioè come risolvere un problema di programmazione in piccoli passi sicuri. Imparerai come sfruttare i test per migliorare il design. Risolverai eventuali dubbi o incomprensioni su come funziona veramente il TDD, confrontandoti con il docente e con gli altri partecipanti. Otterrai una base sicura per proseguire da solo l’apprendimento del Test-Driven Development. #### Info ##### Agenda Primo Giorno: sviluppo di un’applicazione in Randori Secondo Giorno: approfondimento di argomenti in base al feedback dei partecipanti ##### Moduli - Sviluppo di un’applicazione TDD in Randori, partendo dal dominio - Sviluppo di un’applicazione TDD in Randori, aggiungendo la interfaccia utente - Testare il codice legacy - Refactoring di codice legacy - Sviluppo di un’applicazione web (o desktop) in TDD a coppie - Scrivere test d’accettazione efficaci - Domande e risposte ##### Argomenti La tecnica del TDD TDD e analisi User story e scenari Come il TDD si inserisce nello sviluppo di un’applicazione completa, dall’interfaccia utente alle fonti di dati Come introdurre il TDD in una base di codice esistente Il TDD come strumento di progettazione Test di accettazione; test di integrazione; test end-to-end; test unitari Il refactoring Uso appropriato dei mock object Sostenibilità del TDD nel lungo periodo Programmazione e design a oggetti efficace ##### F.A.Q. *In che linguaggio di programmazione si terrà il corso?* Parliamone! *Come devo prepararmi per il corso? Devo leggere qualcosa?* Puoi leggere TDD By Example, soprattutto la prima parte, eseguendo l’esercizio sul codice durante la lettura. Alcuni giorni prima invieremo informazioni su come preparsi. *Quanto saranno applicabili i concetti illustrati al corso al codice legacy della mia azienda?* Il codice legacy richiede alcune tecniche specifiche, che non sono il focus principale di questo corso. Daremo comunque alcune indicazioni su come affrontare questo tipo di problemi. *Io sviluppo in altri linguaggi di programmazione: posso applicare quanto visto al mio caso?* Sì; il corso si focalizza sui principi e sul metodo; si possono facilmente rapportare agli altri linguaggi. **Tags:** Agile Software Development, TDD, Test Driven Development --- ### [Training from the BACK of the Room - Virtual Edition (TBR-VE)](https://www.avanscoperta.it/en/training/training-from-the-back-of-the-room-workshop/) **Published:** March 8, 2019 **Author:** Enrico Meloni **Excerpt:** Training for trainers. Energise your training programs and engage your learners with this hands-on remote workshop: your training courses will never be the same. **Content:** > If you’re looking for the Italian **in-person** version of the workshop, called TBR Practitioner Class, you can find it here: [Training from the BACK of the Room! Practitioner Class, with Marco Dussin](https://www.avanscoperta.it/it/training/training-from-the-back-of-the-room-workshop-italiano/). In this practical and interactive **virtual** class, you’ll explore the current “cognitive neuroscience” that explains how ALL humans learn. You’ll discover 6 specific brain-science principles and a 4-step instructional design model that you can use in your own virtual teaching and training. And you’ll leave with dozens of new ideas, activities, resources, and a new “Gold Standard” for virtual instruction and learning. ## Target Audience The “Training from the BACK of the room” workshop is suitable for **teachers**, **facilitators** and **coaches**, as well as **scrum masters** and **project managers**. People with some experience of delivering training will get the most out of this course. ## Program ### Module 1 - Introduction to moving from ‘in person’ to ‘virtual’ learning format, online facilitation and tools - Connection activities (to other learners, to content and to learning outcomes) - Setting up for success and Trainers Toolkit - Psychological safety and learning agreements. ### Module 2 - How humans learn - The Six Trumps – six learning principles based on brain science - Application of the “trainer’s toolkit” and brain science principles. ### Module 3 - Introduction to Accelerated Learning and the 4Cs – design and delivery model - General design and delivery reminders - Creating a 4Cs map – first draft. ### Module 4 - Deeper dive into one of Connections, Concepts, Concrete Practice or Conclusion step - Writing successful learning outcomes - Practical task – design your own training session (application of the 4Cs map and toolbox strategies to specific training topics) ### Module 5 - Teachbacks – learners each present their 4Cs map back to the group - Glows and Grows – all learners receive feedback on their 4Cs map presentation - Conclusion activities. ## What you will learn After your active participation in the TBR-VE Class with Teri Frith, you will be able to: - Apply 6 brain-science principles based on current research every time you deliver virtual training, regardless of the complexity of the topic, size of group, or level of learners. - Use the 4Cs Map as a training design and delivery model for brain-based virtual instruction. - Create virtual training sessions that combine your own topic and materials with the brain-based concepts and strategies from the class and demonstrate how to leverage the strengths of virtual learning environments. - Explain to colleagues your understanding of cognitive science as it applies to learning, training and memory in both virtual and face-to-face environments. - Choose from dozens of virtual brain-based learning activities for all topics. - Become an active member of the TBR-VE Class Group and share your own expertise about brain-based virtual instruction and learning. ## Requirements You will need to commit and attend all five 2.5 hour modules. In order to attend the TBR-VE Class, you will **need to**: - **Do** the “Warm-Ups” and “Follow-Ups”, i.e. pre/post work for each module (between 90 and 120 minutes of homework before the start and between each module – reading, viewing, writing, responding) - **Become** an active member of the TBR-VE Class Group on Slack (free membership). Post your “homework” assignments there and respond to what others have posted - **Complete** our feedback survey to help us improve the TBR VE class for the future. Also, in order to join us you’ll **need to have**: - Live-streaming camera capability and adequate sound system – so that we can all see and hear you as part of the class - A copy of the book “Training for the BACK of the Room” by Sharon Bowman in either paperback or digital format (provided by Avanscoperta) - A computer (desktop or laptop; not just a tablet or cell phone) - A printed copy of the participant workbook (provided as a pdf) – so that you can write and draw on it, and flag pages with sticky notes etc - Miscellaneous analogic materials: sticky notes, blank paper, markers, pen/pencil. - A basic familiarity with the software platforms that will be used to deliver the class: Zoom, Mural, Slack. If these apps are new to you, please consider viewing one of the free introductory tutorials on YouTube: [Mural](https://youtu.be/uds8lsv-CEQ) – [Slack](https://youtu.be/m2JuAa6-ors) – [Zoom](https://www.youtube.com/playlist?list=PLKpRxBfeD1kEM_I1lId3N_Xl77fKDzSXe). ## Online Workshop – How does it work We will meet online in a virtual classroom and use presentation through screen share. The modules are designed to help you learn in a brain-friendly way. Every module includes interactive and collaborative activities, applying and building on the concepts in the warm-up and follow-up homework tasks. Discussions and questions are encouraged all the time. The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we \*require\* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos during the workshop, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Tags:** Brain-based Learning, Learning, Teaching skills, Training for Trainers --- ### [OOPSI Training: Outcomes, Outputs, Process, Scenarios, Inputs](https://www.avanscoperta.it/it/training/oopsi-training/) **Published:** October 9, 2024 **Author:** Enrico Meloni **Excerpt:** Start with something small and still deliver something valuable with OOPSI, a collaboration framework that helps you give structure to the discovery process and provide lightweight documentation to align everyone, and avoid misunderstandings and rework. **Content:** Are you overwhelmed by User Stories? Have you lost sight of the big picture? Are you not sure how to Start Small? OOPSI stands for Outcomes, Outputs, Process, Scenarios, Inputs. It is a collaborative agile practice that helps teams break down complex problems and navigate the path to delivering business value faster. [![OOPSI visual summary](https://www.avanscoperta.it/wp-content/uploads/2024/10/OOPSI-for-website-avanscoperta-jenny-martin-1-300x169.jpg)](https://www.avanscoperta.it/wp-content/uploads/2024/10/OOPSI-for-website-avanscoperta-jenny-martin-1.jpg) Following the OOPSI framework helps you break down work so that you can start on something small but still deliver something valuable. The different steps in the OOPSI framework help give structure to the discovery process and provide lightweight documentation that helps align everyone and avoid misunderstandings and rework. In a nutshell, [OOPSI](https://blog.avanscoperta.it/2025/01/16/oopsi-for-better-collaboration/) gives you a framework to reduce handovers and get the team co-creating and collaborating effectively from the beginning. It helps you guide the delivery process and confidently navigate complexity. Join Jenny Martin for this 2-module online training course to get started with OOPSI and improve your product development process. ## Learning objectives - Get unstuck from analysis paralysis – Be able to more confidently break work down using the OOPSI technique and get started quickly. - Have clear sprint goals and strategy to deliver valuable working software as early as possible and optimise the process for feedback - Structure the discovery process so that collaboration is effective and the team are strongly aligned. - Reduce waste – Capture the right level of detail and deliver light-weight concrete living documentation that enables shared understanding. - Be able to implement the OOPSI technique into any product development environment. ## The Trainer [Jenny Martin](https://www.avanscoperta.it/it/trainer/jenny-martin/) brings her expertise in team collaboration and high-performing teams to create transformative experiences. With a passion for helping groups excel, she is a recognized leader in the Product and Agile communities. Jenny creates immersive, playful workshops that empower teams to unlock their collective intelligence and embrace their diverse strengths. And that’s what we love most about her approach. Her mission is simple: to see individuals and teams flourish, achieving remarkable outcomes together while allowing every unique talent to shine. ## Target audience Anyone on a software or product development team who wants to learn how to break down complex problems and navigate the path to delivering business value faster. The OOPSI framework can be applied in many ways, in the large and in the small: - At the highest level, it can help guide conversations and give confidence to a facilitator who is helping a team explore a problem. - For Product Managers and Product Owners, the different steps can guide discovery activities and allow for co-creation of lightweight documentation that raises shared understanding and facilitates fast feedback (even structured as a design sprint to rapidly kick off an initiative). - For Agile and Product Development teams, OOPSI can be used to help explore and split user stories as part of a 3 Amigos workshop, and help structure tests and promote good test design and automation strategy. ## Program The OOPSI Training is structured in 2 sessions delivered remotely in 3.5 hours each. - Principles of iterative delivery - Hunting value – how to start small - User Story Splitting approaches - Outcome Based Planning - Overview of OOPSI - OOPSI in practice – Outcomes, Outputs, Process, Scenarios, Inputs - OOPSI Process patterns - Effective OOPSI workshops - OOPSI and Living Documentation - How to implement OOPSI in your team. **Categories:** A calendario, A catalogo **Tags:** Agile, collaboration, product development, Product Discovery --- ### [OOPSI Training: Outcomes, Outputs, Process, Scenarios, Inputs](https://www.avanscoperta.it/en/training/oopsi-training/) **Published:** October 9, 2024 **Author:** Enrico Meloni **Excerpt:** Start with something small and still deliver something valuable with OOPSI, a collaboration framework that helps you give structure to the discovery process and provide lightweight documentation to align everyone, and avoid misunderstandings and rework. **Content:** Are you overwhelmed by User Stories? Have you lost sight of the big picture? Are you not sure how to Start Small? OOPSI stands for Outcomes, Outputs, Process, Scenarios, Inputs. It is a collaborative agile practice that helps teams break down complex problems and navigate the path to delivering business value faster. [![OOPSI visual summary](https://www.avanscoperta.it/wp-content/uploads/2024/10/OOPSI-for-website-avanscoperta-jenny-martin-1-300x169.jpg)](https://www.avanscoperta.it/wp-content/uploads/2024/10/OOPSI-for-website-avanscoperta-jenny-martin-1.jpg) Following the OOPSI framework helps you break down work so that you can start on something small but still deliver something valuable. The different steps in the OOPSI framework help give structure to the discovery process and provide lightweight documentation that helps align everyone and avoid misunderstandings and rework. In a nutshell, [OOPSI](https://blog.avanscoperta.it/2025/01/16/oopsi-for-better-collaboration/) gives you a framework to reduce handovers and get the team co-creating and collaborating effectively from the beginning. It helps you guide the delivery process and confidently navigate complexity. Join Jenny Martin for this 2-module online training course to get started with OOPSI and improve your product development process. ## Learning objectives - Get unstuck from analysis paralysis – Be able to more confidently break work down using the OOPSI technique and get started quickly. - Have clear sprint goals and strategy to deliver valuable working software as early as possible and optimise the process for feedback - Structure the discovery process so that collaboration is effective and the team are strongly aligned. - Reduce waste – Capture the right level of detail and deliver light-weight concrete living documentation that enables shared understanding. - Be able to implement the OOPSI technique into any product development environment. ## The Trainer [Jenny Martin](https://www.avanscoperta.it/it/trainer/jenny-martin/) brings her expertise in team collaboration and high-performing teams to create transformative experiences. With a passion for helping groups excel, she is a recognized leader in the Product and Agile communities. Jenny creates immersive, playful workshops that empower teams to unlock their collective intelligence and embrace their diverse strengths. And that’s what we love most about her approach. Her mission is simple: to see individuals and teams flourish, achieving remarkable outcomes together while allowing every unique talent to shine. ## Target audience Anyone on a software or product development team who wants to learn how to break down complex problems and navigate the path to delivering business value faster. The OOPSI framework can be applied in many ways, in the large and in the small: - At the highest level, it can help guide conversations and give confidence to a facilitator who is helping a team explore a problem. - For Product Managers and Product Owners, the different steps can guide discovery activities and allow for co-creation of lightweight documentation that raises shared understanding and facilitates fast feedback (even structured as a design sprint to rapidly kick off an initiative). - For Agile and Product Development teams, OOPSI can be used to help explore and split user stories as part of a 3 Amigos workshop, and help structure tests and promote good test design and automation strategy. ## Program The OOPSI Training is structured in 2 sessions delivered remotely in 3.5 hours each. - Principles of iterative delivery - Hunting value – how to start small - User Story Splitting approaches - Outcome Based Planning - Overview of OOPSI - OOPSI in practice – Outcomes, Outputs, Process, Scenarios, Inputs - OOPSI Process patterns - Effective OOPSI workshops - OOPSI and Living Documentation - How to implement OOPSI in your team. **Categories:** On demand, Scheduled **Tags:** Agile, collaboration, Product Discovery, Product Owner --- ### [Agile Bootcamp](https://www.avanscoperta.it/it/training/agile-bootcamp/) **Published:** July 31, 2020 **Author:** Enrico Meloni **Excerpt:** Join Cédric Pontet to kick start your journey into agile by answering questions such as “what to know”, "where to start" and "how to avoid some of the most common pitfalls". **Content:** From desire to implementation: discover how to bootstrap your agile team by getting answers to the questions “what to know”, “where to start” and “how to avoid some of the most common pitfalls”. Also learn how to efficiently set up several agile teams, by sharing common practices, while reducing dependencies. Join Cedric Pontet from Agile Partner for these 4 half-day modules *Agile Bootcamp*! ## Target Audience This workshop is for anyone interested in bootstrapping one or more agile teams, whether they are directly involved in a team (e.g. Software developer, Product manager, Facilitator) or secondarily impacted by this change (e.g. UX designer, Ops engineer, Team manager, Competence center manager, Talent manager). ## Agenda ### Module 1 - What are the challenges that a team must tackle to perform durably? - How to increase a project’s chances of success? - How do agility and its specific mindset address these aspects? ### Module 2 - What are the basics of Scrum and what does Scrum change in terms of team organization? - What are the three roles of Scrum and the responsibilities associated with each of them? - What are the key success factors when applying Scrum? ### Module 3 - What is Lean and Kanban? - How are Scrum and Kanban similar? How do they differ? - How to manage a product in an agile way through a well-refined backlog? ### Module 4 - What are the possible steps to properly set up an agile team? - How to organize value delivery with several agile teams working in parallel? - How to address your current biggest challenges? (Q&A session, Lean Coffee style). ## Learning Objectives After the workshop you will understand: - The challenges that projects and teams usually face - How agility addresses these challenges - The core values and principles of agility - The Scrum framework and its related roles and responsibilities - The Lean and Kanban principles and their differences with Scrum - The basics of Product Management by using a backlog - How to bootstrap an agile team and work with several autonomous teams. ## Online Workshop – How does it work Learning works better in an immersive and engaging setting, and we’ve been working hard to recreate that feeling, even in an online delivery format. The training will be delivered over 4 half-day modules (4 x 4 hours). We will go through the different sections where we will alternate theory, discussions, and concrete practice through fun activities, co-creation, and videos. We will also keep a lot of space to answer as many of your questions as we can. You will be interacting and working together in real-time thanks to a variety of tools that you will have at your disposal, namely a virtual classroom, a collaborative virtual board, and a video-conference platform with breakout rooms. A good learning experience doesn’t match with passive fruition. Just like the in-person version of the workshop, expect to be challenged with real-world problems, and to be ready to listen to your brain signals while doing it. Part of the content will be available as slides, part will be created collectively as we dig into the various exercises. Every bit of content created will be made available to the students after the workshop is over, as PDFs in the virtual classroom. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we require that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. **Tags:** Agile, Kanban, Scrum, Team collaboration --- ### [Applied Functional Programming Workshop](https://www.avanscoperta.it/it/training/applied-functional-programming-workshop/) **Published:** May 30, 2018 **Author:** Enrico Meloni **Excerpt:** TypeScript e la programmazione funzionale: impara a utilizzare le teorie matematiche per costruire le giuste astrazioni, tra cui le famose Monadi, grazie a questo workshop online e in diretta con Matteo Baglini. **Content:** ## **Abstract** Il corso Applied Functional Programming di Matteo Baglini è strutturato per mettere in pratica la programmazione funzionale. Si rivolge a chi ha già assaggiato questo paradigma e vuole fare un salto in avanti nella sua adozione. Anche se trattiamo argomenti astratti e matematici, tra cui le famose Monadi, il workshop mantiene un’impostazione estremamente pratica: il giusto livello di teoria e tantissime sessioni di coding. Lavoreremo con **TypeScript**. Obiettivo del corso: capire in modo semplice e pragmatico come applicare concretamente tecniche e principi di pure functional programming sfruttando Typescript. ## **Target audience** Il workshop si rivolge a software developer professionisti, sia nel Back-end che nel Front-end, con un livello di esperienza medio/alto con linguaggi mainstream tipizzati come Java/Kotlin/C#, e ovviamente TypeScript, e che siano già entrati in contatto con il mondo funzionale (e concetti come immutabilità, high-order functions, manipolazione di List tramite funzioni di map/filter/reduce/etc). Faremo uso di concetti considerati avanzati nei suddetti linguaggi di programmazione (come i Generics), rendendo questo corso non adatto a chi sta iniziando il suo percorso nel mondo della programmazione. ## **Argomenti** Alcuni degli argomenti che tratteremo: - capire l’impatto derivante dal lavorare con la referential transparency - progettare grandi sistemi come somma di small composable units - modellare comportamenti, vincoli e dati del dominio tramite modules, functions e algebraic data types - ottenere una conoscenza delle principali functional structures: Functor, Applicative, Monad, Foldable e Traversable - costruzione di un’applicazione completa con infrastruttura, dominio e testing. ## **Programma** Il workshop ha l’obiettivo di fornire ai partecipanti una padronanza pratica dei principali concetti e principi alla base della pure functional programming, per sfruttare al massimo queste tecniche nel quotidiano con il proprio linguaggio di programmazione e stack tecnologico. Insieme studieremo e utilizzeremo strutture funzionali mentre realizziamo un’applicazione completa seguendo i buoni pattern di design e separazione delle responsabilità. Ogni sessione è supportata dal codice che verrà scritto durante il workshop lavorando in piccoli gruppi autonomi e rivisto insieme al supporto del trainer. ## Agenda ### Sessione 1 – Gettiamo le basi - Programmazione funzionale – introduzione e benefici - Building blocks – modules, functions e algebraic data types. - Pattern matching e multiple dispatch ### Sessione 2 -Costruiamo una applicazione da zero (parte 1) - Introduzione all’applicazione - Vediamo i differenti layer architetturali - Type-Driven Design del dominio – approccio bottom-up - Implementiamo i comportamenti del dominio - Micro testing – test del solo dominio. ### Sessione 3 – Side-effects - Side-effects – come introdurli in un sistema privo di essi - Functor e Monad – padroneggiare i combinatori chiave - Custom Monad – sviluppo una Monade non built-in da zero - Catalogo Monadi – vediamo le differenti semantiche - Applicative, Foldable e Traversable – vediamo altri combinatori. ### Sessione 4 – Costruiamo una applicazione da zero (parte 2) - Esponiamo il dominio tramite infrastruttura - Macro testing – acceptance test dell’applicazione - Run it – vediamola in esecuzione - Wrap up – note finali. ## **Cosa impareremo – Learning Objectives** - Mettere in pratica i concetti di Functional Programming - Definire i vincoli di dominio grazie all’uso del type system - Scegliere se e quali Monad utilizzare per uno specifico use case - Un’approfondita conoscenza su diversi concetti ortogonali al linguaggio di programmazione e che potrai sfruttare immediatamente nel tuo attuale stack applicativo - **Warning**: non è un corso per imparare Typescript o un particolare framework/libreria! ## **Perché partecipare** Con questo workshop potrai andare a fondo sui principi alla base della programmazione funzionale e potrai vivere l’esperienza di sviluppo software in stile funzionale grazie a esercizi, esempi e discussioni in gruppo. Matteo ti darà gli strumenti per farti valutare in maniera più oggettiva i pro e contro della programmazione funzionale: a te poi la decisione finale sul fare o meno il salto! ## Come si svolge La parola chiave di questo workshop è “pratica”: i momenti di teoria saranno pochi, ma essenziali. Diciamo 30% teoria e 70% pratica. Costruiamo una applicazione da zero e usiamo le difficoltà che incontreremo via via come leva per introdurre e approfondire i vari mattoncini. Il corso si svolgerà online e in diretta per un massimo di 12 persone: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è richiesto che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. Applicheremo alcuni principi del metodo Training from the back of the room, con prevalenza di attività su lectures. Infine, la condivisione tra i partecipanti ed il supporto del trainer completano il quadro formativo. ## Linguaggio di programmazione – TypeScript Useremo **Typescript** (TS) come linguaggio di programmazione con il supporto delle librerie: - fp-ts (): astrazioni per la programmazione funzionale. - effect (): functional effect system. - ts-pattern (): supporto al pattern matching esaustivo. Per partecipare a questo corso è richiesta una **conoscenza intermedia** di TypeScript. I partecipanti devono avere familiarità con: - tool chain tsc, ts-node, ts-jest, npm/yarn, ecc. - primitive types: string, number, any, Array, ecc. - define custom type alias e interface - spread operator and destructuring - the many ways to define a function - use high-order functions (come array map or filter) - union, literal and tagged union types - type narrowing - generic types and functions. Un buon punto di partenza è la lettura del libro, gratuito e disponibile online, Typescript Handbook (). ## Requisiti tecnici Il workshop prevede che le esercitazioni avvengano sul tuo portatile, quindi avrai bisogno di installare/avere sul tuo laptop: - Git (ed eventuali client grafici) per effettuare il clone del repository () o di un suo fork. - NodeJs, una versione LTS sia della serie 18.x che 20.x. - Una versione recente di NPM oppure Yarn, - un IDE, come WebStorm oppure un editor come Sublime, Visual Studio Code, Vim o Emacs con i relativi plugin/language server protocol installati. **Categories:** A calendario, A catalogo **Tags:** Functional Design, Functional Programming, Monadi, Programmazione Funzionale, TypeScript --- ### [Practical Messaging Workshop](https://www.avanscoperta.it/en/training/practical-messaging-workshop/) **Published:** April 28, 2025 **Author:** Alessandra Granaudo **Excerpt:** Join Ian Cooper’s Practical Messaging Workshop and learn how to design and implement reliable, scalable messaging solutions for your distributed architectures. Build the skills you need to succeed with event-driven systems and take your software design to the next level. **Content:** ## Mastering Messaging for Scalable Event-Driven Systems Struggling to Scale Your Distributed Systems Effectively? As a senior engineer or architect, you’re familiar with the challenges of scaling applications and managing distributed systems. Integrating multiple services, navigating the limitations of traditional HTTP or RPC-based solutions, and ensuring smooth communication between systems can often feel like a never-ending struggle. You know that switching to messaging offers a more scalable, reliable, and event-driven approach, but where do you even begin? Imagine your systems communicating seamlessly, reliably, and asynchronously. A future where your architecture is reactive, event-driven, and easily scalable. This future isn’t far off. Ian Cooper’s Practical Messaging Workshop will help you bridge the gap between the complexity of distributed systems and the power of messaging. In two days, Ian will guide you through the essential messaging patterns, best practices, and event-driven architecture principles that can transform your system architecture and help you tackle challenges like “lambda pinball” and other common anti-patterns. ## Learning Objectives By the end of this workshop, you’ll be able to: - Understand asynchronous communication in distributed systems for improved scalability. - Master messaging patterns for event-driven architectures. - Build scalable systems using messaging middleware like RabbitMQ and Kafka. - Design reliable messaging solutions for high-performance systems. ## The Trainer [Ian Cooper](https://www.avanscoperta.it/it/trainer/ian-cooper/) is a Polyglot Coding Architect at Just Eat, with more than 20 years of experience delivering high-performance software solutions across domains such as government, healthcare, finance, and e-commerce. Known for his deep expertise in designing scalable and reliable distributed systems, Ian is an experienced systems architect with a strong knowledge of OO, TDD/BDD, Domain-Driven Design, event-driven architecture, CQRS/ES, REST, Messaging, Design Patterns, Architectural Styles, ATAM, and Agile Engineering Practices. He’s the creator and maintainer of [Brighter](https://brightercommand.gitbook.io/paramore-brighter-documentation/overview/whybrighter), a .NET framework for building resilient, message-based applications. ## Target Audience This workshop is designed for Senior Engineers and Architects tasked with: - Designing and implementing event-driven systems within their organization. - Upgrading their messaging systems for more scalable, reliable communication. - Solving common anti-patterns like “lambda pinball” and dealing with integration challenges in distributed systems. If you’re working on building scalable distributed systems or just want to deepen your understanding of messaging and event-driven architectures, this workshop will help you take your skills to the next level. ## Topics In this workshop, we will dive deep into the following topics: - Why Distribute? – Why do we need distributed systems? - The Price of Distribution – The downsides of distribution and how to mitigate them. - Integration Styles – Exploring different options for interoperability in distributed systems. - Messaging Patterns – The essential building blocks of messaging, explained with exercises. - Queues and Streams – The different types of messaging and how to use them. - Reliable Messaging – The outbox pattern and how to ensure reliability in your messaging. - Managing Asynchronous APIs – How to document and version asynchronous endpoints. - Conversation Patterns – Understanding the different messaging endpoint patterns. - Fat and Skinny Messages – Exploring Event Carried State Transfer (ECST). - Domain and Summary Events – Why are they different and when to use them? - Paper Workflows – How to model asynchronous systems using pre-automation office workflows. - Reactive Architectures – How reactive approaches leverage messaging at their core. - Process Automation – Modeling processes using choreography and orchestration. ## Agenda The material is presented in two parts: an introduction to messaging middleware (including hands-on exercises in RabbitMQ and Kafka) and the fundamentals of constructing event-driven architectures. Hands-on exercises are offered in C#, Java, JavaScript, Python, and Go. ### Day 1: Messaging Architectures and Simple Patterns - Distributed Systems and Integration Styles - Messaging Patterns for Scalable Systems - Reliable Messaging and Messaging Middleware. ### Day 2: Distributed Systems Advanced Patterns - Event-Driven Design with Reactive Architectures - Asynchronous APIs and Managing Communication Flow - Process Automation and Control Flow in Event-Driven Systems. ## How it works This is an in-person, two-day workshop designed to provide both theoretical knowledge and hands-on experience. You will leave with practical skills you can apply immediately. - Lecture Material – explaining the core concepts - Hands-on Exercises – writing code for core messaging concepts - Discussions – discussions amongst participants on their experiences ### FAQ *Do I need to know something beforehand in order to participate in this workshop?* You need to be able to write code in C#, Python, Java, JavaScript, or Go. You do not need prior experience with messaging systems. We try to get everyone up to the same level on Day One. *Do I need to bring my laptop with me?* This is a Bring Your Own Device (BYOD) course. At BYOD courses delegates are required to bring their own laptop with the necessary software installed. In order to complete the exercises, you will need to be able to run Docker containers (through Docker Desktop, podman, etc.) **Categories:** Scheduled **Tags:** Event Driven Architecture, Microservices, Software Architecture --- ### [Practical Messaging Workshop](https://www.avanscoperta.it/it/training/practical-messaging-workshop/) **Published:** April 28, 2025 **Author:** Alessandra Granaudo **Excerpt:** Join Ian Cooper’s Practical Messaging Workshop and learn how to design and implement reliable, scalable messaging solutions for your distributed architectures. Build the skills you need to succeed with event-driven systems and take your software design to the next level. **Content:** ## Mastering Messaging for Scalable Event-Driven Systems Struggling to Scale Your Distributed Systems Effectively? As a senior engineer or architect, you’re familiar with the challenges of scaling applications and managing distributed systems. Integrating multiple services, navigating the limitations of traditional HTTP or RPC-based solutions, and ensuring smooth communication between systems can often feel like a never-ending struggle. You know that switching to messaging offers a more scalable, reliable, and event-driven approach, but where do you even begin? Imagine your systems communicating seamlessly, reliably, and asynchronously. A future where your architecture is reactive, event-driven, and easily scalable. This future isn’t far off. Ian Cooper’s Practical Messaging Workshop will help you bridge the gap between the complexity of distributed systems and the power of messaging. In two days, Ian will guide you through the essential messaging patterns, best practices, and event-driven architecture principles that can transform your system architecture and help you tackle challenges like “lambda pinball” and other common anti-patterns. ## Learning Objectives By the end of this workshop, you’ll be able to: - Understand asynchronous communication in distributed systems for improved scalability. - Master messaging patterns for event-driven architectures. - Build scalable systems using messaging middleware like RabbitMQ and Kafka. - Design reliable messaging solutions for high-performance systems. ## The Trainer [Ian Cooper](https://www.avanscoperta.it/it/trainer/ian-cooper/) is a Polyglot Coding Architect at Just Eat, with more than 20 years of experience delivering high-performance software solutions across domains such as government, healthcare, finance, and e-commerce. Known for his deep expertise in designing scalable and reliable distributed systems, Ian is an experienced systems architect with a strong knowledge of OO, TDD/BDD, Domain-Driven Design, event-driven architecture, CQRS/ES, REST, Messaging, Design Patterns, Architectural Styles, ATAM, and Agile Engineering Practices. He’s the creator and maintainer of [Brighter](https://brightercommand.gitbook.io/paramore-brighter-documentation/overview/whybrighter), a .NET framework for building resilient, message-based applications. ## Target Audience This workshop is designed for Senior Engineers and Architects tasked with: - Designing and implementing event-driven systems within their organization. - Upgrading their messaging systems for more scalable, reliable communication. - Solving common anti-patterns like “lambda pinball” and dealing with integration challenges in distributed systems. If you’re working on building scalable distributed systems or just want to deepen your understanding of messaging and event-driven architectures, this workshop will help you take your skills to the next level. ## Topics In this workshop, we will dive deep into the following topics: - Why Distribute? – Why do we need distributed systems? - The Price of Distribution – The downsides of distribution and how to mitigate them. - Integration Styles – Exploring different options for interoperability in distributed systems. - Messaging Patterns – The essential building blocks of messaging, explained with exercises. - Queues and Streams – The different types of messaging and how to use them. - Reliable Messaging – The outbox pattern and how to ensure reliability in your messaging. - Managing Asynchronous APIs – How to document and version asynchronous endpoints. - Conversation Patterns – Understanding the different messaging endpoint patterns. - Fat and Skinny Messages – Exploring Event Carried State Transfer (ECST). - Domain and Summary Events – Why are they different and when to use them? - Paper Workflows – How to model asynchronous systems using pre-automation office workflows. - Reactive Architectures – How reactive approaches leverage messaging at their core. - Process Automation – Modeling processes using choreography and orchestration. ## Agenda The material is presented in two parts: an introduction to messaging middleware (including hands-on exercises in RabbitMQ and Kafka) and the fundamentals of constructing event-driven architectures. Hands-on exercises are offered in C#, Java, JavaScript, Python, and Go. ### Day 1: Messaging Architectures and Simple Patterns - Distributed Systems and Integration Styles - Messaging Patterns for Scalable Systems - Reliable Messaging and Messaging Middleware. ### Day 2: Distributed Systems Advanced Patterns - Event-Driven Design with Reactive Architectures - Asynchronous APIs and Managing Communication Flow - Process Automation and Control Flow in Event-Driven Systems. ## How it works This is an in-person, two-day workshop designed to provide both theoretical knowledge and hands-on experience. You will leave with practical skills you can apply immediately. - Lecture Material – explaining the core concepts - Hands-on Exercises – writing code for core messaging concepts - Discussions – discussions amongst participants on their experiences ### FAQ *Do I need to know something beforehand in order to participate in this workshop?* You need to be able to write code in C#, Python, Java, JavaScript, or Go. You do not need prior experience with messaging systems. We try to get everyone up to the same level on Day One. *Do I need to bring my laptop with me?* This is a Bring Your Own Device (BYOD) course. At BYOD courses delegates are required to bring their own laptop with the necessary software installed. In order to complete the exercises, you will need to be able to run Docker containers (through Docker Desktop, podman, etc.) **Categories:** A calendario **Tags:** Event Driven Architecture, Software Architecture --- ### [Wardley Maps Bootcamp](https://www.avanscoperta.it/it/training/wardley-maps-bootcamp/) **Published:** July 6, 2020 **Author:** Enrico Meloni **Excerpt:** Tutti i segreti sulle "mappe di Wardley" in questo nuovo Bootcamp di tre ore in compagnia dell'inventore delle Wardley Maps, Simon Wardley. **Content:** ***Check out [Wardley Mapping Accelerator](https://www.avanscoperta.it/en/training/wardley-mapping-accelerator/?utm_source=sito&utm_medium=post&utm_campaign=wardley_mapping_mosior) with Ben Mosior.*** *Maps help to communicate, to challenge, to plan, to learn, and to mitigate risk.* In this 3-hour Bootcamp with Simon Wardley, you will learn the basics of why maps matter, how to map a business or government agency, how to apply common practices in order to anticipate change and how to build an organisation designed to cope with constant change. In this Bootcamp, we examine the subject of situational awareness within business, explaining why it matters and why most companies lack it. We explore how to map a competitive environment, how it can be exploited, how practices evolve and how certain types of disruptive change can be anticipated and defended against. Drawing on examples from heavy engineering projects, to governments, to software companies such as Canonical, Simon demonstrates how mapping can be used to rapidly change the fortunes of a project, reduce costs and outplay competitors with startling results. ## Target Audience Anyone with an interest in the future or in organisational structure. ## Agenda - Introduction into Wardley mapping - How to map a business - Anticipating through patterns of change - Why agile doesn’t work everywhere - Organising for change. ## Topics - Why most companies have little or no actual strategy - Why no one-size-fits-all solution exists (for example, Agile all the things, Six Sigma all the things, Outsource all the things) - How the core problem is poor situational awareness - The concept of mapping a business, the main patterns of economic change and how they can be used to your advantage. ## Learning Objectives The purpose of the workshop is to introduce you to the importance of situational awareness in business and how to map a competitive environment and relate it to your business. By the end of the workshop, you should have a rudimentary understanding of mapping. It must be understood that this is the beginning of the journey – to effectively use the technique will require practice. This workshop will teach you the basic principles of mapping and how to relate them to your business: - What are Value Chains? Identifying your customers, their needs and their journeys - Understanding evolution in a map - Anticipate the future by looking at economic patterns. ## Expected outcomes - An understanding of why situational awareness is critical in a strategic choice - The reasons why most organizations: - Have almost no situational awareness and strategy is often reduced to gut feel, meme copying and HIPPO - Fail to communicate, learn and challenge leading to outsourcing failures and business alignment issues (an artificial construct) - Fail to cope with uncertainty leading to one size fits all techniques which fail – that is, the tyranny of the agile. - How to resolve the above issues. ## Background on mapping The technique has been used in Silicon Valley/VC/Open Source and Government circles successfully for almost 15 years but remains relatively novel to most organizations. Whilst not uncommon in organizations such as Amazon, Netflix and Capital One, the same technique will be unheard of in other industries. This is normal as the academic work on the technique is only just being published (London School of Economics/Cambridge University), so the workshop can be viewed as an early preview of a technique which is growing and of possible future interest. The boot camp is designed to increase awareness. ## Online Workshop – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Categories:** A calendario **Tags:** Business Strategy, Mapping, Wardley Mapping, Wardley Maps --- ### [Wardley Mapping Bootcamp](https://www.avanscoperta.it/en/training/wardley-mapping-bootcamp/) **Published:** July 6, 2020 **Author:** Enrico Meloni **Excerpt:** Learn all the secrets behind the Wardley Maps together with their inventor, Simon Wardley, in this 3-hour Bootcamp. **Content:** ***Check out [Wardley Mapping Accelerator](https://www.avanscoperta.it/en/training/wardley-mapping-accelerator/?utm_source=sito&utm_medium=post&utm_campaign=wardley_mapping_mosior) with Ben Mosior.*** *Maps help to communicate, to challenge, to plan, to learn, and to mitigate risk.* In this 3-hour Bootcamp with Simon Wardley, you will learn the basics of why maps matter, how to map a business or government agency, how to apply common practices in order to anticipate change and how to build an organisation designed to cope with constant change. In this Bootcamp, we examine the subject of situational awareness within business, explaining why it matters and why most companies lack it. We explore how to map a competitive environment, how it can be exploited, how practices evolve and how certain types of disruptive change can be anticipated and defended against. Drawing on examples from heavy engineering projects, to governments, to software companies such as Canonical, Simon demonstrates how mapping can be used to rapidly change the fortunes of a project, reduce costs and outplay competitors with startling results. ## Target Audience Anyone with an interest in the future or in organisational structure. ## Agenda - Introduction into Wardley mapping - How to map a business - Anticipating through patterns of change - Why agile doesn’t work everywhere - Organising for change. ## Topics - Why most companies have little or no actual strategy - Why no one-size-fits-all solution exists (for example, Agile all the things, Six Sigma all the things, Outsource all the things) - How the core problem is poor situational awareness - The concept of mapping a business, the main patterns of economic change and how they can be used to your advantage. ## Learning Objectives The purpose of the workshop is to introduce you to the importance of situational awareness in business and how to map a competitive environment and relate it to your business. By the end of the workshop, you should have a rudimentary understanding of mapping. It must be understood that this is the beginning of the journey – to effectively use the technique will require practice. This workshop will teach you the basic principles of mapping and how to relate them to your business: - What are Value Chains? Identifying your customers, their needs and their journeys - Understanding evolution in a map - Anticipate the future by looking at economic patterns. ## Expected outcomes - An understanding of why situational awareness is critical in a strategic choice - The reasons why most organizations: - Have almost no situational awareness and strategy is often reduced to gut feel, meme copying and HIPPO - Fail to communicate, learn and challenge leading to outsourcing failures and business alignment issues (an artificial construct) - Fail to cope with uncertainty leading to one size fits all techniques which fail – that is, the tyranny of the agile. - How to resolve the above issues. ## Background on mapping The technique has been used in Silicon Valley/VC/Open Source and Government circles successfully for almost 15 years but remains relatively novel to most organizations. Whilst not uncommon in organizations such as Amazon, Netflix and Capital One, the same technique will be unheard of in other industries. This is normal as the academic work on the technique is only just being published (London School of Economics/Cambridge University), so the workshop can be viewed as an early preview of a technique which is growing and of possible future interest. The boot camp is designed to increase awareness. ## Online Workshop – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Categories:** Scheduled **Tags:** Business Strategy, Mapping, Wardley Mapping, Wardley Maps --- ### [Domain Models in practice: Domain-Driven Design, CQRS & Event Sourcing](https://www.avanscoperta.it/it/training/domain-models-in-practice-ddd-cqrs-event-sourcing/) **Published:** September 17, 2019 **Author:** Alessandra Granaudo **Excerpt:** This intensive online Domain-Driven Design course explores the technical relationship between code, culture and architecture and you'll learn how to model and implement software from a business perspective. **Content:** ## What is a Domain-Driven Design? Domain-Driven Design (DDD) is an approach to software design that focuses on the application’s domain or problem area. It is a technique for aligning the implementation and team topology with the underlying structure of the domain. This DDD training course will teach you all the fundamentals of Domain-Driven Design. How to collaborate between stakeholders from the business side and software development side to ensure the software meets the needs of the business. Creating a shared understanding of the domain through various modelling techniques, from Business Model Canvas at the company strategy level via EventStorming and Context Mapping for exploration & design to domain-specific languages in tactical and architectural patterns. Learn to build a scalable and decoupled system optimized for correct domain behaviour without sacrificing execution performance. The secret to a successful implementation lies in the proper segregation of models and a focus on language. Join [Marco Heimeshoff](https://www.avanscoperta.it/it/trainer/marco-heimeshoff/) for this remote 5-module Domain-Driven Design course as he’ll guide you to build semantic models with a high alignment between business and code ## The Trainer Marco Heimeshoff is a Software Developer, a passionate EventStormer, a coach and a Speaker. Care Bear of DDD, cultural optimist, helping others to become better versions of themselves. Marco Heimeshoff is also the co-organiser of [KanDDDinsky](https://kandddinsky.de/). With over a decade of experience, he helps teams grow by guiding them through everything from code to culture, teaching practical mastery of Domain-Driven Design, Agile development, functional programming, and CQRS with Event Sourcing. When he’s not consulting with companies around the world, Marco speaks at international conferences on Domain-Driven Design, socio-technical systems, and software design fundamentals. ## Learning Objectives - Understand Domain-Driven Design (DDD) and when it applies - Learn to model the domain and explore multiple solutions to choose from - Align your design with your business needs using CQRS and DDD - Build scalable and decoupled applications with Event Sourcing. ## Target Audience This workshop is for Architects and Senior Developers with a strong interest in Domain-Driven Design and modern message-driven architectures. ## Program Software is usually written to solve actual business problems, yet the connection between understanding the domain and designing the code is often poorly understood or dismissed. We will explore all intersections in the software development process. We will take the entire journey from strategic analysis and domain exploration to system design, architectural blueprints and implementation. In this course, you will learn how to approach any modelling situation at various flight levels, and you will start building your own toolbelt of heuristics to adapt to any future needs. Learn about the systemic forces between business strategy, team topologies and software architecture and become an expert in designing and implementing a software system aligned with the domain in a simple, cohesive and decoupled way. Marco will help you to put your energy where the business value is by letting you partition your team by their expertise and outsource the busy work. ## Agenda The first three sessions focus strongly on business strategy, exploratory modelling and strategic design, the last two sessions dive deep into the implementation of domain models with CQRS and EventSourcing. The agenda will always dynamically adjust to the level and expectations of the attendees. ### Session One - Domain-Driven Design overview: Essential ideas and terminology - Understanding your business model and the stakeholder needs - Explore various methods for collaborative exploration - Why, how and when to apply Domain-Driven Design - The forces that shape your solution ### Session Two - Introduction to various flavours of EventStorming - Sychronising mental models in the problem space - Exploring options to improve the solution space - Heuristics to generate value from an EventStorming model ### Session Three - Optimize strategy using Subdomain Mapping - Context Mapping – Align your architecture with your organizational structure - Discover heuristics to design and decouple bounded contexts - Cynefin – Different Levels of complexity in strategic design ### Session Four - Hexagonal Architecture – Ports and Adapters in action - Tactical DDD Patterns – Exercises in implementing domain models - Events – Atomic building blocks of your domain - Projections – Poly Structured information into various read models - Implementation using Behaviour-Driven Development ### Session Five - CQRS overview: Essential ideas and terminology - Dealing with scalability, performance and eventual consistency - Implementing policies with Sagas - Strategies for long-lived, evolving and distributed systems - Benefits, risks and socio-technical implications of CQRS and Event Sourcing. ## How it works We will meet online in a virtual classroom and use presentation through screen share, collaborative architecture modeling on Miro and Solo- and Mob-programming with screen-shared IDEs. Every module will begin with a presentation via screen share and lead to a collaborative exercise. Discussions and questions are encouraged all the time. ### F.A.Q. *Do I need to have previous knowledge to attend this DDD training course?* Attendees will benefit from coming prepared with knowledge about DDD, CQRS and Event Sourcing, but this is not a prerequisite. *Laptop and language* All code examples will be in C#. No prior experience in C# is required to understand the examples, we will work through the concepts from start to finish. **Categories:** A catalogo **Tags:** CQRS, domain modelling, Domain-Driven Design, Event Sourcing --- ### [Domain Models in Practice Workshop: DDD, CQRS & Event Sourcing](https://www.avanscoperta.it/en/training/domain-models-in-practice-workshop-ddd-cqrs-event-sourcing/) **Published:** September 17, 2019 **Author:** Enrico Meloni **Excerpt:** This intensive online workshop explores the technical relationship between code, culture and architecture and you'll learn how to model and implement software from a business perspective. **Content:** ## What is a Domain-Driven Design? Domain-Driven Design (DDD) is an approach to software design that focuses on the application’s domain or problem area. It is a technique for aligning the implementation and team topology with the underlying structure of the domain. This DDD training course will teach you all the fundamentals of Domain-Driven Design. How to collaborate between stakeholders from the business side and software development side to ensure the software meets the needs of the business. Creating a shared understanding of the domain through various modelling techniques, from Business Model Canvas at the company strategy level via EventStorming and Context Mapping for exploration & design to domain-specific languages in tactical and architectural patterns. Learn to build a scalable and decoupled system optimized for correct domain behaviour without sacrificing execution performance. The secret to a successful implementation lies in the proper segregation of models and a focus on language. Join [Marco Heimeshoff](https://www.avanscoperta.it/en/trainer/marco-heimeshoff) for this remote 5-module Domain-Driven Design course as he’ll guide you to build semantic models with a high alignment between business and code ## The Trainer Marco Heimeshoff is a Software Developer, a passionate EventStormer, a coach and a Speaker. Care Bear of DDD, cultural optimist, helping others to become better versions of themselves. Marco Heimeshoff is also the co-organiser of [KanDDDinsky](https://kandddinsky.de/). With over a decade of experience, he helps teams grow by guiding them through everything from code to culture, teaching practical mastery of Domain-Driven Design, Agile development, functional programming, and CQRS with Event Sourcing. When he’s not consulting with companies around the world, Marco speaks at international conferences on Domain-Driven Design, socio-technical systems, and software design fundamentals. ## Learning Objectives - Understand Domain-Driven Design (DDD) and when it applies - Learn to model the domain and explore multiple solutions to choose from - Align your design with your business needs using CQRS and DDD - Build scalable and decoupled applications with Event Sourcing. ## Target Audience This workshop is for Architects and Senior Developers with a strong interest in Domain-Driven Design and modern message-driven architectures. ## Program Software is usually written to solve actual business problems, yet the connection between understanding the domain and designing the code is often poorly understood or dismissed. We will explore all intersections in the software development process. We will take the entire journey from strategic analysis and domain exploration to system design, architectural blueprints and implementation. In this course, you will learn how to approach any modelling situation at various flight levels, and you will start building your own toolbelt of heuristics to adapt to any future needs. Learn about the systemic forces between business strategy, team topologies and software architecture and become an expert in designing and implementing a software system aligned with the domain in a simple, cohesive and decoupled way. Marco will help you to put your energy where the business value is by letting you partition your team by their expertise and outsource the busy work. ## Agenda The first three sessions focus strongly on business strategy, exploratory modelling and strategic design, the last two sessions dive deep into the implementation of domain models with CQRS and EventSourcing. The agenda will always dynamically adjust to the level and expectations of the attendees. ### Session One - Domain-Driven Design overview: Essential ideas and terminology - Understanding your business model and the stakeholder needs - Explore various methods for collaborative exploration - Why, how and when to apply Domain-Driven Design - The forces that shape your solution ### Session Two - Introduction to various flavours of EventStorming - Sychronising mental models in the problem space - Exploring options to improve the solution space - Heuristics to generate value from an EventStorming model ### Session Three - Optimize strategy using Subdomain Mapping - Context Mapping – Align your architecture with your organizational structure - Discover heuristics to design and decouple bounded contexts - Cynefin – Different Levels of complexity in strategic design ### Session Four - Hexagonal Architecture – Ports and Adapters in action - Tactical DDD Patterns – Exercises in implementing domain models - Events – Atomic building blocks of your domain - Projections – Poly Structured information into various read models - Implementation using Behaviour-Driven Development ### Session Five - CQRS overview: Essential ideas and terminology - Dealing with scalability, performance and eventual consistency - Implementing policies with Sagas - Strategies for long-lived, evolving and distributed systems - Benefits, risks and socio-technical implications of CQRS and Event Sourcing. ## How it works We will meet online in a virtual classroom and use presentation through screen share, collaborative architecture modeling on Miro and Solo- and Mob-programming with screen-shared IDEs. Every module will begin with a presentation via screen share and lead to a collaborative exercise. Discussions and questions are encouraged all the time. ### F.A.Q. *Do I need to have previous knowledge to attend this DDD training course?* Attendees will benefit from coming prepared with knowledge about DDD, CQRS and Event Sourcing, but this is not a prerequisite. *Laptop and language* All code examples will be in C#. No prior experience in C# is required to understand the examples, we will work through the concepts from start to finish. **Categories:** On demand **Tags:** CQRS, domain modelling, Domain-Driven Design, Event Sourcing --- ### [Writing OKRs](https://www.avanscoperta.it/it/training/writing-okrs/) **Published:** June 25, 2024 **Author:** Enrico Meloni **Excerpt:** Experience and practice writing OKRs that effectively cover the next three months and produce meaningful improvements, with Allan Kelly, author of the best seller Succeeding with OKRs in Agile: How to create & deliver objectives & key results for teams. **Content:** OKRs are set four times a year, and each set directs work for 13 weeks, so why not invest a few hours to improve every set? Writing good OKRs is hard. Good OKRs demand numbers in the right places, and this is where most newcomers (but not only) struggle. Too often, leaders and teams struggle to define clear objectives and measurable key results, falling into the trap of writing to-do lists instead. If you’ve ever found yourself with OKRs that feel like nothing more than tasks to check off, it’s time to break the cycle and learn to do it right. Join this 3-hour *Writing OKRs class* with Allan Kelly to overcome any initial blockers and experience and practice writing OKRs that effectively cover the next three months and produce meaningful improvements. In this class, you’ll practice setting OKRs in a safe environment, ask questions, and discuss some of the dos and don’ts. It will be an extremely practical learning experience limited to 12 attendees. ## The Trainer Allan Kelly is a leading software development expert specializing in agile practices, product development, and organizational transformation. [![Succeeding with OKRs in Agile Book cover](https://www.avanscoperta.it/wp-content/uploads/2024/08/Allan-Kelly-Succeeding-with-OKRs-in-Agile-243x300.jpg)](https://www.allankelly.net/books/succeeding-with-okrs-in-agile/) With decades of experience in the field, Allan has worked with a wide range of organizations, helping them implement robust software systems, drive innovation, and navigate the complexities of scaling teams and processes. Allan wrote several influential books about agile and software development, including the best-selling **Succeeding with OKRs in Agile**, **The Art of Agile Product Ownership**, and **Business Patterns for Software Developers**. His technical *and* business-oriented perspective makes him the perfect interpreter of the needs of an agile engineering team facing strategic business-driven challenges. ## Target audience Are you in charge of setting OKRs for others? Or are you one of those who “need” to use OKRs because someone decided to? Whether you’re a leader or part of the team using OKRS – this workshop is for you. Some of the roles that will benefit from this workshop the most: - managers of all descriptions, - product owners and managers, - Scrum Masters and Agile Coaches, - analysts and team members included in the processes, - aspiring leaders who are expected to use OKRs now or in the future. ## Topics - The nature of objectives and key results, what makes a good objective, what they are not, and why objectives are subjective, - Objectives in the organizational context and goals-within-goals, - Rules of thumb for writing OKRs, - How to measure key results, how to put numbers against intangible results and quantify changes, - Refining OKRs with feedback, - The difference between leading and lagging indicators, the advantages and disadvantages of each. ## Agenda - Reviewing example OKRs, - Writing Objectives – and what makes a good objective, - Writing Key Results – and how to quantify key results, - Identifying measuring tools for key results, - Using OKRs in an agile setting: an API for the team and bottom-up OKRs rather than top-down management objectives. The workshop is a single 3-hour online session divided into modules. It includes time-boxed breaks and some chill-out time at the end. Chill-out time: Unstructured, informal conversations after the workshop’s official end. ## Learning objectives - How teams and individuals with limited experience will learn to write good OKRs to cover the next 3 months - Creating good OKRs with measurable key results - What a good objective looks like and how to create one - How to compose measurable key results which describe the objective outcome - How to interpret OKRs in an agile-compatible way. ## How does it work Attendees will practice writing objectives and measurable key results in the workshop. The 3-hour session alternates between group exercises, such as writing objectives, and reflective discussions. It will happen online and in live streaming. **Categories:** A catalogo **Tags:** Agile, Objectives, OKR, Product Owner --- ### [Writing OKRs Class](https://www.avanscoperta.it/en/training/writing-okrs-workshop/) **Published:** June 25, 2024 **Author:** Enrico Meloni **Excerpt:** Experience and practice writing OKRs that effectively cover the next three months and produce meaningful improvements, with Allan Kelly, author of the best seller Succeeding with OKRs in Agile: How to create & deliver objectives & key results for teams. **Content:** OKRs are set four times a year, and each set directs work for 13 weeks, so why not invest a few hours to improve every set? Good OKRs demand numbers in the right places, and this is where most newcomers (but not only) struggle. Writing good OKRs is hard. Good OKRs demand numbers in the right places, and this is where most newcomers (but not only) struggle. Too often, leaders and teams struggle to define clear objectives and measurable key results, falling into the trap of writing to-do lists instead. If you’ve ever found yourself with OKRs that feel like nothing more than tasks to check off, it’s time to break the cycle and learn to do it right. Join this 3-hour *Writing OKRs class* with Allan Kelly to overcome any initial blockers and experience and practice writing OKRs that effectively cover the next three months and produce meaningful improvements. In this class you’ll practice setting OKRs in a safe environment, ask questions, and discuss some of the dos and don’ts. It will be an extremely practical learning experience limited to 12 attendees. ## The Trainer Allan Kelly is a leading expert in software development, specializing in agile practices, product development, and organizational transformation. With decades of experience in the field, Allan has worked with a wide range of organizations, helping them implement robust software systems, drive innovation, and navigate the complexities of scaling teams and processes. Allan is the author of several influential books on agile and software development, including the best-selling *Succeeding with OKRs in Agile*, *The Art of Agile Product Ownership*, and *Business Patterns for Software Developers*. [![Succeeding with OKRs in Agile Book cover](https://www.avanscoperta.it/wp-content/uploads/2024/08/Allan-Kelly-Succeeding-with-OKRs-in-Agile-243x300.jpg)](https://www.allankelly.net/books/succeeding-with-okrs-in-agile/)[![Business Patterns for Software Developers book cover](https://www.avanscoperta.it/wp-content/uploads/2024/08/Allan-Kelly-Business-patterns-for-software-developers-book-239x300.jpg)](https://www.allankelly.net/books/business-patterns/)## Target audience Are you in charge of setting OKRs for others? Or are you one of those who “need” to use OKRs because someone decided to? Whether you’re a leader or part of the team using OKRS – this workshop is for you. Some of the roles that will benefit from this workshop the most: - managers of all descriptions, - product owners and managers, - Scrum Masters and Agile Coaches, - analysts and team members included in the processes, - aspiring leaders who are expected to be using OKRs now or in the future. ## Topics - The nature of objectives and key results, what makes a good objective, what they are not, and why objectives are subjective, - Objectives in the organizational context and goals-within-goals, - Rules of thumb for writing OKRs, - How to measure key results, how to put numbers against intangible results and quantify changes, - Refining OKRs with feedback, - The difference between leading and lagging indicators, the advantages and disadvantages of each. ## Agenda - Reviewing example OKRs, - Writing Objectives – and what makes a good objective, - Writing Key Results – and how to quantify key results, - Identifying measuring tools for key results, - Using OKRs in an agile setting: an API for the team and bottom-up OKRs rather than top-down management objectives. The workshop is a single 3-hour online session, divided in modules with some time-boxed breaks and some chill-out time at the end. Chill-out time: Unstructured, informal conversations after the workshop’s official end. ## Learning objectives - How teams and individuals with limited experience will learn to write good OKRs to cover the next 3 months - Creating good OKRs with measurable key results - What a good objective looks like and how to create one - How to compose measurable key results which describe the objective outcome - How to interpret OKRs in an agile-compatible way. ## How does it work Attendees will practice writing objectives and measurable key results in the workshop. The 3-hour session alternates between group exercises, such as writing objectives, and reflective discussions. It will happen online and in live streaming. **Categories:** On demand **Tags:** Agile, Objectives, OKR, Product Owner --- ### [Domänenmodelle in der Praxis: DDD, CQRS und Event Sourcing Workshop auf Deutsch](https://www.avanscoperta.it/en/training/domanenmodelle-in-der-praxis-ddd-cqrs-und-event-sourcing-workshop/) **Published:** October 14, 2024 **Author:** Enrico Meloni **Excerpt:** In diesem Domain-Driven Design, CQRS und Event Sourcing Workshop auf Deutsch mit Marco Heimeshoff lernen Sie, wie Sie Software aus betriebswirtschaftlicher Sicht modellieren und implementieren. **Content:** Software, die den Anforderungen des Unternehmens nicht gerecht wird, kostet Zeit, Ressourcen und frustriert Teams und Stakeholder gleichermaßen. Häufig scheitern Projekte an der fehlenden gemeinsamen Sprache zwischen Business und Entwicklung oder an schlecht abgestimmten Modellen, die nicht die wahre Komplexität der Domäne abbilden. Dieser dreitägiger *Domänenmodelle in der Praxis Workshop* (auf Deutsch) mit Marco Heimeshoff bietet eine Lösung: Sie lernen, wie Sie die Lücke zwischen Geschäftslogik und Code schließen, um Software zu entwickeln, die nicht nur funktioniert, sondern die geschäftlichen Ziele Ihres Unternehmens aktiv unterstützt. Mit Domain-Driven Design (DDD) richten Sie Ihre Teamarbeit, Implementierung und Architektur klar an der Domäne aus – und das mit Techniken wie EventStorming, Context-Mapping und domänenspezifischen Sprachen. Erleben Sie praxisnah, wie Sie ein skalierbares, entkoppeltes System bauen, das die richtigen Prioritäten setzt, die Performance beibehält und ein starkes Alignment zwischen Fachlichkeit und Technik schafft. Entdecken Sie, wie Sie durch gezieltes Modellieren echte Probleme lösen und nachhaltige Werte schaffen. ## Trainer [Marco Heimeshoff](https://www.avanscoperta.it/en/trainer/marco-heimeshoff/) ist einer der führenden Experten für Domain-Driven Design (DDD) in Europa. Als Gründer der deutschen DDD-Community, VirtualDDD.com und Organisator der Konferenz [KanDDDinsky](https://kandddinsky.de/) verbindet er tiefes Fachwissen mit praxisnaher Erfahrung. Mit über einem Jahrzehnt Expertise unterstützt er Teams weltweit dabei, komplexe Herausforderungen zu lösen und nachhaltige Software zu entwickeln. Sein Fokus liegt auf DDD, EventStorming, CQRS, Event Sourcing und der effektiven Zusammenarbeit zwischen Business und Technik. ## Zielgruppe Dieser Workshop richtet sich an alle Architekten und erfahrenen Entwickler, die ein starkes Interesse an Domain-Driven Design und modernen, nachrichtengetriebenen Architekturen haben. Sie sollten grundlegende Erfahrung mit Softwareentwicklung haben, Erfahrungen in spezifischen Softwarearchitekturen und Programmierparadigmen sind wünschenswert, aber nicht zwingend erforderlich. ## Domänenmodelle Kurs im Detail Die ersten anderthalb Tage konzentrieren sich stark auf Geschäftsstrategie, explorative Modellierung und strategisches Design, während die letzten anderthalb Tage tief in die Implementierung von Domänenmodellen mit CQRS und Event Sourcing eintauchen. Basierend auf den Konzepten von Domain-Driven Design werden wir Code mit Command Query Responsibility Segregation schreiben und werden mittels Event Sourcing eine Geschichte in fachlicher Sprache erzählen, die gleichermaßen von Menschen und Compilern verstanden wird. Halten Sie das Design Ihres Softwaresystems an die Bedürfnisse Ihrer Organisation angepasst, verbessern Sie die Lesbarkeit und stärken Sie die Kommunikation mit wichtigen Stakeholdern. ### Tag 1 - Warum, wie und wann wenden wir Domain-Driven Design an - Geschäftsmodell und Bedürfnisse der Stakeholder verstehen - Verschiedene Methoden zur kollaborativen Exploration erkunden - Systemische Einflüsse auf Ihre Lösung - Einführung in verschiedene EventStorming-Varianten - Synchronisierung mentaler Modelle im Problemraum - Optionen zur Verbesserung des Lösungsraums erkunden - Heuristiken, um Wert aus einem EventStorming-Modell zu generieren ### Tag 2 - Optimierung der Strategie durch Subdomain-Mapping - Kontext-Mapping: Architektur an die Organisationsstruktur anpassen - Heuristiken zur Gestaltung und Entkopplung von Boundaries entdecken - Cynefin: Verschiedene Komplexitätsgrade im strategischen Design - Hexagonale Architektur: Ports und Adapter in Aktion - Taktische DDD-Muster: Übungen zur Implementierung von Domänenmodellen ### Tag 3 - Ereignisse: Atomare Bausteine Ihrer Domäne - Projektionen: Polystrukturierte Informationen in verschiedene Lese-Modelle - Implementierung mittels Behaviour-Driven Development - CQRS: Wesentliche Ideen und Terminologie - Umgang mit Skalierbarkeit, Performance und Eventual Consistency - Implementierung von Policies mit Sagas - Strategien für langlebige, evolvierende und verteilte Systeme - Nutzen, Risiken und sozio-technische Implikationen von CQRS und Event Sourcing ## Lernziele - Erwerben Sie ein tiefes Verständnis von Domain-Driven Design (DDD). - Entwickeln Sie präzise Modelle Ihrer Domäne und treffen Sie fundierte - Entscheidungen, um die optimale Lösung aus mehreren Optionen auszuwählen. - Passen Sie das Design Ihrer Software an die geschäftlichen Anforderungen an, indem Sie CQRS und DDD effektiv anwenden. - Erstellen Sie semantisch klare, skalierbare und entkoppelte Anwendungen, die mithilfe von Event Sourcing stabil und zukunftssicher bleiben. ## Wie es ablaufen wird Wir treffen uns in einem Workshopraum und nutzen kollaborative Modellierung auf Papierrollen sowie Paarweise- und Mob-Programmierung. Jede Lektion beginnt mit einer theoretischen Verbindung zum Thema und führt zu einer kollaborativen Übung, gefolgt von einer Reflexion zur Vertiefung. **Categories:** On demand **Tags:** CQRS, Domain-Driven Design, Event Sourcing, EventStorming --- ### [Wardley Mapping Accelerator Training](https://www.avanscoperta.it/it/training/wardley-mapping-accelerator-training/) **Published:** March 17, 2022 **Author:** Enrico Meloni **Excerpt:** Learn about the purpose of organizations, how to make your own Wardley Maps, and even get some practice with strategic thinking with Ben Mosior. **Content:** ## Abstract Wardley Mapping is a self-taught strategy. Popularized by its inventor, Simon Wardley, Wardley Mapping uses visual models to prompt important strategic conversations and decisions. Today, Wardley Mapping finds plenty of use in personal, organizational, and even national contexts to create purposeful designs, facilitate transformation, and even save lives. While Simon Wardley has written a free book, sometimes getting started with Wardley Mapping remains a challenge. In this workshop, Ben Mosior invites us to join him along an unconventional but well-tested path through the Wardley Mapping material. Along the way, we will learn about the purpose of organization, make our own Wardley Maps, and even get some practice with strategic thinking. ## Target Audience This 3-hour workshop does not require any prior experience with Wardley Mapping, and it’s particularly useful for: - Everyday people who don’t want to be leaders but must be, out of necessity; - Anyone who makes (or aspires to make) decisions that must endure the test of time; - Anyone in a leadership position who feels like an imposter when it comes to strategy work. ## Program Tomorrow, countless everyday people will wander into moments of potential leadership, where clear thinking and right action would make all the difference. Sadly, they won’t notice the opportunity. And if they do notice, they won’t answer the call, because they “aren’t leaders” or “don’t know what to do.” Wardley Mapping isn’t a magic solution but an invitation. With a few basic skills, everyday people can learn to see opportunity, design purposeful action, and leverage what they have to great effect. This three-hour experience follows the shortest path to value through the Wardley Mapping body of knowledge. You’ll get hands-on practice, make your first Wardley Map, and learn to find hidden opportunities through strategic thinking. ### Agenda A formal, rapid introduction to Wardley Mapping. Along the way, we’ll cover: - The purpose of organization - What is Wardley Mapping? - The Five Minute Wardley Map: – Lists: How to identify Users, Needs, and Capabilities; – Value Chains: How to identify dependency relationships; – Wardley Maps: How to identify the impact of market forces on our situation. - The Strategic Thinking Process: – Cultivating Options: A basic process for using Wardley Maps for strategic thinking; – Finding Even More Options: How to iterate and improve upon a Wardley Map and expand our questions; – Overcoming common obstacles - A more formal path into Wardley Mapping - Plenty of time for Q&A and discussion! ## Learning Objectives – What are we gonna learn? Participants will leave with the ability to: - Define the basic parts of a strategic “situation” (i.e., users, needs, capabilities). - Define how the parts work together to create value and meet needs (i.e., value chains) - Describe the system-wide implications of market forces (i.e., evolution and Wardley Maps). - Engage in a basic strategic thinking process to discover potential opportunities (e.g., build, buy, or outsource). ## Expect to get your hands dirty Expect small group discussions, short lectures and demonstrations, full group discussions as needed, and quite a bit of private individual work. (No toy examples or hypotheticals. You will explore your real-world situation with Wardley Mapping using pencil and paper at home. You will not be obligated to share what you find.) We will also make use Miro and Zoom to create a supportive learning environment. ## Why should you buy a ticket? If you’ve always wanted Wardley Mapping to work for you, or if you’re just curious what it’s all about, this course will deliver! You will leave with a map, a list of strategic opportunities available to you on that map, and everything you’d need to continue learning Wardley’s approach to strategy if you find it helpful. ## Online Workshop – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. We’ll also be using analog tools such as pen and paper in some moments of the workshop. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Categories:** A calendario **Tags:** Business Strategy, Product Strategy, Wardley Mapping, Wardley Maps --- ### [Impact Mapping Workshop](https://www.avanscoperta.it/it/training/product-owner-key-skills-workshop/) **Published:** April 21, 2017 **Author:** Alessandra Granaudo **Excerpt:** Impact mapping, story mapping and valuable user stories. Join this interactive workshop and learn how to get the most out of user stories. **Content:** ***COVID-19 Emergency Info*** *This workshop is designed to be delivered in presence, and it will take place at [TAG Calabiana](https://www.avanscoperta.it/location/talent-garden-tag-calabiana/) (Via Arcivescono Calabiana, 6, 20139, Milan).* *[Check out the full COVID-19 Emergency Info in the F.A.Q. section below.](#f.a.q.)* Impact mapping is a lightweight, collaborative planning technique for teams that want to make a big impact with software products. It is based on user interaction design, outcome driven planning and mind mapping. Impact maps help delivery teams and stakeholders visualise roadmaps, explain how deliverables connect to user needs, and communicate how user outcomes relate to higher level organisational goals. ## Workshop Have you struggled to split user stories into small but valuable chunks? Do you have problems prioritising stories or getting a commitment from business stakeholders on what they want to achieve? Do you have issues deciding when a story is done or how many other stories you really need to achieve a business objective? Are you managing large amounts of stories that are problematic to estimate, prioritise or plan for? If so, join this interactive Impact Mapping Workshop with Gojko Adzic and bring your product owners and business sponsors to learn how to get the most out of user stories. ## Target audience This is a workshop for senior software delivery people as well as business sponsors working with software teams primarily in an agile or lean environment. In order to attend the workshop, you should already have a basic knowledge of iterative delivery methods and at least some experience of working in a Scrum, XP or Kanban-like delivery. To get the most out of this workshop, you should have a relatively senior role, from a technical or business perspective. Impact Mapping Workshop with Gojko Adzic is particularly fit for: - Business sponsors will learn how to ensure their organisation benefits more from agile team delivery capability, and how to steer product management and delivery better to achieve strategic goals faster. - Analysts and Product owners will learn how to link between business sponsors and teams more effectively, how to select and prioritise stories and features to achieve better impacts - Developers and testers will learn how to engage with business stakeholders and product owners to get better direction and focus delivery on things that really matter. ## Program ### Day 1 - How to effectively work with a large existing backlog of stories (story card hell) with multiple competing stakeholders - how to capture and describe real value with small user stories that just contribute to a larger picture - how to measure progress better than with just story points and avoid mistaking activity for success - how to avoid water-scrum-fall where too many things need to come together to make a release and it’s not easy to come up with small but valuable chunks - how impact mapping can help facilitate the discussion around value and success - how to run impact mapping sessions - how to use impact maps to align competing stakeholders and for product discovery. ### Day 2 - How to get good feedback from users and how to avoid misleading feedback - how to split the stories that are too big but difficult to slice - how to avoid technical stories - how to incorporate results of user research into release planning - how to use story maps to plan releases for larger pieces of work, when there is significant risk in releasing the wrong product so iterative improvements are not an option - how to facilitate story mapping workshops and avoid the most common problems with them. ## Learning Objectives This is a workshop based on Gojko Adzic’s books [Fifty Quick Ideas To Improve Your User Stories](https://fiftyquickideas.com/), [Impact Mapping](https://www.impactmapping.org/) and years of experience helping teams deliver better software. Join Gojko to learn: - several effective ways that industry-leading teams apply to make their user stories much more effective, - how to ensure that things coming into your workstream are defined well, split to be small enough but valuable - how to achieve the big benefits of adaptive planning and that you can expect from great user stories - split the ‘unsplittable’ stories, and ensure that work items are small but actually still valuable - how to avoid getting stuck in ‘technical stories’, and effective release planning based on user story maps - how to avoid pet features, and how to run user story mapping sessions. **Categories:** A catalogo **Tags:** Agile Software Development, Impact Mapping, Product Discovery, Product Owner, User Story Mapping --- ### [Impact Mapping Workshop](https://www.avanscoperta.it/en/training/product-owner-key-skills/) **Published:** April 21, 2017 **Author:** Alessandra Granaudo **Excerpt:** Impact mapping, story mapping and valuable user stories. Join this interactive workshop with Gojko Adzic and learn how to get the most out of user stories. **Content:** Impact mapping is a lightweight, collaborative planning technique for teams that want to make a big impact with software products. It is based on user interaction design, outcome driven planning and mind mapping. Impact maps help delivery teams and stakeholders visualise roadmaps, explain how deliverables connect to user needs, and communicate how user outcomes relate to higher level organisational goals. ## Workshop Have you struggled to split user stories into small but valuable chunks? Do you have problems prioritising stories or getting a commitment from business stakeholders on what they want to achieve? Do you have issues deciding when a story is done or how many other stories you really need to achieve a business objective? Are you managing large amounts of stories that are problematic to estimate, prioritise or plan for? If so, join this interactive Impact Mapping Workshop with Gojko Adzic and bring your product owners and business sponsors to learn how to get the most out of user stories. ## Target audience This is a workshop for senior software delivery people as well as business sponsors working with software teams primarily in an agile or lean environment. In order to attend the workshop, you should already have a basic knowledge of iterative delivery methods and at least some experience of working in a Scrum, XP or Kanban-like delivery. To get the most out of this workshop, you should have a relatively senior role, from a technical or business perspective. Impact Mapping Workshop with Gojko Adzic is particularly fit for: - Business sponsors will learn how to ensure their organisation benefits more from agile team delivery capability, and how to steer product management and delivery better to achieve strategic goals faster. - Analysts and Product owners will learn how to link between business sponsors and teams more effectively, how to select and prioritise stories and features to achieve better impacts - Developers and testers will learn how to engage with business stakeholders and product owners to get better direction and focus delivery on things that really matter. ## Program ### Day 1 - How to effectively work with a large existing backlog of stories (story card hell) with multiple competing stakeholders - how to capture and describe real value with small user stories that just contribute to a larger picture - how to measure progress better than with just story points and avoid mistaking activity for success - how to avoid water-scrum-fall where too many things need to come together to make a release and it’s not easy to come up with small but valuable chunks - how impact mapping can help facilitate the discussion around value and success - how to run impact mapping sessions - how to use impact maps to align competing stakeholders and for product discovery. ### Day 2 - How to get good feedback from users and how to avoid misleading feedback - how to split the stories that are too big but difficult to slice - how to avoid technical stories - how to incorporate results of user research into release planning - how to use story maps to plan releases for larger pieces of work, when there is significant risk in releasing the wrong product so iterative improvements are not an option - how to facilitate story mapping workshops and avoid the most common problems with them. ## Learning Objectives This is a workshop based on Gojko Adzic’s books [Fifty Quick Ideas To Improve Your User Stories](https://fiftyquickideas.com/), [Impact Mapping](https://www.impactmapping.org/) and years of experience helping teams deliver better software. Join Gojko to learn: - several effective ways that industry-leading teams apply to make their user stories much more effective, - how to ensure that things coming into your workstream are defined well, split to be small enough but valuable - how to achieve the big benefits of adaptive planning and that you can expect from great user stories - split the ‘unsplittable’ stories, and ensure that work items are small but actually still valuable - how to avoid getting stuck in ‘technical stories’, and effective release planning based on user story maps - how to avoid pet features, and how to run user story mapping sessions. **Categories:** On demand **Tags:** Agile Software Development, Impact Mapping, Product Discovery, Product Owner, User Story Mapping --- ### [Applied Functional Programming](https://www.avanscoperta.it/en/training/applied-functional-programming/) **Published:** June 30, 2020 **Author:** Enrico Meloni **Excerpt:** TypeScript and functional programming: learn to use mathematical theories to build the right abstractions, including the famous Monads, thanks to this live online workshop with Matteo Baglini. **Content:** ***The next edition of the workshop will be in Italian. Please [visit the Italian page of the workshop](https://www.avanscoperta.it/it/training/applied-functional-programming-workshop/) for the most up-to-date information.*** The workshop Applied Functional Programming by Matteo Baglini is structured to put functional programming into practice. It is aimed at those who have already tasted this paradigm and want to take a leap forward in its adoption. Even if we deal with abstract and mathematical topics, including the famous Monads, the workshop maintains an extremely practical approach: the right level of theory and lots of coding sessions. We will work with TypeScript. Objective of the course: understanding in a simple and pragmatic way how to concretely apply pure functional programming techniques and principles using Typescript. ## **Target audience** The workshop is aimed at professional software developers, both in the back-end and front-end, with a medium/high level of experience with mainstream languages ​​such as Java/Kotlin/C#, and obviously TypeScript, and who have already come into contact with the functional world (and concepts such as immutability, high-order functions, List manipulation via map/filter/reduce/etc functions). We will make use of concepts considered advanced in the aforementioned programming languages ​​(such as Generics). Therefore this course is not suitable for those who are starting their journey in the world of programming. ## **Topics** Some of the topics we will cover: - understanding the impact of working with referential transparency - designing large systems as the sum of small compostable units - model behaviors, constraints and domain data using functions and algebraic data types - obtaining an understanding of the main functional structures: Functor, Applicative, Monad, Foldable and Traversable - building a complete application with infrastructure, domain and testing. ## **Program** The workshop aims to provide participants with a practical mastery of the main concepts and principles underlying pure functional programming, to make the most of these techniques in everyday life with their own programming language and technology stack. Together, we will study and use functional structures while building a complete application, following good design patterns and a separation of responsibilities. Each session is supported by the code that will be written during the workshop working in small autonomous groups and reviewed together with the support of the trainer. ## Agenda ### Session 1 – Let’s lay the foundations - Functional Programming – Introduction and benefits - Building blocks – modules, functions and algebraic data types - Pattern matching and multiple dispatch. ### Session 2 – Let’s build an application from scratch (part 1) - Introduction to the application - Let’s see the different architectural layers - Type-driven design of the domain – bottom-up approach - Let’s implement the domain behaviours - Micro testing – testing the domain only. ### Session 3 – Side-effects - Side-effects – how to introduce them in a side-effect-free system - Functor and Monad – mastering the key combinators - Custom Monad – developing a not-built-in monad from scratch - Catalogo Monadi – vediamo le differenti semantiche - Applicative, Foldable and Traversable – other combinators. ### Session 4 – Let’s build an application from scratch (part 2) - Exposing the domain via infrastructure - Macro testing – acceptance test of the application - Run it – let’s see it running - Wrap up – final notes. ## **Learning objectives – What are we gonna learn** - Put Functional Programming concepts into practice - Define domain constraints using the type system - Choose whether and which Monad to use for a specific use case - An in-depth knowledge of various concepts orthogonal to the programming language that you can immediately exploit in your current application stack - Warning: This is not a course to learn Typescript or a particular framework/library. ## Expect to get your hands dirty – How it works The key word of this workshop is “practice”: the theoretical moments will be few, but essential. The split will be more of less 30% theory and 70% practice. We will build an application from scratch and use the difficulties we will gradually encounter as leverage to introduce and delve deeper into the various building blocks. The course will take place online and live streaming for a maximum of 12 people: the trainer and all participants will be in a video conference and will have a series of digital tools available to interact with each other and work hands-on. Despite the online mode, the course maintains its interactive and participatory approach. For this reason, it is required that all participants have their cameras turned on for the entire duration of the workshop for better communication. It will not be a passive course, made only of slides and pre-recorded videos. We will apply some principles of the Training from the back of the room method, which emphasizes activities over lectures. Finally, sharing between participants and the support of the trainer complete the training framework. ## **Why should I buy a ticket?** This workshop will allow you to delve deeper into the principles underlying functional programming and experience software development in a functional style, thanks to exercises, examples, and group discussions. Matteo will give you the tools to help you evaluate the pros and cons of functional programming in a more objective manner: the final decision on whether or not to make the leap is up to you! ## **Programming language – TypeScript** We will use Typescript (TS) during the workshop, and we will use the following libraries: - fp-ts (): abstraction for functional programming, - effect (): functional effect system, - ts-pattern (): all-round pattern matching support. An intermediate knowledge of TypeScript is required to participate in this course. Participants must be familiar with: - tool chain tsc, ts-node, ts-jest, npm/yarn, etc. - primitive types: string, number, any, Array, etc. - define custom type alias and interface. - spread operator and restructuring. - the many ways to define a function. - use high-order functions (come array map or filter). - union, literal and tagged union types. - type narrowing. - generic types and functions. A good starting point is the following e-book, which you can download for free: [Typescript Handbook](https://www.typescriptlang.org/docs/handbook/intro.html). ## **Programming language – TypeScript** During the workshop, you will need to work on your laptop, therefore please make sure you instal the following: - Git (and graphic client, if needed) to clone the repo or one of its forks, - NodeJs, an LTS version of the 16.x or 18.x series, - Yarn, a version of the 1.22.x series, - an IDE, such as WebStorm, or an editor like Sublime, Visual Studio Code, Vim or Emacs, with their plugin/language server protocol installed. **Categories:** On demand --- ### [Adaptive Organisation Design with LEGO® SERIOUS PLAY® Master Class](https://www.avanscoperta.it/it/training/adaptive-organisation-design-with-lego-serious-play-master-class/) **Published:** January 19, 2018 **Author:** Alessandra Granaudo **Excerpt:** Learn what an Adaptive Organisation really is, why and when it is a good thing to pursue it and what are the principles behind it. Dive into the nitty-gritty of how on Earth it is possible to realize such an organisation! **Content:** There is a growing interest in organisations that are able to cope with increasing amounts of unrelenting change, while keeping a clear strategic direction. Achieving this is not a matter of bringing some more “agility” to the existing organisation at any scale. In fact, it is about understanding and implementing a completely **new concept of the organisation itself**. It is about putting the real system and the formal system in the right order of priorities, stop trying to fit the territory into our ideal map, and telling people they have to adapt to the organisational structure as it is “designed”. Here lies one of the most compelling revolutions we’re undergoing globally: we’re devising organisations that allow people to arrange the way they work together according to the needs of the situation and having the formal system adhere to the real one. In any given moment, the real structure is reflected by the formal one. And this is key for the maximum expressions of our ancient capability of dealing with complexity and variability as a unique whole. Having the formal structure as a dynamic support instead of a burden in our way. Making this possible is what **Adaptive Organisation Design** is all about. ##### About the workshop In this Master Class we’ll literally play with this concept, in order to deeply understand it, building it up so to be concrete and applicable in our professional lives. And we are going to achieve this using a very special tool: [**LEGO® SERIOUS PLAY®**](https://www.lego.com/en-us/themes/serious-play/background) . This method is built upon a process which stems from the heart of LEGO® system, and embeds decades of studies in the fields of cognitive sciences, neurobiology, management, strategy and more. Rather than drawing organization charts or even organigraphs, imagine bringing the new organization to life in 3 dimensional ways. Imagine having a tool that enables people to envision their organizations in creative and radically new ways, allowing for the integration of rational thinking, intuition and emotions. ##### Program The workshop will last **two days**, unfolding in two phases. ###### Phase 1 **What and Why**. Exploring and understanding what an **Adaptive Organisation really is**, why and when it is a good thing to pursue it and what are the principles behind it. ###### Phase 2 **How**. Diving into the nitty-gritty of **how on Earth it is possible to realize such an organisation**, both from the human system perspective and from the organisation designer intervention perspective. In the first phase we’ll use all the s**even application techniques of LEGO® SERIOUS PLAY®**, offering a broad and complete overview of its power and in this specific domain. ###### Topics - Co-creation and the usage of full human potential - Complex adaptive systems - Evolution of human systems - Strategic inclusion of unknown unknowns - The usage of narratives, metaphors and brain-hand connection in design - Unconscious knowledge and its usage in organisational design - The LEGO® Serious Play® method - Co-design process for adaptive organisations. ##### What will you learn - Who, why and how to involve in the design process - What and “adaptive organisation” really is - How to design for adaptiveness - How to integrate LEGO® Serious Play® in an organisational design process - How to craft and ask questions in the deep research of needs, desires and fears of the people in an organisation - How to cocreate adaptive organisations, to lay foundation for their excellent execution and navigate change in real time. All in all, you will develop capabilities needed for engaging both your imagination and your intellect in approaching the setup of Adaptive Organisations with increased confidence, commitment and understanding. ##### Target Audience **Who is the perfect fit for this workshop?** - Entrepreneurs - CEOs and General Managers - VPs of Strategy and/or Marketing - Heads of Division/Unit - HR Directors - Innovation Officers - Org Designers and Org Developers - Service Designers. ###### FAQ *In which language will the workshop be?* The workshop will be held in **English**. ##### N.B. **The workshop is confirmed. :-)** Coffee breaks and lunches with the trainer and the other attendees are also included in this ticket… because networking matters. :) Questions? Drop us a line: info@avanscoperta.it **Categories:** A calendario **Tags:** Adaptive Organisation Design, Agile Software Development, Business Strategy, Entrepreneurship, Lego Serious Play --- ### [Practical Machine Learning with Functional Programming Workshop](https://www.avanscoperta.it/en/training/practical-machine-learning-with-functional-programming-workshop/) **Published:** November 9, 2017 **Author:** Enrico Meloni **Excerpt:** Two day hands-on workshop to learn how to write effective F# code and use Machine Learning to solve real-world problems. Expect lots of coding on fun challenges! **Content:** ## Course abstract If you are curious about what Machine Learning is about, and want to sharpen your developer skills, come with your laptop and… **let’s hack together**! In this workshop with Mathias Brandewinder, you will be working on **real-world datasets**, applying a variety of **machine learning techniques**, using **a functional programming approach**. In the process, you will gradually learn simple but fundamental and widely applicable machine learning ideas, and develop a sense for **what it means to “do machine learning”**, and how it is similar and different from writing “normal” code. Rather than taking an abstract mathematical view of machine learning or jump straight into frameworks, **we will implement together a selection of classic prediction algorithms**, across datasets illustrating different practical problems you will encounter. By coding things from the ground up, **you will develop an intuition for how things actually work inside the black box**, what types of techniques are available and the problems they are suitable for, and some of the potential issues you need to watch out for. And, as we work our way through different problems, **you will be gradually introduced to F# and functional techniques** and how they are helpful. Beyond F#, many of the ideas presented are applicable to other languages, functional or not… come along if you want to deep dive on Machine Learning! ## Program - We will **explore a variety of problems**, using 4 different datasets, looking at questions such as automatically recognizing what number is in a picture, detecting what language a piece of text is written in, predicting usage of a service for a particular day using historical data, or (perhaps the most important one) whether a wine is any good, based on its chemical profile. Each dataset covers common different situations you might encounter: **numerical and categorical inputs, and text**, to a lesser extent, because natural language processing is a very large topic all by itself. - We will **cover a wide range of techniques**, to establish a good understanding for the overall machine learning landscape: what tools exist, what problems they are useful for, and simply what they are called – searching for things when you don’t know what they are called is hard! Specifically, we will present **classification and regression prediction techniques** (k nearest neighbors, perceptron/logistic regression, decision trees and random forests, classic regression), and **unsupervised techniques** that are useful to **extract information from larger datasets** (k-means clustering, principal components analysis). - We will **discuss** **neural networks**, but only at a high level. - We will **emphasize primarily simple techniques** that are broadly applicable. Rather than jumping directly into libraries, **we will program algorithms from the ground up**, using code as a vehicle to explore mathematical ideas in an interactive and concrete way, and build an intuitive understanding of how things work. In the process, we will see that the fundamental ideas are less complicated than they appear, and that seemingly quite different problems and techniques are in the end quite similar. - We will **code** **everything in F#**, in the scripting environment (we will use the Code editor, but any other IDE or editor running F# should do). Each problem is designed to be **F# beginner friendly** and uses interactive scripts where language concepts and syntax are progressively introduced, in the context of the problem at hand. - In the process, you **will learn how functional programming techniques can be used** to great effect for data manipulation and exploration, from reading data with type providers to reshaping it with pipes and filters, and more. **Beyond F#, many of the ideas presented are applicable to other languages, functional or not**. **Machine learning** and **regular development** both involve writing code, but are subtly different. Throughout the workshop, we will highlight these differences, and share **practical tips on what to look out for**, and emphasize setting up a **workflow** / **methodology** to enable reliable feedback and avoid common pitfalls. ## What you will learn By the end of the workshop, you will… - Understand the language used in machine learning discussions - Know how to search for **tools to solve your issues**, and evaluate them - Be comfortable using F# scripts to explore and **manipulate data** - Setup **machine learning experiments** to iteratively build prediction models - Have picked up new ideas that will make you look at code differently - Have had quite a bit of **fun hacking at code together**! **Categories:** Scheduled **Tags:** F#, Functional Programming, Machine Learning --- ### [User Research Workshop: l’intervista narrativa in profondità](https://www.avanscoperta.it/it/training/user-research-workshop-intervista-narrativa-in-profondita/) **Published:** February 1, 2017 **Author:** Raffaele Boiano **Excerpt:** Obiettivo: rendere un team di lavoro autonomo nel progettare una ricerca basata sulla tecnica specifica dell’intervista narrativa in profondità. **Content:** *Un corso che va diritto al cuore di una tecnica utile ma non facile da maneggiare. Ben bilanciato tra inquadramento teorico snello ed esempi pratici che fanno davvero capire quando ricorrere all’intervista narrativa, come prepararla e quali errori evitare. **Valentina Gabusi – Zanichelli Editore*** Fare ricerca è un’attività imprescindibile se si vuole fare *design* **centrato sulle persone**. Saper **progettare**, **condurre** e **analizzare una ricerca** sono competenze specifiche e senza esperienza diretta anche le tecniche apparentemente più semplici, come l’**intervista** e l’**osservazione**, possono diventare inutili strumenti di raccolta di dati per il nostro processo di design. L’**obiettivo di questo workshop** è rendere i partecipanti autonomi nel progettare una ricerca basata su una specifica tecnica**: l’intervista narrativa** **in profondità**. ##### Come si svolge Il workshop è orientato a conoscere e mettere in pratica la **tecnica dell’intervista individuale,** non strutturata o semi-strutturata, ma in **profondità**, con taglio narrativo, finalizzata a indagare motivazioni, credenze, atteggiamenti, significati/simboli, valori e l’ambito della loro produzione/elaborazione: il vissuto temporale. Durante la giornata si alterneranno una **parte teorica**, in cui verrano esposti dei contenuti (30% del tempo) e una **parte di lavoro operativo**, dove i partecipanti, divisi in team, lavoreranno simulando di essere un **team di ricerca impegnato in un progetto cliente**. ##### Programma L’**intervista è una famiglia di tecniche** che nel tempo ha conquistato svariati ambiti di applicazione in base a diversi scopi: giornalistico, terapeutico, selettivo, istruttivo, sociologico etc. Sin dalla nascita genitori, insegnanti, medici, datori di lavoro, pubblici ufficiali ci pongono domande in una situazione di asimmetria relazionale. L’ampia diffusione dell’intervista come strumento di raccolta di informazioni si basa sull’assunto ingenuo che parlare equivalga a comunicare. Una delle definizioni più diffuse di intervista risale al 1924, quando Bingham e Moore parlarono dell’intervista come di una *conversation with a purpose*. Tale conversazione è suscitata dall’intervistatore, che persegue un suo **specifico obiettivo conoscitivo**: è lui a porre domande cui l’intervistato deve rispondere, in maniera più o meno libera. L**’intervista narrativa è un tipo specifico di intervista in profondità** perché ne condivide i tratti di bassa strutturazione e standardizzazione. Ha l’obiettivo di sollecitare storie sull’esperienza degli intervistati, storie relative all’intero percorso biografico o ad un aspetto più specifico. ###### ARGOMENTI **1)** **Affrontare il progetto di ricerca**: - dedurre gli obiettivi cognitivi - individuare la research question - stabilire ipotesi e focus - preparazione e review della traccia. **2)** **Gestire la situazione d’intervista**: - scrivere il preambolo - evitare gli errori più comuni nella conduzione dell’intervista - adottare tecniche di probing. **3)** **Trasformare l’intervista in valore attraverso l’analisi**: - tecniche di peer review - individuare fabula e intreccio - topic cluster - actionable insights - produrre un report d’intervista. ###### IMPAREREMO - A preparare una **ricerca basata su interviste**. - A condurre delle **interviste one-to-one in profondità con taglio narrativo**. - Ad **analizzare i dati di ricerca**. ##### A chi si rivolge La tecnica delle interviste narrative in profondità può essere utilizzata nel concreto da **visual designer**, **sviluppatori**, **ricercatori**, **architetti dell’informazione** sia in contesti professionali sia aziendali. È un workshop adatto a tutte quelle figure professionali che almeno una volta nella vita hanno pensato che fosse giusto capire il punto di vista degli altri, soprattutto di coloro ai quali sono indirizzati i loro prodotti e servizi. È rivolto a tutti coloro che vogliono imparare a mettere in pratica questa tecnica in un contesto di **progettazione centrata sulle persone**. ###### PREREQUISITI Non sono previsti particolari prerequisiti per la partecipazione al corso. ##### FAQ È un corso per principianti o per esperti? *È un corso di livello intermedio.* Devo portare il mio laptop? *Puoi ma non è necessario ai fini del workshop*. ##### Approfondimenti Leggi l’intervista a Raffaele Boiano sul nostro blog: *[Cosa si intende con User Research, User Experience e User Interface Design?](https://blog.avanscoperta.it/it/2018/05/08/user-research-user-experience-e-user-interface-design-facciamo-chiarezza/)* ##### N.B. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A calendario **Tags:** User Experience Design, User Research, UX --- ### [Kubernetes: from DevOps practices to the Cloud-Native stack](https://www.avanscoperta.it/it/training/kubernetes-from-devops-practices-to-the-cloud-native-stack/) **Published:** June 21, 2018 **Author:** Enrico Meloni **Excerpt:** Discover the general concepts of DevOps practices and methodologies and deep dive into the philosophy behind Kubernetes, Containers and the whole Cloud-Native stack in this two day hands-on workshop. **Content:** *«Cloud-Native is about structuring teams, culture and technology to utilize automation and architectures to manage complexity and unlock velocity.» **Joe Beda*** What is the deal with **DevOps** and what is happening in the infrastructure world with this whole **containers** and **Kubernetes** excitement? How can you **deploy a microservices architecture on Kubernetes**? What are the benefits of containers? How does this fit with your current application and processes, and what are you going to achieve? What are the downsides and what are costs? We are going to answer to these and many more questions during this **hands-on workshop** with Jacopo Nardiello. We will go through the general concepts behind DevOps practices and methodologies and focus on **Containers, Kubernetes and the whole Cloud-Native stack**. ## Program During this hands-on Kubernetes course, we’ll have a comprehensive discussion about DevOps methodologies and a deep dive into Kubernetes, Containers and the whole Cloud Native stack. We will see how these technologies are changing the world of infrastructure management, how they affect application development and why they **increase efficiency** and **enhance velocity**. We’ll also explore what is happening under-the-hood and **how to handle the complexity these tools introduce**. ### TOPICS - DevOps: understanding **how engineering, tools and methodologies** fit all together to **achieve a common goal** - Cloud-Native infrastructures, containers and orchestrators: how **immutable infrastructures** are changing the world of operations and development - **Kubernetes** fundamentals - From dev to prod: How containers enhance your **CI/CD delivery pipelines** - How to **deploy a real-world microservices application on Kubernetes** - What does “**Production Ready**” really means with **Cloud-Native** technologies - Distributed Monitoring, Logging, Autoscaling and Secrets management in the ephemeral world of containers - **The Kubernetes architecture**: an overview on the internals to understand how it works and what are the challenges. [![](https://www.avanscoperta.it/wp-content/uploads/2018/06/kubernetes-course.jpg)](https://www.avanscoperta.it/wp-content/uploads/2018/06/kubernetes-course.jpg) ## What you will learn - Learn how to use **Kubernetes**, its core concepts as well as its advanced ones. We’ll explore Kubernetes from zero to hero. And most importantly we’ll answer the question: **how does Kubernetes help you being more Agile?** - Explore how to implement the so-called “DevOps methodologies” leaving home all bullshit and empty buzzwords: **how do you build a CI delivery pipeline**? Aka the nephew of all CI/CD pipelines you’d end up having if you had a fulltime DevOps person working on your project for months - Once all these things are clear, what does it mean “being able to **use them in production**”? What are the challenges you have to face when things get serious? Let’s talk about: **monitoring**, **logging**, **autoscaling** and **security/secrets management**. **Categories:** A calendario **Tags:** Cloud computing, Cloud Native, DevOps, Docker, Kubernetes, Microservices --- ### [Platform Design Master Class](https://www.avanscoperta.it/it/training/platform-design-con-simone-cicero/) **Published:** April 27, 2016 **Author:** Simone Cicero **Excerpt:** Scopri il Platform Design Toolkit, costruisci la tua visione strategica, prepara il piano di esecuzione per validare la tua idea di piattaforma e testarla con la prototipazione lean. **Content:** *Le piattaforme stanno trasformando i mercati e dominano il business del 21° secolo: dai giganti storici come come Google, Apple, Amazon o Salesforce ai nuovi entrati come Uber e Airbnb, che in pochi anni hanno trasformato i loro mercati di riferimento.* #### Cos’è una *piattaforma*? Una piattaforma consente di connettere utenti e aziende all’interno di un ecosistema. La *strategia piattaforma* è la via migliore oggi per le aziende di ottenere una crescita organica e conquistare posizioni di riferimento in uno specifico mercato. I numeri dimostrano che le *strategie piattaforma* generano risultati eccezionali e permettono alle organizzazioni di rispondere alle crescenti necessità di personalizzazione dei propri clienti efficacemente e con costi sostenibili. Creare una *strategia piattaforma* può aiutare startup e grandi imprese a creare nuovi prodotti e servizi **investendo meno** e facendo leva sulle energie e sulle risorse nell’ecosistema. Tuttavia, grazie a questo approccio è anche possibile ripensare processi esistenti e interni all’organizzazione come l’HR o l’innovazione o ridisegnare interamente l’organizzazione stessa seguendo questi principi. Anche no-profit e istituzioni pubbliche stanno usando le strategie piattaforma per mobilitare i loro utenti e creare maggiore valore con minore costo, generando soluzioni personalizzate ed efficaci per le loro comunità di riferimento. Descrizione **Platform Design Master Class** è un workshop formativo e strategico: in due giorni imparerai – autonomamente o in team – a usare il [Platform Design Toolkit](https://platformdesigntoolkit.com/), il set di strumenti più completo per la progettazione di piattaforme (usato da migliaia di praticanti in tutto il mondo), applicandolo direttamente al tuo prodotto, processo, servizio, alla tua idea di startup o per “esplorare” un mercato che ti sta a cuore. Dopo aver costruito la tua ***visione strategica***, ti aiuteremo a preparare un **piano di esecuzione** per validare la tua idea di piattaforma passo passo e testarla tramite un approccio di **prototipazione lean**: eviterai sbagli e sprechi, e ti aiuteremo a arrivare dritto alla tua *Minimum Viable Platform* che verifichi l’*appeal* della piattaforma per il tuo ecosistema di riferimento. Ti prepareremo a crescere! Questi due giorni **ti** **salveranno da investimenti sbagliati e spese sprecate** e ti porteranno da zero ad avere un chiaro piano di esecuzione per i prossimi mesi. ##### **Programma** **Comprendere il proprio ecosistema di riferimento** La prima fase del workshop ti aiuterà a comprendere meglio il tuo mercato di riferimento, mappare tutti i ruoli disponibili per gli attori dell’ecosistema e le motivazioni che essi hanno nello scambiarsi valore attraverso la tua piattaforma: imparerai come motivare tutti a aderire e a partecipare, facendo leva su incentivi chiari e azionabili. **Creare un prototipo di modello di piattaforma** Creeremo una visione chiara di come la tua piattaforma fornirà i canali per le transazioni e una serie di servizi abilitanti all’ecosistema: così facendo la piattaforma creerà un vantaggio speciale per i partecipanti e darà loro opportunità di crescita esponenziale. **Preparare la validazione, la prototipazione e la crescita** Ti aiuteremo a priorizzare le *features* e gli *stakeholder* chiave della piattaforma e imposteremo i metodi più efficaci di validazione della tua strategia. Creeremo un piano chiaro di validazione e prototipazione e studieremo le prime possibili strategie di *growth hacking* per far crescere l’adozione della tua strategia di piattaforma nel tuo ecosistema di riferimento. ###### **Argomenti 1° giorno** Daremo un’introduzione di contesto al tema, parleremo dei fattori abilitanti tecnologici e sociali che hanno generato la rivoluzione delle piattaforme. Utilizzeremo strumenti pratici di progettazione come i **Canvas** che fanno parte del ***Platform Design Toolkit*** in parallelo con informazioni chiave sui trend e sulle innovazioni tecnologiche. ###### **Argomenti 2° giorno** Vedremo come i concetti chiave della validazione e prototipazione lean si adattano al contesto delle piattaforme multi lato e **useremo dei Canvas speciali** per il setup delle **attività di validazione e verifica** delle ipotesi chiave. Nota: Se non hai un progetto di piattaforma, utilizzeremo un mercato da esplorare, una piattaforma esistente o una di finzione negli esercizi di modellazione**.** **Inoltre Simone sarà a disposizione prima del corso per aiutarti a identificare il tuo *project work* in maniera tale da massimizzare l’apprendimento e i risultati operativi.** ##### ***Cosa imparerai in questo workshop*** In due giorni imparerai a: - riconoscere le **entità e i ruoli principali** in ogni ecosistema che nasce attorno una potenziale piattaforma - progettare **canali per monetizzare transazioni** e aiutare la comunità-ecosistema a produrre e scambiare valore dentro la piattaforma - creare un **sistema di servizi di supporto** per l’ecosistema che aiutino i partecipanti a migliorare le loro performance e creare nuove opportunità - **impostare un piano di validazione e prototipazione** passo-passo che permetta di sprecare meno risorse possibile nella realizzazione del primo prototipo di piattaforma - far **crescere la piattaforma** utilizzando le possibili strategie di crescita - utilizzare uno strumento pratico e aperto (in *Creative Commons*) che potrai usare decine di volte nella tua attività professionale. [![platform toolkit ecosystem](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform_toolkit_ecosystem.png)](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform_toolkit_ecosystem.png) ##### **Expect to get your hands dirty** Il *Platform Design Master Class* è basato su un **20%** di contenuti trasferiti dal docente-facilitatore in brevi pillole – istruzioni e riflessioni – e un **80%** di lavoro sul proprio project-work. Il docente adotta un modello basato su cicli ricorrenti di briefing-esercizio-riflessione che ti aiuteranno a fissare le nuove capacità facilmente nel tuo bagaglio di competenze. Sarà possibile lavorare in team (il lavoro di gruppo è caldamente consigliato), in singolo o anche trovare un “partner” all’inizio della Master Class. Ci saranno molti momenti dove – qualora non ci siano vincoli di segretezza nel progetto che portate alla Master Class – scambieremo idee e punti di vista con il docente e i partecipanti, arricchendo enormemente la vostra esperienza di apprendimento e design. [![platform master class working](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform-master-class-working-300x212.png)](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform-master-class-working.png) [![platform master class work](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform-master-class-work-300x212.png)](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform-master-class-work.png) [![platform master class works](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform-master-class-works-300x212.png)](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform-master-class-works.png) [![platform design vworkshop avanscoperta simone-cicero](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform-design-workshop-avanscoperta-simone-cicero-e1497026230904-300x212.jpg)](https://www.avanscoperta.it/wp-content/uploads/2016/04/platform-design-workshop-avanscoperta-simone-cicero-e1497026230904.jpg) ##### **A chi si rivolge questo corso** Il workshop è strutturato e pensato per: - Manager che si occupano giornalmente di innovazione nelle grandi e piccole aziende, che devono creare nuovi prodotti e devono fare i conti con budget e capacità di investimento ristrette - Startupper che, da soli o in team, vogliono lavorare per creare la loro ipotesi di prodotto e mercato e poi iniziare rapidamente la validazione - Creativi, Designer e Consulenti che vogliono imparare a padroneggiare un set di strumenti di design semplici da applicare, ed efficaci per progettare soluzioni al passo coi tempi - Gestori di comunità di innovazione e di prodotto servizio – dalle piattaforme digitali agi spazi collaborativi come incubatori, makerspace, coworking - Funzionari pubblici e imprenditori sociali che vogliono capire come aumentare l’impatto sociale dei servizi collaborativi con minori investimenti. ###### ***FAQ*** ***Ho già seguito il workshop di un giorno, perché dovrei seguire la Master Class di 2 giorni?*** Sarà per te una buona opportunità per ritornare a affrontare – magari con una nuova idea o progetto – la fase di progettazione, arricchita dai feedback che Simone ha raccolto in giro per l’Europa, oppure semplicemente di partecipare al secondo giorno, per capire come mettere in pratica una strategia esecutiva di validazione e prototipazione: insomma, per passare all’azione! ***Come devo prepararmi per il corso?*** Invieremo ai partecipanti, circa due settimane prima del corso, una serie di link di approfondimento che non saranno tuttavia necessari alla fruttuosa partecipazione al corso. Il miglior modo di prepararsi è di scegliere e affinare un’idea di piattaforma che si vuole accelerare durante il corso anche con il supporto preventivo del docente. ***È un corso per principianti o per esperti?*** Questo corso tratta una materia avanzata – la creazione di nuovi prodotti e servizi o il ripensamento delle organizzazioni – ma lo fa in maniera pratica e lasciando al partecipante gli strumenti e i riferimenti per usarli: è dunque un corso per partecipanti che comprendano il contesto ma non è richiesta alcuna conoscenza pregressa sul tema delle piattaforme, dell’innovazione o del design. ##### Approfondimenti Per comprendere meglio le opportunità dietro il Platform Design, [**scarica il White Paper gratuito**](https://platformdesigntoolkit.com/platform-design-whitepaper/ "White Paper Platform Design") sponsorizzato da SWIFT Innotribe, il team di innovazione di uno tra i più importanti player della finanza globale. [Guarda il video](https://www.youtube.com/watch?v=7hJeq0LlOPo) con Simone Cicero o leggi l’[intervista](https://blog.avanscoperta.it/it/2016/05/12/intervista-a-simone-cicero/) a Simone Cicero. ##### N.B. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A calendario **Tags:** Business Model Canvas, lean startup, Lean Thinking, Platform Design, Platform Economy, Startup --- ### [Agile Contracts](https://www.avanscoperta.it/it/training/agile-contracts/) **Published:** May 24, 2017 **Author:** Alessandra Granaudo **Content:** Vai a [Extreme Contracts Workshop](https://www.avanscoperta.it/it/training/extreme-contracts-con-jacopo-romei/), il nuovo corso di 2 giorni con Jacopo Romei! *Patti chiari, amicizia lunga*, dice il detto. Ma è chiaro a tutti cosa significhi *patti chiari*? C’è proprio bisogno di un patto? E quanto deve essere lunga quell’amicizia? Stabilire un **regime di collaborazione tra parti interessate** ad uno stesso lavoro può essere molto difficile e raramente si riesce a massimizzare il valore delle collaborazioni sancite da un accordo formale. Questo workshop di una giornata è dedicato a uno dei temi più spinosi del management: i **contratti**. I contratti usati nel mondo del lavoro sono sempre gli stessi e sono sempre inadatti ad incentivare un regime di onesta collaborazione tra le parti. Quasi sempre! Nel mondo dello sviluppo software, questo dolore è più acuto: un **contratto di sviluppo software** finisce quasi invariabilmente per penalizzare una delle due parti in causa. Capire quali siano gli assi su cui **modulare le proprie offerte professionali** è la chiave per lasciare il campo aperto al fiorire di ottime collaborazioni, proficue sia per il consulente che per il cliente, sia per il datore di lavoro che per il dipendente. ##### Programma corso Contratti Agili **Il workshop sarà strutturato in 3 parti:** – analisi dei **contratti tradizionali** e delle loro disfunzionalità – individuazione di **formule contrattuali “win win”** sia nella consulenza sia nel lavoro dipendente – esposizione di un **metodo generale per negoziare** correttamente qualsiasi accordo professionale Ognuna delle tre parti vedrà l’alternarsi di **sessioni frontali** di spiegazione e di **momenti di gioco** serio pensati a volte per dimostrare, a volte per introdurre i concetti spiegati. [![Corso contratti agili Jacopo Romei](https://www.avanscoperta.it/wp-content/uploads/2015/03/contratti-agili-corso1.jpg)](https://www.avanscoperta.it/wp-content/uploads/2015/03/contratti-agili-corso1.jpg) ###### COSA IMPAREREMO - **Scrivere contratti** che permettano il rilascio incrementale ed iterativo di valore - Come **stipulare un contratto** sia diverso dallo stabilire una collaborazione proficua - Come il tipo di contratto siglato formalmente possa influenzare lo svolgimento di tutta l’**attività operativa** susseguente - Come **separare le persone dalle posizioni** da loro tenute durante una negoziazione - Come spostare ulteriormente l’attenzione dalle rispettive posizioni all’interesse di ciascuna parte - Come contrapporre una mentalità empirica e pragmatica ad una speculativa nella **strutturazione di un rapporto** di collaborazione - Come disinnescare interlocutori poco equi o come creare le condizioni per uscire da una **negoziazione** in modo pulito - La relazione fra il Manifesto Agile, il Lean Thinking e l’Harvard Negotiation Project - Come applicare il **design thinking** alla scrittura di contratti ##### A chi si rivolge Il workshop è pensato per **professionisti** e **consulenti** di varia natura: designer, architetti, sviluppatori software, manager e per tutti coloro che vogliono migliorare la consapevolezza di cosa avviene davvero durante la negoziazione di un accordo, affilare le proprie armi durante la stipula di un contratto e garantire a sé e alla propria controparte la serenità di una collaborazione proficua. ##### Approfondimento [Leggi il Q&A](https://blog.avanscoperta.it/it/2016/02/25/contratti-agili-punta-dritto-alla-buona-collaborazione/ "Contratti agili. Negoziazione") con Jacopo Romei. [Foto Agile Contracts workshop](https://www.flickr.com/photos/136649367@N08/albums/72157663493453259/with/24753109185/ "Contratti Agili corso") edizioni precedenti. **Categories:** A calendario **Tags:** Agile Contracts, Agile Software Development, Antifragile, Extreme Contracts, Negoziazione --- ### [Adaptive Career Design Workshop](https://www.avanscoperta.it/it/training/adaptive-career-design-workshop/) **Published:** February 2, 2018 **Author:** Alessandra Granaudo **Excerpt:** Un workshop per esprimere, riconoscere e valorizzare il talento sul lavoro. Impara a prendere decisioni su ruoli e carriera più coerenti con le aspirazioni, il talento e il contributo che ognuno può dare al lavoro in team. **Content:** **Un workshop per imparare a prendere decisioni su ruoli e carriera più coerenti con le aspirazioni, il talento e il contributo che ognuno può dare al lavoro in team.** La carriera può essere considerata un processo evolutivo, che richiede e promuove un feedback costante al fine di sviluppare talento e abilità. L’**Adaptive Career Design Workshop** si rivolge a tutti coloro che sono coinvolti nella gestione delle risorse umane o nella promozione della cultura aziendale, ma anche a coloro che vogliono mettersi in gioco e riconsiderare il proprio percorso di carriera. Come? Sperimentando in prima persona e in modo esperienziale una modalità operativa che favorisce il confronto e la collaborazione per **far evolvere il proprio talento** ##### Programma L’Adaptive Career Design Workshop ha lo scopo di far emergere i propri punti di forza, le aree di miglioramento, le intenzioni verso il gruppo e le richieste/bisogni per poter **valorizzare il proprio talento** e dare seguito alle aspirazioni, in modo cooperativo. Il workshop è focalizzato sulla trasparenza e la motivazione ed è stato progettato per facilitare supporto e impegno reciproco verso **percorsi di sviluppo e carriera**. Durante il workshop useremo il **Talent Canvas**, che comprende una serie di strumenti sviluppati e utilizzati in molte aziende da Marco e Luca, per facilitare la **progettazione collaborativa del proprio ruolo in un team** e della carriera in generale. Il Talent Canvas può quindi essere applicato, sia a livello organizzativo che personale, per supportare assunzioni, promozione della carriera, gestione dei talenti e transizioni di ruoli. ###### Argomenti - Cos’è il talento? - Le performance: individuali e di team - Il feedback: come darlo e come interpretare quello che riceviamo - Il talent canvas: uno strumento di facilitazione - Interviste e conversazioni di sviluppo del potenziale riprogettare le organizzazioni sui talenti. ###### Cosa imparerai in questo workshop - Adottare una nuova visione di talento, motivazione e performance - Imparare ad utilizzare il Talent Canvas come conversation tool nelle organizzazioni e nei gruppi di lavoro - Sperimentare in prima persona il Talent Canvas con strumento per coltivare e sviluppare la propria carriera - Supportare con una nuova prospettiva le persone coinvolte nelle organizzazioni per la crescita e la valorizzazione del loro talento - Imparare a dare e ricevere feedback per cooperare e far evolvere il talento e la carriera. ##### Agenda **Prima del workshop**: warm-up via email. **Mattina**: - check-in e aspettative - condivisione dei contenuti di warm-up - impariamo qualcosa sul talento e sulle performance - perché progettare le conversazioni? **Pomeriggio**: - facciamolo: esperienze a coppie - condivisione dei risultati - progettiamo l’evoluzione della nostra carriera check-out. **1 mese dopo**: video call tra partecipanti per follow-up e supporto sulle azioni. ##### A chi si rivolge Il workshop si rivolge a chiunque abbia la volontà o la necessità di valorizzare maggiormente il contributo delle persone e di **promuovere il talento nel proprio gruppo ed organizzazione**. Allo stesso tempo potranno trarne vantaggio tutti coloro che sono interessati a far **evolvere il proprio percorso di carriera professionale**. - HR / People and Culture Managers - Recruiters, HR teams - Imprenditori - Startup founders e teams - Coaches - Agenti del cambiamento - Facilitatori - Culture hackers. ##### Approfondimenti Leggi la nostra intervista con Luca Bergero e Marco Calzolari “[Talent Canvas: Rivoluzione Agile nel mondo HR](https://blog.avanscoperta.it/it/2018/04/04/talent-canvas-rivoluzione-agile-nel-mondo-hr/)“! ##### N.B. Il corso sarà confermato solo al raggiungimento del numero minimo di partecipanti. Invieremo una comunicazione con la conferma del corso agli iscritti al più tardi tre settimane prima del corso. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: **info@avanscoperta.it** **Categories:** A calendario **Tags:** Adaptive Career Design, HR, Soft Skills, Talent Canvas, Talento in azienda --- ### [Risk Management for Freelancers Workshop](https://www.avanscoperta.it/en/training/risk-management-for-freelancers-workshop/) **Published:** June 10, 2020 **Author:** Enrico Meloni **Excerpt:** Let's learn how to eliminate the most common risks of working as a freelancer while creating new opportunities, and being more satisfied at work: techniques and approaches you can start applying from day one. **Content:** *When we say we’re freelancers, people usually have two kinds of reactions: either they envy us, or they feel sorry for us.* *The former sees us like incautious adventurers ready for any type of risk, pyrates facing all types of bad weather life can throw at us. The latter believe we’ll be miserable in the old age since we’re living without the paternal protection of a company.* *What they don’t know is that a freelancer can eliminate the classic risks connected to this type of work and, in turn, s/he can transform a thousand threats in a thousand opportunities!* In this online workshop, “Risk Management for Freelancers” with Jacopo Romei, we’ll be putting the concept of risk within a rational framework, we’ll understand the effects this concept has on freelancers (even the emotional one), and we’ll learn how to face it and, even better, how to eliminate it! ## Target Audience - Freelancers who end up being involved in ugly projects too often - Professionals who sell their services based on time units: per hour, per day, etc. - Freelancers who spend too much time with one client only - Employees who would like to go solo and they’re afraid to lose their guarantees - Independent professionals who find it difficult to liaise with other professionals - Freelancers who don’t know if a partner will be worth the money invested. ## Topics - Tools to weight the merit in each collaboration - Techniques for money allocation upon the completion of a job - Negotiating agreements based on the job and not on the effort - Real cases of negotiation - Antifragility and risk in the transition towards a new career as freelancer - The role of demand and conversion rate in the career of a freelancer - Myths to dispel and suggestions about welfare for freelancers. ## Program During this workshop with Jacopo, we’ll explore some techniques to reduce the most common risks of freelance work, as well as some real examples from Jacopo’s experience, with the aim of learning how to work stress-free and earn more. We’ll try to understand the underlying principles of some operational decisions in order to be able to translate these decisions into the specific context of each professional. This way we’ll find some solutions that can work for everyone, and not ready-to-go recipes. Each topic will have the same objective: being able to work stress-free at last and therefore to work with more satisfaction. ## Agenda We’ll aim at covering as many topics as possible throughout the two modules, and we’ll do so by taking a generalist approach that can suit different types of freelancers with different skill sets. Practical activities and simulations will be predominant, whilst slides and presentations will be kept at a minimum. ### First session - Extreme Contracts and value-oriented contracts - Evaluation of the merits and recognition of the merit in each collaboration. ### Second session - Antifragile business and elements of fragility in the knowledge work. ## Learning Objectives Here’s the 5 key takeaways of this workshop: - Negotiating agreements with the clients based on the value and not on the effort - Negotiating agreements with the partners based on the value and not on the effort - Being able to switch from “employee” to “self-employed” without this necessarily being a jump into the void - Understanding and rationalising the concept of risk despite the cognitive distortions typical of the human’s way of reasoning - Acknowledging the value of emotions as a starting point to identify the hypothesis of risk. ## Why you shouldn’t miss it At the end of the workshop, you’ll be able to work autonomously on new projects by taking the responsibility (and the benefit) to learn from your errors as much as you can. The freelancers who join the workshop will be able to say that their work is of the most robust types around, and they’ll be able to work at their own pace without having to face the risks deriving from the relationship with the client, all of this without the paternal protection of your company. ## Online Workshop – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we require that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! We’ll also explore some more theoretical concepts and ideas, but no prior university-level background is required. The online workshop is based on some principles of the *Training from the Back of the Room* method, meaning that practical activities will be more predominant than lectures and presentations. There will be a few moments of theory and a lot of exercises and practical activities. The learning path will be completed by the interactions with other participants and the trainer’s support. **Categories:** Scheduled **Tags:** Extreme Contracts, Freelancer, Risk Management --- ### [Node.js Workshop](https://www.avanscoperta.it/it/training/node-js-per-sviluppare-applicazioni-enterprise/) **Published:** September 4, 2015 **Author:** Matteo Collina **Excerpt:** Scopri tutti i segreti per lo sviluppo professionale di applicazioni robuste, scalabili e mantenibili, senza rinunciare al “Wow effect” della demo scritta in pochi minuti! **Content:** Node.js consente di produrre codice stabile in tempi brevissimi, facendo tesoro dell’esperienza e delle conseguenze del cambio di paradigma dalle tecnologie precedenti. Affrontare lo sviluppo di un’applicazione Node.js senza comprendere a fondo il cambio di paradigma può ridurre, però, il vantaggio competitivo di una tecnologia così rivoluzionaria. In questo corso con Matteo Collina andremo oltre le conoscenze di base di Node.js, per affrontare insieme i temi alla base dello sviluppo professionale di applicazioni robuste, scalabili e mantenibili, senza rinunciare al “Wow effect” della demo scritta in pochi minuti. Il corso è estremamente interattivo: alterneremo momenti di teoria e pratica a sessioni di Q&A, per rispondere alle domande e approfondire temi di interesse dei partecipanti. La sessione pratica prevede lo sviluppo di un’applicazione Node.js a microservizi. ### Argomenti - **Architettura di un’applicazione Node.js**: cosa non possiamo permetterci di sbagliare, cosa significa realmente sviluppare microservices e… l’ingrediente segreto! (hint: *non è la barba*). - **Up and Running**: un setup robusto è il primo passo verso uno sviluppo rapido e consistente. - Sviluppo applicazioni node con **Fastify**. - **Node.JS in-the-large**. Trasformiamo il nostro prototipo in un’applicazione enterprise. - **Modularizzazione in Node**: non sono *Jar*, non sono *DLL*, non sono *gemme*. Sono un’altra cosa. - **TDD in Node.JS**: strumenti e pratiche per costruire moduli affidabili e robusti. - **Mastering complexity**: ci sono più di 100k moduli pubblicati su NPM, quali fanno al caso nostro? Le strategie di componentizzazione “classiche” vanno riadattate al contesto Node.JS. Scopriamo quale relazione segreta lega la qualità dei moduli alla *lunghezza della barba* dell’autore. - **Just-in-Time enterprise composability**: costruire applicazioni complesse mediante composizione di altri servizi. - **Architetture a microservizi**: dividiamo le nostre API in più servizi e componiamole con un API gateway. ### Perché partecipare? **Node.js** non è solo un fenomeno hipster, ma la tecnologia usata come **veicolo di innovazione** nelle più grandi aziende e organizzazioni del mondo, come The Times, Condé Nast, Paypal, Uber, Walmart e tante altre. È relativamente facile costruire un prototipo di applicazione Node.JS seguendo le indicazioni disponibili in rete. Il difficile è trasformare il prototipo in un’applicazione enterprise *affidabile* e *mantenibile* in produzione. L’**esperienza di Matteo ci permetterà di andare oltre i semplici tutorial**, per costruire software production-ready a partire da una tecnologia che rompe gli schemi tradizionali, ma che richiede un diverso approccio alla progettazione. [![Corso Nodejs Matteo Collina avanscoperta](https://www.avanscoperta.it/wp-content/uploads/2014/11/corso_nodejs_avanscoperta1-e1445605696962.jpg "Nodejs Matteo Collina ")](https://www.avanscoperta.it/wp-content/uploads/2014/11/corso_nodejs_avanscoperta1-e1445605696962.jpg) l Stack **Categories:** A calendario **Tags:** Fastify, Javascript, Microservices, Nodejs, TDD --- ### [Practical Machine Learning with Functional Programming](https://www.avanscoperta.it/it/training/practical-machine-learning-with-functional-programming/) **Published:** November 9, 2017 **Author:** Enrico Meloni **Excerpt:** Two day hands-on workshop to learn how to write effective F# code and use Machine Learning to solve real-world problems. Expect lots of coding on fun challenges! **Content:** ## Course abstract If you are curious about what Machine Learning is about, and want to sharpen your developer skills, come with your laptop and… **let’s hack together**! In this workshop with Mathias Brandewinder, you will be working on **real-world datasets**, applying a variety of **machine learning techniques**, using **a functional programming approach**. In the process, you will gradually learn simple but fundamental and widely applicable machine learning ideas, and develop a sense for **what it means to “do machine learning”**, and how it is similar and different from writing “normal” code. Rather than taking an abstract mathematical view of machine learning or jump straight into frameworks, **we will implement together a selection of classic prediction algorithms**, across datasets illustrating different practical problems you will encounter. By coding things from the ground up, **you will develop an intuition for how things actually work inside the black box**, what types of techniques are available and the problems they are suitable for, and some of the potential issues you need to watch out for. And, as we work our way through different problems, **you will be gradually introduced to F# and functional techniques** and how they are helpful. Beyond F#, many of the ideas presented are applicable to other languages, functional or not… come along if you want to deep dive on Machine Learning! ## Program - We will **explore a variety of problems**, using 4 different datasets, looking at questions such as automatically recognizing what number is in a picture, detecting what language a piece of text is written in, predicting usage of a service for a particular day using historical data, or (perhaps the most important one) whether a wine is any good, based on its chemical profile. Each dataset covers common different situations you might encounter: **numerical and categorical inputs, and text**, to a lesser extent, because natural language processing is a very large topic all by itself. - We will **cover a wide range of techniques**, to establish a good understanding for the overall machine learning landscape: what tools exist, what problems they are useful for, and simply what they are called – searching for things when you don’t know what they are called is hard! Specifically, we will present **classification and regression prediction techniques** (k nearest neighbors, perceptron/logistic regression, decision trees and random forests, classic regression), and **unsupervised techniques** that are useful to **extract information from larger datasets** (k-means clustering, principal components analysis). - We will **discuss** **neural networks**, but only at a high level. - We will **emphasize primarily simple techniques** that are broadly applicable. Rather than jumping directly into libraries, **we will program algorithms from the ground up**, using code as a vehicle to explore mathematical ideas in an interactive and concrete way, and build an intuitive understanding of how things work. In the process, we will see that the fundamental ideas are less complicated than they appear, and that seemingly quite different problems and techniques are in the end quite similar. - We will **code** **everything in F#**, in the scripting environment (we will use the Code editor, but any other IDE or editor running F# should do). Each problem is designed to be **F# beginner friendly** and uses interactive scripts where language concepts and syntax are progressively introduced, in the context of the problem at hand. - In the process, you **will learn how functional programming techniques can be used** to great effect for data manipulation and exploration, from reading data with type providers to reshaping it with pipes and filters, and more. **Beyond F#, many of the ideas presented are applicable to other languages, functional or not**. **Machine learning** and **regular development** both involve writing code, but are subtly different. Throughout the workshop, we will highlight these differences, and share **practical tips on what to look out for**, and emphasize setting up a **workflow** / **methodology** to enable reliable feedback and avoid common pitfalls. ## What you will learn By the end of the workshop, you will… - Understand the language used in machine learning discussions - Know how to search for **tools to solve your issues**, and evaluate them - Be comfortable using F# scripts to explore and **manipulate data** - Setup **machine learning experiments** to iteratively build prediction models - Have picked up new ideas that will make you look at code differently - Have had quite a bit of **fun hacking at code together**! **Categories:** A calendario **Tags:** F#, Functional Programming, Machine Learning --- ### [Microservices Workshop](https://www.avanscoperta.it/it/training/microservices-workshop/) **Published:** May 9, 2017 **Author:** Alessandra Granaudo **Excerpt:** Are you ready to learn how to make your code stand the test of time? Using microservices, this course will teach you how to build software that adapts as fast as your business and requirements do. **Content:** #### Are you ready to learn how to make your code stand the test of time? Change is inevitable and the pace of innovation is increasing all the time. Ever experienced that moment where your heart sinks at the words “We just want you to make this one, small and trivial change…”. If you build software, change is an inevitable force in your life and your ability to react to change can be the difference between a killer product and a last-to-the-post flop. Given that change and speed of software evolution is so critical, why is it that so much software becomes a millstone around yourself and your team’s necks, leaving you dreading the next inevitable change that’s needed? For over 10 years, the focus has been consistently applied to helping us work in a more agile and adaptable fashion, with far less focus on how to create software that thrives in an agile environment. As companies are becoming more and more agile, and we see how they can now adapt in order to innovate and compete faster than their competition, software development teams are being forced to maintain and evolve large, monolithic applications at a pace of change that those architectures were never meant to withstand, let alone embrace! **Microservices** are a new approach to architecting applications that embrace and thrive on change. They are simple, single-purpose, lightweight architectural components that enable you to deliver software faster. The microservice architectural approach also aims to lead to software that thrives on change while at the same time being **secure**, **performant**, and **stable**. ##### Expect to get your hands dirty This hands-on, **extremely practical course** will teach you how and why to design, deploy and manage micro service based architectures. Using microservices, this course will teach you how to build software that adapts as fast as your business and requirements do. - Attendees will practice the design approaches on their own, real, systems - Attendees will have the time to attempt to develop their own microservices, using their own preferred technology stack, applying the patterns discussed - Attendees will be shown a number of canonical examples of how to apply the patterns using Spring Boot/Java/Docker. ##### **What will you learn in this course?** - You will learn **why Antifragile Software is the key to enabling software systems** that thrive on change and enable innovation. - You will learn how to architect, design, build, deploy and manage antifragile software systems **using microservices**. ###### Agenda **Day 1 – Architecture & Design for Simplicity and Antifragility:** - Introducing Antifragile Software and Simplicity - Defining Microservices in term of their Principles, Benefits and Challenges - Understand and explore the forces (stressors) of change on software - Applying Simplicity, with O.R.E. - Architecting and Designing for Software System Evolution with the Life Preserver tool - Organising for concerns and simple components - How to collaborate to discover change stressors on your software system - Organising components for change **Day 2 – Implementing Antifragile Software with Simple Components, Events & Microservices:** - Exploring and Managing change-stressor fault-lines between areas of your system - Designing software bridges that handle change across fault-lines - Applying de-coupling intelligently, balancing flexility and complexity - Applying Request-Response, Messaging and Events - Designing, when to apply and implement Postel’s Law **Day 3 – Deploying, Running, Testing & Managing Antifragile Software with Microservices:** - Extracting components into Microservices - Building, Deploying and Managing Effective Unix-style Microservice Pipelines - Simplifying Microservice Management using Immutable Service Deployments - Designing and Implementing Reactive Microservices - Applying effective health and monitoring for microservices - Designing and Implementing Microservice Failover and Auto-Recovery Strategies using the Circuit Breaker Pattern and Friends - Designing and Implementing for Autonomy with Microservice ‘Cells’ - Enabling Governance and Innovation with Microservices - Enabling Variation and Experimentation in Languages and Frameworks through Microservices - Testing stressors for failure to avoid failure - Testing and Continuous Delivery for Microservices ###### Target Audience This course is ideal for any development team that wants to build software that is designed to be able to adapt. ##### Prerequisites Code examples and exercises will be shown in Java although previous experience with Java is not mandated as many of the key takeaways will be applicable regardless of your choice of language, framework or platform. Russ will be demonstrating some tooling participants can choose to use but primarily participants can use what they usually do to develop and explore the implementation patterns. ###### FAQ *In which language will the workshop be?* The workshop will be held in **English**, however **Alberto Brandolini** will be in the classroom to facilitate discussion whenever needed, to help with translation, and to take visual notes. ##### N.B. Two coffee breaks and lunch with the trainer and the other attendees are also included in this ticket… because networking matters :) Questions? Drop us a line: info@avanscoperta.it ##### Learn more [Read **our Q&A with Russ Miles!**](https://blog.avanscoperta.it/it/2017/10/24/let-there-be-microservices/) Listen to the interview with Russ Miles and Alberto Brandolini: **Categories:** A calendario **Tags:** Antifragile, Continuous Delivery, Microservices, Monolithic architecture, Testing --- ### [Scuola XP: a scuola di sviluppo software](https://www.avanscoperta.it/it/training/scuola-sviluppo-software/) **Published:** February 19, 2015 **Author:** Antonio Carpentieri **Excerpt:** 5 giorni di formazione rivolta a studenti e professionisti per capire come funziona veramente eXtreme Programming e per migliorare il proprio team di lavoro. **Content:** **Un buon team di sviluppo è come una band**: combina le abilità del singolo con le dinamiche di gruppo per realizzare insieme, ogni giorno, qualcosa di speciale. Un buon team di sviluppo può essere incredibilmente performante: risolvendo problemi complessi, costruendo software a prova di bomba o trovando soluzioni alternative che permettono di arrivare allo stesso obiettivo, con un percorso più agevole. Un **eXtreme Programming team** ottiene questi risultati creando un contesto favorevole alla collaborazione, costruendo la fiducia reciproca grazie alla condivisione di principi, metodi e pratiche di buona programmazione, quali **pair programming**, **test-driven development**, **continuous integration** e non solo. ##### Tutto in 5 giorni Vogliamo permettere anche a chi si affaccia per la prima volta al mondo del lavoro, di sperimentare sulla propria pelle cosa significhi sviluppo software professionale. Vogliamo costruire insieme qualcosa di concreto, prendendo coscienza di quali strategie ci permettano di produrre risultati di qualità nel minor tempo possibile. Vogliamo sperimentare sul campo le pratiche di programmazione fondamentali per sviluppare software robusto e manutenibile, e gli skill che fanno la differenza nel mondo reale. ###### A chi si rivolge **Professionisti** che vogliono imparare sul campo, *hands on*, una metodologia agile per poter migliorare se stessi ed il proprio team di lavoro. **Studenti** che si affacciano sul mondo del lavoro che vogliono scoprire come funziona veramente eXtreme Programming. ##### Obiettivi - Imparare a consegnare valore in tempi molto rapidi: spezzare le user story per valore - Scrivere codice che accetta i cambiamenti (quindi semplice e flessibile) - Evolvere il sistema iterativamente (e non solo incrementalmente) - Rappresentare esplicitamente il dominio del problema ##### Argomenti Ecco gli argomenti specifici che affronteremo! - **La tecnica del TDD: il** microciclo - La tecnica del **TDD**: come scegliere il primo test, come scegliere il test successivo - La tecnica del TDD: partire dai **test d’accettazione** - **Continuous integration, continuous delivery** - **Collective code ownership** - **Refactoring** prima e dopo dell’introduzione di una feature - Elementi di **object-oriented design**: assegnare le responsabilità con GRASP - Elementi di **domain-driven design**: rappresentare esplicitamente il dominio del problema - Elementi di **architettura software**: integrare gli aspetti non funzionali. Architettura ports-and-adapters ##### Approfondimento Leggi [*Back from ScuolaXP 2015*](https://blog.avanscoperta.it/it/2016/03/01/back-from-scuolaxp-2015/) *In collaborazione con*![7Pixel logo](https://www.avanscoperta.it/wp-content/uploads/2015/02/7pixel_logo.gif) --- ### [Service Ecology Mapping Workshop](https://www.avanscoperta.it/it/training/service-ecology-mapping-workshop/) **Published:** September 17, 2019 **Author:** Alessandra Granaudo **Excerpt:** Impara a creare una Service Ecology Map partendo dai principi di Service Design per avere una rappresentazione complessiva di tutto ciò che contribuisce al funzionamento di un servizio, a riconoscerne la struttura e quindi a progettarne le parti digitali in modo fluido e integrato. **Content:** In questo workshop con Vincenzo Di Maria impareremo a produrre una Service Ecology Map, ovvero una mappatura complessiva di un servizio che combina attori, azioni e componenti specifiche. Capiremo come si analizza un servizio nelle sue componenti, quanti e quali sono i fattori che lo compongono e lo fanno funzionare, come si visualizzano le relazioni tra le parti, e come una visione d’insieme può aiutare chi lavora nel digitale a progettare in modo fluido e integrato. ## A chi si rivolge questo corso Il corso Service Ecology Mapping è stato pensato per chiunque si trovi a dover progettare, comunicare o vendere componenti di servizi, con un focus sui touchpoint digitali: UX/UI designer, Interaction designer, professionisti che lavorano con il digitale chi si occupa di progettazione e sviluppo web/mobile, marketing, comunicazione, startupper, imprenditori che stanno sviluppando una propria proposta di valore, service provider che vogliono avere una visione d’insieme della propria offerta. ## Argomenti - Service Design Thinking: gli elementi base del service design - Anatomia di un servizio: capire la composizione di un servizio cross-canale e ricostruire il suo funzionamento - Metodi di rappresentazione grafica di un servizio: come tracciare e mappare gli elementi digitali - I touchpoint nell’ecosistema di un servizio: cosa sono i punti di contatto e come funzionano - Radiografia dei problemi: come rendere visibile l’analisi dei pain-point e dei colli di bottiglia. ## Programma In questo workshop impareremo a visualizzare e analizzare un servizio multicanale partendo dai principi di Service Design. Capiremo in che modo queste competenze sono utili a chi lavora alla produzione/gestione di singoli touchpoint digitali. Alleneremo la capacità di mappare e visualizzare, aspetto chiave in ogni processo di design e in particolar modo nel design delle esperienze intangibili: quando l’informazione diventa visibile è più facile immaginare connessioni utili. Passeremo in rassegna i diversi metodi di visualizzazione usati durante la progettazione di un servizio, chiarendo le differenze di utilizzo e i vantaggi di ognuno (user journey map, service blueprint, mappature e diagrammi, service ecology map). Sperimenteremo tecniche di mappatura visiva di tutte le componenti che costituiscono un servizio: attori, interazioni, punti di contatto, relazioni tra le parti. Impareremo a dare una visione d’insieme alla complessità di un servizio per aumentare la consapevolezza sulle risorse presenti, ipotizzare combinazioni tra gli elementi, capire come l’aggiunta o la modifica di un componente o di uno stakeholder ha degli effetti che si ripercuotono su tutto il servizio, inteso come organismo, e ne modificano gli equilibri nel bene e nel male. ## Agenda ### Mattina **Progettazione di servizi multicanale**: - Anatomia di un servizio e principi di service design - Metodi grafici per la rappresentazione di un servizio - Lo strumento della “service ecology map”. ### Pomeriggio **Esercitazione pratica su un servizio multicanale**: - Raccolta esperienze dirette del servizio e test delle funzioni digitali - Creazione della mappatura dell’ecologia del servizio - Analisi delle componenti, individuazione pain-point. ## Come si svolge Durante il workshop alterneremo momenti di teoria e di pratica, con molte attività di laboratorio da svolgere in piccoli gruppi. I partecipanti si confronteranno con un brief verosimile per mettere in pratica ciò che avremo affrontato nelle parti teoriche. Faremo riferimento a dei servizi conosciuti dai partecipanti con il supporto di materiali che documentano componenti e interazioni. Si chiederà ai partecipanti di indagare digitalmente il servizio in alcune sue funzioni, testandone l’usabilità e l’esperienza. Le mappature dell’ecologia del servizio verranno realizzate su carta e condivise con gli altri gruppi di lavoro. Template, dispense teoriche e materiali verranno forniti dal docente Vincenzo Di Maria. ## Perché partecipare ***In un tweet, perché le persone dovrebbero partecipare? Cosa si portano veramente a casa?*** Creare una Service Ecology Map serve ad avere una rappresentazione complessiva di tutto ciò che contribuisce al funzionamento di un servizio, a riconoscerne la struttura e quindi a progettarne le parti digitali in modo fluido e integrato. **Categories:** A calendario --- ### [Management 3.0](https://www.avanscoperta.it/it/training/management-3-0-may-2013-2/) **Published:** October 8, 2012 **Author:** Jurgen Appelo **Content:** Jurgen Appelo, autore del libro **Management 3.0 Leading Agile Developers, Developing Agile Leaders** terrà con Avanscoperta il suo workshop di 2 giorni. Il corso sarà tenuto in *inglese*. ![Management 3.0 Book Cover](https://www.avanscoperta.it/wp-content/uploads/2012/10/layout-m30-cover.png "Management 3.0 Book") ###### **Durata** 2 giorni ###### **Materiale** Slides (Inglese) Giochi ed esercitazioni (Inglese) #### **Descrizione** Il management agile è una parte spesso trascurata dell’agile. Ci sono molte informazioni disponibili per sviluppatori, tester e project manager agili, ma molto poco per responsabili dello sviluppo e team leaders. Quando le organizzazioni adottano lo sviluppo agile del software, sviluppatori testers e PM non sono i soli a dover imparare nuove pratiche. Responsabili dello sviluppo e team leaders devono a loro volta imparare nuovi approcci per guidare e gestire organizzazioni agili. Molteplici studi indicano che i manager “vecchio stile” sono il maggiore ostacolo nelle transizioni verso lo sviluppo software agile. I responsabili dello sviluppo ed i team leaders hanno la necessità di imparare quale sia il loro nuovo ruolo nelle organizzazioni agili. Questo corso è pensato per loro. #### **Target Audience** Questo corso si rivolge a leader/manager che intendono diventare Agili, ed alle persone che vogliono diventare grandi team leaders o line managers. (Non è richiesta esperienza pratica delle metodologia Agili, benché sia utile un certo livello di familiarità con i principi e le pratiche agili.) Il corso tipicamente attira team leader (15%), development manager (15%), agile coach (15%), scrum masters (15%), project managers (10%), product owners (10%), sviluppatori e tester (10%) e top-level management (10%). ##### **Topics Day 1** 1. Lo sviluppo software agile è il nuovo standard di riferimento per i team di sviluppo. Conoscerete diverse metodologie agili, le best practices, le 7 dimensioni per valutare i progetti software, le sfide e le difficoltà dell’adozione dello sviluppo Agile nel mondo ed il contributo dei manager e dei team leader nelle organizzazioni agili. 2. La **scienza della Complessità** ed il **System Thinking** sono i pilastri della mentalità agile. Imparerete i *causal loop diagram*, cosa sia la teoria della complessità, come pensare in termini di sistemi, cosa siano i *Cigni Neri* ed i *Jokers*, la differenza tra sistemi complessi e complicati e le 7 false percezioni che spesso riconosciamo nel tradizionale pensiero lineare. 3. Le persone sono le parti più importanti di un organizzazione ed il compito dei manager è di fare tutto il possibile per mantenerle attive, creative e motivate. Imparerete la differenza tra motivazione estrinseca ed intrinseca i 10 desideri intrinseci, e le tecniche più comuni per capire cosa sia importante per capire cosa sia importante per le persone nel vostro team, come i *meeting one-on-one*, i *personal assessment*, *le 12 domande più importanti* ed i *meeting a 360 gradi*. 4. I team sono in grado di auto-organizzarsi, e ciò richiede *empowerment*, autorizzazione e fiducia da parte del management. Imparerete come fare funzionare l’auto-organizzazione, come distribuire le responsabilità in un’organizzazione le sfide derivanti dall’empowerment, come coltivare relazioni di fiducia e diverse tecniche per il controllo distribuito come i 7 livelli di delega e le *authority boards*. ##### **Topics Day 2** 1. L’auto-organizzazione può condurci a qualsiasi risultato, è quindi necessario proteggere le persone e le risorse condivise e fornire alle persone uno scopo chiaro e degli obiettivi definiti. Imparerete quando gestire e quando guidare, come usare criteri differenti per creare obiettivi utili, scoprirete i problemi relativi al *management by objectives* e come proteggere le persone e le risorse condivise dagli effetti negativi dell’auto-organizzazione. 2. I teams non sono in grado di raggiungere i loro obiettivi se ai membri del team mancano i mezzi, quindi i manager devono contribuire allo sviluppo delle competenze. Apprenderete informazioni riguardo i livelli di abilità e disciplina, come e quando applicate i 7 approcci di sviluppo della competenza, come misurare i progressi in un sistema complesso, gli effetti della sub-ottimizzazione e svariati consigli per metriche utili. 3. Molti team operano nel contesto di un’organizzazione complessa, ed è perciò importante considerare strutture che potenzino la comunicazione. Imparerete come crescere una struttura organizzativa come un frattale, come bilanciare specializzazione e generalizzazione, come scegliere tra team funzionali e cross-funzionali, si parlerà anche di*leadership informale* e di allargamento delle qualifiche professionali e di come trattare i team come *value unit* in una*value network*. 4. Le persone, i team e le organizzazioni hanno bisogno di migliorare continuamente, per ritardare i fallimenti il più possibile. Nella pratica questo significa che i manager e i leader devono agire come agenti del cambiamento, cercando di modificare i complessi sistemi sociali attorno a loro. Apprenderete informazioni riguardo i 4 aspetti della gestione del cambiamento che indirizzano il sistema, gli individui, le interazioni ed i confini del sistema. #### **Giochi ed Esercitazioni** Ciascuno degli otto argomenti include almeno un gioco o esercizio in cui le persone mettono in pratica le idee del corso in gruppi di 5 o 6 persone. A volte i partecipanti giocano come diversi managers, l’uno contro l’altro. A volte agiscono insieme cone un solo manager, condividendo i loro pensieri mentre affrontano un problema. Ogni attività termina con un *debriefing* ed una discussione, così che le persone possano mettere in relazione quanto hanno appreso con la loro situazione particolare, e portare all’attenzione domande ed esperienze perché siano esaminate da tutto il gruppo. ##### Prezzi Il **prezzo scontato del 20%** è disponibile fino al **28 Febbraio**. Successivamente, sarà disponibile il prezzo pieno di **1.500,00 €** IVA esclusa. Possibili sconti per gruppi, o meccanismi di referral. Nel caso, contattare info@avanscoperta.it. **Categories:** A calendario **Tags:** Agile Software Development, Management 3.0 --- ### [Management 3.0](https://www.avanscoperta.it/en/training/management-3-0-may-2013/) **Published:** October 3, 2012 **Author:** Mischa Ramseyer **Content:** Management 3.0 is a course, a book, and an approach to inspire team members, team leaders, development managers, IT directors, project managers, Agile coaches, and HR managers, who face the challenge of transforming their organizations to an Agile mindset. It does that by providing guidance and practices, and by applying new thinking to the craft, art, and science of management. ![Management 3.0 Book Cover](https://www.avanscoperta.it/wp-content/uploads/2012/10/layout-m30-cover.png "Management 3.0 Book") #### Course Description ###### Duration 2-day course ###### Materials courseware [slides](https://www.management30.com/course-materials/) (English) games and exercises: [Moving Motivators](https://www.management30.com/moving-motivators/), [Delegation Poker](https://www.management30.com/delegation-poker/), [Meddlers](https://www.management30.com/meddlers/) and [Change Agent](https://www.management30.com/change-agent/) #### **Description** *Agile management* is an often overlooked part of Agile. There is much information available for Agile developers, testers, and project managers, but very little for *development managers* and *team leaders*. However, when organizations adopt Agile software development, not only developers, testers, and project managers need to learn new practices. Development managers and team leaders must also learn a new approach to **leading and managing Agile organizations**. Several studies indicate that *“old-style” managers are the biggest obstacle in transitions to Agile software development*. Development managers and team leaders need to learn what their new role is in Agile software development organizations. This course is designed to help them. #### **Target Audience** This course aims at **leaders/managers** who want to become Agile, and people who want to become great team leaders or line managers. (No practical experience with Agile methods is necessary, though some familiarity with Agile principles and practices is useful.) The course typically draws team leaders (15%), development managers (15%), agile coaches (15%), scrum masters (15%), project managers (10%), product owners (10%), developers and testers (10%), and top-level management (10%). ##### **Topics Day 1** 1. **Agile software development** is the new golden standard for software teams. You will learn about different Agile methods, popular best practices, the 7 dimensions of looking at software projects, challenges in Agile adoption around the world, and the contribution of the manager and team leader in Agile organizations; 2. **Complexity science** and systems thinking are the cornerstones of an Agile mindset. You will learn about causal loop diagrams, what complexity theory is, how to think in terms of systems, about Black Swans and Jokers, about the difference between complex and complicated, and about the 7 fallacies we often recognize in traditional linear thinking; 3. People are the most important parts of an organization and managers must do all they can to keep people active, creative, and motivated. You will learn about the difference between extrinsic vs. **intrinsic motivation**, the 10 intrinsic desires, and common techniques for understanding what is important to the people in your teams, such as one-on-one meetings, personal assessments, the 12 most important questions, and 360 degree meetings; 4. Teams are able to self-organize, and this requires empowerment, authorization, and trust from management. You will learn how to make **self-organization** work, how to distribute authorization in an organization, the challenges of empowerment, how to grow relationships of trust, and several techniques for distributed control, such as the 7 levels of delegation, and authority boards; ##### **Topics Day 2** 1. Self-organization can lead to anything, and it’s therefore necessary to protect people and shared resources, and to give people a clear purpose and defined **goals**. You will learn when to manage and when to lead, how to use different criteria to create useful goals, about the challenges around management by objectives, and how to protect people and shared resources from any bad effects of self-organization. 2. Teams aren’t able to achieve their goals if team members aren’t capable enough, and managers must therefore contribute to the development of **competence**. You will learn about skill levels and discipline levels, how and when to apply the seven approaches of competence development, how to measure progress in a complex system, the effect of sub-optimization, and several tips for useful metrics; 3. Many teams operate within the context of a complex organization, and thus it is important to consider **structures**that enhance communication. You will learn how to grow an organizational structure as a fractal, how to balance specialization and generalization, how to choose between functional and cross-functional teams, about informal leadership and widening job titles, and about treating teams as value units in a value network; 4. People, teams, and organizations need to improve continuously, in order to defer failure for as long as possible. In practice this means that managers and leaders must act as change agents, trying to change the social complex systems around them. You will learn about the 4 facets of **change management**, which address the system, the individuals, the interactions, and the boundary of the system. #### **Games and Exercises** Each of the eight topics includes at least one **game** or **exercise** where people *put into practice* the ideas of the course in groups of five or six people. Sometimes the attendees play as different managers against each other. Sometimes they act together as one manager, sharing their thoughts while working on a problem. Every social activity ends with a **debrief** and a **discussion**, so that people can *relate what they’ve learned* to their own situation, and bring up questions and experiences to be addressed by the whole group. ##### Pricing **Discounted Early Bird** price (20% off) is available until **February 28th**. After that date, the price will be **1.500,00 €** plus VAT. Discounts available for groups or referral. Please contact info@avanscoperta.it. ##### **F.A.Q.** ***Is this class just for the Software Development field?*** *Not necessarily, software is where it all started, but software development is a collaboration-intensive creative activity performed by teams of knowledge workers. Any activity falling within this definition would definitely benefit from the approach highlighted in this class. (Alberto Brandolini)* **Categories:** Scheduled **Tags:** Agile Software Development, Management 3.0 --- ### [Sistemi distribuiti: dalla teoria alla pratica](https://www.avanscoperta.it/it/training/sistemi-distribuiti-dalla-teoria-alla-pratica/) **Published:** December 1, 2014 **Author:** Alessandro Melchiori **Excerpt:** Un corso per capire quali sono i problemi più frequenti nell’implementazione di sistemi distribuiti e quali i pattern più comuni per affrontare i requisiti di comunicazione robusta e scalabile. **Content:** Hai sentito parlare di **sistemi distribuiti**, ma non hai idea di cosa si stia parlando? Hai provato ad implementare una soluzione distribuita, ma ti sei scontrato con diversi problemi che hanno reso impossibile lo sviluppo, la manutenzione e l’evoluzione del sistema? In questo corso vedremo quali sono i problemi più comuni nell’implementazione di sistemi distribuiti, quali l’accoppiamento *temporale* o *spaziale*, e quali i pattern piu’ comuni per affrontare requisiti di comunicazione *robusta* e scalabile. E poi, scalare… **cosa significa scalare**? Come possiamo sfruttare la nostra architettura distribuita per ottenere la tanto famigerata *scalabilità orizzontale*, senza inficiare la robustezza del sistema stesso? ###### Argomenti **Teoria dei sistemi distribuiti** **Integration pattern**: async messaging patterns **Domain model** e **Event Sourcing** in uno scenario “distribuito” **Scalabilita’** orizzontale e verticale **Long running process** e integrazione con altri sistemi Cenni di **actor model** **Categories:** A calendario **Tags:** Actor Model, Event Sourcing, Sistemi distribuiti --- ### [Decision Making 3.0](https://www.avanscoperta.it/it/training/decision-making-workshop/) **Published:** October 5, 2015 **Author:** Dawna Jones **Excerpt:** Experience an interactive upgrade to your decision making so it fits complexity: one day intensive workshop with Dawna Jones, author of "Decision Making for dummies", and Stelio Verzera, co-founder Cocoon Projects. **Content:** *Bring your curiosity and sense of adventure and walk away with insights, tools, and frameworks for greater accuracy*. Ninety percent of startups fail. Chances are well established: companies won’t make it past their eighteenth birthday. **Markets and evolution pressures are stressing decision-making processes in the enterprise**. Agile and lean change implementation demands **different approaches to efficient decision making** to engage participation while increasing accuracy within a reasonable time. Making **more accurate decisions in complexity** demands higher self and organizational awareness to avoid stagnation and move toward sustainable results. Simple principles combined with skills that can be learnt and practiced, offer a framework to closing the gap between the top and bottom of organisations. ##### What will you learn in this course? In this workshop you’ll learn and practice: - Using focus to stimulate creativity and balance short with long term - Widening options to increase accuracy - How to choose the right decision-making tool for each situation - The difference between beliefs and values-driven decision-making - Using one guiding principle to anchor decisions from top to bottom - A framework to guide participation in the decision-making process. ##### Expect to get your hands dirty Bring **3-5 of your toughest decisions to the workshop** and, with other participants, you’ll set the program for the day. Gain insight into **how to adapt your decision making to better fit today’s context and pressures**. Learn brain science techniques to close communications gaps on goals. Leave with what you need to strengthen your decision-making muscles now. **Experience an interactive upgrade to your decision making** so it fits complexity and is focused on growth. From Insight to Action. ***Jump out of the ruts of past decisions to design the future!*** ##### Please note that… The workshop will take place only if the **minimum number of participants (10)** is reached. Feel free to **[contact us](mailto:info@avanscoperta.it) for more questions** about the workshop. **Tags:** Decision Making, Management 3.0 --- ### [Decision Making 3.0 Workshop](https://www.avanscoperta.it/en/training/decision-making-30/) **Published:** October 9, 2015 **Author:** Dawna Jones **Excerpt:** Experience an interactive upgrade to your decision making so it fits complexity: one day intensive workshop with Dawna Jones, author of "Decision Making for dummies", and Stelio Verzera, co-founder Cocoon Projects. **Content:** *Bring your curiosity and sense of adventure and walk away with insights, tools, and frameworks for greater accuracy*. Ninety percent of startups fail. Chances are well established: companies won’t make it past their eighteenth birthday. **Markets and evolution pressures are stressing decision-making processes in the enterprise**. Agile and lean change implementation demands **different approaches to efficient decision making** to engage participation while increasing accuracy within a reasonable time. Making **more accurate decisions in complexity** demands higher self and organizational awareness to avoid stagnation and move toward sustainable results. Simple principles combined with skills that can be learnt and practiced, offer a framework to closing the gap between the top and bottom of organisations. ##### What will you learn in this course? In this workshop you’ll learn and practice: 1. **Using focus to stimulate creativity** and **balance short with long term** 2. **Widening options to increase accuracy** 3. How to choose the **right decision-making tool** for each situation 4. The **difference between beliefs and values-driven decision-making** 5. Using **one guiding principle to anchor decisions** from top to bottom 6. **A framework to guide participation in the decision-making process**. ##### Expect to get your hands dirty Bring **3-5 of your toughest decisions to the workshop** and, with other participants, you’ll set the program for the day. Gain insight into **how to adapt your decision making to better fit today’s context and pressures**. Learn brain science techniques to close communications gaps on goals. Leave with what you need to strengthen your decision-making muscles now. **Experience an interactive upgrade to your decision making** so it fits complexity and is focused on growth. From Insight to Action. ***Jump out of the ruts of past decisions to design the future!*** ##### Please note that… The workshop will only occur if the **minimum number of participants (10)** is reached. Feel free to **[contact us](mailto:info@avanscoperta.it) for more questions** about the workshop. **Tags:** Decision Making, Management 3.0 --- ### [Software Faster Workshop](https://www.avanscoperta.it/it/training/software-faster-dan-north/) **Published:** August 31, 2017 **Author:** Alessandra Granaudo **Excerpt:** Two-day workshop to learn new techniques that both enhance and replace existing agile practices and to start to think differently about design, architecture, development and testing, operations, automation and team dynamics. **Content:** *This workshop showed me a whole new world of software development practices, it’s one step forward the usual Agile practices.* ***Pietro Campagnano – Agile Web Developer at Ideato*** *If you do software for real and you feel you could do it better, start with “Software Faster”. Do doubt. Let Dan guide you into a different way of looking at things.* ***Silvano Stralla – Lead Developer at LaFourchette (TheFork)*** #### Agile methods, continuous delivery and software craftsmanship helped speed up delivery from years to months or even weeks, but then what? Some teams are able to deliver software at a speed of change like you have never seen before, delivering quality software in days or even hours, again and again. So what is keeping the rest of us from doing so? Now is the time to go from months to minutes, to **rethink the way we organize and improve our software development and delivery process**. ##### About the workshop **Software Faster brings software delivery principles into the 21st century**. You will learn new techniques that both enhance and replace existing agile practices, some of which are counter-intuitive and many of which are completely counter to current “best practise”. Using a mixture of discussion, instruction and exploration you will start to think differently about design, architecture, development and testing, operations, automation and team dynamics, as well as working with legacy systems and integrating with third parties. ###### Target audience **Software Faster** is for people who believe it can be done, people who feel themselves limited by current Agile dogma, people who want to go back to basics and uncover **new**, **simpler ways** **to deliver great software**. Are you a seasoned software developer who is frustrated at how slow your “hyper-performing” process feels? Are you suffering with an unwieldy feature backlog, the pantomime of estimation, the card wall where cards go to die, the efforts to automate where it obviously isn’t adding anything? Are you fed up with the artificial commitment of sprints and the unwelcome surprises that still seem to derail your projects? ##### What will you learn in this course - How to challenge the received wisdom of established Agile methods - How to design and architect for rapid and sustainable delivery - Why understanding risk and embracing uncertainty are at the heart of faster delivery - How to manage build, release and operations - How systems thinking can help you plan effectively and estimate accurately - How to identify and reduce gaps in your testing strategy - How to engage with legacy systems and integrating with third parties - How to manage different levels of skill and experience within a team ###### Workshop Topics Software Faster looks at **advanced techniques and patterns** for effective software delivery, for teams who have outgrown “mainstream agile” methods like Scrum and are looking for something deeper. The class covers a handful of core patterns and then takes an attendee-led selection from a number of topics: - Architecture and Design - Development Practices - Planning and Estimation - Deployment and Operations - Team Dynamics - Testing - Analysis and Discovery - Working with Legacy Systems - Complexity and Systems Thinking ##### Expect to get your hands dirty The Software Faster material contains **over 40 patterns and techniques**, and we’ll cover around 8-10 of these across several topic areas, so there are literally millions of combinations of class. We use a method called **\*Training from the Back of the Room\***, where people work in small groups and teach each another. There are no prepared slides, Dan will draw the content by hand as the course progresses, and builds up a page of further resources and references. These slides and notes will be circulated as a PDF at the end of the class, because they are different every time, tailored specifically to the group. ##### Additional Resources Read **our interview with Dan** “[Second-Generation Agile Methodology: Dan North’s BDD Tales](https://blog.avanscoperta.it/it/2018/03/07/second-generation-agile-methodology-dan-norths-bdd-tales/)“! ##### N.B. The workshop is subject to the confirmation of a minimum number of registered attendees. We’ll be sending a confirmation email to all registered attendees no later than one month prior to the workshop start date. Two coffee breaks and lunch with the trainer and the other attendees are also included in this ticket… because networking matters. :) Questions? Drop us a line: info@avanscoperta.it **Categories:** A calendario **Tags:** Agile Software Development, BDD, Legacy Code, Software Faster, System Thinking, Testing --- ### [Kubernetes Course: from DevOps practices to the Cloud-Native stack](https://www.avanscoperta.it/en/training/kubernetes-course-from-devops-practices-to-the-cloud-native-stack/) **Published:** June 21, 2018 **Author:** Enrico Meloni **Excerpt:** Discover the general concepts of DevOps practices and methodologies and deep dive into the philosophy behind Kubernetes, Containers and the whole Cloud-Native stack in this two day hands-on workshop. **Content:** *«Cloud-Native is about structuring teams, culture and technology to utilize automation and architectures to manage complexity and unlock velocity.» **Joe Beda*** What is the deal with **DevOps** and what is happening in the infrastructure world with this whole **containers** and **Kubernetes** excitement? How can you **deploy a microservices architecture on Kubernetes**? What are the benefits of containers? How does this fit with your current application and processes, and what are you going to achieve? What are the downsides and what are costs? We are going to answer to these and many more questions during this **hands-on workshop** with Jacopo Nardiello. We will go through the general concepts behind DevOps practices and methodologies and focus on **Containers, Kubernetes and the whole Cloud-Native stack**. ## Program During this hands-on Kubernetes course, we’ll have a comprehensive discussion about DevOps methodologies and a deep dive into Kubernetes, Containers and the whole Cloud Native stack. We will see how these technologies are changing the world of infrastructure management, how they affect application development and why they **increase efficiency** and **enhance velocity**. We’ll also explore what is happening under-the-hood and **how to handle the complexity these tools introduce**. ### TOPICS - DevOps: understanding **how engineering, tools and methodologies** fit all together to **achieve a common goal** - Cloud-Native infrastructures, containers and orchestrators: how **immutable infrastructures** are changing the world of operations and development - **Kubernetes** fundamentals - From dev to prod: How containers enhance your **CI/CD delivery pipelines** - How to **deploy a real-world microservices application on Kubernetes** - What does “**Production Ready**” really means with **Cloud-Native** technologies - Distributed Monitoring, Logging, Autoscaling and Secrets management in the ephemeral world of containers - **The Kubernetes architecture**: an overview on the internals to understand how it works and what are the challenges. [![](https://www.avanscoperta.it/wp-content/uploads/2018/06/kubernetes-course.jpg)](https://www.avanscoperta.it/wp-content/uploads/2018/06/kubernetes-course.jpg) ## What you will learn - Learn how to use **Kubernetes**, its core concepts as well as its advanced ones. We’ll explore Kubernetes from zero to hero. And most importantly we’ll answer the question: **how does Kubernetes help you being more Agile?** - Explore how to implement the so-called “DevOps methodologies” leaving home all bullshit and empty buzzwords: **how do you build a CI delivery pipeline**? Aka the nephew of all CI/CD pipelines you’d end up having if you had a fulltime DevOps person working on your project for months - Once all these things are clear, what does it mean “being able to **use them in production**”? What are the challenges you have to face when things get serious? Let’s talk about: **monitoring**, **logging**, **autoscaling** and **security/secrets management**. **Categories:** Scheduled **Tags:** Cloud computing, Cloud Native, DevOps, Docker, Kubernetes, Microservices --- ### [Developer vs Manager: dal conflitto alla collaborazione con LEGO® SERIOUS PLAY®](https://www.avanscoperta.it/it/training/developer-vs-manager-dal-conflitto-alla-collaborazione-con-lego-serious-play/) **Published:** July 7, 2016 **Author:** alessadra **Excerpt:** Smettere di andare in direzioni opposte e cominciare a lavorare insieme per raggiungere un unico vero obiettivo: consegnare software di valore. **Content:** Sviluppare e vendere software non dovrebbe essere una guerra intestina, ma *solo* un lavoro. Possiamo portare tutti a collaborare per raggiungere l’unico vero obiettivo, e cioè **consegnare software di valore**? I team che sviluppano software hanno bisogno di conversazioni *potenti*: l’obiettivo di questo workshop è **ricavare delle indicazioni *operative*** per risolvere o, ancora meglio, **disinnescare il problema del conflitto quotidiano fra sviluppatori e manager**. Stime difficili e deadline fantascientifiche da una parte, software di qualità scadente e ostruzionismo dall’altra: come possiamo porre fine a tutto questo? Quale problema vogliamo davvero risolvere? E soprattutto, secondo quali criteri? Queste le domande a cui risponderemo. ##### Come si svolge Sviluppatori da una parte e manager dall’altra, come nella vita di tutti i giorni negli uffici in cui si sviluppa software, in ogni angolo del pianeta. I **due gruppi si fronteggeranno allo stesso tavolo** con schiettezza e potranno dare voce alle proprie esigenze, alle proprie richieste e ai propri… fastidi, diciamolo! Le due controparti avranno l’occasione di confrontarsi utilizzando il “terreno neutro” della metodologia **LEGO® SERIOUS PLAY®**, la tecnica di problem solving sviluppata da LEGO®, che permette di **migliorare la comprensione reciproca** e di **supportare un dialogo efficace** tra tutti i membri del team all’interno di un’azienda. [![sviluppatori vs manager lego serious play avanscoperta](https://www.avanscoperta.it/wp-content/uploads/2016/07/sviluppatori-vs-manager-lego-serious-play-avanscoperta.png)](https://www.avanscoperta.it/wp-content/uploads/2016/07/sviluppatori-vs-manager-lego-serious-play-avanscoperta.png) Con l’aiuto dei modelli LEGO®, imposteremo conversazioni ben strutturate e i partecipanti si porteranno a casa le basi per **collaborazioni più produttive tra manager e sviluppatori**. ##### Programma Durante le due giornate di workshop: - condivideremo riflessioni personali sul problema e sulle sue possibili soluzioni - metteremo a sistema tutti i punti di vista emersi, permettendo una visione complessiva del contesto attuale - ci chiederemo cosa significa *software di valore*. Significa la stessa cosa per tutti, sia manager che developer? - lavoreremo su soluzioni condivise, integrando tutti i punti di vista, trasformando tutti i conflitti in leve per il successo - analizzeremo tutte le componenti esterne che di solito esercitano una forte influenza sui progetti software e di conseguenza sul rapporto tra manager e sviluppatori - distilleremo le esperienze del passato e immagineremo il futuro giocando con le relazioni individuate. - al termine di questo percorso individueremo le basi per regolare una proficua collaborazione tra sviluppatori e manager. Utilizzando le **sette le tecniche di applicazione della metodologia LEGO® SERIOUS PLAY®**, offriremo anche una **panoramica completa della potenza di questo metodo** quando opportunamente applicato secondo i precisi dettami della Association of Master Trainers in the LEGO® SERIOUS PLAY® methodology. ###### ARGOMENTI Tra gli argomenti che verranno affrontati nel corso delle due giornate: - Product ownership - Qualità percepita e strutturale - Debito tecnico - Negoziazione delle milestone e dei rilasci - Gestione dei conflitti - Stime dello sviluppo e approcci #NoEstimates - Ruoli e competenze nei team - Gestione dei budget - Formazione e HR. ###### COSA IMPAREREMO - L’impostazione fondamentale di un team che sviluppa software con successo - Modalità sane di risoluzione dei conflitti - Capire meglio le motivazioni dell’altro fronte - Usare i conflitti come leva creativa, senza ignorarli. ##### A chi si rivolge **Sviluppatori di software** e **manager**, **product owner**, **project manager**, **software architect** e **business analyst** impiegati nello sviluppo del software. Più in generale, il corso si rivolge a tutte quelle figure professionali a cui viene chiesto di stimare lo sviluppo di software e a colore che quelle stime le chiedono. ###### Requisiti Essere uno **sviluppatore** (programmatore, devops, frontend, backend…) o un **manager** (project manager, founder, CTO, product manager etc etc). L’ideale sarebbe essere già in coppia: se sei uno sviluppatore, coinvolgi un manager e, viceversa, se sei un manager, porta uno sviluppatore. ###### FAQ *Come devo prepararmi per il corso?* Non serve nessuna preparazione particolare. Per ottenere il massimo da questo workshop è importante essere pronti a mettersi in gioco. *È un corso per principianti o per esperti?* Il corso è adatto a tutti quelli che si trovano a lavorare in un team di sviluppo software. *È necessaria una conoscenza pregressa della metodologia Lego® Serious Play®?* No, non serve nessuna conoscenza pregressa del metodo che verrà introdotto e spiegato durante il workshop stesso. *Se non sono “in coppia” posso iscrivermi lo stesso?* Certamente. Il workshop ti darà la possibilità di confrontarti con altri sviluppatori e altri manager permettendoti di vedere/approfondire/capire altri punti di vista. Questo, unito alle nozioni teoriche e pratiche del workshop, ti permetterà di tornare a casa e riportare ciò che avrai imparato nel tuo contesto quotidiano. #### Approfondimento [**Leggi il Q&A**](https://blog.avanscoperta.it/it/2016/09/08/lego-serious-play-per-una-migliore-collaborazione-e-comunicazione-nei-team/) con Jacopo Romei e Lorenzo Massacci. Guarda il **video del workshop**: ##### N.B. Il corso sarà confermato al **raggiungimento del numero minimo** di partecipanti. Ci riserviamo la possibilità di posticiparlo o annullarlo qualora il numero minimo non fosse raggiunto. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A calendario **Tags:** Lego Serious Play, Manager, Product Owner, Team collaboration, Technical Debt --- ### [ScuolaXP: 5 giorni di sviluppo software professionale](https://www.avanscoperta.it/it/training/scuolaxp-5-giorni-di-sviluppo-software-professionale/) **Published:** February 19, 2015 **Author:** Antonio Carpentieri **Excerpt:** 5 giorni di formazione rivolta a studenti e professionisti per capire come funziona veramente eXtreme Programming e per migliorare il proprio team di lavoro. **Content:** Un **buon team di sviluppo è come una band**: combina le abilità del singolo con le dinamiche di gruppo per **realizzare insieme**, ogni giorno, qualcosa di speciale. Un team di sviluppo può essere incredibilmente performante: risolvendo problemi complessi, costruendo software a prova di bomba o trovando soluzioni alternative che permettono di **arrivare allo stesso obiettivo**, con un percorso più agevole. Un team **eXtreme Programming** ottiene questi risultati creando un contesto favorevole alla **collaborazione**, costruendo la **fiducia** reciproca grazie alla condivisione di principi, metodi e pratiche di buona programmazione, quali *pair programming*, *test-driven development*, *continuous integration*… ##### Tutto in 5 giorni Vogliamo permettere a chi si affaccia per la prima volta al mondo del lavoro, di **sperimentare sulla propria pelle** cosa significhi **sviluppo software professionale**. Vogliamo **costruire *insieme* qualcosa di concreto**, prendendo coscienza di quali strategie ci permettano di produrre risultati di qualità nel minor tempo possibile. Vogliamo **sperimentare sul campo** le pratiche di programmazione fondamentali per **sviluppare software robusto e manutenibile**, e gli skill che fanno la differenza nel mondo reale. ###### A CHI SI RIVOLGE **Professionisti** che vogliono imparare sul campo una metodologia agile per migliorare sé stessi ed il proprio team di lavoro. **Studenti** che si affacciano sul mondo del lavoro e che vogliono scoprire come funziona veramente **eXtreme Programming**. ##### Obiettivi - Imparare a consegnare valore in tempi molto rapidi: spezzare le **user story per valore** - Scrivere **codice che accetta i cambiamenti** (quindi semplice e flessibile) - **Evolvere il sistema iterativamente** (e non solo incrementalmente) - **Rappresentare esplicitamente il dominio** del problema ##### Struttura del corso Replicheremo in piccolo quanto avviene nei processi agili: il corso sarà strutturato in iterazioni, in cui i team dovranno produrre risultati tangibili. Al termine di ogni iterazione, il team mostrerà quanto prodotto. Quindi, sulla base del feedback ricevuto, concorderà sulle prossime azioni. Allo stesso tempo, anche il contenuto stesso del corso sarà oggetto di feedback da parte dei partecipanti, per permettere di correggere la rotta e di affrontare di volta in volta i temi più utili ai partecipanti. ###### Argomenti - Comprensione e raccolta dei **requisiti**: come capire in fretta qual è la cosa giusta da fare - La tecnica del TDD: il **microciclo** - La tecnica del TDD: come scegliere il **primo test**, come scegliere il test successivo - La tecnica del TDD: partire dai **test d’accettazione** - **Continuous Integration** e **Continuous Delivery** - **Never be blocked**: pragmatismo in azione - Collective Code Ownership - **Refactoring** prima e dopo dell’introduzione di una feature - Elementi di **object-oriented design**: assegnare le responsabilità con GRASP - Elementi di **domain-driven design**: rappresentare esplicitamente il dominio del problema - Elementi di **architettura software**: integrare gli aspetti non funzionali. Architettura ports-and-adapters. ###### FAQ *Di cosa ho bisogno per partecipare al workshop?* - Un notebook con Wi-Fi *Cosa devo installare?* Il tuo ambiente di sviluppo preferito. Non ti garantiamo che useremo quello, ma se per caso dovessimo usarlo, non farti trovare impreparata/o! *Quali sono i prerequisiti per partecipare?* Conoscenze base di **object Oriented Programming** e **HTML**. ##### Approfondimento Leggi *[Back from Scuola XP 2015](https://blog.avanscoperta.it/it/2016/03/01/back-from-scuolaxp-2015/)*[Guarda](https://www.flickr.com/photos/136649367@N08/albums/72157666807233766) le foto delle precedenti edizioni. **Tags:** Agile Software Development, Continuous Delivery, eXtreme Programming, TDD --- ### [Adaptive Organisation Design with LEGO® SERIOUS PLAY®](https://www.avanscoperta.it/en/training/adaptive-organisation-design-with-lego-serious-play/) **Published:** January 19, 2018 **Author:** Alessandra Granaudo **Content:** There is a growing interest in organisations that are able to cope with increasing amounts of unrelenting change, while keeping a clear strategic direction. Achieving this is not a matter of bringing some more “agility” to the existing organisation at any scale. In fact, it is about understanding and implementing a completely **new concept of the organisation itself**. It is about putting the real system and the formal system in the right order of priorities, stop trying to fit the territory into our ideal map, and telling people they have to adapt to the organisational structure as it is “designed”. Here lies one of the most compelling revolutions we’re undergoing globally: we’re devising organisations that allow people to arrange the way they work together according to the needs of the situation and having the formal system adhere to the real one. In any given moment, the real structure is reflected by the formal one. And this is key for the maximum expressions of our ancient capability of dealing with complexity and variability as a unique whole. Having the formal structure as a dynamic support instead of a burden in our way. Making this possible is what **Adaptive Organisation Design** is all about. ##### About the workshop In this Master Class we’ll literally play with this concept, in order to deeply understand it, building it up so to be concrete and applicable in our professional lives. And we are going to achieve this using a very special tool: [**LEGO® SERIOUS PLAY®**](https://www.lego.com/en-gb/themes/serious-play/background) . This method is built upon a process which stems from the heart of LEGO® system, and embeds decades of studies in the fields of cognitive sciences, neurobiology, management, strategy and more. Rather than drawing organization charts or even organigraphs, imagine bringing the new organization to life in 3 dimensional ways. Imagine having a tool that enables people to envision their organizations in creative and radically new ways, allowing for the integration of rational thinking, intuition and emotions. ##### Program The workshop will last **two days** and unfold in two phases. ###### Phase 1 **What and Why**. Exploring and understanding what an **Adaptive Organisation really is**, why and when it is a good thing to pursue it and what are the principles behind it. ###### Phase 2 **How**. Diving into the nitty-gritty of **how on Earth it is possible to realize such an organisation**, both from the human system perspective and the organisation designer intervention perspective. In the first phase we’ll use all the s**even application techniques of LEGO® SERIOUS PLAY®**, offering a broad and complete overview of its power and in this specific domain. ###### Topics - Co-creation and the usage of full human potential - Complex adaptive systems - Evolution of human systems - Strategic inclusion of unknown unknowns - The usage of narratives, metaphors and brain-hand connection in design - Unconscious knowledge and its usage in organisational design - The LEGO® Serious Play® method - Co-design process for adaptive organisations. ##### What will you learn - Who, why and how to involve in the design process - What and “adaptive organisation” really is - How to design for adaptiveness - How to integrate LEGO® Serious Play® in an organisational design process - How to craft and ask questions in the deep research of needs, desires and fears of the people in an organisation - How to co-create adaptive organisations, to lay foundation for their excellent execution and navigate change in real time. All in all, you will develop capabilities needed for engaging both your imagination and your intellect in approaching the setup of Adaptive Organisations with increased confidence, commitment and understanding. ##### Target Audience **Who is the perfect fit for this workshop?** - Entrepreneurs - CEOs and General Managers - VPs of Strategy and/or Marketing - Heads of Division/Unit - HR Directors - Innovation Officers - Org Designers and Org Developers - Service Designers. ###### FAQ *In which language will the workshop be?* The workshop will be held in **English**. ##### N.B. **The workshop is CONFIRMED! :-)** Coffee breaks and lunches with the trainer and the other attendees are also included in this ticket… because networking matters. :) Questions? Drop us a line: info@avanscoperta.it **Categories:** Scheduled **Tags:** Adaptive Organisation Design, Agile Software Development, Business Strategy, Entrepreneurship, Lego Serious Play --- ### [Accelerated Agile: from months to minutes](https://www.avanscoperta.it/it/training/accelerated-agile-firenze/) **Published:** July 10, 2014 **Author:** Dan North **Excerpt:** È il momento di passare da mesi a minuti, di ripensare al modo in cui ci organizziamo, di migliorare il processo di sviluppo e realizzazione del software. **Content:** I bravi professionisti del software realizzano **software migliore più rapidamente**. Metodi Agili, *continuous delivery* e *software craftsmanship* hanno contribuito a ridurre i tempi di consegna da anni a mesi, o addirittura settimane; ma poi? Alcuni team sono in grado di realizzare software a una velocità di cambiamento mai vista prima, portando in produzione codice di elevata qualità in giorni, se non addirittura ore. Che cosa ci impedisce di farlo anche noi? E’ il momento di passare **da mesi a minuti**, di ripensare al modo in cui ci organizziamo e di migliorare il nostro processo di sviluppo e realizzazione del software. ***Accelerated Agile*** è per chi crede che tutto ciò sia possibile e per chi si sente limitato dal modo di pensare tipico dell’agile tradizionale, dal *continuous delivery* o dagli eccessi della *software craftmaship*. *Accelerated Agile* è per chi vuole tornare alle origini e scoprire nuove strade per realizzare grande software. Sei un programmatore esperto che si sente frustrato dalla lentezza del tuo processo *hyper-performing*? Ti senti schiacciato dal peso del *backlog* che cresce fuori controllo, o dalla pantomima delle stime, dalla board dove i post-it vanno a scolorire ed appassire, o dagli sforzi per automatizzare qualsiasi cosa anche dove non porta alcun vantaggio? Ne hai avuto abbastanza degli obiettivi fasulli delle iterazioni, o delle spiacevoli “sorprese” che nonostante tutto sembrano ancora in grado di mettere nei guai il tuo progetto? *Accelerated Agile* porta i principi agili nel 21° secolo. Durante il workshop imparerai **nuove tecniche** che migliorano o addirittura rimpiazzano le pratiche attuali, alcune controintuitive, e molte sono in opposizione alla “dottrina agile ufficiale”. Combinando **discussione**, **insegnamento** ed **esplorazione**, comincerai a pensare in modo diverso al design, all’architettura, allo sviluppo e al test; alla gestione delle operations, all’automazione e alle dinamiche del team; come pure alla gestione dei sistemi legacy e all’integrazione di componenti di terze parti. ##### Cosa si impara - Come mettere in discussione la presunta saggezza dei **metodi agili consolidati** - Come strutturarsi per **consegne rapide e sostenibili** - Perché la comprensione dei rischi e accettare l’incertezza sono al cuore di una **delivery rapida** - Come gestire i **processi di build**, i **rilasci** e la **produzione** - Come il **system thinking** ci possa aiutare aiutare a pianificare efficacemente e a stimare con precisione - Come individuare e ridurre le lacune della **testing strategy** - Come relazionarsi con i **sistemi legacy** e integrare componenti di terze parti Come gestire diversi livelli di abilità ed esperienza all’interno di un team ##### Combo Better Software Abbiamo attivato un codice promozionale per gli iscritti a [Better Software 2014](http://www.bettersoftware.it/ "Better Software "): richiedi il codice e **risparmi il 20%** sul costo del nostro Workshop Accelerated Agile! ##### Dicono di Accelerated Agile nel mondo… “*one of the best courses I have ever attended, if not the best*!” “*really interesting with good discussions and lots of relevant information*” “*\[not using slides\] made the course flow in a neat and agile way*” **Categories:** A calendario **Tags:** Agile Software Development, Continuous Delivery, Lean --- ### [Extreme Contracts Workshop](https://www.avanscoperta.it/it/training/extreme-contracts-con-jacopo-romei/) **Published:** March 19, 2015 **Author:** Jacopo Romei **Excerpt:** Sfida lo status quo della negoziazione e della scrittura dei contratti e crea accordi con clienti e fornitori che ti facciano lavorare con serenità. **Content:** *Extreme Contracts Workshop ti lancia nella realtà della contrattazione e nella stipulazione di accordi ad una velocità inaspettata con una base di strumenti molto efficaci. **Julien Daulte – CEO Studio Daulte*** ## Abstract del corso *Siete pronti a creare nuove potenti collaborazioni?* Programmatori, UX designer, project manager – ma anche grafici, business analyst, progettisti, copywriter… la lista è molto lunga! – operano in scenari in cui sarebbe possibile lavorare in modalità “win-win” (cioè con un reale mutuo beneficio), ma quasi sempre in questi ambiti si finisce per concepire accordi “win-lose”. Cioè, accordi in cui o il cliente o il fornitore al termine del progetto non si sentirà pienamente soddisfatto. I contratti utilizzati nel *knowledge work* – cioè il lavoro di chi si guadagna il pane più con il cervello che con le mani – si trovano su una linea di confine: da una parte il tentativo complicato di prevedere tutte le condizioni di fallimento in anticipo, dall’altra la necessità di dover trovare soluzioni in tempo reale ai mille imprevisti di uno scenario complesso. Insomma, dispositivi “complicati” per uno sporco lavoro “complesso”. Per non parlare della vera rogna: scriviamo contratti perché non ci fidiamo del nuovo fornitore o del cliente (che ha già abusato mille volte della nostra disponibilità), piuttosto che “aggredire” questo problema! ## Programma In Extreme Contracts Workshop non vedremo molta teoria, né scarteremo una ricetta preconfezionata, valida per tutte le stagioni. Attraverso attività “hands on”, giochi e conversazioni ben strutturate, invece, individueremo i principi operativi e gli strumenti adatti a smontare le situazioni più disparate e puntare al vero obiettivo: **creare accordi con i nostri clienti e fornitori per lavorare con serenità**, con il contratto giusto nel contesto giusto. Se esistono degli aspetti che accomunano tutti i contratti che hanno un lieto fine, perché non isolarli e poi spingerli al massimo, all’estremo? Gli **Extreme Contract** sono tutto questo! ###### Argomenti - Cynefin Framework - Giochi a somma zero e somma non-zero - Antifragilità - Skin in the game - Business Model Canvas e contratti come Customer Channel - Accorgimenti pratici per assicurarsi negoziazioni vincenti. ## Agenda ### Giorno 1 **Mattina – Il Cynefin Framework e il tuo lavoro** - Check-in e aspettative - Cynefin LEGO Game - Cynefin business mapping - Casi di studio **Pomeriggio – Il valore delle opzioni** - Orange Exercise - Giochi a somma (non) zero - Nobel prize election - Tool QuEST: un tool operativo molto agile, *release (value) early*, *release often* - Q&A ### Giorno 2 **Mattina – Il valore della fiducia** - Two truths & a lie - The market for lemons - Investment Game **Pomeriggio – I contratti nel mondo reale** - I contratti tradizionali - Contract Pokemon - Q&A - Chiusura Per ancorare tutti i concetti alla realtà di persone e di aziende vere, e dei primi pionieri che hanno fatto uso degli *Extreme Contract*, raccoglieremo la testimonianza di alcuni **casi reali di negoziazione “estrema”**. ## Cosa impareremo - Identificare il **vero valore dei contratti** e a riconoscere l’utilità dei contratti tradizionali, adottandoli se e quando necessario, non per mera abitudine - Usare i contratti come **parte integrante del nostro branding**, identificandoli come uno dei “customer channel” più importanti ovvero una delle componenti della propria Business Model Canvas - Lavorare con **accordi realmente compatibili con il pensiero lean**, senza il rischio di tarparsi le ali prima ancora di iniziare : “dai facciamo gli agili! Ma il contratto? Meh…” - Adottare accordi che permettano al processo di lavoro di **migliorare continuamente senza limiti stabiliti a priori** - Una checklist da seguire per **negoziare** passo passo - Una checklist per valutare la **(anti)fragilità dei nostri accordi**. **Categories:** A calendario **Tags:** Agile Contracts, Agile Software Development, Antifragilità, Cynefin, Extreme Contracts, Negoziazione --- ### [DIY Event Sourcing Tooling](https://www.avanscoperta.it/it/training/diy-event-sourcing-tooling/) **Published:** July 16, 2019 **Author:** Enrico Meloni **Excerpt:** CQRS ed Event Sourcing sono dei game-changer quando si tratta di sviluppo software. Impara come costruire in autonomia gli strumenti che ti aiuteranno a utilizzarli al meglio. **Content:** Investments in tooling pay off quickly. Especially when you take small steps. In this 2-day DIY Event Sourcing Tooling workshop with Marijn Huizendveld, we will look at different tools that can help us with building, testing, debugging and changing your software. With examples taken from real projects, you will experience that specific tools can make you more efficient and how they would fit in your workflow. Following each example, we will implement the tool in the language of your choice. If you bring your own event-sourced domain models we discuss the constraints of your specific context. The goal of the workshop is to inspire you to build tools that fit your context and to show you that it can be done with little effort. After attending it you will be enabled to build tools yourself in the future. ## Target audience This course will be most beneficial for **programmers**. Are you a software tester who enjoys writing code and likes to be involved in the software construction process? You too might benefit from this course. The workshop is centred around the web application context but the ideas are valuable in other types of applications too. But regardless of your role, one thing is critical: you need a thorough knowledge of CQRS and event sourcing. ## Program - Seeing an overview of all the events of a specific stream in your web application by opening up the developer tools of your internet browser - An enriched view of the events in your event store that allows you to navigate to associated streams - Having links from your events to the commands that caused them in the view of your event store - A testing framework that can be understood by domain experts because it works based on domain events and commands - Downloading an integration test for your testing framework after reproducing a problem in a production environment - Your test scenarios visualized identical to your event storming workshop - Versioning of messages simplified thanks to a DSL for schema specification - Visualizing trends using your existing analytics toolset - This and more, applied in such a way that it becomes an integral part of your day to day workflow. **Categories:** A calendario **Tags:** CQRS, Domain-Driven Design, Event Sourcing, Testing, Tooling --- ### [DIY Event Sourcing Tooling Workshop](https://www.avanscoperta.it/en/training/diy-event-sourcing-tooling-workshop/) **Published:** July 16, 2019 **Author:** Enrico Meloni **Excerpt:** CQRS and Event Sourcing are game-changers when it comes to software development. Learn how to autonomously build the tools that will unlock their full potential. **Content:** Investments in tooling pay off quickly. Especially when you take small steps. In this 2-day DIY Event Sourcing Tooling workshop with Marijn Huizendveld, we will look at different tools that can help us with building, testing, debugging and changing your software. With examples taken from real projects, you will experience that specific tools can make you more efficient and how they would fit in your workflow. Following each example we will implement the tool in the language of your choice. If you bring your own event sourced domain models we discuss the constraints of your specific context. The goal of this workshop is to inspire you to build tools that fit your context and to show you that it can be done with little effort. After attending it you will be enabled to build tools yourself in the future. ## Target audience This course will be most beneficial for programmers. Are you a software tester who enjoys writing code and likes to be involved in the software construction process? You too might benefit from this course. The workshop is centred around the web application context but the ideas are valuable in other types of applications too. But regardless of your role, one thing is critical: you need a thorough knowledge of CQRS and Event Sourcing. ## Program - Seeing an overview of all the events of a specific stream in your web application by opening up the developer tools of your internet browser - An enriched view of the events in your event store that allows you to navigate to associated streams - Having links from your events to the commands that caused them in the view of your event store - A testing framework that can be understood by domain experts because it works based on domain events and commands - Downloading an integration test for your testing framework after reproducing a problem in a production environment - Your test scenarios visualized identical to your event storming workshop - Versioning of messages simplified thanks to a DSL for schema specification - Visualizing trends using your existing analytics toolset - This and more, applied in such a way that it becomes an integral part of your day to day workflow. **Categories:** Scheduled **Tags:** CQRS, Domain-Driven Design, Event Sourcing, Tooling --- ### [Visual Thinking: Making the Invisible Visible](https://www.avanscoperta.it/it/training/visual-thinking-making-the-invisible-visible/) **Published:** March 7, 2019 **Author:** Enrico Meloni **Excerpt:** From zero to hero: Learn the skills and confidence to start adding visuals to your own thinking, conversations with colleagues, client workshops, brainstorms and meetings. **Content:** In this hands-on course with Eva-Lotta Lamm, you will learn how to create and use **simple visuals as a powerful language** to think through problems and **clearly communicate** any kind of content. You’ll build fundamental **sketching skills** by learning the core principles and a practical framework for drawing anything simply and clearly. Through hands-on practice, you’ll develop the skills and confidence to start adding visuals to your own thinking, conversations with colleagues, client workshops, brainstorms and meetings. ## What is Visual Thinking? The world is a complex place full interesting problems waiting to be solved. No matter if big or small, personal or business related, tactical or strategic, we often try to solve these problems with language – talking and writing about what we think and what we plan to do. **Language is a great tool, but it has its limitations**: It’s linear, it can be quite abstract and it can hold a fair bit of ambiguity. That’s where Visual Thinking comes in. When we visualise our thoughts, we are forced to explore what the concepts we talk about actually mean and how the different pieces of information relate to each other. It becomes possible to literally **see the bigger picture**, identify patterns, spot gaps and **make connections**. We can use **visuals to bring clarity** to a wide variety of content: We can think through and communicate systems, processes, experiences, user journeys, stories, strategy or company vision. And the simplest and most immediate way to visualise something is to simply **sketch it** – on a white-board, a post-it or the back of napkin. ## Target audience This workshop is for anyone who needs to digest and communicate complex information on a regular basis, alone or in teams, with colleagues or clients. Eva-Lotta has taught a wide range of professions like designers, product managers, researchers, engineers, coaches, consultants, facilitators, teachers, speakers, marketers and strategists, who can all benefit from the skills presented and implement them into their own work in various ways. This workshop is aimed both at absolute beginners (you don’t need any sketching skills) as well as people who had previous exposure to sketching and visual thinking and want to get more practice and learn a structured approach to sketching out complex problems. ## Program Day 1 will be mostly dedicated to learning and practicing **the basics of sketching**, providing you with the core principles and a practical framework for drawing anything simply, quickly (with some practice) and clearly. Day 2 focuses on how we can apply these techniques to **explore problems**, **structure content**, **tell stories** and **describe systems** and **processes**. You will leave the workshop with the necessary skills and tools to start applying Visual Thinking to your day-to-day work. The 2-days will provide you with a solid foundation and the confidence to keep expanding your skills and further explore the world of Visual Thinking in the future. ## Agenda ### Day 1 **Sketching basics** How to draw anything, simply and clearly - Warm-up, developing motor skills and confident lines - Sketching objects - Sketching people, actions and emotions - Perspective, depth, and shading **Building a visual vocabulary** How to develop your own set of icons for common terms in your day-to-day work. **Developing visual metaphors** How to find images for abstract concepts - Visually exploring the meaning of abstract terms - Strategies for finding images and metaphors - Sharpening metaphors, conceptually and visually. ### Day 2 **Creating visual hierarchy** - How to visually structure content to make it 1. easier to read 2. quick to scan for certain information 3. digestible in smaller chunks - How to use visual hierarchy for note-taking in meetings, lectures, workshops and research sessions **Developing structure** - How to structure and visualise a system, problem or process - Using different visual structures for visualising different types of content **Using visual frameworks** - What are visual frameworks and what can they be used for? - Using visual frameworks for structuring thinking and group processes. ## What will you learn in this course? In this 2-day hands-on workshop with Eva-Lotta Lamm, you will learn how to **visualise** abstract concepts and complex problems **through simple sketches**. You will learn how to use simple visuals as a powerful language to think through and clearly communicate any kind of content. More specifically, you will learn: - How to **express ideas** and **concepts** through simple sketching - How to **sketch** objects, people, hands and facial expressions - How to develop visual metaphors for abstract concepts - How to build your own **visual vocabulary** - How to create structure and establish a visual hierarchy - How to reach clarity and new perspectives through **mapping problems visually** - How to take visual notes for deeper understanding and better memory - Ways to apply Visual Thinking to your **day-to-day work**. **Categories:** A calendario **Tags:** Drawing, Sketch Notes, Sketching, Visual Thinking, Visualising --- ### [Visual Thinking Workshop: Making the Invisible Visible](https://www.avanscoperta.it/en/training/visual-thinking-workshop-making-the-invisible-visible/) **Published:** March 7, 2019 **Author:** Enrico Meloni **Excerpt:** From zero to hero: Learn the skills and confidence to start adding visuals to your own thinking, conversations with colleagues, client workshops, brainstorms and meetings. **Content:** In this hands-on course with Eva-Lotta Lamm, you will learn how to create and use **simple visuals as a powerful language** to think through problems and **clearly communicate** any kind of content. You’ll build fundamental **sketching skills** by learning the core principles and a practical framework for drawing anything simply and clearly. Through hands-on practice, you’ll develop the skills and confidence to start adding visuals to your own thinking, conversations with colleagues, client workshops, brainstorms and meetings. ## What is Visual Thinking? The world is a complex place full interesting problems waiting to be solved. No matter if big or small, personal or business related, tactical or strategic, we often try to solve these problems with language – talking and writing about what we think and what we plan to do. **Language is a great tool, but it has its limitations**: It’s linear, it can be quite abstract and it can hold a fair bit of ambiguity. That’s where Visual Thinking comes in. When we visualise our thoughts, we are forced to explore what the concepts we talk about actually mean and how the different pieces of information relate to each other. It becomes possible to literally **see the bigger picture**, identify patterns, spot gaps and **make connections**. We can use **visuals to bring clarity** to a wide variety of content: We can think through and communicate systems, processes, experiences, user journeys, stories, strategy or company vision. And the simplest and most immediate way to visualise something is to simply **sketch it** – on a white-board, a post-it or the back of napkin. ## Target audience This workshop is for anyone who needs to digest and communicate complex information on a regular basis, alone or in teams, with colleagues or clients. Eva-Lotta has taught a wide range of professions like designers, product managers, researchers, engineers, coaches, consultants, facilitators, teachers, speakers, marketers and strategists, who can all benefit from the skills presented and implement them into their own work in various ways. This workshop is aimed both at absolute beginners (you don’t need any sketching skills) as well as people who had previous exposure to sketching and visual thinking and want to get more practice and learn a structured approach to sketching out complex problems. ## Program Day 1 will be mostly dedicated to learning and practicing **the basics of sketching**, providing you with the core principles and a practical framework for drawing anything simply, quickly (with some practice) and clearly. Day 2 focuses on how we can apply these techniques to **explore problems**, **structure content**, **tell stories** and **describe systems** and **processes**. You will leave the workshop with the necessary skills and tools to start applying Visual Thinking to your day-to-day work. The 2-days will provide you with a solid foundation and the confidence to keep expanding your skills and further explore the world of Visual Thinking in the future. ## Agenda ### Day 1 **Sketching basics** How to draw anything, simply and clearly - Warm-up, developing motor skills and confident lines - Sketching objects - Sketching people, actions and emotions - Perspective, depth, and shading **Building a visual vocabulary** How to develop your own set of icons for common terms in your day-to-day work. **Developing visual metaphors** How to find images for abstract concepts - Visually exploring the meaning of abstract terms - Strategies for finding images and metaphors - Sharpening metaphors, conceptually and visually. ### Day 2 **Creating visual hierarchy** - How to visually structure content to make it 1. easier to read 2. quick to scan for certain information 3. digestible in smaller chunks - How to use visual hierarchy for note-taking in meetings, lectures, workshops and research sessions **Developing structure** - How to structure and visualise a system, problem or process - Using different visual structures for visualising different types of content **Using visual frameworks** - What are visual frameworks and what can they be used for? - Using visual frameworks for structuring thinking and group processes. ## What will you learn in this course? In this 2-day hands-on workshop with Eva-Lotta Lamm, you will learn how to **visualise** abstract concepts and complex problems **through simple sketches**. You will learn how to use simple visuals as a powerful language to think through and clearly communicate any kind of content. More specifically, you will learn: - How to **express ideas** and **concepts** through simple sketching - How to **sketch** objects, people, hands and facial expressions - How to develop visual metaphors for abstract concepts - How to build your own **visual vocabulary** - How to create structure and establish a visual hierarchy - How to reach clarity and new perspectives through **mapping problems visually** - How to take visual notes for deeper understanding and better memory - Ways to apply Visual Thinking to your **day-to-day work**. **Categories:** Scheduled **Tags:** Drawing, Sketch Notes, Sketching, Visual Thinking, Visualising --- ### [Facilitation Praxis Camp](https://www.avanscoperta.it/it/training/facilitation-praxis-camp/) **Published:** September 7, 2020 **Author:** Enrico Meloni **Excerpt:** A very practical Praxis Camp where you'll practice and experience online facilitation techniques, run experiments (in your own context), and bring back observations and learnings. **Content:** ## Abstract Are you struggling with online conversations between individuals in your team and the rest of the organization? Would you like to increase your confidence in moving face-to-face conversations online? Introducing **Online Facilitation Praxis Camp** by Enrico Teotti, a multi-day facilitated workshop where you’ll actively practice and experience online facilitation techniques, run experiments (in your own context) and bring back observations and learnings. This Online Facilitation Praxis Camp\* is a seed in your online facilitation journey that will foster your learning ecosystem. The goal of this online workshop? To learn how to be an effective facilitator and stop struggling with online conversations between individuals in your team and the rest of the organization. It will increase your confidence in moving face-to-face conversations online. We will give ample space to bring questions from your context. *\* What is Praxis? A mix of theory with practice. This is not a regular workshop where information (best practices) are dumped on you with the occasional exercises. Theory and practice are mixed and they’re a core part of how the online facilitation praxis camp will be taking place.* ## Target Audience Who will benefit from this online workshop? - A scrum master who understands agile but struggles to see conducive team conversations - A project manager used to in-room conversations and would like to gain more confidence in the online realm - A product owner who would like to hold sessions where inclusive solutions are found - A facilitator who wants to experiment with new facilitation approaches and ask context-specific questions - A tech lead who would like to hold sessions where inclusive solutions are found and the team shares responsibility for it. ## Program **Improving online group communication and decision-making.** Depending on the context open conversations can be adequate or lead nowhere. Sometimes you need to design a session to make the most out of everybody’s time, then you need to be the individual who helps the group fly from A to B–and being aware that something can and will go wrong. This design is not a solution. Facilitation is not problem-solving. When you facilitate you’re dancing with complexity, you need a plan but be ready for it not surviving contact with the enemy. This Facilitation Camp will allow you to learn and experiment with those concepts online. ## Topics - The role of the facilitator: architect + pilot + guide - how to architect an online session: and being aware that no plan survives contact with the enemy - outline purpose/outcome (who/why/what/how) - diamond of participatory decision-making, divergence -> groan zone -> convergence - how to be a good pilot: with a good flight plan but ready for turbulence - how to guide the group during the session by - encouraging full participation - promoting mutual understanding - fostering inclusive solutions - cultivating shared responsibility. - Raising awareness of our biases: when you are facilitating and also a full-time scrum master, product owner and team lead. When do you need an external facilitator? - Activities for a purpose: too often activities are stitched together without much thought. In this, we will x-ray activities to see what are they really about - Online facilitation: the lay of the land – determining the best tool for your context - we’ll go on a tour of the main tools out there and reflect on pro/cons. - we’ll focus on Google Suite, Miro, Zoom but explore other video call tools you might be constrained to. - How do I do that in my context: assignments to apply the praxis to your context and bring back contextual questions. - Psychological safety: an overview on how to assess it and foster it in the facilitated session. - Next steps: sharing resources to make your journey in the facilitation realm even more effective. **1-hour 1:1 coaching session after the class is included in the price**. ## Agenda The Camp will be made up of 4-half day modules plus a 1:1 coaching session. ### Module 1 - Welcome and let’s get to know each other - The role of the facilitator online (part I) - What type of meetings and decision mechanisms does exist? - What’s the purpose / outcome of our session? - Let’s explore the Why / Who / What / How ### Module 2 - The role of the facilitator online (part II) - How to guide the group online with facilitative listening techniques like stacking and tracking - When to switch from open conversation to other facilitation modalities online? - How to assess Psychological Safety? ### Module 3 - Let’s X-Ray Facilitation Activities to get a higher level of understanding and not get lost in the ocean of best activities out there - Let’s pick activities for your context - How to help the group make sense of the type of issues they’re facing? We’ll address questions such as: what is clear? What is complicated? What is complex What is chaotic? Are we close or far from reaching an agreement? ### Module 4 - A final stroll in the online facilitation land, group sense making on your contexts and setting you up to continue your facilitation journey. All the sessions will use a diverse set of online tools to familiarize yourself with them: - Zoom - Microsoft Teams - WebEx - Google Meet - Google Suite - Miro - Mural … And more! ## What are you gonna learn - Role and responsibilities of a facilitator - How to design an online session - How to facilitate online group discussions and improve decision-making - Confidence assessing and choosing/using online tools (video call software, document sharing tools, digital whiteboards) - Enable your next steps in your facilitation journey. ## Expect to get your hands dirty – How does it work PRAXIS. Theory enacted, we’ll have a 10/15 minute brief on a topic that describes its theory and then you will experience it with hands-on activity with other Camp participants. You will also have some homework to practice in your context (at your day work) and bring reflections back to the group. So yeah, hands very dirty. Some other notes on how to make the most out this camp The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. This is why we suggest that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time. ## Why should you buy a ticket? Learn how to be an effective facilitator and stop struggling with online conversations between individuals in your team and the rest of the organization. Learn how to increase your confidence in moving face-to-face conversations online. **Categories:** A calendario **Tags:** Facilitation, leadership, Remote Workshop, Team collaboration --- ### [Online Facilitation Praxis Camp](https://www.avanscoperta.it/en/training/online-facilitation-praxis-camp/) **Published:** September 7, 2020 **Author:** Alessandra Granaudo **Excerpt:** A very practical Praxis Camp where you'll practice and experience online facilitation techniques, run experiments (in your own context), and bring back observations and learnings. **Content:** ## Abstract Are you struggling with online conversations between individuals in your team and the rest of the organization? Would you like to increase your confidence in moving face-to-face conversations online? Introducing **Online Facilitation Praxis Camp** by Enrico Teotti, a multi-day facilitated workshop where you’ll actively practice and experience online facilitation techniques, run experiments (in your own context) and bring back observations and learnings. This Online Facilitation Praxis Camp\* is a seed in your online facilitation journey that will foster your learning ecosystem. The goal of this online workshop? To learn how to be an effective facilitator and stop struggling with online conversations between individuals in your team and the rest of the organization. It will increase your confidence in moving face-to-face conversations online. We will give ample space to bring questions from your context. *\* What is Praxis? A mix of theory with practice. This is not a regular workshop where information (best practices) are dumped on you with the occasional exercises. Theory and practice are mixed and they’re a core part of how the online facilitation praxis camp will be taking place.* ## Target Audience Who will benefit from this online workshop? - A scrum master who understands agile but struggles to see conducive team conversations - A project manager used to in-room conversations and would like to gain more confidence in the online realm - A product owner who would like to hold sessions where inclusive solutions are found - A facilitator who wants to experiment with new facilitation approaches and ask context-specific questions - A tech lead who would like to hold sessions where inclusive solutions are found and the team shares responsibility for it. ## Program **Improving online group communication and decision-making.** Depending on the context open conversations can be adequate or lead nowhere. Sometimes you need to design a session to make the most out of everybody’s time, then you need to be the individual who helps the group fly from A to B–and being aware that something can and will go wrong. This design is not a solution. Facilitation is not problem-solving. When you facilitate you’re dancing with complexity, you need a plan but be ready for it not surviving contact with the enemy. This Facilitation Camp will allow you to learn and experiment with those concepts online. ## Topics - The role of the facilitator: architect + pilot + guide - how to architect an online session: and being aware that no plan survives contact with the enemy - outline purpose/outcome (who/why/what/how) - diamond of participatory decision-making, divergence -> groan zone -> convergence - how to be a good pilot: with a good flight plan but ready for turbulence - how to guide the group during the session by - encouraging full participation - promoting mutual understanding - fostering inclusive solutions - cultivating shared responsibility. - Raising awareness of our biases: when you are facilitating and also a full-time scrum master, product owner and team lead. When do you need an external facilitator? - Activities for a purpose: too often activities are stitched together without much thought. In this, we will x-ray activities to see what are they really about - Online facilitation: the lay of the land – determining the best tool for your context - we’ll go on a tour of the main tools out there and reflect on pro/cons. - we’ll focus on Google Suite, Miro, Zoom but explore other video call tools you might be constrained to. - How do I do that in my context: assignments to apply the praxis to your context and bring back contextual questions. - Psychological safety: an overview on how to assess it and foster it in the facilitated session. - Next steps: sharing resources to make your journey in the facilitation realm even more effective. **1-hour 1:1 coaching session after the class is included in the price**. ## Agenda The Camp will be made up of 4-half day modules plus a 1:1 coaching session. ### Module 1 - Welcome and let’s get to know each other - The role of the facilitator online (part I) - What type of meetings and decision mechanisms does exist? - What’s the purpose / outcome of our session? - Let’s explore the Why / Who / What / How ### Module 2 - The role of the facilitator online (part II) - How to guide the group online with facilitative listening techniques like stacking and tracking - When to switch from open conversation to other facilitation modalities online? - How to assess Psychological Safety? ### Module 3 - Let’s X-Ray Facilitation Activities to get a higher level of understanding and not get lost in the ocean of best activities out there - Let’s pick activities for your context - How to help the group make sense of the type of issues they’re facing? We’ll address questions such as: what is clear? What is complicated? What is complex What is chaotic? Are we close or far from reaching an agreement? ### Module 4 - A final stroll in the online facilitation land, group sense making on your contexts and setting you up to continue your facilitation journey. All the sessions will use a diverse set of online tools to familiarize yourself with them: - Zoom - Microsoft Teams - WebEx - Google Meet - Google Suite - Miro - Mural … And more! ## What are you gonna learn - Role and responsibilities of a facilitator - How to design an online session - How to facilitate online group discussions and improve decision-making - Confidence assessing and choosing/using online tools (video call software, document sharing tools, digital whiteboards) - Enable your next steps in your facilitation journey. ## Expect to get your hands dirty – How does it work PRAXIS. Theory enacted, we’ll have a 10/15 minute brief on a topic that describes its theory and then you will experience it with hands-on activity with other Camp participants. You will also have some homework to practice in your context (at your day work) and bring reflections back to the group. So yeah, hands very dirty. Some other notes on how to make the most out this camp The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. This is why we suggest that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time. ## Why should you buy a ticket? Learn how to be an effective facilitator and stop struggling with online conversations between individuals in your team and the rest of the organization. Learn how to increase your confidence in moving face-to-face conversations online. **Categories:** Scheduled **Tags:** Facilitation, leadership, Remote Workshop, Team collaboration --- ### [Functional Design Patterns Course](https://www.avanscoperta.it/it/training/4-rules-of-simple-design-in-functional-programming/) **Published:** April 8, 2019 **Author:** Alessandra Granaudo **Excerpt:** In this online course with Uberto Barbini, we will learn with concrete examples of how to proceed from a typical OO Hexagonal design to a purely functional one. **Content:** ## Online course We are now in the Functional Programming age and many Object-Oriented Programming languages have embraced at least some parts of the Functional Programming paradigm. Many developers are eager to use this new paradigm but they’re still struggling on how to switch from OOP design to FP design. Is it possible to keep using the 4 Rules of Simple Design even when using Functional Programming paradigm in order to simplify the design of your application? In this online course with Uberto Barbini, we will learn how to proceed from a typical OO Hexagonal design to a purely functional one with concrete examples. Notions such as Categories, Functors and Monads will naturally emerge from our code and we will discuss them thoroughly. ## Target Audience The ideal participant has a good experience with Object Oriented programming and some exposure to Functional Programming but wants to know more. No special knowledge of functional libraries or languages is required. ## Program The main goal of the course is to teach how to model your application using morphisms and categories rather than object-oriented stateful entities. It’s important to understand that functional programming is about mindset and reasoning, not languages and tools. ### Topics - Introduction to functional programming - The basis of Category Theory - Generics as data builder - Higher Order Functions - Monoids and Monads - Laziness and ADT. ## Agenda ### Module 1 (or first session – day one) - The 4 principles - Introduction to functional programming - Morphisms and Categories - Exercise Kata - Designing with Categories - Using Functors - Homework. ### Module 2 (or second session – day two) - Discussion of homework - Advanced examples - How to integrate with legacy code - Functional Concurrency - Functional Testing - Functional Debugging. ## Learning Objectives By the end of the workshop, you will… - Know how to apply 4 principles of simple design to functional programming - Be able to model a problem using transformations in a pure functional way - Be able to practice the concepts learn right away in your day-to-day job - Have a better understanding of Category Theory concepts - Have written a fair amount of functional code. ## Expect to get your hands dirty In this course, we will take a full hands-on approach to functional programming and category theory. Participants are expected to solve some coding and design exercises and to work on their own on a homework assignment between the two sessions. We believe that the best way to learn something is to practice it yourself, so the whole course is task-oriented, with practical exercises. On the second day, there will be space for discussion on problems brought from participants, so if you have encountered problems trying to adopt functional programming, please have them ready as we’ll be discussing them. **Categories:** A calendario **Tags:** Functional Programming, Functional Testing, Object-oriented programming, OOP languages --- ### [Functional Design Patterns Course](https://www.avanscoperta.it/en/training/the-4-rules-of-simple-design-in-functional-programming/) **Published:** April 8, 2019 **Author:** Alessandra Granaudo **Excerpt:** In this online course with Uberto Barbini, we will learn with concrete examples of how to proceed from a typical OO Hexagonal design to a purely functional one. **Content:** ## Online course We are now in the Functional Programming age and many Object-Oriented Programming languages have embraced at least some parts of the Functional Programming paradigm. Many developers are eager to use this new paradigm but they’re still struggling on how to switch from OOP design to FP design. Is it possible to keep using the 4 Rules of Simple Design even when using Functional Programming paradigm in order to simplify the design of your application? In this online course with Uberto Barbini, we will learn how to proceed from a typical OO Hexagonal design to a purely functional one with concrete examples. Notions such as Categories, Functors and Monads will naturally emerge from our code and we will discuss them thoroughly. ## Target Audience The ideal participant has a good experience with Object Oriented programming and some exposure to Functional Programming but wants to know more. No special knowledge of functional libraries or languages is required. ## Program The main goal of the course is to teach how to model your application using morphisms and categories rather than object-oriented stateful entities. It’s important to understand that functional programming is about mindset and reasoning, not languages and tools. ### Topics - Introduction to functional programming - The basis of Category Theory - Generics as data builder - Higher Order Functions - Monoids and Monads - Laziness and ADT. ## Agenda ### Module 1 (or first session – day one) - The 4 principles - Introduction to functional programming - Morphisms and Categories - Exercise Kata - Designing with Categories - Using Functors - Homework. ### Module 2 (or second session – day two) - Discussion of homework - Advanced examples - How to integrate with legacy code - Functional Concurrency - Functional Testing - Functional Debugging. ## Learning Objectives By the end of the workshop, you will… - Know how to apply 4 principles of simple design to functional programming - Be able to model a problem using transformations in a pure functional way - Be able to practice the concepts learn right away in your day-to-day job - Have a better understanding of Category Theory concepts - Have written a fair amount of functional code. ## Expect to get your hands dirty In this course, we will take a full hands-on approach to functional programming and category theory. Participants are expected to solve some coding and design exercises and to work on their own on a homework assignment between the two sessions. We believe that the best way to learn something is to practice it yourself, so the whole course is task-oriented, with practical exercises. On the second day, there will be space for discussion on problems brought from participants, so if you have encountered problems trying to adopt functional programming, please have them ready as we’ll be discussing them. **Categories:** Scheduled **Tags:** Functional Programming, Functional Testing, Object-oriented programming, OOP --- ### [Risk Management per Freelance Workshop](https://www.avanscoperta.it/it/training/risk-management-per-freelance-workshop/) **Published:** October 9, 2019 **Author:** Alessandra Granaudo **Excerpt:** Ridurre i rischi tipici del lavoro freelance per creare opportunità e avere per le mani la concreta possibilità di lavorare in pace, con più gratificazione: tecniche e approcci da mettere in pratica sin da subito. **Content:** *Quando diciamo di essere freelance, le persone tipicamente hanno due reazioni: ci invidiano o ci compatiscono.* *I primi ci vedono come avventurieri incuranti di ogni rischio, pirati esposti a ogni intemperia della vita; i secondi sono convinti che passeremo delle vecchiaie terribili, senza la paterna protezione di un’azienda.* *Entrambi non sanno che un freelance può eliminare i rischi tipici del proprio approccio al lavoro e, anzi, trasformare mille minacce in altrettante opportunità!* In questo workshop, *Risk Management per Freelance* con Jacopo Romei, daremo una sistemata razionale al concetto di rischio, ne capiremo l’effetto – anche emotivo – che ha sui freelance e vedremo delle tecniche per affrontarlo, anzi, per rimuoverlo! ## Target Audience - Freelance che si trovano invischiati troppo spesso in progetti brutti - Professionisti che si vendono in base al tempo: a ora, a giornata, ecc. - Freelance che dedicano troppo tempo a un solo cliente - Dipendenti che vorrebbero iniziare una carriera da freelance e hanno paura di perdere certezze - Lavoratori indipendenti che hanno problemi ad accordarsi con altri professionisti - Liberi professionisti che non sanno se un collaboratore varrà i soldi che costa. ## Argomenti - Strumenti di riconoscimento del merito nelle collaborazioni - Tecniche di ripartizione del denaro a posteriori del lavoro - Negoziazione di accordi centrati sul lavoro e non sullo sforzo - Casi reali di negoziazione - Antifragilità e rischio nella transizione verso una nuova carriera da freelance - Il ruolo di domanda e tasso di conversione nella carriera di un freelance - Miti da sfatare e consigli sulla previdenza per i freelance. ## Programma Durante la giornata che passeremo insieme a Jacopo, vedremo alcune tecniche per ridurre i rischi tipici del lavoro freelance, insieme a esempi tratti dalla sua esperienza nel mondo reale per ottenere serenità e guadagni più facili. Cercheremo di capire anche i principi a monte di certe decisioni operative, così da ottenere la capacità di declinarli nel contesto di ognuno e di poter individuare soluzioni adatte a tutti, senza ricette precotte. Ogni argomento trattato sarà rivolto allo stesso obiettivo: avere per le mani la concreta possibilità di lavorare in pace e quindi con più gratificazione. ## Agenda Durante la giornata di workshop cercheremo di coprire più argomenti possibile, con un approccio generalista, adatto a freelance con competenze anche molto diverse tra loro. La preferenza sarà per attività pratiche e simulazioni, cercando di minimizzare l’uso di slide e di discorsi frontali. ### Mattina - Extreme Contracts e contratti orientati al valore - Valutazione dei meriti e riconoscimento del merito nelle collaborazioni. ### Pomeriggio - Strumenti previdenziali per i lavoratori indipendenti in Italia - Business antifragili ed elementi di fragilità nel knowledge work. ## Cosa impareremo Le 5 cose che ci aspettiamo ti porterai a casa alla fine della giornata di corso: - Negoziare accordi centrati sul valore invece che sullo sforzo con i clienti - Negoziare accordi centrati sul valore invece che sullo sforzo con i collaboratori - Compiere transizioni dal lavoro dipendente al lavoro indipendente senza che sia necessariamente un salto nel buio - Capire e razionalizzare il concetto di rischio a dispetto delle distorsioni cognitive che affliggono il pensiero analitico degli esseri umani - Riconoscere il valore delle emozioni come spunto di individuazione delle ipotesi di rischio. ## Come si svolge Il corso si svolgerà online e in diretta: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare *hands-on*. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è *richiesto* che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati. Il programma prevede una serie di giochi che serviranno ad imparare in prima persona alcuni principi base, i casi reali a vederli applicati nel mondo vero, con clienti normali – come i vostri! – e con collaboratori che hanno lavorato con Jacopo Romei nei progetti di questi anni. Verranno forniti anche concetti di teoria, ma senza richiedere nessuna conoscenza a priori di livello universitario. Applicheremo alcuni principi del metodo *Training from the back of the room*, con prevalenza di attività su lectures. Alle poche definizioni teoriche si affiancano numerosi esercizi ed attività pratiche. La condivisione tra i partecipanti ed il supporto del trainer completano il quadro formativo. ## Perché partecipare Al termine di questo workshop, avrai acquisito le competenze per lavorare con autonomia, su progetti sempre nuovi, assumendoti la responsabilità – e il beneficio – di poter imparare al massimo dai tuoi errori. I liberi professionisti che parteciperanno potranno finalmente affermare che il loro lavoro sia tra i più robusti e potranno finalmente lavorare con i propri ritmi senza essere esposti a ogni imprevisto nelle relazioni con un cliente e senza la necessità della protezione di un’azienda-chioccia. **Categories:** A calendario **Tags:** Extreme Contracts, Freelance, Risk Management --- ### [Team Topologies Training](https://www.avanscoperta.it/it/training/team-topologies-training/) **Published:** February 2, 2021 **Author:** Enrico Meloni **Excerpt:** Manuel Pais is our guide in the world of Team Topologies: a clear, easy-to-follow approach to modern software delivery with an emphasis on optimizing team interactions for flow. **Content:** ## Abstract Based on the acclaimed book by Matthew Skelton and Manuel Pais, [Team Topologies: Organizing Business and Technology Teams for Fast Flow](https://teamtopologies.com/book), this live online training course introduces the key ideas of organization evolution and dynamics from Team Topologies in an accessible way. We look at the key ideas in Team Topologies including: the 4 fundamental team types, the 3 team interaction modes, Conway’s Law, team cognitive load, software ‘fracture planes’, techniques for finding suitable stream boundaries, and basic organizational sensing. This half-day training course with Manuel Pais provides an immersive experience, with a balanced set of lectures, case studies, and online exercises to test understanding. ## Target Audience This workshop is for a broad audience, from engineers, agile coaches, and software leaders to team leads, heads of departments, and CTO/CIO. Anyone with a keen interest in team dynamics and improved flow of delivery will benefit from this session. Regardless of your role in the organization, there will be actionable takeaways that you can apply immediately after the session whether that’s in your team, your department, or the entire organization. ## Program In this training course, we start by looking at what a “team-first” approach means (inside and outside the team) and why the Stream-aligned team in particular is fundamental to modern software delivery with fast flow. We will learn about the three supporting team types: Enabling, Complicated subsystem, and Platform, and how these help to minimize cognitive load, especially when used with a “Thinnest Viable Platform”. We will also see how this ecosystem of teams together with an understanding of constraints like Conway’s Law and Dunbar’s numbers are key to achieve organizations that can quickly adapt to new customer demands, market trends, and technology evolution. ## Agenda - Part 1: The team as a means of delivery - Part 2: Organization designs that work for flow - Part 3: Evolving the organization for innovation and delivery - Part 4: Getting started with Team Topologies ## Learning Objectives - Understand why we need to move beyond “The Spotify Model” for effective organization design and clarify the importance of Stream-aligned teams - Understand what is known as Conway’s Law – or “sociotechnical mirroring” – and how it’s both a hindrance and an opportunity for organizations - Understand cognitive load as applied to software delivery and teams, especially “team cognitive load” - Discover the many types of coupling present in software systems and software delivery processes and why coupling needs to be removed, not managed - Understand how the supporting team types (Enabling, Complicated Subsystem, and Platform) and the three interaction modes (Collaboration, Facilitating, and X-as-a-Service) help organizations to sense when boundaries are misplaced or ineffective - How to get started with a Team Topologies approach. ## Why should you buy a ticket? Join this course if you’ve ever asked yourself any of these questions: - Agile talks about autonomous teams all the time but what does autonomy really mean? How do we promote autonomy without chaos? - What should be the responsibilities of a product team? And why? - Why is the delivery of software so slow at times with all the tooling available to teams? - Why are some teams demotivated and close to burn out so frequently? What can I do to change that? - How and when should my team interact with other teams? Why is it painful sometimes? What can I do about it? - I’ve never seen a large reorg or transformation with truly a major positive impact on the productivity and motivation of teams. How come? ## Expect to get your hands dirty – How does it work This half-day training provides an immersive experience, with a balanced set of lectures, case studies, and online exercises to test understanding. We will meet in a virtual classroom and use video call and screen sharing software for the lectures. We will use breakout rooms and Miro for exercises in small groups, and online polls to quickly make sure everyone is on the same page. Parts 1 to 3 will include online polls and group exercises. Every part will begin with a lecture to explain the concepts. Discussions and questions are encouraged. The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. We kindly ask that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. **Categories:** A catalogo **Tags:** Conway's Laws, Domain-Driven Design, Team collaboration, Team Topologies --- ### [Team Topologies Training Course](https://www.avanscoperta.it/en/training/team-topologies-training-course/) **Published:** February 2, 2021 **Author:** Enrico Meloni **Excerpt:** Manuel Pais is our guide in the world of Team Topologies: a clear, easy-to-follow approach to modern software delivery with an emphasis on optimizing team interactions for flow. **Content:** ## Abstract Based on the acclaimed book by Matthew Skelton and Manuel Pais, [Team Topologies: Organizing Business and Technology Teams for Fast Flow](https://teamtopologies.com/book), this live online training course introduces the key ideas of organization evolution and dynamics from Team Topologies in an accessible way. We look at the key ideas in Team Topologies including: the 4 fundamental team types, the 3 team interaction modes, Conway’s Law, team cognitive load, software ‘fracture planes’, techniques for finding suitable stream boundaries, and basic organizational sensing. This half-day training course with Manuel Pais provides an immersive experience, with a balanced set of lectures, case studies, and online exercises to test understanding. ## Target Audience This workshop is for a broad audience, from engineers, agile coaches, and software leaders to team leads, heads of departments, and CTO/CIO. Anyone with a keen interest in team dynamics and improved flow of delivery will benefit from this session. Regardless of your role in the organization, there will be actionable takeaways that you can apply immediately after the session whether that’s in your team, your department, or the entire organization. ## Program In this training course, we start by looking at what a “team-first” approach means (inside and outside the team) and why the Stream-aligned team in particular is fundamental to modern software delivery with fast flow. We will learn about the three supporting team types: Enabling, Complicated subsystem, and Platform, and how these help to minimize cognitive load, especially when used with a “Thinnest Viable Platform”. We will also see how this ecosystem of teams together with an understanding of constraints like Conway’s Law and Dunbar’s numbers are key to achieve organizations that can quickly adapt to new customer demands, market trends, and technology evolution. ## Agenda - Part 1: The team as a means of delivery - Part 2: Organization designs that work for flow - Part 3: Evolving the organization for innovation and delivery - Part 4: Getting started with Team Topologies ## Learning Objectives - Understand why we need to move beyond “The Spotify Model” for effective organization design and clarify the importance of Stream-aligned teams - Understand what is known as Conway’s Law – or “sociotechnical mirroring” – and how it’s both a hindrance and an opportunity for organizations - Understand cognitive load as applied to software delivery and teams, especially “team cognitive load” - Discover the many types of coupling present in software systems and software delivery processes and why coupling needs to be removed, not managed - Understand how the supporting team types (Enabling, Complicated Subsystem, and Platform) and the three interaction modes (Collaboration, Facilitating, and X-as-a-Service) help organizations to sense when boundaries are misplaced or ineffective - How to get started with a Team Topologies approach. ## Why should you buy a ticket? Join this course if you’ve ever asked yourself any of these questions: - Agile talks about autonomous teams all the time but what does autonomy really mean? How do we promote autonomy without chaos? - What should be the responsibilities of a product team? And why? - Why is the delivery of software so slow at times with all the tooling available to teams? - Why are some teams demotivated and close to burn out so frequently? What can I do to change that? - How and when should my team interact with other teams? Why is it painful sometimes? What can I do about it? - I’ve never seen a large reorg or transformation with truly a major positive impact on the productivity and motivation of teams. How come? ## Expect to get your hands dirty – How does it work This half-day training provides an immersive experience, with a balanced set of lectures, case studies, and online exercises to test understanding. We will meet in a virtual classroom and use video call and screen sharing software for the lectures. We will use breakout rooms and Miro for exercises in small groups, and online polls to quickly make sure everyone is on the same page. Parts 1 to 3 will include online polls and group exercises. Every part will begin with a lecture to explain the concepts. Discussions and questions are encouraged. The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. We kindly ask that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. **Categories:** Scheduled **Tags:** Conway's Laws, Domain-Driven Design, Team collaboration, Team Topologies --- ### [Practical Strategy for Digital Organizations](https://www.avanscoperta.it/it/training/practical-strategy-for-digital-organizations/) **Published:** January 19, 2023 **Author:** Enrico Meloni **Excerpt:** Join this workshop to learn how using Wardley Mapping and OKR together can help you visualize, map and implement your strategy effectively and without getting distracted. **Content:** ## Abstract Digital organizations face more and more complexity these days as a result of a mesh of products, services, technology, and of the people that work to build, operate and maintain them. You may have a team that is able to solve a problem the right way flawlessly. But what helps them solve the right problem? How can we continuously validate our progress with people in “tech” and “non-tech” roles? And what should we do when new opportunities present themselves? Is the plan we had still valid? Two approaches, if used together, can guide us to a successful outcome: Wardley Mapping and OKR. - Wardley Mapping helps us capture the ecosystem that our organisation is a part of in a visual form. Because Wardley Maps forces us to start with the users’ needs, it is a perfect tool to discover where our organisations are failing to deliver the right value to customers. - However, for success, we need more than direction; we need continuous execution towards our goal. Once we know where we are failing our users, Objectives & Key Results (OKRs) are an effective framework for implementing a strategy to improve the situation. Combining these two approaches results in a pragmatic strategy focused on outcome, not output. This helps everyone when the world around us changes, which it always does. Join this remote workshop with Marijn Huizendveld and learn how Wardley Mapping and OKR, if used together, can be useful in keeping Direction and Execution constantly aligned. ## Target Audience Anyone who wants to challenge the status quo of decision-making under uncertainty in technology and business. This workshop is for you if you’re a: - C-level at a medium-sized firm - Head of Product at a corporate - Lead Engineer at a start-up - Manager at a traditional company. ## Topics - OKR – Objectives and Key Results is a framework to set ambitious goals that allow teams to operate autonomously to achieve the Objective. - Wardley Mapping is a way to capture the complexity of a business system in a graph that allows people to anticipate changes in the environment. It’s a perfect tool for devising business strategies for digital companies. ## Program In this course, you will learn to map your business and technological landscape so that a common language emerges to discuss strategic thinking and decision-making. It allows for scenario building, teaches about bias and assumptions, and comes packaged with a long list of ideas that may help in your situation. Using visualisations, strategies can be challenged, and implementation options debated and weighed. As such, mapping is about the act and not merely the artefact. That is why this training is hands-on from the very start. With a strategy in hand, you will learn about implementing your strategy effectively using OKRs. After discussing what makes for good and bad Objectives, you will dive into quantifying success. You will learn about the risk of measuring based on proxy indicators. Successful implementations are all about continuous work: you will learn how a weekly cadence of a few priorities helps you stay on track. And with a Weekly Status email, you create all the transparency in the organization to get corrected when you or your team has a blind spot in their perception. ## Agenda ### Module 1 - Wardley Mapping Essentials - Needs vs Wants - Chain of Needs - Everything Evolves - Doctrine Principles. ### Module 2 - Practical Application - My First Wardley Map - Maps Market. ### Module 3 - Objectives & Key Results - What makes a good Objective? - Key Results that capture achieving the Objective - Health Metrics to prevent burning bridges. ### Module 4 - Mapping your OKRs - Putting yourself on the map - The power of the hypothesis - Maps Market v2. ## Learning Objectives – What are we gonna learn? - Map the business and technology ecosystem using a Wardley Map - List Doctrine Principles by Simon Wardley that help regardless of the environment you operate in - Anticipate evolution in the landscape using the Wardley Map and Simon Wardley’s Climatic Patterns - Explain the difference between good and bad Objectives - Give examples of effective Key Results to use when using OKRs - Draft a Status Email to notify interested parties about the progress on the Objective. ## Expect to get your hands dirty This class will emphasise practice over theory. Participants will work in groups and on their own, and there will be plenty of time and opportunities to discuss, ask questions and interact with each other and the trainer. Mapping with imperfect knowledge today is better than mapping with perfect knowledge next year. The course will teach you the basics of mapping your ecosystem with a Wardley Map. The map will be used to identify different objectives to advance the organisation’s interest. Within your group, you will weigh the options: what is the Objective we want to rally around? The chosen Objective will be captured in writing to inspire people. And within groups, you will pinpoint the best metrics to serve as Key Results. ## Online Workshop – How does it work The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole workshop duration: this will enhance the quality of the communication and the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! ## Why should you buy a ticket? After this course, you will be able to produce a Wardley Map for any topic you care about. The map will help you pick a strategy to achieve your goals. Thanks to the OKR framework, you will be able to implement your strategy without getting distracted. Any tool has limitations; after attending this course, you will also be aware of when NOT to use Wardley Mapping or OKRs to achieve your goals. **Categories:** A calendario **Tags:** Business Strategy, Objective Key Results, OKR, Wardley Mapping, Wardley Maps --- ### [Practical Strategy for Digital Organizations Workshop](https://www.avanscoperta.it/en/training/practical-strategy-for-digital-organizations-workshop/) **Published:** January 19, 2023 **Author:** Enrico Meloni **Excerpt:** Join this workshop to learn how using Wardley Mapping and OKR together can help you visualize, map and implement your strategy effectively and without getting distracted. **Content:** ## Abstract Digital organizations face more and more complexity these days as a result of a mesh of products, services, technology, and of the people that work to build, operate and maintain them. You may have a team that is able to solve a problem the right way flawlessly. But what helps them solve the right problem? How can we continuously validate our progress with people in “tech” and “non-tech” roles? And what should we do when new opportunities present themselves? Is the plan we had still valid? Two approaches, if used together, can guide us to a successful outcome: Wardley Mapping and OKR. - Wardley Mapping helps us capture the ecosystem that our organisation is a part of in a visual form. Because Wardley Maps forces us to start with the users’ needs, it is a perfect tool to discover where our organisations are failing to deliver the right value to customers. - However, for success, we need more than direction; we need continuous execution towards our goal. Once we know where we are failing our users, Objectives & Key Results (OKRs) are an effective framework for implementing a strategy to improve the situation. Combining these two approaches results in a pragmatic strategy focused on outcome, not output. This helps everyone when the world around us changes, which it always does. Join this remote workshop with Marijn Huizendveld and learn how Wardley Mapping and OKR, if used together, can be useful in keeping Direction and Execution constantly aligned. ## Target Audience Anyone who wants to challenge the status quo of decision-making under uncertainty in technology and business. This workshop is for you if you’re a: - C-level at a medium-sized firm - Head of Product at a corporate - Lead Engineer at a start-up - Manager at a traditional company. ## Topics - OKR – Objectives and Key Results is a framework to set ambitious goals that allow teams to operate autonomously to achieve the Objective. - Wardley Mapping is a way to capture the complexity of a business system in a graph that allows people to anticipate changes in the environment. It’s a perfect tool for devising business strategies for digital companies. ## Program In this course, you will learn to map your business and technological landscape so that a common language emerges to discuss strategic thinking and decision-making. It allows for scenario building, teaches about bias and assumptions, and comes packaged with a long list of ideas that may help in your situation. Using visualisations, strategies can be challenged, and implementation options debated and weighed. As such, mapping is about the act and not merely the artefact. That is why this training is hands-on from the very start. With a strategy in hand, you will learn about implementing your strategy effectively using OKRs. After discussing what makes for good and bad Objectives, you will dive into quantifying success. You will learn about the risk of measuring based on proxy indicators. Successful implementations are all about continuous work: you will learn how a weekly cadence of a few priorities helps you stay on track. And with a Weekly Status email, you create all the transparency in the organization to get corrected when you or your team has a blind spot in their perception. ## Agenda ### Module 1 - Wardley Mapping Essentials - Needs vs Wants - Chain of Needs - Everything Evolves - Doctrine Principles. ### Module 2 - Practical Application - My First Wardley Map - Maps Market. ### Module 3 - Objectives & Key Results - What makes a good Objective? - Key Results that capture achieving the Objective - Health Metrics to prevent burning bridges. ### Module 4 - Mapping your OKRs - Putting yourself on the map - The power of the hypothesis - Maps Market v2. ## Learning Objectives – What are we gonna learn? - Map the business and technology ecosystem using a Wardley Map - List Doctrine Principles by Simon Wardley that help regardless of the environment you operate in - Anticipate evolution in the landscape using the Wardley Map and Simon Wardley’s Climatic Patterns - Explain the difference between good and bad Objectives - Give examples of effective Key Results to use when using OKRs - Draft a Status Email to notify interested parties about the progress on the Objective. ## Expect to get your hands dirty This class will emphasise practice over theory. Participants will work in groups and on their own, and there will be plenty of time and opportunities to discuss, ask questions and interact with each other and the trainer. Mapping with imperfect knowledge today is better than mapping with perfect knowledge next year. The course will teach you the basics of mapping your ecosystem with a Wardley Map. The map will be used to identify different objectives to advance the organisation’s interest. Within your group, you will weigh the options: what is the Objective we want to rally around? The chosen Objective will be captured in writing to inspire people. And within groups, you will pinpoint the best metrics to serve as Key Results. The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. ## Online Workshop – How does it work The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole workshop duration: this will enhance the quality of the communication and the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! ## Why should you buy a ticket? After this course, you will be able to produce a Wardley Map for any topic you care about. The map will help you pick a strategy to achieve your goals. Thanks to the OKR framework, you will be able to implement your strategy without getting distracted. Any tool has limitations; after attending this course, you will also be aware of when NOT to use Wardley Mapping or OKRs to achieve your goals. **Categories:** Scheduled **Tags:** Business Strategy, Objective Key Results, OKR, Wardley Mapping, Wardley Maps --- ### [Working Effectively with Legacy Code](https://www.avanscoperta.it/it/training/working-effectively-with-legacy-code/) **Published:** May 24, 2018 **Author:** Enrico Meloni **Excerpt:** Join Michael Feathers for this 2-day hands-on workshop and learn how to work more effectively with large, untested legacy code bases. **Content:** ## Course abstract **Test-Driven Development** and **Refactoring** are powerful tools. With them you can add **new code** to systems and make **existing code more maintainable**. However, refactoring code without having tests in place can be **hazardous**. ## Program This workshop presents a collection of **dependency breaking** and **test writing techniques** that can be used to get existing code safely under test for refactoring. These techniques can be used in conjunction with Test-Driven Development to **breathe new life into large existing code bases**. ### Topics - **Testing** as a Programmer’s tool - Seam identification - **Breaking Dependencies** – Sensing and Separation - Breaking Hidden and Manifest Dependencies - **Characterization Testing** - **Refactoring** Toward Understandability - Strategies for Getting Large Methods under Test - Dealing with Deeply Nested **Conditionals** - Planning **Large-­Scale Refactoring** and **Technical Debt Reduction**. ## What will you learn By the end of this course, you will: - Understand what **legacy code** is - Understand how to **break dependencies in legacy code** - Learn a variety of techniques for breaking **external dependencies** - Learn a variety of techniques for breaking **internal dependencies** - Understand when to employ each of the techniques - Learn a variety of strategies for **code refactoring** - Learn how to identify **change points** - Learn how to find an **inflection point** - Understand the concept of **test coverage** for inflection points - Understand **how to write effective tests for legacy code**. **Categories:** A calendario **Tags:** Legacy Code, Refactoring, TDD, Technical Debt, Test Driven Development --- ### [Working Effectively with Legacy Code Workshop](https://www.avanscoperta.it/en/training/working-effectively-with-legacy-code-workshop/) **Published:** May 24, 2018 **Author:** Enrico Meloni **Excerpt:** Join Michael Feathers for this 2-day hands-on workshop and learn how to work more effectively with large, untested legacy code bases. **Content:** ## Course abstract **Test-Driven Development** and **Refactoring** are powerful tools. With them you can add **new code** to systems and make **existing code more maintainable**. However, refactoring code without having tests in place can be **hazardous**. ## Program This workshop presents a collection of **dependency breaking** and **test writing techniques** that can be used to get existing code safely under test for refactoring. These techniques can be used in conjunction with Test-Driven Development to **breathe new life into large existing code bases**. ### Topics - **Testing** as a Programmer’s tool - Seam identification - **Breaking Dependencies** – Sensing and Separation - Breaking Hidden and Manifest Dependencies - **Characterization Testing** - **Refactoring** Toward Understandability - Strategies for Getting Large Methods under Test - Dealing with Deeply Nested **Conditionals** - Planning **Large-­Scale Refactoring** and **Technical Debt Reduction**. ## What will you learn By the end of this course, you will: - Understand what **legacy code** is - Understand how to **break dependencies in legacy code** - Learn a variety of techniques for breaking **external dependencies** - Learn a variety of techniques for breaking **internal dependencies** - Understand when to employ each of the techniques - Learn a variety of strategies for **code refactoring** - Learn how to identify **change points** - Learn how to find an **inflection point** - Understand the concept of **test coverage** for inflection points - Understand **how to write effective tests for legacy code**. **Categories:** Scheduled **Tags:** Legacy Code, Refactoring, TDD, Technical Debt, Test Driven Development --- ### [Serverless development with AWS Lambda](https://www.avanscoperta.it/it/training/serverless-development-with-aws-lambda/) **Published:** July 26, 2018 **Author:** Enrico Meloni **Excerpt:** Learn how Serverless platforms are significantly reducing the cost of running high-performance web sites and API services in the cloud. What's the impact of these changes on software architecture, and how do teams need to re-think how to approach sessions, storage, authorization and testing? **Content:** **Serverless platforms** significantly reduce the cost of running high-performance web sites and API services in the **cloud**, but with a major impact on architecture, these services also require teams to re-think how to approach **sessions**, **storage**, **authorization** and **testing**. Join **Gojko Adzic**, a key contributor to [Claudia.js](https://claudiajs.com/) (a popular open-source deployment tool for AWS Lambda) in this **a practical workshop** for developers and architects that want to take advantage of the latest trends in cloud computing: **serverless apps** and **cloud functions**. ## **Target Audience** This is **an intermediate workshop** for developers and architects **migrating from on-premise applications to the cloud** or investigating the migration from self-managed applications (virtual machines in the cloud) or Platform-as-a-Service (Heroku, Google App Engine) applications to AWS Lambda and cloud functions. Previous knowledge with cloud functions is not required, but you will need **basic knowledge of JavaScript** to follow the exercises. ## Program Through hands-on exercises and teamwork, you’ll learn about using **AWS Lambda** and **API Gateway** to create responsive **event-driven micro-services**, **auto-scaling web APIs**, and **high-performance web sites**. By the end of the workshop, you will **create a useful real-world serverless application**, exploring the typical architectural patterns. ## Agenda ### Day 1 – Getting started with Lambda and performing basic tasks - Introduction to **AWS Lambda** and API Gateway - Logging, monitoring and analytics in a serverless world - Connecting Lambda functions to **storage (S3)** - Invoking **Lambda functions** from Web APIs - Securing Lambda functions. ### Day 2 – Architecting serverless applications - Designing applications for **share-nothing architectures** - How to achieve user sessions and still work at scale - Key things to consider when talking to **third-party APIs** - Authentication and authorization with serverless applications - How to design **testable Lambda functions** - How to set up your workflow for teamwork and **versioning**. ## What will you learn in this course? - Use **AWS Lambda** and **API Gateway** - Perform file conversion, image serving, connecting to third-party APIs and managing sessions with serverless architectures - Design scalable, high-performance web sites with **single-page apps** backed by **cloud APIs** - Get the most out of AWS integrations (**AWS Cognito** and **AWS IoT Gateway**) - Identify how serverless architecture impacts **testing**, **monitoring** and **deployments** - Run **A/B tests** easily and operate multiple versions of your system cheaply by learning best practice - Start converting monolithic applications to **cloud functions** - Use **Amazon Serverless Application Model (SAM)** and Claudia.js to deploy Lambda functions. **Categories:** A calendario **Tags:** AWS, AWS Lambda, Cloud computing, serverless --- ### [Serverless development with AWS Lambda Workshop](https://www.avanscoperta.it/en/training/serverless-development-with-aws-lambda-workshop/) **Published:** July 26, 2018 **Author:** Enrico Meloni **Excerpt:** Learn how Serverless platforms are significantly reducing the cost of running high-performance web sites and API services in the cloud. What's the impact of these changes on software architecture, and how do teams need to re-think how to approach sessions, storage, authorization and testing? **Content:** **Serverless platforms** significantly reduce the cost of running high-performance web sites and API services in the **cloud**, but with a major impact on architecture, these services also require teams to re-think how to approach **sessions**, **storage**, **authorization** and **testing**. Join **Gojko Adzic**, a key contributor to [Claudia.js](https://claudiajs.com/) (a popular open-source deployment tool for AWS Lambda) in this **a practical workshop** for developers and architects that want to take advantage of the latest trends in cloud computing: **serverless apps** and **cloud functions**. ## **Target Audience** This is **an intermediate workshop** for developers and architects **migrating from on-premise applications to the cloud** or investigating the migration from self-managed applications (virtual machines in the cloud) or Platform-as-a-Service (Heroku, Google App Engine) applications to AWS Lambda and cloud functions. Previous knowledge with cloud functions is not required, but you will need **basic knowledge of JavaScript** to follow the exercises. ## Program Through hands-on exercises and teamwork, you’ll learn about using **AWS Lambda** and **API Gateway** to create responsive **event-driven micro-services**, **auto-scaling web APIs**, and **high-performance web sites**. By the end of the workshop, you will **create a useful real-world serverless application**, exploring the typical architectural patterns. ## Agenda ### Day 1 – Getting started with Lambda and performing basic tasks - Introduction to **AWS Lambda** and API Gateway - Logging, monitoring and analytics in a serverless world - Connecting Lambda functions to **storage (S3)** - Invoking **Lambda functions** from Web APIs - Securing Lambda functions. ### Day 2 – Architecting serverless applications - Designing applications for **share-nothing architectures** - How to achieve user sessions and still work at scale - Key things to consider when talking to **third-party APIs** - Authentication and authorization with serverless applications - How to design **testable Lambda functions** - How to set up your workflow for teamwork and **versioning**. ## What will you learn in this course? - Use **AWS Lambda** and **API Gateway** - Perform file conversion, image serving, connecting to third-party APIs and managing sessions with serverless architectures - Design scalable, high-performance web sites with **single-page apps** backed by **cloud APIs** - Get the most out of AWS integrations (**AWS Cognito** and **AWS IoT Gateway**) - Identify how serverless architecture impacts **testing**, **monitoring** and **deployments** - Run **A/B tests** easily and operate multiple versions of your system cheaply by learning best practice - Start converting monolithic applications to **cloud functions** - Use **Amazon Serverless Application Model (SAM)** and Claudia.js to deploy Lambda functions. **Categories:** Scheduled **Tags:** AWS, AWS Lambda, Cloud computing, serverless --- ### [unFIX Foundation - The Versatile Organization Workshop](https://www.avanscoperta.it/it/training/the-versatile-organization-workshop/) **Published:** October 5, 2021 **Author:** Alessandra Granaudo **Excerpt:** The unFIX model facilitates gradual change, dynamic teams, and an important role to play for managers. It's time to focus on continuous innovation and the human experience. **Content:** *What comes after Management 3.0, SAFe, and the Spotify Model?* Well, it’s not hard to see in which direction the world is moving: organizations that consist of networked individuals who work from anywhere, who form teams on the fly, who focus on the customer experience (CX), who aim for objectives and achieve results, and make that a whole lotta fun for themselves. Let’s unfix our organizations! The unFIX model is a pattern library that helps you with versatile organization design. Unlike many agile scaling frameworks and self-management methods, **unFIX has its focus on continuous innovation and the human experience**. It facilitates gradual change, dynamic teams, and an important role to play for managers. ## Target audience The unFIX workshop led by Jurgen Appelo, author of Management 3.0 and Managing for Happiness, is beneficial for people who are influencers in their organization regarding team structure and ways of working and for anyone who can influence their organization to promote change. The unFIX workshop is aimed at Change Makers and: - HR people - executives - middle managers - human resources - team leaders - agile coaches - product managers - consultants. ## Program **Reshape the business** Continuous improvement goes far beyond IT and beyond software and manufacturing. Innovation is more than just Agile and Lean. **Optimize the experience** Customers don’t care about products; they care about progress and happiness. Turn product-focused teams into experience enablers. **Ditch the matrix** There’s no speed in classical hierarchies and matrix organizations. Only self-managed units can act fast when faced with crises or opportunities. **Fix the transformation** Clean up the mess created with various agile scaling frameworks. Stop the suffering inflicted by harmful implementation programs. **Stop the imitations** Why implement a structure copied from someone else? Dare to be different. Do your own organization design. **Embrace innovation** New ideas don’t come from old approaches. You want continuous evolution of the business. Endless flexibility with just enough structure. **Repurpose the managers** Don’t buy into the “no managers” mantra. Turn managers into intrapreneurs and get them to manage the system, not the people. **Give people a tribe** People leave companies that fail to offer them a sense of belonging and a feeling of recognition. Don’t be that soulless company. **Enable hybrid working** Work is not a place where people go; it is something they do. Be the company that stops pushing people around and starts getting things done. **Start small, grow big** Disruptive change programs rarely work. Take a more gradual approach and then steadily scale up the transformation. ## Topics **Warming up** Voting Options • Decision-Making Methods • Human Drives **Structure patterns** Basic Crew Types • Experience Management • Base Types • Forum Types • Team Roles • Case Studies **Process patterns** Job-to-Be-Done • Value Streams • Cadence • Feedback Loops • Dependency Breakers **Scaling patterns** Lifecycle Stages • Investment Horizons • Reteaming Options • Portfolios • Scenarios **Other topics** Principles • Scaling Frameworks • Group Sizes • Purpose • OKRs • Habit-Forming • Delegation Levels • Hybrid Working ## Learning Objectives - What is the unFIX model and how to apply its patterns? - How do we move beyond agile scaling frameworks? **Categories:** A catalogo **Tags:** Business Agility, Dynamic Teaming, Gamification, Management 3.0, OKR, spotify model --- ### [unFIX Foundation Workshop - The Versatile Organization](https://www.avanscoperta.it/en/training/the-versatile-organization-workshop-and-the-unfix-model/) **Published:** October 5, 2021 **Author:** Alessandra Granaudo **Excerpt:** The unFIX model facilitates gradual change, dynamic teams, and an important role to play for managers. It's time to focus on continuous innovation and the human experience. **Content:** *What comes after Management 3.0, SAFe, and the Spotify Model?* Well, it’s not hard to see in which direction the world is moving: organizations that consist of networked individuals who work from anywhere, who form teams on the fly, who focus on the customer experience (CX), who aim for objectives and achieve results, and make that a whole lotta fun for themselves. Let’s unfix our organizations! The unFIX model is a pattern library that helps you with versatile organization design. Unlike many agile scaling frameworks and self-management methods, **unFIX has its focus on continuous innovation and the human experience**. It facilitates gradual change, dynamic teams, and an important role to play for managers. ## Target audience The unFIX workshop led by Jurgen Appelo, author of Management 3.0 and Managing for Happiness, is beneficial for people who are influencers in their organization regarding team structure and ways of working and for anyone who can influence their organization to promote change. The unFIX workshop is aimed at Change Makers and: - HR people - executives - middle managers - human resources - team leaders - agile coaches - product managers - consultants. ## Program **Reshape the business** Continuous improvement goes far beyond IT and beyond software and manufacturing. Innovation is more than just Agile and Lean. **Optimize the experience** Customers don’t care about products; they care about progress and happiness. Turn product-focused teams into experience enablers. **Ditch the matrix** There’s no speed in classical hierarchies and matrix organizations. Only self-managed units can act fast when faced with crises or opportunities. **Fix the transformation** Clean up the mess created with various agile scaling frameworks. Stop the suffering inflicted by harmful implementation programs. **Stop the imitations** Why implement a structure copied from someone else? Dare to be different. Do your own organization design. **Embrace innovation** New ideas don’t come from old approaches. You want continuous evolution of the business. Endless flexibility with just enough structure. **Repurpose the managers** Don’t buy into the “no managers” mantra. Turn managers into intrapreneurs and get them to manage the system, not the people. **Give people a tribe** People leave companies that fail to offer them a sense of belonging and a feeling of recognition. Don’t be that soulless company. **Enable hybrid working** Work is not a place where people go; it is something they do. Be the company that stops pushing people around and starts getting things done. **Start small, grow big** Disruptive change programs rarely work. Take a more gradual approach and then steadily scale up the transformation. ## Topics **Warming up** Voting Options • Decision-Making Methods • Human Drives **Structure patterns** Basic Crew Types • Experience Management • Base Types • Forum Types • Team Roles • Case Studies **Process patterns** Job-to-Be-Done • Value Streams • Cadence • Feedback Loops • Dependency Breakers **Scaling patterns** Lifecycle Stages • Investment Horizons • Reteaming Options • Portfolios • Scenarios **Other topics** Principles • Scaling Frameworks • Group Sizes • Purpose • OKRs • Habit-Forming • Delegation Levels • Hybrid Working ## Learning Objectives - What is the unFIX model and how to apply its patterns? - How do we move beyond agile scaling frameworks? **Categories:** On demand **Tags:** Business Agility, Dynamic Teaming, Gamification, Management 3.0, OKR --- ### [Specification By Example: From User Stories to Acceptance Tests](https://www.avanscoperta.it/it/training/specification-by-example_/) **Published:** October 24, 2018 **Author:** Enrico Meloni **Excerpt:** Specification by example helps you bridge the communication gap between stakeholders and implementation teams, build quality into software from the start, design, develop and deliver systems fit for purpose. **Content:** Specification by example is a collaborative approach to defining requirements and tests based on capturing realistic examples instead of abstract statements. It is the cornerstone of any successful requirements and testing strategy with Agile and Lean processes, such as Scrum, Extreme Programming and Kanban. This workshop with Gojko Adzic will teach you how to apply specification by example to bridge the communication gap between stakeholders and implementation teams, build quality into software from the start, design, develop and deliver systems fit for purpose. ## Target audience The workshop is aimed at delivery team members (programmers, testers, business analysts and product owners) mostly working in iterative delivery, such as Scrum or Kanban. Prior experience in delivering software iteratively is useful when attending this workshop, but not required. ## Agenda This workshop is based on Gojko Adzic’s books [Specification by Example](https://www.amazon.it/Specification-Example-Successful-Deliver-Software/dp/1617290084) and [Bridging the Communication Gap](https://www.amazon.it/Bridging-Communication-Gap-Specification-Acceptance/dp/0955683610/). Through facilitated exercises and discussion, you will learn: ### Day 1 - Facilitating specification workshops - Getting the right examples, quickly - Avoiding the most common mistakes in product backlog refinement - Why/when to do specification by example, and when not to do it - What do teams that do this really well do differently from those that just waste time. ### Day 2 - What are the most popular tools/how they differ - What makes a good specification/test for this context - How to clean up legacy specifications/tests - How this fits into Scrum/Kanban/… - How to start changing the process in your company. ## Learning Objectives - How to extend specifications with examples to create a single source of truth for testing and development - How to avoid functional gaps and inconsistencies in specifications and tests - How to run specification workshops to facilitate collaboration - Good practices for designing specifications with examples and acceptance tests for agile teams - How to create a living documentation system to facilitate change and improve your process long-term - How other teams, from small web startups to large distributed teams in investment banks, apply specification by example in their contexts. **Categories:** A catalogo **Tags:** Agile Software Development, Impact Mapping, Kanban, Scrum, Specification By Example --- ### [Specification by Example Workshop: From User Stories to Acceptance Tests](https://www.avanscoperta.it/en/training/specification-by-example-workshop/) **Published:** October 24, 2018 **Author:** Enrico Meloni **Excerpt:** Specification by example helps you bridge the communication gap between stakeholders and implementation teams, build quality into software from the start, design, develop and deliver systems fit for purpose. **Content:** Specification by example is a collaborative approach to defining requirements and tests based on capturing realistic examples instead of abstract statements.It is the cornerstone of any successful requirements and testing strategy with Agile and Lean processes, such as Scrum, Extreme Programming and Kanban. This workshop with Gojko Adzic will teach you how to apply specification by example to bridge the communication gap between stakeholders and implementation teams, build quality into software from the start, design, develop and deliver systems fit for purpose. ## Target audience The workshop is aimed at delivery team members (programmers, testers, business analysts and product owners) mostly working in iterative delivery, such as Scrum or Kanban. Prior experience in delivering software iteratively is useful when attending this workshop, but not required. ## Agenda This workshop is based on Gojko Adzic’s books [Specification by Example](https://www.amazon.it/Specification-Example-Successful-Deliver-Software/dp/1617290084) and [Bridging the Communication Gap](https://www.amazon.it/Bridging-Communication-Gap-Specification-Acceptance/dp/0955683610/). Through facilitated exercises and discussion, you will learn: - Facilitating specification workshops - Getting the right examples, quickly - Avoiding the most common mistakes in product backlog refinement - Why/when to do specification by example, and when not to do it - What do teams that do this really well do differently from those that just waste time. ### Day 2 - What are the most popular tools/how they differ - What makes a good specification/test for this context - How to clean up legacy specifications/tests - How this fits into Scrum/Kanban/… - How to start changing the process in your company. ## Learning Objectives - How to extend specifications with examples to create a single source of truth for testing and development - How to avoid functional gaps and inconsistencies in specifications and tests - How to run specification workshops to facilitate collaboration - Good practices for designing specifications with examples and acceptance tests for agile teams - How to create a living documentation system to facilitate change and improve your process long-term - How other teams, from small web startups to large distributed teams in investment banks, apply specification by example in their contexts. **Categories:** On demand **Tags:** Agile Software Development, Impact Mapping, Kanban, Scrum, Specification By Example --- ### [Mob Programming](https://www.avanscoperta.it/it/training/mob-programming/) **Published:** May 31, 2019 **Author:** Enrico Meloni **Excerpt:** Learn all the secrets behind effective and time-efficient teamwork with a whole new approach: Mob Programming. **Content:** Mob Programming is a cost-effective, collaborative, and fun way to get work done together. It’s a whole-team approach to development, where coding, designing, testing, and working with the “customer” (partner, Product Owner, User, etc.) is all done as a team. We’ll learn how a Mob performs project work, including user stories, prioritization, test-driven development, refactoring, and retrospectives. We cover the mechanics of how to work together as a Mob as well as the techniques that make this form of development so effective. Designed and facilitated by Mob Programming pioneer Woody Zuill, this workshop provides a hands-on education in the art of collaboration and it’s significant benefits for your teams. ## Target Audience Anyone involved in software development, including (but not limited to) testers, product owners, coders, database experts, deployment experts, managers, and even executives. Our focus in this workshop is the Mob Programming approach to teamwork, and this workshop is useful to those who will work on a team as well as those who provide support for a team. ## Program *Hands-on Exercises, Presentation, Interactive Dialogues, Simulations, Videos.* - Introduction: Mob Programming Introduction, The basics of how it works - Activity: The nature of software development - Activity: Teamwork – a good thing - Driver/Navigator teamwork Roles and Techniques - Coding Dojo Demonstration: A simple demo of Mob Programming with volunteers from the participants - Advanced Mob Programming Concepts – Hands on coding - Coding Exercise: Working on a Sample Project, learning to work together using a few rules and guidelines - How Mob Programming accelerates learning - How to take advantage of learning opportunities - Continuing the Coding Exercise: Removing the rules - Retrospective and review, group discussion of what we’ve learned. ## What will you learn - How 5+ people can be effective working on just one thing - Heuristics for team size - Guidelines for successful collaboration - Handling competing solutions and ideas to a coding problem - Encouraging politeness and kindness of team members - Reducing or eliminating harmful conflicts - Mobbing Mechanics - Tools for team coding - Workspace setup - How to “Amplify Learning” and take advantage of continual learning opportunities - “Real-time” and continuous Retrospectives to reflect, tune, adjust - The theory of why Mob Programming is effective - Test-Driven Development (TDD) as a team - Working with Product Owners, Business Experts, Testers, Designers as part of the team - Refactoring as a team - Continuous feedback at all levels of granularity. ## Expect to get your hands dirty During Woody Zuill’s Mob Programming workshop you’ll be engaged in a variety of activities optimised for learning: Hands-on Exercises, Presentations, Interactive Dialogues, Simulations, Videos. We will be doing coding as a team. Each team will be given a number of tiny requirements, or stories, one at a time. Each group will work on it as a team but with certain limitations as to how they are allowed to interact. We then reflect on the results and modify the limitations so that by the end of the workshop all limitations are removed except a few critical guidelines of interaction that we originated as Mob Programming. Once we have the basics of Mob Programming in place, each team will pick a problem or challenge to work on together. ## Online Workshop – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Categories:** A catalogo **Tags:** Mob Programming, Refactoring, Software Design, Software Development, TDD, teamwork --- ### [Mob Programming Workshop](https://www.avanscoperta.it/en/training/mob-programming-workshop/) **Published:** May 31, 2019 **Author:** Enrico Meloni **Excerpt:** Learn all the secrets behind effective and time-efficient teamwork with a whole new approach: Mob Programming. **Content:** Mob Programming is a cost-effective, collaborative, and fun way to get work done together. It’s a whole-team approach to development, where coding, designing, testing, and working with the “customer” (partner, Product Owner, User, etc.) is all done as a team. We’ll learn how a Mob performs project work, including user stories, prioritization, test-driven development, refactoring, and retrospectives. We cover the mechanics of how to work together as a Mob as well as the techniques that make this form of development so effective. Designed and facilitated by Mob Programming pioneer Woody Zuill, this workshop provides a hands-on education in the art of collaboration and it’s significant benefits for your teams. ## Target Audience Anyone involved in software development, including (but not limited to) testers, product owners, coders, database experts, deployment experts, managers, and even executives. Our focus in this workshop is the Mob Programming approach to teamwork, and this workshop is useful to those who will work on a team as well as those who provide support for a team. ## Program *Hands-on Exercises, Presentation, Interactive Dialogues, Simulations, Videos.* - Introduction: Mob Programming Introduction, The basics of how it works - Activity: The nature of software development - Activity: Teamwork – a good thing - Driver/Navigator teamwork Roles and Techniques - Coding Dojo Demonstration: A simple demo of Mob Programming with volunteers from the participants - Advanced Mob Programming Concepts – Hands on coding - Coding Exercise: Working on a Sample Project, learning to work together using a few rules and guidelines - How Mob Programming accelerates learning - How to take advantage of learning opportunities - Continuing the Coding Exercise: Removing the rules - Retrospective and review, group discussion of what we’ve learned. ## What will you learn - How 5+ people can be effective working on just one thing - Heuristics for team size - Guidelines for successful collaboration - Handling competing solutions and ideas to a coding problem - Encouraging politeness and kindness of team members - Reducing or eliminating harmful conflicts - Mobbing Mechanics - Tools for team coding - Workspace setup - How to “Amplify Learning” and take advantage of continual learning opportunities - “Real-time” and continuous Retrospectives to reflect, tune, adjust - The theory of why Mob Programming is effective - Test-Driven Development (TDD) as a team - Working with Product Owners, Business Experts, Testers, Designers as part of the team - Refactoring as a team - Continuous feedback at all levels of granularity. ## Expect to get your hands dirty During Woody Zuill’s Mob Programming workshop you’ll be engaged in a variety of activities optimised for learning: Hands-on Exercises, Presentations, Interactive Dialogues, Simulations, Videos. We will be doing coding as a team. Each team will be given a number of tiny requirements, or stories, one at a time. Each group will work on it as a team but with certain limitations as to how they are allowed to interact. We then reflect on the results and modify the limitations so that by the end of the workshop all limitations are removed except a few critical guidelines of interaction that we originated as Mob Programming. Once we have the basics of Mob Programming in place, each team will pick a problem or challenge to work on together. ## Online Workshop – How does it work The workshop will happen online and in live streaming: the trainer and all other participants will be in a video conference. You’ll be interacting and working together in real-time thanks to a variety of tools you’ll have at your disposal. The workshop will keep its highly interactive and hands-on spirit despite being online. This is why we *require* that all participants keep their webcam on for the whole duration of the workshop: this will enhance the quality of the communication and of the workshop as a whole. You won’t be sitting at your desk watching slides and videos, and you’ll be engaged in real-time activities for the majority of the time… as if we were in a real classroom! **Categories:** On demand **Tags:** Mob Programming, Software Design, Software Development, TDD, teamwork --- ### [CodeJam](https://www.avanscoperta.it/it/training/codejam-autunno-2014/) **Published:** July 16, 2014 **Author:** Sandro Paganotti **Excerpt:** Costruiremo Waitress, un'app web mobile e desktop per gestire le ordinazioni ai tavoli, con uno stack tecnologico all'avanguardia e la migliore metodologia. **Content:** Qual è il modo migliore per sviluppare un’applicazione web al giorno d’oggi? Il web è cambiato molto negli ultimi due anni: i browser sono più potenti e le features di HTML5 hanno raggiunto un ottimo grado di supporto; JavaScript si è evoluto, così come il suo utilizzo, sia lato client che server; nuove librerie, come AngularJS, hanno introdotto il concetto di *data-binding* e un intero universo di tool è sceso in campo per aiutare lo sviluppo modulare e sostenibile di applicazioni web pensate per funzionare su diversi device. ##### Programma In due giorni costruiremo *Waitress*, un’applicazione web mobile e desktop per gestire le ordinazioni ai tavoli, con uno stack tecnologico all’avanguardia e la migliore metodologia disponibile. L’applicazione consente la gestione delle ordinazioni ai tavoli e la notifica ai camerieri del momento in cui tutti i piatti di un particolare tavolo sono pronti ad essere serviti. Presenta due interfacce: una mobile, per i camerieri, capace di raccogliere le ordinazioni e ricevere le notifiche di avanzamento ordini, e una desktop per la cucina con le code degli ordini da cucinare suddivise per tipologia. ###### Moduli - Un backend in **Node.JS** - Data binding con **AngularJS** - Disegnare interfacce responsive con **Sass** e **Compass** - Il modello pub/sub con i **WebSocket** ###### Materiale Il corso prevede che le esercitazioni avvengano sul vostro portatile, condividendo codice su GitHub. È possibile lavorare da soli o in coppia. Sulle postazioni di lavoro è bene che siano installate le seguenti componenti: - Mongo DB - NodeJS - Git - Ruby Per una guida passo passo sulle componenti da installare potete fare riferimento a questo [video](https://drive.google.com/file/d/0B1BzDTsrFgSgZFNmRXZUVHdacDg/edit?usp=sharing "Installazione del software per CodeJam"). **Categories:** A calendario **Tags:** Angularjs, Nodejs, Websocket --- ### [Kanban Software Development](https://www.avanscoperta.it/it/training/kanban-software-development/) **Published:** November 14, 2014 **Author:** Alberto Brandolini **Excerpt:** Tre giorni intensi e coinvolgenti dedicati a Kanban: giochi, simulazioni, discussioni per scoprire nuovi modi di organizzare il lavoro nel team e migliorare l’efficienza del gruppo di lavoro. **Content:** I team di sviluppo sono spesso alle prese con problemi di sovraccarico e bassa produttività. L’elevato numero di attività contemporanee, finisce per incagliare il lavoro aumentando lo stress, ma peggiorando i risultati. Un **approccio lean alla gestione delle attività** permette di **migliorare notevolmente l’efficacia dei team e delle organizzazioni**, attraverso un percorso di raffinamento continuo dei metodi di lavoro. ##### Programma corso Kanban In **tre giorni intensi ed interattivi**, scopriremo **nuovi modi di organizzare il lavoro nel team**, di **migliorare l’efficienza del gruppo di lavoro e dell’azienda**, esplorando **nuove prospettive**, **nuovi strumenti di visualizzazione** e **nuove forme di collaborazione**. ###### 1° giorno - **Hands-on Kick Off**: prendiamo immediatamente le misure al problema. Che succede quando tutti sono carichi? - **Princìpi fondamentali di lean**, e come gli aspetti caratteristici del manifatturiero devono essere tradotti nell’ambito dello sviluppo software e del lavoro intellettuale in genere. Da un sistema push ad un sistema pull limitando il WiP. - **Agile Software Development**: principi base e differenze fondamentali tra Kanban ed altri approcci quali Scrum ed XP. Cosa guadagniamo, e cosa rischiamo di perdere. - **Theory of Constraints**: la ricerca del collo di bottiglia del sistema e strategie per migliorare il flusso complessivo. ###### 2° GIORNO - **Visualizzare il flusso**: quale approccio per visualizzare la nostra complessità? Quali caratteristiche sono rilevanti nel nostro contesto? Progettiamo insieme la nostra prima Kanban board e definiamo una strategia evolutiva per le iterazioni successive. - **Complexity**: qual è effettivamente il nostro lavoro? Quali sono le caratteristiche salienti? Quali strategie possiamo applicare a determinate categorie di problemi? Scopriamo insieme perché possiamo ‘garantire’ dei risultati e dove invece questo è impossibile per definizione. - **Cosa succede quando il collo di bottiglia si sposta?** Problemi ricorrenti della struttura organizzativa aziendale, strategie e strumenti per problem solving su scala più larga. - **Management e sviluppo agile**: cosa succede quando cambiano le regole all’interno del team? - **Stime e pianificazione in Kanban**: quali informazioni possiamo ottenere dal diagramma di flusso cumulativo e come possono aiutarci nella pianificazione. Dove e quando ha senso stimare e con quale precisione? - **Option-Based Thinking**: pianificazione in contesti di elevata incertezza. - **Classi di servizio**: gestione della variabilità dei flussi, e del loro diverso valore economico. ###### 3° giorno - **Agile Retrospectives**: come affrontare insieme le attività di problem determination e problem solving in contesti complessi e con problemi critici. - **Problem determination in contesti complessi**: esplorare il problema, strategie di Root Cause Analysis. - **Collaborative Decision Making**: il team ha le informazioni, ma prendere le decisioni migliori e nel modo corretto richiede qualche accorgimento in più. - **Strategie per il miglioramento continuo**: PDCA, A3 thinking, Small Controlled Experiments. - Q&A: topic marketplace sugli argomenti più caldi delle giornate. ##### Obiettivi Al termine del corso, i partecipanti saranno in grado di **applicare Kanban al proprio contesto di produzione**, e di intraprendere un cammino di miglioramento continuo nell’organizzazione del lavoro individuale e di gruppo. ###### A chi si rivolge Il workshop è pensato per chi ha necessità di coordinare un gruppo di lavoro su attività collaborative. ###### Requisiti Una **conoscenza di base dei principi agili** è benvenuta, ma non strettamente necessaria. ##### In che cosa si differenzia questo corso Abbiamo applicato i principi di Kanban in aziende grandi e piccole, a prodotti ed a servizi e con contenuti estremamente diversi. Abbiamo aggiunto contenuti originali. **Sappiamo quali sono gli ostacoli lungo il percorso** e **quali sono le competenze necessarie a superarli**. **Tags:** Agile Software Development, Kanban --- ### [Hands-on Domain-Driven Design](https://www.avanscoperta.it/it/training/hands-on-domain-driven-design/) **Published:** November 14, 2014 **Author:** Alessandro Melchiori **Excerpt:** Un workshop di 3 giorni per esplorare un dominio complesso a partire dai Domain Events e per scoprire le aree d'implementazione Event Sourcing e Command Query Responsibility Segregation. **Content:** È da un po’ che senti parlare di **Domain-Driven Design**, ma vorresti capirne di più mettendo le mani sulla tastiera e scrivendo un po’ di codice, per vedere “come va a finire”? ##### Programma corso Domain-Driven Design In tre giorni: - esploreremo un dominio complesso, a partire dai **Domain Events**, facendo emergere un modello comportamentale ed i confini dei **Bounded Context** - implementeremo un flusso complesso, toccando con mano le aree critiche dell’implementazione di **Event Sourcing** e **Command Query Responsibility Segregation**. ###### ARGOMENTI - Esplorazione del dominio con **EventStorming** - **Commands** e **Command Handlers** - Propagazione dei **Domain Events** e strategie implementative *intra-* e *cross-***Bounded Context** - Versionamento dei **Domain Events** - Read Model: *proiezioni* e *snapshot* - Rebuild dello stato del sistema / Versioning del Read Model - **NoSQL** per il read model? - Gestione della concorrenza - **Enterprise Service Bus**: come far viaggiare i nostri messaggi - Messaging patterns (long running transactions e routing slip). ##### Tecnologia Le esercitazioni pratiche saranno svolte in C#. ##### Postazioni Ci aspettiamo che i partecipanti arrivino con il proprio laptop attrezzato per lo sviluppo. In particolare si consiglia l’installazione di: - Visual Studio - Client git - Mongo - (Preferibilmente) RabbitMQ (oppure attivare MSMQ se su windows) - (Preferibilmente) SQL Server (anche express) o qualsiasi DB relazionale. **Tags:** CQRS, DDD, Event Sourcing, EventStorming --- ### [EventStorming Workshop - Alberto Brandolini](https://www.avanscoperta.it/it/training/event-storming-workshop-marzo-2014/) **Published:** December 4, 2013 **Author:** Alberto Brandolini **Excerpt:** Event-Storming Workshop unisce l’approccio event-driven caratteristico delle ultime evoluzioni di Domain-Driven Design ad un formato agile, ad elevato engagement dei partecipanti, che porta ad una rapida esplorazione dei problemi ed all’instaurarsi di un approccio collaborativo tra le persone chiave. **Content:** Come analizzare un processo business complesso, o l’intero panorama software aziendale in tempi brevi, senza rimanere impantanati in un’inconcludente fase di analisi? Come affrontare la complessità in maniera agile, partendo con il piede giusto, con la corretta comprensione del quadro complessivo? ##### Struttura **EventStorming Workshop** unisce tecniche di modellazione agile, e l’approccio event-driven caratteristico delle ultime evoluzioni di Domain-Driven Design ad un formato ad elevato engagement dei partecipanti, che porta ad una rapida esplorazione dei problemi ed all’instaurarsi di un approccio collaborativo tra le persone chiave. Il risultato è un modello chiaro, tangibile e realizzato in tempi estremamente rapidi, con il contributo attivo di tutti i ruoli coinvolti. Nella sua costruzione emergono i punti di frizione, spesso all’origine di un’errata implementazione, e vengono messe in luce le naturali soluzioni corrette. ###### PROGRAMMA - Breve definizione del dominio del problema - **Domain Events**: modellazione collaborativa del sistema a partire dagli eventi caratteristici - **Azioni chiave**: individuazione dei comandi utente, dei ruoli e dei sistemi esterni coinvolti nelle operazioni chiave - **Aggregati**: individuazione degli aggregati e dei confini transazionali - **Bounded Context & Subdomains**: identificazione dei confini naturali del domino e strategie di scomposizione in modelli e componenti indipendenti - **Strategie di test per aggregati chiave**: individuazione dei test principali per gli aggregati chiave - **Q & A**: *topic marketplace* sugli argomenti più caldi della giornata, non vogliamo lasciare domande senza risposta. ##### Obiettivi Al termine del workshop, disporrete di un modello accurato del dominio del vostro problema e di un considerevole quantitativo di idee su come procedere all’implementazione, senza cadere nelle trappole ricorrenti. ##### Combo con Hands-on Domain-Driven Design Prosegui con l’implementazione nei due giorni successivi con Alessandro Melchiori nel suo [Hands-on DDD Workshop](https://www.avanscoperta.it/it/training/hands-on-domain-driven-design-workshop-2014-2/) acquistando i biglietti in un’unica soluzione. **Tags:** DDD, Event Sourcing, EventStorming --- ### [Extreme Contracts: The Workshop](https://www.avanscoperta.it/en/training/extreme-contracts-the-workshop/) **Published:** May 26, 2017 **Author:** Alessandra Granaudo **Excerpt:** Hands-on activities, serious games and facilitated conversations. Learn with Jacopo Romei how to create agreements with customers and vendors to make work easy, with the right contract in the right context. **Content:** #### **Are you ready to create new and powerful collaborations?** Developers, UX designers, project managers – as long as visual designers, business analysts, engineers, copywriters and so forth – always have the chance to base their work on a **“win-win” strategy**, but more often than not they end up tied in **“win-lose” agreements**, by which either the customer or the vendor — or both! — don’t get full satisfaction. The contracts most used by *knowledge workers* — those making ends meet more by brain than by their hands — are on a borderline: on one hand we try to predict all possible failure conditions, on the other hand we need to design solutions in real time for our continuously evolving scenarios. Complicated devices to map and address a complex problem: no way. Not to mention the real *pain point*: we write and sign contracts because **we don’t trust** our vendor or our customer — who has abused of our patience more than once — but we never address this problem! ##### **Agenda** In **Extreme Contracts Workshop** we won’t see too much theory and we won’t look for a one-size-fits-all recipe, pretending it may be valid for all scenarios. By means of **hands-on activities**, **serious games** and **facilitated conversations** we will rather find guiding principles and see **tools to unbundle the several drivers influencing our agreements** and aim for the real goal: create agreements with our customers and vendors to work easy, with the **right contract in the right context**. If we could distill the common traits shared by all successful contracts, why not making them explicit and then push them top-notch, to the extreme? This is what Extreme Contracts are! ###### **Topics** - Cynefin Framework - Zero/Non-zero sum games - Antifragility - Skin in the game - Business Model Canvas and contracts as Customer Channel - Tips & Tricks to negotiate winning agreements. ##### **Schedule** ###### **Day 1** **Morning – Cynefin Framework & your job** - Check-in and expectations - Cynefin LEGO Game - Cynefin business mapping - Case studies **Afternoon – The value of options** - Orange Exercise - Zero sum games or not? - Nobel prize election - Tool: QuEST - Q&A ###### **Day 2** **Morning – The value of trust** - Two truths and a lie - The market for lemons game - Investment Game **Afternoon – Contracts in the real world** - Traditional contracts - Contract Pokemon - Q&A - Closing To link all these concepts to real people, organisations and to the first pioneers of Extreme Contracts, we will see a few **case studies about “extreme” negotiation**. ###### **Takeaways** - Identify the **true value of contracts** and ackowledge the real merits of traditional contracts, learning to adopt them if and when needed, not just because “it has always been like this”. - Using contracts as a building block of our **brand identity**, turning them into “customer channels” in our Business Model Canvas. - Signing agreements truly compatible with the **lean thinking**. - Shape contracts allowing the collaboration to continuously improve, with **no a** **priori upper bound**. - A step-by-step negotiation checklist. - A checklist to evaluate our agreements antifragility. ##### **Who is this for?** This workshop is designed for a diverse group of professionals and consultants: designers, architects, software developers, managers, and all those looking for seamless collaborations, project by project. We offer to knowledge workers **tools and principles to challenge the current status quo of contracts**. We offer the opportunity to listen to the stories of those who tried and succeeded out there, creating new powerful collaborations. ##### **Warning** The workshop will be confirmed when a minimum number of participants is reached. We reserve the right to postpone or cancel it if the number is not reached. Questions, doubts? Drop us an email! info@avanscoperta.it **Categories:** Scheduled **Tags:** Agile Contracts, Agile Software Development, Antifragility, Cynefin, Extreme Contracts, Lean Thinking, Negotiation --- ### [Functional and concurrent programming with Elixir](https://www.avanscoperta.it/it/training/functional-and-concurrent-programming-with-elixir/) **Published:** December 9, 2014 **Author:** Gabriele Lana **Excerpt:** C'è un motivo per cui il mondo sta riscoprendo i linguaggi funzionali. Elixir sfrutta le potenzialità di Erlang con una leggibilità e una chiarezza che lo rendono estremamente interessante per architetture reattive. **Content:** **Elixir** è un **nuovo linguaggio di programmazione**, che si basa su Erlang, estendendolo, e sfrutta l’esperienza accumulata dalle **community Ruby**, **NodeJS, Clojure** ed **Haskell.** *Qualche anno fa mi sono trovato a dover risolvere un problema per me veramente difficile e dopo svariati tentativi falliti ero vicino ad arrendermi. In quel periodo stavo studiando un libro su **Erlang,** potenzialmente poteva essere una soluzione, in fondo non avevo nulla da perdere: ho rischiato ed è stato un gran successo! In quel momento ho capito: investire nell’apprendimento della **programmazione funzionale** sarebbe stato fondamentale per il mio futuro professionale.* *Eleganza, pragmaticità e leggibilità senza compromessi in termini di affidabilità e scalabilità, questo per me è Elixir.* Gabriele Lana ##### Programma corso Elixir Se volete sapere cosa c’è oltre alla programmazione ad oggetti, se volete essere pronti per affrontare le sfide del prossimo futuro, se volete contribuire allo sviluppo di uno dei linguaggi ad oggi più promettenti, allora questo corso fa per voi. Tre giorni intensi in cui partiremo **dai fondamenti del linguaggio** per arrivare ad un’**applicazione completa** passando per: - **programmazione funzionale** - **pattern matching** - **protocols** - **streams** - **macro** e **metaprogrammazione** - **programmazione** concorrente usando il modello ad Attori - fault tollerance con **OTP** e **Supervisor** - **testing** ##### FAQ *Devo avere esperienza di programmazione funzionale per partecipare?* No, partiremo da zero, ma il corso è per per programmatori! La conoscenza ed esperienza nell’uso di uno o più linguaggi di programmazione è un prerequisito. *Devo portare il mio portatile?* Sì, la maniera migliore di seguire il corso è quella di partecipare attivamente, scrivendo codice. Verranno date indicazioni su come preparare l’ambiente di sviluppo, sarebbe preferibile una base **GNU/Linux,** ma Elixir supporta anche **Windows.** *Io programmo in Java, come mi può essere utile questo corso?* La programmazione funzionale, il modello ad attori, e molti altri argomenti trattati in questo corso possono essere applicate anche ad altri linguaggi di programmazione, imparare nuove tecniche e nuovi paradigmi ci rende programmatori migliori, indipendentemente dal linguaggio utilizzato. **Categories:** A calendario **Tags:** Elixir, Erlang, Functional Programming, Nodejs --- ### [Collaborative Decision-Making Workshop](https://www.avanscoperta.it/it/training/decision-making-for-self-managed-teams-workshop/) **Published:** April 3, 2020 **Author:** Alessandra Granaudo **Excerpt:** Decision-making collaborativo e decentralizzato per assicurare il successo di organizzazioni che vogliono avere team che si autogestiscono. **Content:** Nelle organizzazioni si parla sempre di più di self-managed team, decisioni decentralizzate e aziende orizzontali (senza manager) come modi per ottenere la cosiddetta “business agility” e “organizzazioni adattive”. La capacità di prendere decisioni velocemente e reagire ai cambiamenti “cavalcandoli” e trasformandoli in opportunità sta diventando indispensabile per competere nel mercato oggi. Esistono sempre più organizzazioni che con successo si stanno evolvendo in questa direzione, diventando più “orizzontali” e antifragili. La maggior parte delle aziende però si ritrova ancora a combattere con processi decisionali opachi lenti e farraginosi. Spesso non è chiaro chi deve decidere e quando è il momento giusto di farlo, sprecando tempo ed energie in riunioni inutili. In molti casi i manager si ritrovano a essere il collo di bottiglia delle loro organizzazioni, costretti a prendere decisioni complesse, senza avere però a disposizione le informazioni per farlo, mentre chi è operativo non può fare il suo lavoro perché è in attesa che venga presa una decisione. In questo Collaborative Decision-Making Workshop con Lorenzo Massacci affronteremo con pragmatismo il tema dei “self-managed” team, partendo dal tema più spinoso e delicato: permettere ad un team di prendere decisioni in modo autonomo e collaborativo. ## Target Audience Questo corso è stato pensato e strutturato per: - i team e le organizzazioni che vogliono imparare a prendere tempestivamente decisioni migliori - le piccole e grandi organizzazioni che vogliono capire come decentralizzare le decisioni in modo efficace - le organizzazioni che vogliono ridurre la distanza tra chi prende le decisioni e chi queste decisioni dovrà applicarle - i leader che vogliono abilitare le persone a prendere iniziativa, evitando colli di bottiglia prendendo le decisioni rapidamente direttamente dove sono necessarie. Figure che dovrebbero partecipare a questo corso sono: Manager, Team Leader, Decision-Maker, Product Owner e Scrum Master, ma anche tutte quelle persone che dal basso vogliono far evolvere il processo decisionale nella proprio team. ## Programma In questo corso capiremo come la partecipazione delle persone ha un impatto fondamentale sull’efficacia e sull’efficienza di una decisione. Vedremo quali sono i vari modi di coinvolgere le persone nelle decisioni e come massimizzare i benefici e capiremo come sia possibile non cadere nella trappola comune del tutti decidono quindi nessuno decide. Sperimenteremo praticamente tecniche e approcci per prendere decisioni strategiche “efficaci” grazie all’intelligenza collettiva Studieremo insieme casi reali di aziende ed organizzazioni che adottano un processo di decision-making decentralizzato e collaborativo e per estrarne principi da seguire evitando di cadere nella facile trappola del “cargo cult”. Faremo chiarezza su alcuni pregiudizi legati al tema dei self-managed team e dei processi decisionali partecipativi. Per arrivare ad identificare quali sono i passi importanti da fare se vogliamo avere team che si auto-gestiscono e decisioni decentralizzate. ## Agenda ### Sessione 1 Decisioni Collaborative: - perché è importante non prendere decisioni da soli - come si decide quando si è in tanti e come questo impatta sulla decisione - quali sono sono i vari approcci alle decisioni collaborative, pro e contro ed effetti a lungo termine - errori, pregiudizi dei team che si auto-gestiscono. ### Sessione 2 Processo decisionale: - la decisione come processo e non come momento - coinvolgere le persone in modo efficiente per prendere decisioni efficaci. Tecniche e approcci al decision-making “strategico”: - Decision-making come processo e non come momento - coinvolgere le persone in modo efficiente per prendere decisioni efficaci - decisioni decentralizzate (che significa e perché importante). ### Sessione 3 Il conflitto nelle decisioni: - quali sono i presupposti per decentralizzare le decisioni e prendere decisioni collaborative - come impatta la “company culture” - come prevenire e gestire il conflitto. ## Cosa impareremo Alla fine del corso avrai a disposizione alcuni strumenti che ti permetteranno di capire: - come prendere decisioni in modo efficiente coinvolgendo le persone - come prendere decisioni migliori grazie all’intelligenza collettiva - quali sono i passi importanti da fare per poter avere decisioni decentralizzate e team che si auto-gestiscono. ## Come si svolge Il workshop si svolgerà online e in diretta: il docente e tutti i partecipanti saranno in video conferenza e avranno a disposizione una serie di strumenti digitali per interagire tra di loro e lavorare hands-on. Nonostante la modalità online, il corso mantiene il suo approccio interattivo e partecipativo. Per questo motivo, è consigliato che tutti i partecipanti abbiano la telecamera accesa per tutta la durata del workshop per una migliore fruizione e comunicazione. Non sarà un corso passivo, fatto solo di slide e video pre-registrati ma seguirà il metodo “training from the back of the room” alternando attività pratiche e di confronto tra i partecipanti con brevi sessioni teoriche. Saranno inoltre previste piccole attività da svolgere tra i moduli per poi confrontarsi insieme al docente nel corso della lezione. ## Perché partecipare Imparerai una serie di tecniche e approcci per affrontare le decisioni (ad ogni livello) coinvolgendo in modo corretto le persone: una competenza indispensabile per qualsiasi organizzazione che punti oggi alla cosiddetta “business agility”. **Tags:** Business Agility, Decision Making, Scrum, Self-Managed Team --- ### [Business Model Canvas con LEGO® SERIOUS PLAY®](https://www.avanscoperta.it/it/training/business-model-canvas-con-lego-serious-play/) **Published:** July 25, 2017 **Author:** Alessandra Granaudo **Excerpt:** Un workshop avanzato di 3 giorni per progettare e far evolvere il tuo modello di business utilizzando la metodologia LEGO® SERIOUS PLAY® e il Business Model Canvas. **Content:** *Questo workshop offre una visuale strategica sull’utilizzo combinato di due strumenti molto potenti. Mentre declini LSP in un perimetro definito scopri le potenzialità del Business Model Canvas.* ***Daniela Ferrazza – Researcher at ISTAT*** Perché un modello di business funzioni davvero, deve saper dare una risposta unitaria a una complessa rete di aspetti in concorrenza tra loro. In altre parole deve al contempo essere in grado di **esplorare** la complessità di molte parti che interagiscono tra loro e di **semplificarne** le molteplici relazioni in una sintesi sostenibile. Scoprire la giusta combinazione di entrambi questi aspetti è la principale sfida di chi **progetta ed evolve modelli di business**. Una sfida non impossibile! Con l’utilizzo avanzato di **LEGO® SERIOUS PLAY®**, uno strumento impareggiabile per esplorare la complessità, e il **Business Model Canvas**, ormai un affermato standard di semplificazione evolutiva dei modelli di business, è possibile raggiungere risultati di incredibile efficacia. ## Argomenti Questo workshop con Alessandra Cianchettini è ideato per utilizzare a fondo la potenza di LEGO® SERIOUS PLAY® nel **progettare e far evolvere il tuo modello di business**. Durante le tre giornate otterremo un **visione sistemica profonda del business** oggetto di analisi, e comprenderemo la natura e varietà delle relazioni tra le sue diverse parti utilizzando appieno la conoscenza esplicita e implicita dei partecipanti al processo. Inoltre, comprenderemo le dinamiche che caratterizzano il business e i suoi aspetti evolutivi, creando così le condizioni per una sua eccellente esecuzione a valle della progettazione. L’uso combinato di **LEGO® SERIOUS PLAY®** e **Business Model Canvas** ci permetterà di ricavare informazioni fondamentali e conoscenza profonda dei partecipanti alla fase di design, sia a livello razionale sia irrazionale. La progettazione in questo modo sarà in completa coerenza con l’insieme dei tratti culturali, organizzativi, e narrativi che fanno unica ciascuna azienda, rivelandosi un approccio di ineguagliabile efficacia. Sperimenteremo un framework integrato, flessibile e capace di unificare il lavoro di diverse persone, ciascuna con il suo sapere, il suo background e le sue intuizioni uniche. ## Programma Il workshop dura tre giorni e si sviluppa in due fasi. La prima è focalizzata sul **design statico del modello di business**, comprendendo a fondo le sue parti e le relazioni tra esse. La seconda si concentrerà sugli **aspetti dinamici del modello di business** rappresentati dalla sua risposta a variazioni e perturbazioni, completando così l’intero framework di design ed evoluzione di modelli di business. Utilizzeremo tutte e sette le **tecniche di applicazione di LEGO® SERIOUS PLAY®**, in modo da offrire anche una panoramica completa della potenza di questo metodo, ove opportunamente utilizzato secondo i dettami sapienti della *Association of Master Trainers in the LEGO® SERIOUS PLAY® methodology*. ## Agenda - La co-creazione e l’utilizzo completo del potenziale umano - I sistemi adattivi complessi - L’inclusione strategica degli unknown unknowns - La narrazione, la metafora e il collegamento mano-mente per il design - L’uso dell’inconscio nel design di modelli di business - La metodologia LEGO® SERIOUS PLAY® - Il Business Model Canvas. ## Cosa impareremo - Chi coinvolgere nel processo di design, come e perché - Come progettare un modello di business sostenibile - Che cos’è davvero una “value proposition” - Come utilizzare opportunamente un Business Model Canvas - Come usare LEGO® SERIOUS PLAY® in accoppiamento con un Business Model Canvas - Come definire e porre le domande nella ricerca profonda di utilità, bisogni, desideri e paure dell’imprenditore e del manager. **Categories:** A calendario **Tags:** Business Model Canvas, lean startup, Lego Serious Play, Team collaboration, Value Proposition Canvas --- ### [Microservices 3 days Workshop](https://www.avanscoperta.it/en/training/microservices-3-days-workshop/) **Published:** May 9, 2017 **Author:** Alessandra Granaudo **Excerpt:** Are you ready to learn how to make your code stand the test of time? Using microservices, this course will teach you how to build software that adapts as fast as your business and requirements do. **Content:** #### Are you ready to learn how to make your code stand the test of time? Change is inevitable and the pace of innovation is increasing all the time. Ever experienced that moment where your heart sinks at the words “We just want you to make this one, small and trivial change…”. If you build software, change is an inevitable force in your life and your ability to react to change can be the difference between a killer product and a last-to-the-post flop. Given that change and speed of software evolution is so critical, why is it that so much software becomes a millstone around yourself and your team’s necks, leaving you dreading the next inevitable change that’s needed? For over 10 years, the focus has been consistently applied to helping us work in a more agile and adaptable fashion, with far less focus on how to create software that thrives in an agile environment. As companies are becoming more and more agile, and we see how they can now adapt in order to innovate and compete faster than their competition, software development teams are being forced to maintain and evolve large, monolithic applications at a pace of change that those architectures were never meant to withstand, let alone embrace! **Microservices** are a new approach to architecting applications that embrace and thrive on change. They are simple, single-purpose, lightweight architectural components that enable you to deliver software faster. The microservice architectural approach also aims to lead to software that thrives on change while at the same time being **secure**, **performant**, and **stable**. ##### Expect to get your hands dirty This hands-on, **extremely practical course** will teach you how and why to design, deploy and manage micro service based architectures. Using microservices, this course will teach you how to build software that adapts as fast as your business and requirements do. - Attendees will practice the design approaches on their own, real, systems - Attendees will have the time to attempt to develop their own microservices, using their own preferred technology stack, applying the patterns discussed - Attendees will be shown a number of canonical examples of how to apply the patterns using Spring Boot/Java/Docker. ##### **What will you learn in this course?** - You will learn **why Antifragile Software is the key to enabling software systems** that thrive on change and enable innovation. - You will learn how to architect, design, build, deploy and manage antifragile software systems **using microservices**. ###### AGENDA **Day 1 – Architecture & Design for Simplicity and Antifragility:** - Introducing Antifragile Software and Simplicity - Defining Microservices in term of their Principles, Benefits and Challenges - Understand and explore the forces (stressors) of change on software - Applying Simplicity, with O.R.E. - Architecting and Designing for Software System Evolution with the Life Preserver tool - Organising for concerns and simple components - How to collaborate to discover change stressors on your software system - Organising components for change **Day 2 – Implementing Antifragile Software with Simple Components, Events & Microservices:** - Exploring and Managing change-stressor fault-lines between areas of your system - Designing software bridges that handle change across fault-lines - Applying de-coupling intelligently, balancing flexility and complexity - Applying Request-Response, Messaging and Events - Designing, when to apply and implement Postel’s Law **Day 3 – Deploying, Running, Testing & Managing Antifragile Software with Microservices:** - Extracting components into Microservices - Building, Deploying and Managing Effective Unix-style Microservice Pipelines - Simplifying Microservice Management using Immutable Service Deployments - Designing and Implementing Reactive Microservices - Applying effective health and monitoring for microservices - Designing and Implementing Microservice Failover and Auto-Recovery Strategies using the Circuit Breaker Pattern and Friends - Designing and Implementing for Autonomy with Microservice ‘Cells’ - Enabling Governance and Innovation with Microservices - Enabling Variation and Experimentation in Languages and Frameworks through Microservices - Testing stressors for failure to avoid failure - Testing and Continuous Delivery for Microservices ###### TARGET AUDIENCE This course is ideal for any development team that wants to build software that is designed to be able to adapt. ##### Prerequisites Code examples and exercises will be shown in Java although previous experience with Java is not mandated as many of the key takeaways will be applicable regardless of your choice of language, framework or platform. Russ will be demonstrating some tooling participants can choose to use but primarily participants can use what they usually do to develop and explore the implementation patterns. ###### FAQ *In which language will the workshop be?* The workshop will be held in **English**, however **Alberto Brandolini** will be in the classroom to facilitate discussion whenever needed, to help with translation, and to take visual notes. ##### N.B. Two coffee breaks and lunch with the trainer and the other attendees are also included in this ticket… because networking matters :) Questions? Drop us a line: info@avanscoperta.it ##### Learn more [Read **our Q&A with Russ Miles!**](https://blog.avanscoperta.it/it/2017/10/24/let-there-be-microservices/) Listen to the interview with Russ Miles and Alberto Brandolini: **Categories:** Scheduled **Tags:** Antifragile, Continuous Delivery, Microservices, Monolithic architecture, Testing --- ### [Certified Agile Leadership (CAL1)® Workshop](https://www.avanscoperta.it/en/training/certified-agile-leadership-cal1-workshop/) **Published:** October 24, 2017 **Author:** Enrico Meloni **Excerpt:** Learn the secrets to nurture Agile organizations with Angel Diaz Maroto and the CAL1 Workshop, certified by the Scrum Alliance. **Content:** ## What is an Agile Leader? Since 2001, tens of thousands of leaders all around the world have been creating workplaces in **the spirit of the Agile Manifesto**. These workplaces were initially most evident in software development. But Agile leadership is now spreading to all parts of the organization and across all sectors of the economy, particularly as **software itself has become a key driver of business success**. Agile leaders are not just tinkering with the management practices that were once successful. They are creating something different — workplaces with a culture of agility and with Agile values, practices, and metrics. ## An Agile Leader… - Operates effectively amid **uncertainty**, complexity, and **rapid change** - Is knowledgeable about Agile values, approaches, and practices - Surfaces more creative solutions through **increased self-awareness**, a growth mindset, and engaging others - Aligns and empowers teams toward delivering **more customer value** - Personally integrates feedback and experiments, and adapts their ways - Takes **a collaborative continuous improvement approach** to organizational effectiveness - Catalyzes change in others and facilitates organizational change. ## What will you learn in this course? The *CAL Certified Agile Leadership (CAL1)®* course with Angel Diaz-Maroto intend to create awareness of, and begin the journey toward, Agile Leadership. **The vision of this program is to make the values and principles of Agile accessible to every leader** by making known the why, what, and how of Agile in a pragmatic and experiential approach. ## Program ### Day 1 - **Context of Agile**: Understanding Business Agility and why organizations are trying to embrace Agile - **Leadership development in “The leader’s Dancefloor”**: Learning and practicing an innovative leadership development framework based on Co-active coaching, ontological coaching, Agile and complexity thinking - **Complexity**: Learn and practice of complexity thinking and the Cynefin framework - **Collective dimension of leadership**: Understand and practice how to influence the collectivity you’re leading - **Organizational culture**: Understanding and practicing the competing values framework - **Organizational Structure**: Learn and practice how to structure organizations to better handle complexity - **Agile processes**: Learn how to lead the implementation of Agile practices and frameworks in organizations. ### Day 2 - **Leading organizational Change**: Learn and practice different approaches to lead organizational change such as: Lean change, Kotter 8 steps, and V. Satir model - **Personal dimension of leadership**: Understand and follow your leadership development journey - **Interacting as a leader**: Explore and understand different leadership Styles and when to use them - **Acting as a leader**: Learn how to give, receive and incorporate feedback to achieve the best results as a leader - **Being a leader**: Learn and practice how to emphatically connect with others and what’s the impact of that in your leadership. **Tags:** Agile Leadership, Agile Software Development, leadership, Management 3.0, Scrum --- ### [Shiftup Innovation Leader](https://www.avanscoperta.it/it/training/shiftup-innovation-leader/) **Published:** February 6, 2019 **Author:** Enrico Meloni **Excerpt:** Jurgen Appelo is back with "Shiftup Business Agility & Innovation Leader", a two-day workshop focused on the principles and common practices of Lean-Agile business innovation. **Content:** How can we have something like “a startup culture” in our company? How can we get new products to become fast-growing scaleups? How do we reorganize ourselves for optimal execution and innovation? Most companies are expected to screw up and die within the next two decades. They will be replaced by a new generation of disruptive startups and scaleups *except* for the organizations that learn **how to disrupt themselves**. Starting new teams and scaling up innovation is more critical than ever. The key to success is applying **different practices in different stages of the innovation lifecycle**. What works for a new business does not work for a mature one, and vice versa. In this workshop, you will nosedive into the major good practices for business leaders and product teams, from the moment they have an innovative idea to the day they will scale it up (or screw it up). Everything depends on **the lifecycle stage** of the product or service. Jurgen Appelo’s “Shiftup Business Agility & Innovation Leader” is a two-day workshop that teaches the **principles** and **common practices** of **Lean-Agile business innovation**. It is a combination of facilitator-led instruction, peer discussion, and team exercises. The workshop will help you understand how **innovation** works across the lifecycle of a business, and it makes them aware of their role in the creation and delivery of innovative products and services in **continuously changing environments**. ![](https://www.avanscoperta.it/wp-content/uploads/2019/02/Business-Lifecycle_avanscoperta-1024x514.png) ## Program ### Day 1 **The Business Lifecycle** Change, Agility, Innovation, Value & Complexity, The 10 Business Lifecycle stages, Problem/Solution Fit, Product/Market Fit, Business/Market Fit. **The Business Quilt** The pieces of the Business Model Quilt, Business Model Canvas, Lean Canvas, Minimum Viable Products, Pivot, Patch & Persevere. **The Innovation Vortex** The seven streams of the Innovation Vortex, Design Thinking, Lean Startup, Design Sprints, Lean Personas, Jobs To Be Done, Journey Maps. ### Day 2 **Lean-Agile Principles** Agile Manifesto, Lean Thinking. **Purpose & Objectives** Product Vision, Hoshin Kanri, North Star Metrics, Objectives & Key Results. **Performance & Metrics** Velocity, Burn Rate, Queue Length, Flow Efficiency, Burn Charts, CFDs, Pirate Metrics. **The Innovation Funnel** Innovation Board, Innovation Accounting, Metered Funding. **Lean-Agile Mindset** Growth Mindset, Mental Models. ## What You Will Learn ![](https://www.avanscoperta.it/wp-content/uploads/2019/02/Appelo_Vortex_Avanscoperta-1-300x247.png) In two days, you will see that the basic unit for innovation is the **strategic business model**. You will understand how each business model evolves from exploration and effectiveness to exploitation and efficiency. And you will learn how managers, leaders, designers, and developers need to organize their work differently to create an organization that can **reinvent itself continuously** and that can **scale** tremendously. The Shiftup Business Agility & Innovation Leader workshop will teach you how to apply **Lean-Agile thinking** to all aspects of business innovation. That’s why you’ll automatically qualify to become an **ICAgile Certified Professional** in Business Agility Foundations (ICP-BAF, under consideration). ## Foundational Course The aim of this workshop is not to simply review dozens of practices and buzzwords that will be well-known (to some participants). Instead, the goal is to take a higher perspective and achieve a foundational understanding of how these tools fit into the larger picture of the innovative, evolving company as a family of business models with individual business life cycles. It is the perfect starting point for organizations aiming to achieve **a coherent approach to a startup and scaleup culture** within a corporate environment, with an equal emphasis on both **disruptive** and **sustaining innovation**. **Categories:** A calendario **Tags:** Agile, Agile Leadership, Lean, Management 3.0, Manager --- ### [Shiftup Innovation Leader Workshop](https://www.avanscoperta.it/en/training/shiftup-innovation-leader-workshop/) **Published:** February 6, 2019 **Author:** Enrico Meloni **Excerpt:** Jurgen Appelo is back with "Shiftup Business Agility & Innovation Leader", a two-day workshop focused on the principles and common practices of Lean-Agile business innovation. **Content:** How can we have something like “a startup culture” in our company? How can we get new products to become fast-growing scaleups? How do we reorganize ourselves for optimal execution and innovation? Most companies are expected to screw up and die within the next two decades. They will be replaced by a new generation of disruptive startups and scaleups *except* for the organizations that learn **how to disrupt themselves**. Starting new teams and scaling up innovation is more critical than ever. The key to success is applying **different practices in different stages of the innovation lifecycle**. What works for a new business does not work for a mature one, and vice versa. In this workshop, you will nosedive into the major good practices for business leaders and product teams, from the moment they have an innovative idea to the day they will scale it up (or screw it up). Everything depends on **the lifecycle stage** of the product or service. Jurgen Appelo’s “Shiftup Business Agility & Innovation Leader” is a two-day workshop that teaches the **principles** and **common practices** of **Lean-Agile business innovation**. It is a combination of facilitator-led instruction, peer discussion, and team exercises. The workshop will help you understand how **innovation** works across the lifecycle of a business, and it makes them aware of their role in the creation and delivery of innovative products and services in **continuously changing environments**. ![](https://www.avanscoperta.it/wp-content/uploads/2019/02/Business-Lifecycle_avanscoperta-1024x514.png) ## Program ### Day 1 **The Business Lifecycle** Change, Agility, Innovation, Value & Complexity, The 10 Business Lifecycle stages, Problem/Solution Fit, Product/Market Fit, Business/Market Fit. **The Business Quilt** The pieces of the Business Model Quilt, Business Model Canvas, Lean Canvas, Minimum Viable Products, Pivot, Patch & Persevere. **The Innovation Vortex** The seven streams of the Innovation Vortex, Design Thinking, Lean Startup, Design Sprints, Lean Personas, Jobs To Be Done, Journey Maps. ### Day 2 **Lean-Agile Principles** Agile Manifesto, Lean Thinking. **Purpose & Objectives** Product Vision, Hoshin Kanri, North Star Metrics, Objectives & Key Results. **Performance & Metrics** Velocity, Burn Rate, Queue Length, Flow Efficiency, Burn Charts, CFDs, Pirate Metrics. **The Innovation Funnel** Innovation Board, Innovation Accounting, Metered Funding. **Lean-Agile Mindset** Growth Mindset, Mental Models. ## What You Will Learn ## ![](https://www.avanscoperta.it/wp-content/uploads/2019/02/Appelo_Vortex_Avanscoperta-1-300x247.png) In two days, you will see that the basic unit for innovation is the **strategic business model**. You will understand how each business model evolves from exploration and effectiveness to exploitation and efficiency. And you will learn how managers, leaders, designers, and developers need to organize their work differently to create an organization that can **reinvent itself continuously** and that can **scale** tremendously. The Shiftup Business Agility & Innovation Leader workshop will teach you how to apply **Lean-Agile thinking** to all aspects of business innovation. That’s why you’ll automatically qualify to become an **ICAgile Certified Professional** in Business Agility Foundations (ICP-BAF, under consideration). ## Foundational Course The aim of this workshop is not to simply review dozens of practices and buzzwords that will be well-known (to some participants). Instead, the goal is to take a higher perspective and achieve a foundational understanding of how these tools fit into the larger picture of the innovative, evolving company as a family of business models with individual business life cycles. It is the perfect starting point for organizations aiming to achieve **a coherent approach to a startup and scaleup culture** within a corporate environment, with an equal emphasis on both **disruptive** and **sustaining innovation**. **Categories:** Scheduled **Tags:** Agile, Agile Leadership, Lean, Management 3.0 --- ### [Agile at Scale Workshop, Inspired by Spotify](https://www.avanscoperta.it/en/training/agile-at-scale-inspired-by-spotify-workshop/) **Published:** May 29, 2018 **Author:** Enrico Meloni **Excerpt:** Join Joakim Sundén for this 2-day workshop to learn how to build an organisation that enables agile at scale and unleashes the power of small autonomous teams. **Content:** How do you **build an organisation that enables agile at scale** and unleashes **the power of small autonomous teams**? Join this 2-day workshop with **Joakim Sundén**, who has long experience from working at Spotify, and **has been involved in developing several of the concepts of “the Spotify Model”**. *Joakim will share his experiences and viewpoints as independent agile coach and trainer, not as representative of Spotify.* After this workshop, you will have plenty of examples and inspiration from how Spotify grew **a dynamic learning organisation** that continually reinforces a **high-trust culture** and supports **engaged autonomous teams**. ## About the workshop **“The Spotify Model” of agile at scale** has been getting a surprising amount of attention in the agile community since it was first shared widely in 2012. The Spotify Engineering Culture videos have more than 500K views. It was never intended as a framework or a model, it was just a case study of the Spotify way of working at the time. That has not stopped a large number of organizations from **copying or imitating the model**, often without understanding what it was optimized for, what challenges it comes with or **how Spotify has adapted and continued to evolve in the five years since**. ## What you will learn - Why Spotify made the **decisions** they made, what other **options** were considered, which **changes** were intentional and which ones were emergent - The underlying principles as well as go into specific practices and mechanisms - How Spotify combines **small autonomous teams** with strategic business alignment - How Spotify works with **leadership** and **growing** leaders, and how they work with **innovation** - Which values and beliefs shape their culture. And much much more. ### Takeaways The goal of this course is to provide **tangible examples** of how to **create a great place to work** that enables **agile at scale**. You will leave inspired with ideas on **how to redesign your organization** to **better engage employees** and **leverage the power of autonomous teams**. ### Why participating in this workshop? Join this workshop to gain a deep and wide knowledge of **how Spotify works under the hood**. With this deeper understanding you will be able to see more options on how to **improve your organisational design with regards to your context and boundaries**. ### Get your hands dirty This workshop will entail a lot of story telling and Q&A depending on what the actual participants in the classroom know and want to know about what Joakim and his team learned in their journey to agile at scale. There will be two interactive exercises, one “human knot” to experience autonomy, and a Lego exercise around alignment, but it’s more of a “connect” intro to topics. During the workshop you will receive a booklet where you’ll find some of the exercises from the course as well as a lot of picture of the slides so you’ll be able to follow along and take notes. Exercises range from “how do you create a great team”, “what would you squad health check model look like”, and “how do you think leadership needs to change in your context”. Throughout the course we use the stories and ideas from Spotify as inspiration to discuss in groups, as well as reflect individually, what actions and ideas that inspires for the participants’ own organizations. **Categories:** Scheduled **Tags:** agile at scale, Agile Software Development, Kanban, Scrum, spotify model --- ### [Agile at Scale, Inspired by Spotify](https://www.avanscoperta.it/it/training/agile-at-scale-inspired-by-spotify/) **Published:** May 29, 2018 **Author:** Enrico Meloni **Excerpt:** Join Joakim Sundén for this 2-day workshop to learn how to build an organisation that enables agile at scale and unleashes the power of small autonomous teams. **Content:** How do you **build an organisation that enables agile at scale** and unleashes **the power of small autonomous teams**? Join this 2-day workshop with **Joakim Sundén**, who has long experience from working at Spotify, and **has been involved in developing several of the concepts of “the Spotify Model”**. *Joakim will share his experiences and viewpoints as independent agile coach and trainer, not as representative of Spotify.* After this workshop, you will have plenty of examples and inspiration from how Spotify grew **a dynamic learning organisation** that continually reinforces a **high-trust culture** and supports **engaged autonomous teams**. ## About the workshop **“The Spotify Model” of agile at scale** has been getting a surprising amount of attention in the agile community since it was first shared widely in 2012. The Spotify Engineering Culture videos have more than 500K views. It was never intended as a framework or a model, it was just a case study of the Spotify way of working at the time. That has not stopped a large number of organizations from **copying or imitating the model**, often without understanding what it was optimized for, what challenges it comes with or **how Spotify has adapted and continued to evolve in the five years since**. ## What you will learn - Why Spotify made the **decisions** they made, what other **options** were considered, which **changes** were intentional and which ones were emergent - The underlying principles as well as go into specific practices and mechanisms - How Spotify combines **small autonomous teams** with strategic business alignment - How Spotify works with **leadership** and **growing** leaders, and how they work with **innovation** - Which values and beliefs shape their culture. And much much more. ### Takeaways The goal of this course is to provide **tangible examples** of how to **create a great place to work** that enables **agile at scale**. You will leave inspired with ideas on **how to redesign your organization** to **better engage employees** and **leverage the power of autonomous teams**. ### Why participating in this workshop? Join this workshop to gain a deep and wide knowledge of **how Spotify works under the hood**. With this deeper understanding you will be able to see more options on how to **improve your organisational design with regards to your context and boundaries**. ### Get your hands dirty This workshop will entail a lot of story telling and Q&A depending on what the actual participants in the classroom know and want to know about what Joakim and his team learned in their journey to agile at scale. There will be two interactive exercises, one “human knot” to experience autonomy, and a Lego exercise around alignment, but it’s more of a “connect” intro to topics. During the workshop you will receive a booklet where you’ll find some of the exercises from the course as well as a lot of picture of the slides so you’ll be able to follow along and take notes. Exercises range from “how do you create a great team”, “what would you squad health check model look like”, and “how do you think leadership needs to change in your context”. Throughout the course we use the stories and ideas from Spotify as inspiration to discuss in groups, as well as reflect individually, what actions and ideas that inspires for the participants’ own organizations. **Categories:** A calendario **Tags:** agile at scale, Agile Software Development, Kanban, Scrum, spotify model --- ### [Software Faster Workshop with Dan North](https://www.avanscoperta.it/en/training/software-faster-workshop-with-dan-north/) **Published:** October 18, 2017 **Author:** Alessandra Granaudo **Content:** *This workshop showed me a whole new world of software development practices, it’s one step forward the usual Agile practices.* ***Pietro Campagnano – Agile Web Developer at Ideato*** *If you do software for real and you feel you could do it better, start with “Software Faster”. Do doubt. Let Dan guide you into a different way of looking at things.* ***Silvano Stralla – Lead Developer at LaFourchette (TheFork)*** #### Agile methods, continuous delivery and software craftsmanship helped speed up delivery from years to months or even weeks, but then what? Some teams are able to deliver software at a speed of change like you have never seen before, delivering quality software in days or even hours, again and again. So what is keeping the rest of us from doing so? Now is the time to go from months to minutes, to **rethink the way we organize and improve our software development and delivery process**. ##### About the workshop **Software Faster brings software delivery principles into the 21st century**. You will learn new techniques that both enhance and replace existing agile practices, some of which are counter-intuitive and many of which are completely counter to current “best practise”. Using a mixture of discussion, instruction and exploration you will start to think differently about design, architecture, development and testing, operations, automation and team dynamics, as well as working with legacy systems and integrating with third parties. ###### Target audience **Software Faster** is for people who believe it can be done, people who feel themselves limited by current Agile dogma, people who want to go back to basics and uncover **new**, **simpler ways** **to deliver great software**. Are you a seasoned software developer who is frustrated at how slow your “hyper-performing” process feels? Are you suffering with an unwieldy feature backlog, the pantomime of estimation, the card wall where cards go to die, the efforts to automate where it obviously isn’t adding anything? Are you fed up with the artificial commitment of sprints and the unwelcome surprises that still seem to derail your projects? ##### What will you learn in this course - How to challenge the received wisdom of established Agile methods - How to design and architect for rapid and sustainable delivery - Why understanding risk and embracing uncertainty are at the heart of faster delivery - How to manage build, release and operations - How systems thinking can help you plan effectively and estimate accurately - How to identify and reduce gaps in your testing strategy - How to engage with legacy systems and integrating with third parties - How to manage different levels of skill and experience within a team ###### Workshop Topics Software Faster looks at **advanced techniques and patterns** for effective software delivery, for teams who have outgrown “mainstream agile” methods like Scrum and are looking for something deeper. The class covers a handful of core patterns and then takes an attendee-led selection from a number of topics: - Architecture and Design - Development Practices - Planning and Estimation - Deployment and Operations - Team Dynamics - Testing - Analysis and Discovery - Working with Legacy Systems - Complexity and Systems Thinking ##### Expect to get your hands dirty The Software Faster material contains **over 40 patterns and techniques**, and we’ll cover around 8-10 of these across several topic areas, so there are literally millions of combinations of class. We use a method called **\*Training from the Back of the Room\***, where people work in small groups and teach each another. There are no prepared slides, Dan will draw the content by hand as the course progresses, and builds up a page of further resources and references. These slides and notes will be circulated as a PDF at the end of the class, because they are different every time, tailored specifically to the group. ##### Additional Resources Read **our interview with Dan** “[Second-Generation Agile Methodology: Dan North’s BDD Tales](https://blog.avanscoperta.it/it/2018/03/07/second-generation-agile-methodology-dan-norths-bdd-tales/)“! ##### N.B. The workshop is subject to the confirmation of a minimum number of registered attendees. We’ll be sending a confirmation email to all registered attendees no later than one month prior to the workshop start date. Two coffee breaks and lunch with the trainer and the other attendees are also included in this ticket… because networking matters. :) Questions? Drop us a line: info@avanscoperta.it **Categories:** Scheduled **Tags:** Agile Software Development, BDD, Legacy Code, Software Faster, Systems Thinking, TDD --- ### [Value Proposition Design con LEGO® SERIOUS PLAY®](https://www.avanscoperta.it/it/training/lego-serious-play-e-value-proposition-design/) **Published:** March 7, 2016 **Author:** Raffaele Boiano **Excerpt:** LEGO® SERIOUS PLAY® e Value Proposition Canvas per imparare a ricavare informazioni e atteggiamenti profondi dell’utente rispetto al tuo prodotto. **Content:** **Un buon prodotto/servizio risponde ad un bisogno reale e trova una soluzione**. È in grado, cioè, di dare risposta ai bisogni consapevoli e a quelli inespressi, mettendosi in **sintonia con l’utente sia a livello logico sia livello emozionale**. Scoprire la giusta combinazione di entrambi è la principale sfida di chi progetta prodotti e servizi. Chi ha sperimentato **LEGO® Serious Play®** sa quanto possa essere potente per scavare in profondità e per **scoprire i risvolti anche inconsci dietro alle scelte e ai comportamenti delle persone**, e metterli in prospettiva strategica. ##### Descrizione Questo workshop è progettato per **utilizzare a fondo la potenza di LEGO® SERIOUS PLAY®** nel definire la strada vincente per il tuo prodotto/servizio. Affronteremo il tema dai due lati fondamentali del **cliente** e dell’**azienda**, mettendoli a sistema. Da una parte, l’**uso combinato di LEGO® SERIOUS PLAY® e Value Proposition Canvas** ci permetterà di ricavare informazioni fondamentali e atteggiamenti profondi dell’utente, sia a livello razionale sia irrazionale. Dall’altra, la **generazione della value proposition come conseguenza dell’identità di marca** ci permetterà di puntare ad un livello di efficacia possibile soltanto quando il valore che il prodotto/servizio propone è in **coerenza completa con l’insieme di tratti culturali, organizzativi, e narrativi che fanno unica ciascuna azienda**. Su entrambi i fronti, LEGO® SERIOUS PLAY® si rivelerà uno strumento di ineguagliabile efficacia per **progettare value proposition di successo**. Unendo i due approcci, **sperimenteremo un framework integrato**, **flessibile** e **capace di unificare il lavoro di funzioni dell’azienda**, solitamente difficili da far dialogare. ##### Programma Il workshop si sviluppa in **tre fasi**. La prima è focalizzata sul derivare gli **elementi guida partendo dall’identità di marca e dall’unicità dell’azienda**. La seconda si concentrerà sul **punto di vista dell’utente** rispetto al prodotto/servizio che stiamo progettando. Nella terza fase concluderemo con la messa a sistema dei risultati provenienti dai due approcci, completando il **framework operativo di crafting della value proposition**. Utilizzeremo tutte e **sette le tecniche di applicazione di LEGO® SERIOUS PLAY®**, in modo da offrire anche una panoramica completa della potenza di questo metodo, ove opportunamente utilizzato secondo i dettami sapienti della *Association of Master Trainers in the LEGO® SERIOUS PLAY® methodology*. ###### ARGOMENTI - L’**identità** come asset strategico - La **co-creazione** e l’utilizzo completo del potenziale umano - L’**inclusione strategica** degli unknown unknowns - Lo **human-centered design** - La **narrazione**, la **metafora** e il **collegamento mano-mente per il design** - L’uso dei **principi base** semplici per la strategia di marca - La **metodologia LEGO® SERIOUS PLAY®** - Il **Value Proposition Canvas**. ###### COSA IMPAREREMO - **Chi coinvolgere** nel processo di design di value proposition, come e perché - **Come definire una value proposition** allineata alle esigenze profonde del cliente - Come utilizzare le **7 tecniche di applicazione di LEGO® SERIOUS PLAY®** - Come **scegliere ed utilizzare opportunamente un Value Proposition Canvas** - Come usare **LEGO® SERIOUS PLAY®** in accoppiamento con un **Value Proposition Canvas** - Come definire e porre le domande nella **ricerca profonda** di utilità, bisogni, desideri e paure dell’utente. ##### A chi si rivolge - Imprenditori - Product Manager / Owner - Marketing Manager - Innovation Officer - Service Designer - User Researcher - Experience Designer. Perché iscriversi a questo corso? Per capire come **co-creare strategie di prodotto/servizio in tempo reale**, **gestirne il cambiamento**, e finalmente **trovare soluzioni efficaci al problema complesso di coniugare esigenze dell’utente e strategia dell’azienda**. Ti accorgerai quanto sia dirompente il pensiero che nasce dalle mani. *Creare per credere!* ##### N.B. Il workshop è di **livello avanzato** e sarà tenuto da due **facilitatori di grande esperienza e competenza**. Posti limitati a 10. **Categories:** A calendario **Tags:** Business Strategy, lean startup, Lean Thinking, Lego Serious Play, Startup, Value Proposition Canvas --- ### [Scrum for Hardware Course](https://www.avanscoperta.it/it/training/scrum-for-hardware-course/) **Published:** September 8, 2017 **Author:** Alessandra Granaudo **Excerpt:** È possibile usare Scrum con prodotti fisici molto complessi? Impara a usare Scrum nello sviluppo di prodotti composti da software, elettronica, meccanica, motori e plastica in un giorno di corso pratico e interattivo. **Content:** #### Applicare Scrum allo sviluppo di prodotti tangibili È possibile usare Scrum con prodotti fisici molto complessi? La risposta è sì! In questo corso imparerai a **usare Scrum nello sviluppo di prodotti complessi** composti da software, elettronica, meccanica, motori e plastica, in una giornata che alterna aspetti teorici a esercizi pratici, conditi da esempi concreti. Esploreremo il tema di *eXtreme Manufacturing*, il metodo ideato da **Joe Justice** che permette di **iterare rapidamente lo sviluppo di prodotti fisici**, ispirato ad *eXtreme Programming* e gli aspetti dell’architettura Agile di prodotto. ##### Programma La giornata, densa di contenuti, supporterà gli aspetti teorici con esempi concreti di aziende che operano nell’ambito manifatturiero. Il corso si concluderà con una vera e propria sfida in cui costruiremo un prodotto tecnologico innovativo ed estremamente complesso. ###### ARGOMENTI - Introduzione a Scrum per Hardware - Il metodo Scrum in Hardware e casi di successo - *eXtreme Manufacturing* e le pratiche ingegneristiche collegate - Architettura Agile di prodotto e design pattern - LiftOff, come lanciare un prodotto partendo con il piede giusto - Prova pratica - Pattern di adozione e scaling. Schema ADAPT, Scrum of Scrum - Q&A. ###### COSA IMPAREREMO - Cosa rende possibile uno sviluppo iterativo di prodotti tangibili complessi - I vantaggi dello sviluppare un prodotto in maniera agile - Complessità, innovazione e aspetti organizzativi - Pratiche ingegneristiche e tecnologie abilitanti. ##### Obiettivo Una giornata intensa per scoprire i principi e le pratiche ingegneristiche necessari a **sviluppare in maniera agile prodotti fisici complessi**. ##### A chi si rivolge - Direttori R&D e Produzione - Product Manager / Project Manager - Ingegneri meccanici, elettronici, informatici, ecc - Product Owner / Scrum Master - CTO / Head of development - Imprenditori / Startup / Innovatori. ##### Prerequisiti Buona conoscenza di **Scrum**, come definito dalla [*Scrum Guide*](https://www.scrum.org/resources/scrum-guide). Il corso **non insegna cos’è Scrum**, mostra come poterlo usare nei contesti *Hardware* non solo *Software*. ###### FAQ *Cosa mi serve conoscere per partecipare?* Occorre una conoscenza di base di Scrum e dei principi del manifesto Agile. *Come devo prepararmi per il corso?* È suggerita una rilettura della *Scrum Guide*, per essere sicuri di sapere le regole base di Scrum, anche a coloro che conoscono il metodo e lo applicano. Si suggerisce anche la visione di [*PO in a Nutshell*](https://www.youtube.com/watch?v=502ILHjX9EE) di Henrik Kniberg. *Devo portare il mio laptop?* No. Si usa solo materiale analogico: post-it, pennarelli e giochi. ##### N.B. Il corso sarà confermato al **raggiungimento del numero minimo** di partecipanti. Ci riserviamo la possibilità di posticiparlo o annullarlo qualora il numero minimo non fosse raggiunto. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A calendario **Tags:** Agile Software Development, eXtreme Manufacturing, Scrum, Scrum for Hardware, Team collaboration --- ### [Real Swift](https://www.avanscoperta.it/it/training/real-swift/) **Published:** December 3, 2014 **Author:** Giordano Scalzo **Excerpt:** Forse ora è il momento di abbracciare la Swift-Way: risolvere problemi usando le peculiarità e caratteristiche di Swift, dalla programmazione Funzionale a matching ed enumerations! **Content:** **Swift** ha mostrato fin da subito grande espressività e potenza, ma anche parecchi problemi di gioventù: passata l’iniziale eccitazione, quasi tutti gli sviluppatori iOS sono tornati a lavorare con l’usuale e confortevole Objective-C; oppure alcuni hanno iniziato a usare Swift con gli stessi modelli e pattern che usavano nello sviluppo con Objective-C. Forse ora è il momento di abbracciare la **Swift-Way**, cioè risolvere problemi usando le peculiarità e caratteristiche di Swift, come ad esempio i pattern della **programmazione Funzionale**, che, utilizzando funzioni come oggetti di prima classe (che agiscono su strutture dati immutabili), permette di ottenere codice più scalabile e semplice da mantenere. Oppure utilizzando il pattern **matching** e le **enumerations**, che permettono di separare le responsabilità in modo più chiaro, anche se in modo diverso rispetto a come siamo abituati. Questi nuovi strumenti, però, non sono chiari a prima vista e necessitano di un cambio di mentalità, che può disorientare se non affrontato in modo adeguato. ##### Programma corso Real Swift Questo **corso intensivo** ti permetterà di affrontare il cammino nel modo migliore, sia se hai una grande esperienza in sviluppo in Objective-C, e noi sei ancora passato pienamente ad utilizzare Swift, sia se vuoi iniziare fin da subito ad utilizzare in nuovi idiomi di Swift in modo corretto ed efficace. ###### Cosa impareremo - **Swift idiomatico avanzato**: come risolvere i soliti problemi in modo nuovo - **Best practices** e **guidelines** per utilizzare al meglio Swift - Cos’è la **programmazione funzionale** e perché non ci deve far paura - Come utilizzare la **Functional Reactive Programming** per avere codice più semplice da estendere ##### FAQ *Devo portare il mio portatile?* Sì, con installato l’**SDK** di sviluppo iOS aggiornato. Non è necessario portare un device iOS: utilizzeremo principalmente Playgrounds e simulatore. *Come devo prepararmi per il corso?* Devi avere una **preparazione di base di Swift** e, auspicabilmente, una infarinatura di programmazione funzionale. *È un corso per principianti o per esperti?* È un **workshop per chi già usa Swift**, ma che vuole passare al livello successivo. **Categories:** A calendario **Tags:** Functional Reactive Programming, iOS, mobile software development, Objective-C, Swift --- ### [Agile Leadership e High Performance Team](https://www.avanscoperta.it/it/training/agile-leadership-e-self-organizing-team/) **Published:** June 20, 2017 **Author:** Alessandra Granaudo **Excerpt:** Un workshop interattivo e collaborativo per esplorare il significato dell'Agile Leadership e per comprendere chi è e cosa fa un Leader per favorire comportamenti e dinamiche efficaci in un'organizzazione Agile. **Content:** #### **Quali sono le qualità di Leadership che creano team e organizzazioni *Agile* altamente performanti?** Nuove prospettive sulla pratica e sul significato della *Leadership* si rendono sempre più necessarie per poter manifestare tutto il **potenziale dell’agilità**, sia a livello di business (azienda verso il mercato) sia a livello organizzativo (cultura e struttura aziendale). Il motivo è che *Agile* implica collaborazione aperta, responsabilità condivisa, intelligenza collettiva e attitudine alla complessità, e questo cambia profondamente sia le regole del gioco che il *mindset* per la maggior parte delle aziende. Mentre quella del *Manager* è una posizione aziendale con responsabilità e poteri chiaramente definiti, essere un *Leader* è un concetto più ampio, che è anche spesso influenzato da modelli mentali e presupposti che non legano bene con i valori *Agile*. I *Leader*, tuttavia, rivestono un ruolo fondamentale nell’avviare, supportare e fare evolvere team altamente performanti e dinamiche aziendali virtuose, che sono poi il vero asset di un’organizzazione in grado di manifestare agilità. ##### Cosa imparerai in questo workshop In questo **workshop interattivo e collaborativo** esploreremo il significato dell’*Agile Leadership*, chi è e cosa fa un *Leader* per favorire comportamenti e dinamiche efficaci in un’organizzazione *Agile*. Esploreremo questo ruolo dalla prospettiva del *complexity thinking*, poiché l’*Agile Leadership* è sistemica per definizione, e vedremo quali sono le qualità e capacità personali che rendono un *Agile Leader* efficace nel contesto in cui opera. Questo comprende (ma non si limita a): - la capacità di creare **sicurezza** psicologica e partecipazione - favorire la **responsabilità** individuale e l’apprendimento continuo - operare con una **prospettiva sistemica** che va oltre il semplice processo. ##### Programma ###### Argomenti - Differenza tra *Management* e *Leadership* - Comprendere la natura dell’*Agile Leadership* e i suoi effetti sulla cultura aziendale e sulla struttura organizzativa - Complessità come mappa per applicare diversi stili di *Leadership* - Come promuovere **sicurezza** psicologica, **fiducia** e **partecipazione** all’interno di team e organizzazioni - Come promuovere **autonomia**, **responsabilità** individuale e favorire spontanei “**atti di leadership**“ - Caratteristiche dei **team altamente performanti** e come favorirle - Le qualità essenziali dell’*Agile Leader*. Nelle due giornate di workshop vedremo anche elementi di: **complessità** (Dave Snowden, *Cynefin*); **motivazione intrinseca** (Daniel Pink); **responsabilità individual**e (Christopher Avery, *The Personal Responsibility Process*); **Management 3.0** (Jurgen Appelo). ##### A chi si rivolge Il workshop è progettato per **Manager**, **Dirigenti**, **Team Leader,** **Coach**, per tutti i ruoli **Scrum** e per chiunque rivesta, in modo formale o informale, un ruolo di *Leadership* rilevante all’interno della propria organizzazione. - Executive (CEO) - IT Executive (CTO, CIO, COO) - IT Manager - Project Manager - Product Manager - Team Leader - Scrum Master L’esperienza pluridecennale di **Andrea Provaglio come *Enterprise Agile Coach*** eleva tantissimo il valore di queste due giornate di workshop. Andrea lavora con i propri clienti sul tema *Agile Leadership* e team auto-organizzati e altamente performanti da ben prima che il tema diventasse popolare nel panorama Agile. ##### Expect to get your hands dirty Le attività includono brevi presentazioni, esercizi in gruppi o a coppie, discussioni aperte, condivisione delle esperienze, journaling. ###### Requisiti Esperienza professionale come parte di un Agile Team, Leader, Manager, Dirigente. ##### N.B. Il corso sarà confermato solo al raggiungimento del numero minimo di partecipanti. Invieremo una comunicazione con la conferma del corso agli iscritti al più tardi tre settimane prima del corso. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A calendario **Tags:** Agile Leadership, Agile Software Development, Management 3.0, Scrum --- ### [Event-Oriented Domain-Driven Design](https://www.avanscoperta.it/it/training/event-oriented-domain-driven-design/) **Published:** December 12, 2017 **Author:** Enrico Meloni **Excerpt:** This intensive, two-day, hands-on workshop teaches you DDD within an explicitly event-oriented microservices business domain. You will learn both strategic and tactical design. **Content:** This intensive, two-day, **hands-on** workshop teaches you **DDD within an explicitly event-oriented microservices business domain**. You will learn both strategic and tactical design. You are strongly encouraged to engage in workshop exercises and **write source code** that includes **implementing multiple interacting Microservices** that are **event-driven** and that use **DDD strategic and tactical design**. ##### About the workshop This **hands-on, code-prolific**, DDD workshop teaches you the essentials of how to implement using the Domain-Driven Design approach. You will first receive an overview of DDD’s strategic and tactical design, including **ways to develop a Ubiquitous Language within a Bounded Context, using both EventStorming and Specification by Example**. Following this, you will be working in groups and each group will use these tools to **reach a shared understanding of a Core Domain and Subdomains**. Each team presents their “big picture” and “design level” direction and receive helpful feedback before the implementation begins. This step leads to **a succession of strategic and tactical design learning and implementation steps with either Java or C#**. Implementations may use Event Sourcing and traditional domain model persistence. ###### Takeaways - Learn **essential DDD**, with strategic and tactical design, including **developing a Ubiquitous Language in a Bounded Context** - Bounded Contexts, Core Domain, Subdomains, and Context Mapping - Domain Events and Aggregates - Project acceleration and management tools - Learn **the basics of EventStorming** using “big picture” and “design level” modeling - Apply your storming results to actual implementations using **Aggregates and Domain Events** - Use Domain Events to integrate with **multiple Bounded Contexts** - Explore the tradeoffs of using traditional domain model persistence and **Event Sourcing**. ##### What will you learn in this workshop ###### TOPICS **Domains, Subdomains, and Bounded Contexts** Grasp the core concepts of DDD strategic modeling, and put them to use. Learn to vigorously gather core concepts and separate irrelevant ones. Learn why strategic design is so essential. Develop the ability to determine when your domain models are composed correctly and when they required more rigorous design. **Context Mapping** Learn how to integrate with other subsystems using DDD and straightforward design techniques. Context Maps are not just drawings. Use them for cross-team communications, project thinking, learning, planning, and as an integration tool. **Architectures that Support DDD** See how the Microservices Architecture, Ports and Adapters Architecture, along with an Event-Driven Architecture, can be used to support your DDD projects. Coupled with DDD, these architecture styles and patterns will support your microservices efforts. **Domain Events and EventStorming** Learn to use Domain Events and EventStorming for both “big picture” systems designs and “detail level” tactical designs. Exercises will lead to using and Event-Driven Architecture in Day-2 implementations. **Aggregates** Demystify effective aggregate designs with the use of a set of simple rules. Learn how to design object clusters for correct transactional consistency, performance, and high scalability. **Acceleration and Management Tools** Every project stakeholder knows the urgency of staying on task and on time. What techniques and tools can be used to accelerate your DDD effort, provide project estimates, time box domain modeling efforts, collaborate with domain experts, and how much time will that require? The answers are given and reinforced through practical guidelines. ##### Entry requirements This is a **hands-on workshop**. You will implement using **Java** or **C#** for the majority of the 2-day workshop. You are required to supply your own computer, programming environment with build and test facilities that you use regularly, and your thinking cap. ##### Target audience This is not a workshop for juniors, and **at least 5-10 years of programming experience is recommended**. This workshop is specially designed for **mid-level and senior software developers and architects** who are interested in applying event-driven and microservices architectures using DDD. ###### FAQ *Should I take my laptop with me?* Yes, you are required to supply your own computer, programming environment with build and test facilities that you use regularly, and your thinking cap. *In which language will the workshop be?* This workshop will be held in **English**. **WANNA KNOW MORE?** **\#VIDEO** Watch Vaughn Vernon and Alberto Brandolini talk about all the things Domain-Driven Design on [Avanscoperta’s YouTube channel.](https://www.youtube.com/watch?v=Jfp2fDOaMTg) ##### N.B. Two coffee breaks and lunch with the trainer and the other attendees are also included in this ticket… because networking matters. :) Questions? Drop us a line: info@avanscoperta.it **Categories:** A calendario **Tags:** C#, DDD, Domain-Driven Design, EventStorming, Java, Microservices --- ### [Event-Oriented Domain-Driven Design Workshop](https://www.avanscoperta.it/en/training/event-oriented-domain-driven-design-workshop/) **Published:** December 12, 2017 **Author:** Enrico Meloni **Excerpt:** This intensive, two-day, advanced hands-on workshop teaches you DDD within an explicitly event-oriented microservices business domain. You will learn both strategic and tactical design. **Content:** This intensive, two-day, **hands-on** workshop teaches you **DDD within an explicitly event-oriented microservices business domain**. You will learn both strategic and tactical design. You are strongly encouraged to engage in workshop exercises and **write source code** that includes **implementing multiple interacting Microservices** that are **event-driven** and that use **DDD strategic and tactical design**. ##### About the workshop This **hands-on, code-prolific**, DDD workshop teaches you the essentials of how to implement using the Domain-Driven Design approach. You will first receive an overview of DDD’s strategic and tactical design, including **ways to develop a Ubiquitous Language within a Bounded Context, using both Event Storming and Specification by Example**. Following this, you will be working in groups and each group will use these tools to **reach a shared understanding of a Core Domain and Subdomains**. Each team presents their “big picture” and “design level” direction and receive helpful feedback before the implementation begins. This step leads to **a succession of strategic and tactical design learning and implementation steps with either Java or C#**. Implementations may use Event Sourcing and traditional domain model persistence. ###### Takeaways - Learn **essential DDD**, with strategic and tactical design, including **developing a Ubiquitous Language in a Bounded Context** - Bounded Contexts, Core Domain, Subdomains, and Context Mapping - Domain Events and Aggregates - Project acceleration and management tools - Learn **the basics of EventStorming** using “big picture” and “design level” modeling - Apply your storming results to actual implementations using **Aggregates and Domain Events** - Use Domain Events to integrate with **multiple Bounded Contexts** - Explore the tradeoffs of using traditional domain model persistence and **Event Sourcing**. ##### What will you learn in this workshop ###### TOPICS **Domains, Subdomains, and Bounded Contexts** Grasp the core concepts of DDD strategic modeling, and put them to use. Learn to vigorously gather core concepts and separate irrelevant ones. Learn why strategic design is so essential. Develop the ability to determine when your domain models are composed correctly and when they required more rigorous design. **Context Mapping** Learn how to integrate with other subsystems using DDD and straightforward design techniques. Context Maps are not just drawings. Use them for cross-team communications, project thinking, learning, planning, and as an integration tool. **Architectures that Support DDD** See how the Microservices Architecture, Ports and Adapters Architecture, along with an Event-Driven Architecture, can be used to support your DDD projects. Coupled with DDD, these architecture styles and patterns will support your microservices efforts. **Domain Events and EventStorming** Learn to use Domain Events and EventStorming for both “big picture” systems designs and “detail level” tactical designs. Exercises will lead to using and Event-Driven Architecture in Day-2 implementations. **Aggregates** Demystify effective aggregate designs with the use of a set of simple rules. Learn how to design object clusters for correct transactional consistency, performance, and high scalability. **Acceleration and Management Tools** Every project stakeholder knows the urgency of staying on task and on time. What techniques and tools can be used to accelerate your DDD effort, provide project estimates, time box domain modeling efforts, collaborate with domain experts, and how much time will that require? The answers are given and reinforced through practical guidelines. ##### Entry requirements This is a **hands-on workshop**. You will implement using **Java** or **C#** for the majority of the 2-day workshop. You are required to supply your own computer, programming environment with build and test facilities that you use regularly, and your thinking cap. ##### Target audience This is not a workshop for juniors, and **at least 5-10 years of programming experience is recommended**. This workshop is specially designed for **mid-level and senior software developers and architects** who are interested in applying event-driven and microservices architectures using DDD. ###### FAQ *Should I take my laptop with me?* Yes, you are required to supply your own computer, programming environment with build and test facilities that you use regularly, and your thinking cap. *In which language will the workshop be?* This workshop will be held in **English**. **WANNA KNOW MORE?** **\#VIDEO** Watch Vaughn Vernon and Alberto Brandolini talk about all the things Domain-Driven Design on [Avanscoperta’s YouTube channel.](https://www.youtube.com/watch?v=Jfp2fDOaMTg) ##### N.B. Two coffee breaks and lunch with the trainer and the other attendees are also included in this ticket… because networking matters. :) Questions? Drop us a line: info@avanscoperta.it **Categories:** Scheduled **Tags:** C#, DDD, Domain-Driven Design, EventStorming, Java, Microservices --- ### [Lavorare con le persone](https://www.avanscoperta.it/it/training/lavorare-con-le-persone/) **Published:** July 15, 2013 **Author:** Pierluigi Pugliese **Excerpt:** Come ScrumMaster, Product Owner o leader nell’azienda, il mio lavoro è quello di comunicare in maniera efficace con i colleghi. Ma cosa vuol dire “efficace”? **Content:** Come ScrumMaster, Product Owner o leader nell’azienda, il mio lavoro è quello di comunicare in maniera efficace con i colleghi. Ma cosa vuol dire “efficace”? #### Contenuti Questo corso esplora varie tecniche per implementare una comunicazione efficace nel nostro lavoro con altre persone. Ci focalizzeremo sul miglioramento dello stile di comunicazione individuale e sul come promuovere dei pattern di interazione più efficaci all’interno dei teams. Il materiale presentato è rilevante per ogni azienda, ma nel corso ci focalizzeremo sulle organizzazioni *agili* e su come implementare in tali aziende il materiale presentato: dal planning alle retrospettive, dal favorire il lavoro in team a migliorare la qualità del feedback. Il corso è un misto di lezione frontale, esercitazioni e riflessioni sul proprio ruolo come leader, con delle attività pensate per l’integrazione pratica dei concetti presentati. ##### Moduli - Stili di comunicazione - Ascoltare meglio / acuità sensoria - Rapport - Comunicazione strategica - Feedback - Uso creativo del linguaggio - Negoziazioni - Conflitti - Framing - Metafore - Tecniche di coaching di base **Categories:** A calendario **Tags:** Agile Software Development --- ### [Agile Design](https://www.avanscoperta.it/it/training/agile-design-2/) **Published:** October 11, 2013 **Author:** J.B. Rainsberger **Excerpt:** Avete imparato le basi del test-driven development. Avete fatto pratica per qualche mese. Vi siete imbattuti in qualche problema ed avete trovato un modo per superarli. Siete pronti per il passo successivo nella vostra evoluzione come software designer. Questo corso è per voi. **Content:** Avete imparato le basi del test-driven development. Avete fatto pratica per qualche mese. Vi siete imbattuti in qualche problema ed avete trovato un modo per superarli. Siete pronti per il passo successivo nella vostra evoluzione come software designer. Questo corso è per voi. In questo corso farete pratica con test-driven development usata come una pratica per *imparare a progettare bene*. Se avete scritto i vostri test principalmente come una tecnica per ridurre i difetti nel codice, questo corso vi aiuterà a sfruttare quest’abilità aiutandovi a costruire sistemi che non debbano essere completamente riscritti ogni due anni. Format Questo è un corso di programmazione **hands-on**. Trascorrerete **almeno il 50% del vostro tempo scrivendo codice**. Utilizzeremo una semplice Kanban board per pianificare il corso: Io fornirà alcuni argomenti iniziali e voi deciderete quali affrontare. Oltre alla progettazione evolutiva del software, metteremo in pratica anche il *group decision-making*. Argomenti proposti Non avremo tempo per coprire *tutti* questi argomenti in profondità, ma avremo sicuramente tempo per presentarli e per approfondire le aree di maggior interesse per i partecipanti. - Come funziona il Test-Driven Development - I quattro elementi del simple design - Sviluppare l’intuito dei top designers - Interpretare i dettagli irrilevanti nei tests - Integrated Tests Are A Scam! - Architettura senza provarci - Primitive Obsession & duplication of intent - Un modello per migliorare i nomi - BDD è TDD che si comporta come un sistema *pull* per le features - Economie e progettazione del software - Lo stile architetturale “ring” - Bilanciare le diverse idee di ‘valore business’ - L’unica tecnica di recupero del codice legacy di cui avrete realmente bisogno - Come fare TDD con database, web services, interfacce utente, frameworks… - Intentional design con i mock objects ###### Prima di arrivare… Vi servirà un portatile con un ambiente di sviluppo operativo. Useremo git come strumento di version control, trovate le istruzioni di installazione [qui](http://www.jbrains.ca/training/how-to-install-git). **Categories:** A calendario **Tags:** Agile Software Development --- ### [Working with people](https://www.avanscoperta.it/en/training/working-with-people-2014/) **Published:** December 18, 2013 **Author:** Pierluigi Pugliese **Excerpt:** As a ScrumMaster, Product Owner or organisational leader, my job is to communicate effectively with other people. But what does “effectively” mean? **Content:** As a ScrumMaster, Product Owner or organisational leader, my job is to communicate effectively with other people. But what does “effectively” mean? #### Topics This training explores many techniques for implementing effective communication when working with people. We will focus on improving everybody’s own communication style and on promoting better communication patterns in a team. Though the material presented can be used when working with anybody, the focus is on agile teams and how to improve their efficiency: streamlining planning and retrospectives, fostering teamwork and improving feedback. The training is a mix of frontal lesson, reflections and practical activities directed to integrate the learned content in the daily operations of the participants. ##### Course Outline - Communication styles - Listening better / Sensory awareness - Rapport - Strategic communication - Feedback - Creative use of language - Negotiations, conflicts - Framing - Metaphors - Coaching techniques **Categories:** Scheduled **Tags:** Agile Software Development, Team collaboration --- ### [Un approccio agile a Swift](https://www.avanscoperta.it/it/training/corso-swift-ios/) **Published:** November 12, 2014 **Author:** Giordano Scalzo **Excerpt:** Un workshop hands-on per imparare le basi di Swift e scoprire somiglianze e differenze con Objective-C e con altri moderni linguaggio di programmazione. **Content:** Durante il keynote di WWDC, quando Apple ha presentato Swift, improvvisamente alcuni milioni di sviluppatori sono diventati principianti: alcuni si sono eccitati, alcuni si sono depressi, tutti gli altri si sono trovati confusi. Ma com’è sviluppare con Swift? Più facile? Più difficile? Uguale? Vediamolo insieme! In questo workshop hands-on **impareremo le basi di Swift**, vedendone somiglianze e differenze con Objective-C e con altri moderni linguaggio di programmazione. ##### Programma corso Swift Swift è un linguaggio moderno che si ispira a diversi altri linguaggi; in tal senso ci si sente subito a proprio agio, in quanto si troveranno delle similitudini con linguaggi che già si conoscono. Di contro, ci sono un sacco di funzionalità e modi nuovi di fare le cose. Utilizzando l’**interattività dei Playgrounds** introdotti con Xcode 6, vedremo insieme come utilizzare nuovi paradigmi per risolvere i classici problemi che si incontrano nello **sviluppo di applicazioni iOS**. Non è e non può essere un corso esaustivo, ma in una giornata ci permetterà di capire la filosofia di Swift e di utilizzarlo con efficienza fin da subito. ###### Cosa impareremo - Da dove viene **Swift** - Differenza e utilizzo di costanti e variabili - Cosa sono gli **Optionals** - Le **closures** e funzioni come oggetti di prima classe - Cosa sono e quando usare **Classi** e **Structs** - Come estendere le classi con le **Extensions** - Estendere i comportamenti degli oggetti con i **Generics** - Enumerations on **Steroids** - Ridurre la complessità con **Pattern Matching** - Come utilizzare **Objective-C** e Swift nello stesso progetto - **Swift idiomatico** - **TDD** in Swift ##### F.A.Q. *Devo portare il mio portatile?* Sì, con installato l’**SDK di sviluppo iOS aggiornato**. Non è necessario portare un device iOS: si utilizzeranno principalmente Playgrounds e simulatore. *Come devo prepararmi per il corso?* Non è necessaria alcuna preparazione specifica su Swift: **si parte da zero** (o quasi) per arrivare alle funzioni più avanzate. *È un corso per principianti o per esperti?* È un workshop per principianti di Swift, ma devi già sapere programmare e avere una **conoscenza di base dello sviluppo per iOS**. **Categories:** A calendario **Tags:** iOS, mobile software development, Swift --- ### [Goal Directed Interaction Design](https://www.avanscoperta.it/it/training/goal-directed-interaction-design/) **Published:** November 12, 2014 **Author:** Ilaria Mauric **Excerpt:** Confrontati con i bisogni reali degli utenti e con gli obiettivi di business, scopri come progettare un prodotto digitale seguendo il Goal Directed Design Process. **Content:** Il tuo prodotto o il tuo progetto digitale è un insieme di funzionalità e requisiti? Ti sei mai chiesto che impatto avrà sulla vita delle persone per cui lo stai creando? Confrontati con i bisogni reali degli utenti e con gli obiettivi di business, scopri come definire e progettare un prodotto digitale seguendo il **Goal Directed Design Process**. ##### Programma ###### ARGOMENTI - Panoramica sui processi di interaction design: **Goal-directed Design**, **Agile Design**, **Lean Design** - Panoramica sugli strumenti di ricerca e di design: sceglierli in base al valore e agli **obiettivi di business** - **Soft skills del designer**: importanti e indispensabili - Opportunità di business e strategie di un prodotto digitale: metodi ed esercizi pratici per identificarli e perimetrarli - Ricerche con gli utenti “on the field”: metodi ed esercizi pratici per pianificarli, condurli e comprendere a fondo i bisogni reali degli utenti - **Personas** e **Scenarios**: un approfondimento su due strumenti che aiutano a definire, comunicare, guidare, prendere decisioni di design e sviluppo - Applicazione di alcuni dei concetti esposti in un esercizio pratico, da fare in gruppi ###### Cosa impareremo - Mettere le **persone reali** e il **business** al centro - Ragionare su priorità e requisiti in base alla **comprensione degli utenti** e **del business** - **Tecniche di ricerca** (interviste a user test) applicabili immediatamente - Scegliere gli **strumenti adatti** in base al risultato che si vuole raggiungere o al problema di progettazione che si deve risolvere - Ideare, disegnare e comunicare un concept per un **prodotto digitale** su queste basi ##### A chi si rivolge Product planner, sviluppatori, esperti di marketing, user experience designer, interaction designer, user interface designer, manager interessati a creare esperienze digitali semplici, ed efficaci. **Categories:** A calendario **Tags:** Agile Software Development, design thinking, interaction design, Lean, UX --- ### [Experience Mapping Workshop](https://www.avanscoperta.it/it/training/experience-mapping-workshop/) **Published:** February 6, 2017 **Author:** Alessandra Granaudo **Excerpt:** Come usare le experience map per ottenere una visione completa, identificare criticità nell’interazione dei propri clienti con un prodotto o un servizio e modellare soluzioni alternative. **Content:** *Ho scoperto un metodo (semplice) per indagare, verificare e identificare i punti critici in un flusso di esperienza/e. **Julien Daulte – Founder Studio Daulte*** L’**Experience Mapping** è una **metodologia che permette di mappare e rappresentare l’esperienza degli individui nell’interazione con un prodotto o un servizio**: aiuta a comprendere come gli utenti usano i nostri prodotti e servizi in contesti d’uso reali e permette un miglioramento incrementale grazie a una visione d’insieme. La pratica dell’Experience Mapping può essere utilizzata da *product* o *service manager* o dai team operativi delle aziende per **identificare criticità nell’esperienza dei propri clienti** e modellare soluzioni alternative di delivery del servizio. L’**Experience Map è una mappa visiva** che descrive graficamente l’esperienza che l’utente vive attraverso i diversi *step* e *touchpoint.* Attraverso questa mappatura è possibile ottenere una visione completa del servizio nella sua complessità e organicità. Questo permette di **verificare che l’esperienza offerta all’utente sia solida, coerente e fluida**. L’Experience Map è utile sia in fase di **progettazione di una nuova esperienza** sia in fase di **ricerca e analisi di un servizio già esistente**. La compilazione della mappa avviene esplodendo su diversi piani tutti gli step che l’utente compie, in modo da avere una **visione unitaria e dall’alto dell’esperienza**. In fase progettuale, questo permette di controllare che l’**esperienza che l’utente vive attraverso ogni step sia coerente e rispondente alle sue aspettative**. Alternativamente, in fase di ricerca, permette di **evidenziare le incongruenze nel flusso dell’esperienza e di identificare con precisione i punti sui quali intervenire**. ##### Come si svolge Durante il workshop affronteremo il tema del *Customer Experience Management* (CXM) – cioè quel processo utilizzato dalle aziende per **controllare e tracciare tutte le interazioni con il cliente** – ed eseguiremo la **simulazione di una mappatura completa di un’esperienza *end-to-end***, fino ad arrivare alla configurazione di possibili opportunità di miglioramento di un servizio. ##### Programma ###### Argomenti - **Cosa sono le Experience Map e a cosa servono** - **Azioni umane e flussi** - **Individuare opportunità dall’analisi del “dolore”** - **Raccolta e organizzazione delle informazioni** - **Progettazione di un nuovo processo o di nuove features** - **Q&A**. Anche le domande più critiche avranno una risposta! ###### COSA IMPAREREMO Impareremo ad **applicare nella pratica l’Experience Map**, sia in fase progettuale sia in fase di ricerca e analisi di un servizio già esistente. ##### A chi si rivolge L’Experience Map è utile per rendere visibile e oggettivare ai diversi stakeholder cosa deve essere disposto in ogni step per far sì che l’esperienza vissuta dall’utente sia attinente a quella progettata. Si tratta di un workshop trasversale, pensato per **chiunque abbia a che fare con la Customer Experience** (sia nel settore pubblico, sia nel settore privato), con processi o organizzazione. ###### FAQ *Sono richieste conoscenze particolari per partecipare al workshop?* Si parte da zero: chiunque si confronta per la prima volta con questi temi è benvenuto. ##### N.B. Il corso sarà confermato al **raggiungimento del numero minimo** di partecipanti. Ci riserviamo la possibilità di posticiparlo o annullarlo qualora il numero minimo non fosse raggiunto. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A calendario **Tags:** Customer Journey, Experience Map, User Experience Design, User Research, UX --- ### [The UX Hero Workshop](https://www.avanscoperta.it/it/training/corso-user-experience-design/) **Published:** November 14, 2014 **Author:** Hoang Huynh **Excerpt:** Un corso intensivo su tecniche, processi e strumenti utilizzati per la progettazione esperienziale di grandi prodotti, per diventare un eroe della User Experience. **Content:** Siti web, app, servizi online, interfacce digitali, ed elettrodomestici: l’**esperienza utente** (**UX**) è qualcosa che ci accompagna costantemente nell’arco della giornata. La disciplina dell’UX cerca di esaminare la nostra **interazione con i prodotti**, **i servizi** e **i sistemi complessi** che ogni giorno ci circondano, dal forno a microonde allo smartphone che teniamo in borsa. Se sei un designer, un manager, un responsabile di prodotto o uno sviluppatore, sei chiamato nel tuo lavoro a fare delle scelte e sicuramente stai già facendo User Experience Design, che tu ne sia conscio o meno! E se invece dell’istinto tu potessi usare una **metodologia strutturata**? ##### Programma **UX Hero** è un workshop pratico, strutturato per introdurre i partecipanti a tecniche, processi e strumenti utilizzati per la **progettazione esperienziale** di grandi prodotti. Lavoreremo sui problemi che coprono tutto il **ciclo di vita di progettazione** **di un servizio** e a fine corso avrai compreso come interpretare le **necessità** e gli **obiettivi degli utenti**, come **utilizzare documenti di comunicazione** per creare empatia nel tuo team di sviluppo e come **presentare**, **difendere** e **criticare con successo decisioni di progetto e scelte di design**. ###### Argomenti **Principi di Design Thinking** Introduzione e storia della metodologia, i principi di base e panoramica sugli strumenti. **User Research** Intervista Qualitativa e Narrativa, creare le domande, erogare un’intervista, analizzare i dati attraverso Empathy Map. **Personas** Costruire e utilizzare le personas in maniera non banale, quando e come usare archetipi, *proto-personas* e personas. **User Journey** Creare e utilizzare User e Customer journey. ###### Cosa impareremo - Comprendere e applicare i processi di **User Centered Design** e **Design Thinking**, dall’idea al progetto finale - Imparare a utilizzare gli **strumenti UX** - Creare e utilizzare i **documenti UX** come forma di comunicazione fra i team e con i clienti - Applicare ordine e disciplina nelle generazioni e nello sviluppo delle idee. ##### A chi si rivolge **UX Hero è rivolto a tutti le figure che vogliono intraprendere la carriera in ambito UX** e a tutte i professionisti che si occupano sia di sviluppo sia di marketing, che vogliono integrare nella propria professione, conoscenze teoriche e pratiche sugli strumenti di progettazione esperienziale. ###### FAQ È un corso per principianti o per esperti? *È un corso di livello base, ottimale sia per chi parte da zero sia per chi ha una base teorica, ma non pratica degli argomenti.* *Sono richieste conoscenze particolari o una preparazione per partecipare?* Non è richiesta nessuna preparazione pre corso. Si lavorerà in team, pertanto l’unico requisito è partecipare attivamente ai gruppi e avere un abbigliamento comodo. Devo portare il mio laptop? *Può essere utile in caso per attività di ricerca e ispirazione, ma non strettamente necessario ai fini del corso.* ##### N.B. Il corso sarà confermato al **raggiungimento del numero minimo** di partecipanti. Ci riserviamo la possibilità di posticiparlo o annullarlo qualora il numero minimo non fosse raggiunto. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A calendario **Tags:** Customer Journey, design thinking, Personas, User Experience Design, User Research, UX --- ### [Professional iOS Development](https://www.avanscoperta.it/it/training/professional-ios-development/) **Published:** November 14, 2014 **Author:** Andrea Francia **Excerpt:** Come fanno alcuni sviluppatori a rilasciare ogni due settimane un nuovo aggiornamento sull’App Store? **Content:** All’inizio lo **sviluppo di una nuova App** è sempre lineare e veloce, i problemi arrivano dopo. Man mano che il tempo passa rispondere ai cambi di rotta del cliente diventa sempre più difficile. Ci vuole sempre più tempo per implementare le nuove feature. Le stime diventano sempre meno realistiche. Poi, come al solito, scopri che il design scelto non era il migliore possibile; sapresti anche come migliorarlo ma hai paura a farlo: non sia mai che poi si rompe tutto! Ti viene voglia di riscriverlo da capo… se solo ci fosse il tempo! La cattiva notizia è che il tempo di farlo non ci sarà mai. La buona notizia è che **si può fare diversamente**. ##### Programma del corso Sviluppo Professionale iOS Vedremo come usare **Test Driven Development** per affrontare questi problemi, lavorare con meno stress e produrre codice efficace di cui poter andar fieri. ###### Argomenti - La meccanica del **Test Driven Development** - Test di integrazione e test di unità: quando usare cosa - Framework classici per Objective-C: **OCUnit** e **XCTest** - **Simple Design** - **Strategie di testing** - Deploy veloce delle beta con **TestFlight** - La relazione tra TDD e **Behaviour Driven Design** - Il design incrementale (**refactoring**) ##### Perché scegliere questo corso? *Sviluppare un’app può essere relativamente facile, ma un’app che fa parte di una suite enterprise e che quindi deve evolversi coerentemente con i tempi del business, senza compromettere la propria affidabilità è un’altra cosa. Andrea ci porta l’esperienza non solo da sviluppatore ma anche di cosa significa mantenere ed evolvere un’app critica per il business aziendale.* ###### Useremo: - Xcode 6 - XCTest - CocoaPods **Categories:** A calendario **Tags:** Agile Software Development, iOS, mobile software development, Swift, TDD --- ### [Lean Product Definition Workshop](https://www.avanscoperta.it/it/training/lean-product-definition-workshop/) **Published:** November 14, 2014 **Author:** Francesco Fullone **Excerpt:** Due giorni di workshop immersivo per guidare il vostro team alla definizione di un concept solido ed innovativo per il vostro futuro prodotto. **Content:** **Due giorni di workshop immersivo per** guidare il vostro team alla definizione di un **concept solido** ed innovativo per il vostro futuro prodotto. ##### Contenuti - Esplorazione del processo business con **EventStorming** - Framing del problema di cui si intende progettare la risoluzione - Individuazione delle **personas** e degli interessi chiave nel processo - Analisi comparativa delle soluzioni alternative disponibili sul mercato ed individuazione dei punti deboli e dei punti di forza - Spike concettuale su modelli di implementazione alternativi che permettano di risolvere i pain points individuati nelle soluzioni correnti - Definizione, per raffinamenti successivi, di una **Lean Canvas Board** per la definizione del posizionamento sul mercato e degli elementi chiave del modello di business. **Tags:** EventStorming, Lean, Product Discovery --- ### [CodeJam Workshop 2017](https://www.avanscoperta.it/it/training/codejam-full-stack-development/) **Published:** December 1, 2014 **Author:** Emanuele DelBono **Excerpt:** Con Gabriele Lana ed Emanuele DelBono in 2 giorni costruiremo Veggy, un work-organizer/time-tracker distribuito, su uno stack da leccarsi i baffi: React sul frontend, Elixir sul backend. Condito da un’architettura ad eventi, CQRS oriented. **Content:** *Bello. Bello bello.* *Argomenti estremamente interessanti spiegati egregiamente da docenti competenti e carismatici. **Luca Ramundo – Software Developer*** Come sviluppereste un’**applicazione web** avendo la possibilità di scegliere uno stack tecnologico senza compromessi e senza freni inibitori? ##### Programma Sotto la guida di **2 esperti software craftsmen** come **Gabriele Lana** ed **Emanuele DelBono**, in 2 giorni costruiremo **Veggy**: un work-organizer/time-tracker distribuito per *hardcore developers*, che permette la **pianificazione del lavoro in locale**, il **tracking dei risultati** e la **visualizzazione dello stato del team distribuito in tempo reale**. Il tutto su uno stack da *leccarsi i baffi*: - **React sul frontend** - **Elixir sul backend**. E condito da un’architettura ad eventi, **CQRS oriented**. [![Codejam elixir react avanscoperta](https://www.avanscoperta.it/wp-content/uploads/2014/12/codejam_elixir_react_Avanscoperta.jpg)](https://www.avanscoperta.it/wp-content/uploads/2014/12/codejam_elixir_react_Avanscoperta.jpg) ##### A chi si rivolge **CodeJam non è un corso introduttivo** e **non è un *corso su React***, ma un workshop costruito ad hoc da Gabriele ed Emanuele. Lato server, supporteremo l’architettura monodirezionale del client sfruttando la **programmazione concorrente attraverso l’uso degli attori di Elixir**, ovvero un’anteprima di come saranno sviluppate le applicazioni web nei prossimi anni. Il workshop è pensato per: - **full stack developer** - **software craftsman** - **modern javascript developer** - **bleeding edge lover** - **early adopter**. ##### Materiale Il corso prevede che le esercitazioni avvengano sul **vostro portatile**, **condividendo codice su GitHub**. È possibile lavorare da soli o in coppia. ###### Prerequisiti - **Node.js 4.2.x** - **Elixir 1.2.x** - **Git** - **Un editor di testo** - **Un terminale** FAQ *Cosa devo installare prima del corso?* Lo stack completo sarà reso disponibile indicativamente 10 gg prima del corso. ###### N.B. Avvertenze: l’esposizione alle tecnologie e ai principi esposti in questo corso può generare dipendenza… ##### Approfondimento Guarda il video Q&A con Alberto Brandolini e i 2 docenti. Leggi il [resoconto dell’edizione 2016](http://www.evoluzionetelematica.it/codejam-2016/) scritto da Alberto Barrilà di Evoluzione Telematica. [Sfoglia](https://www.flickr.com/photos/136649367@N08/albums/72157675223579126) le foto del workshop. ##### N.B. Il corso sarà confermato al **raggiungimento del numero minimo** di partecipanti. Ci riserviamo la possibilità di posticiparlo o annullarlo qualora il numero minimo non fosse raggiunto. Nel prezzo del biglietto sono compresi anche due coffee break e il pranzo insieme al docente e agli altri corsisti. Perché il networking è importante! :) Dubbi, domande? Scriveteci: info@avanscoperta.it **Categories:** A calendario **Tags:** Codejam, CQRS, Elixir, Event Sourcing, Nodejs, ReactJS --- ### [#NoEstimates Workshop](https://www.avanscoperta.it/en/training/noestimates-vasco-duarte/) **Published:** May 8, 2015 **Author:** Vasco Duarte **Excerpt:** We will review and analyze why we do estimates and how we can improve software and product development while reducing the time and money invested in estimating. **Content:** *Stop wasting time and money.* **\#NoEstimates** is an approach to software development that arose from the observation that large amounts of time were spent over the years in estimating and improving those estimates, but we see no value from that investment. Indeed, according to scholars Conte, Dunmore and Shens\* a good estimate is one that is within 25% of the actual cost, 75% of the time. This is the same as saying: give us your money, we promise not lose more than 25% of it (with a 25% probability that we will lose a lot more). We don’t find that acceptable or productive for our industry. There must be **better ways to manage software and product development**. ##### What will you learn in this course? In this workshop we will **review and analyze why we do estimates** and how **we can improve software and product development** while reducing the time and money invested in estimating. ###### Workshop learning goals • **Decision making frameworks** for projects that do not require estimates • **Investment models** for software projects that do not require estimates • **Project management** (risk management, scope management, progress reporting, etc.) approaches that do not require estimates • The **tools and arguments** you need to prove the value of #NoEstimates to your boss • **How to get started** applying #NoEstimates right away • **Where is #NoEstimates going** and what are the likely changes to software development that will come next ##### Any questions? Do you have other questions you would like to see tackled about #NoEstimates? Send us your questions ahead of the workshop and we will tackle as many of those questions as we can before and during the workshop. \**Paper referred to by Steve McConnell in his book: Software Estimation, Demystifying the Black Art.* ##### Combo Better Software Combine your attendance at [**Better Software 2015**](http://2015.bettersoftware.it/ "Better Software 2015") with **Vasco Duarte’s workshop** and **save 20%**! [Write us](mailto:info@avanscoperta.it) and get your promo code! ###### FAQ *Will there be a real-time translation?* No, however **Alberto Brandolini** will be there to facilitate discussion whenever needed, to help with translation, and to take visual notes. **Categories:** Scheduled **Tags:** Agile Software Development, Antifragile, Negotiation, NoEstimates, Team collaboration --- ### [#NoEstimates Workshop - Vasco Duarte](https://www.avanscoperta.it/it/training/noestimates-workshop-vasco-duarte/) **Published:** May 8, 2015 **Author:** Vasco Duarte **Excerpt:** Stop wasting time and money. In this workshop we will review and analyze why we do estimates and how we can improve software and product development while reducing the time and money invested in estimating. **Content:** Stop wasting time and money. **\#NoEstimates** is an approach to software development that arose from the observation that large amounts of time were spent over the years in estimating and improving those estimates, but we see no value from that investment. Indeed, according to scholars Conte, Dunmore and Shens a good estimate is one that is within 25% of the actual cost, 75% of the time. This is the same as saying: give us your money, we promise not lose more than 25% of it (with a 25% probability that we will lose a lot more). We don’t find that acceptable or productive for our industry. There must be **better ways to manage software and product development**. ##### What will you learn in this course? In this workshop we will **review and analyze why we do estimates** and how **we can improve software and product development** while reducing the time and money invested in estimating. ###### WORKSHOP LEARNING GOALS • **Decision making frameworks** for projects that do not require estimates • **Investment models** for software projects that do not require estimates • **Project management** (risk management, scope management, progress reporting, etc.) approaches that do not require estimates • The **tools and arguments** you need to prove the value of #NoEstimates to your boss • **How to get started** applying #NoEstimates right away • **Where is #NoEstimates going** and what are the likely changes to software development that will come next ##### Any questions? Do you have other questions you would like to see tackled about #NoEstimates? Send us your questions ahead of the workshop and we will tackle as many of those questions as we can before and during the workshop. \**Paper referred to by Steve McConnell in his book: Software Estimation, Demystifying the Black Art.* ##### Combo Better Software Combine your attendance at [**Better Software 2015**](http://2015.bettersoftware.it/ "Better Software 2015") with **Vasco Duarte’s workshop** and **save 20%**! [Write us](mailto:info@avanscoperta.it) and get your promo code! ###### FAQ *Will there be a real-time translation?* No, however **Alberto Brandolini** will be there to facilitate discussion whenever needed, to help with translation, and to take visual notes. **Categories:** A calendario **Tags:** Agile Software Development, Antifragilità, Negoziazione, NoEstimates, Team collaboration --- ### [Pratiche di Continuous Integration](https://www.avanscoperta.it/it/training/pratiche-di-continuous-integration/) **Published:** January 13, 2016 **Author:** Michele Orselli **Excerpt:** Rilasciare software in maniera continua ed affidabile richiede esperienza e conoscenza: la CI per automatizzare e rendere predicibile il processo di rilascio del software. **Content:** Rilasciare software in maniera continua ed affidabile richiede esperienza e conoscenza. La **Continuous Integration** (CI) è l’insieme di pratiche che mirano ad **automatizzare e rendere predicibile il processo di rilascio del software**. ##### Programma Il corso introdurrà le **pratiche principali che stanno alla base della CI** e illustrerà soluzioni concrete per metterle in pratica: dal codice alla produzione con un click. ###### COSA IMPAREREMO - Creare script di build - Scegliere un server di CI - Integrare test automatici - Gestire la migrazioni di dati - Automatizzare il deploy. ##### A chi si rivolge Il corso è pensato per chiunque abbia la responsabilità di rilasciare software ai propri utenti in maniera affidabile, sicura e veloce; per chi già gestisce deploy di applicazioni web e vuole mettere a punto un flusso di rilascio migliore grazie ad indicazioni pratiche, precise e pragmatiche. ###### Prerequisiti Familiarità con: - ambienti Unix-like e la linea di comando - test delle applicazioni (è considerato un plus la conoscenza di un framework di test) - un sistema di controllo di versione. **Categories:** A calendario **Tags:** Agile Software Development, CI, Continuous Integration --- ### [NoEstimates Workshop with Vasco Duarte](https://www.avanscoperta.it/en/training/noestimates-workshop-with-vasco-duarte/) **Published:** February 4, 2016 **Author:** Vasco Duarte **Excerpt:** Verona - 11th May, 2017. Stop wasting time and money. In this workshop we will review and analyze why we do estimates and how we can improve software and product development while reducing the time and money invested in estimating. **Content:** Stop wasting time and money. **\#NoEstimates** is an approach to software development that arose from the observation that large amounts of time were spent over the years in estimating and improving those estimates, but we see no value from that investment. Indeed, according to scholars Conte, Dunmore and Shens a good estimate is one that is within 25% of the actual cost, 75% of the time. This is the same as saying: give us your money, we promise not lose more than 25% of it (with a 25% probability that we will lose a lot more). We don’t find that acceptable or productive for our industry. There must be **better ways to manage software and product development**. ##### What will you learn in this course? In this workshop we will **review and analyze why we do estimates** and how **we can improve software and product development** while reducing the time and money invested in estimating. ###### WORKSHOP LEARNING GOALS - **Decision making frameworks** for projects that do not require estimates - **Investment models** for software projects that do not require estimates - **Project management** (risk management, scope management, progress reporting, etc.) approaches that do not require estimates - The **tools and arguments** you need to prove the value of #NoEstimates to your boss - **How to get started** applying #NoEstimates right away - **Where is #NoEstimates going** and what are the likely changes to software development that will come next. [![Workshop participants hands-on on the simulation spreadsheet.](https://www.avanscoperta.it/wp-content/uploads/2016/02/noestimates_workshop_avanscoperta.jpg)](https://www.flickr.com/photos/136649367@N08/albums/72157661976737256/with/23496645956/)[*See more pictures from the past edition*](https://www.flickr.com/photos/136649367@N08/albums/72157661976737256/with/23496645956/) ##### Any questions? Do you have other questions you would like to see tackled about #NoEstimates? Send us your questions ahead of the workshop and we will tackle as many of those questions as we can before and during the workshop. \*Paper referred to by Steve McConnell in his book: *Software Estimation, Demystifying the Black Art*. ###### FAQ *Will there be a real-time translation?* No, however **Alberto Brandolini** will be there to facilitate discussion whenever needed, to help with translation, and to take visual notes. ##### N.B. The workshop is subject to the confirmation of a minimum number of registered and fully paid attendees/participants. **Categories:** Scheduled **Tags:** Agile Contracts, Agile Software Development, Negotiation, NoEstimates, Team collaboration --- ### [NoEstimates Workshop](https://www.avanscoperta.it/it/training/noestimates-workshop/) **Published:** February 5, 2016 **Author:** Vasco Duarte **Excerpt:** Stop wasting time and money. In this workshop we will review and analyze why we do estimates and how we can improve software and product development while reducing the time and money invested in estimating. **Content:** *“Everybody in IT should attend this workshop, from devs, to POs to Managers, CIOs and CEOs. It can really change (to the better) the way we think at our job”. Alessandro Giardina – Product Owner at Docebo* #### Stop wasting time and money **\#NoEstimates** is an approach to software development that arose from the observation that large amounts of time were spent over the years in estimating and improving those estimates, but we see no value from that investment. Indeed, according to scholars Conte, Dunmore and Shens a good estimate is one that is within 25% of the actual cost, 75% of the time. This is the same as saying: give us your money, we promise not lose more than 25% of it (with a 25% probability that we will lose a lot more). We don’t find that acceptable or productive for our industry. There must be **better ways to manage software and product development**. ##### What will you learn in this course? In this workshop we will **review and analyze why we do estimates** and how **we can improve software and product development** while reducing the time and money invested in estimating. ###### WORKSHOP LEARNING GOALS - **Decision making frameworks** for projects that do not require estimates - **Investment models** for software projects that do not require estimates - **Project management** (risk management, scope management, progress reporting, etc.) approaches that do not require estimates - The **tools and arguments** you need to prove the value of #NoEstimates to your boss - **How to get started** applying #NoEstimates right away - **Where is #NoEstimates going** and what are the likely changes to software - development that will come next. [![Noestimatesworkshop avanscoperta](https://www.avanscoperta.it/wp-content/uploads/2016/02/noestimates_workshop_avanscoperta.jpg)](https://www.flickr.com/photos/136649367@N08/albums/72157661976737256/with/23496645956/)*[See more pictures from the past edition](https://www.flickr.com/photos/136649367@N08/albums/72157661976737256/with/23496645956/)* ##### Any questions? Do you have other questions you would like to see tackled about #NoEstimates? Send us your questions ahead of the workshop and we will tackle as many of those questions as we can before and during the workshop. \**Paper referred to by Steve McConnell in his book: Software Estimation, Demystifying the Black Art.* ###### FAQ *Will there be a real-time translation?* No, however **Alberto Brandolini** will be there to facilitate discussion whenever needed, to help with translation, and to take visual notes. ##### N.B. The workshop is subject to the confirmation of a minimum number of registered and fully paid attendees/participants. **Categories:** A calendario **Tags:** Agile Contracts, Agile Software Development, Negoziazione, NoEstimates, Team collaboration --- ### [Lean and Functional Domain Modelling Workshop](https://www.avanscoperta.it/en/training/lean-and-functional-domain-modelling-workshop/) **Published:** October 3, 2017 **Author:** Alessandra Granaudo **Excerpt:** Functional programming and modelling to go beyond the overly complicated math-based examples and introductions, to get your hands dirty with real-world complexity of business domains. **Content:** Rich domain models, inspired by imperative objective-oriented approaches, dominate our industry. **Lean and functional domain models are a compelling alternative**. By separating behaviour and state, lean models offer an effective and scalable way to represent units of behaviour. With the advances in **cloud-based infrastructures** and implementation of **microservices architectures**, functional models seems to be a compatible, resilience enabling and more obvious choice as the preferred paradigm. ##### In this workshop we will explore - How to reason about selected aspects of a problem domain **using a lean domain model** from a functional programming paradigm - How **types** can be used as a natural way to represent business constraints alongside smart constructors and functional validation - How behaviour can be better composed, and how to **keep domain behaviour isolated from application state**. ##### What will you learn in this course - **Modelling techniques** to express selected behaviours in a problem domain, using real world use cases - Revision of essential **Scala features** - **Model data** using algebraic data types, represented in Scala as families of sealed traits and case classes - Using **functional thinking** to approach problem solving - Understanding **functional patterns** for creation, validation, behaviour execution, persistency and state management - How to express **computation** as types and create your own domain algebra - Using **Property** based testing for modelling business constraints - Exploring **common challenges** in real world domain modelling with somebody who has worked with many teams in the field. ##### Program ###### Day 1 - Brief intro to Scala, Scala Repl - Functional programming building blocks, basic definitions, pure functions - Referential transparency - Functions, function literals, function as objects, high order functions - Kinds, proper, first order kinds, higher order kinds, genericity - Functional patterns, composition, combinators, functors, monands - Applicatives, options, either, try, list. ###### Day 2 - Lean Domain Modelling. Explicit and Verifiable Domain model algebra. Boundary Contexts - Invariants. Creating valid values and objects. Using disjunctions for validation - Alternative to Layered Architecture. Separating Boundaries with Monads.State Monad. IO Monad. Monad Transformers. Kleisli Arrows - Decoupling from the DB - Property Based Testing. Defining domain constraints with Types. Composing the domain algebra. ##### Expect to get your hands dirty **This is a very hands-on course**. All modules are **packed with exercises**. You will benefit mostly by being alert, attentive and engaged while we work on the exercises (although you will get all solutions at the end). ##### Who should attend this course? Developer seeking **an alternative way to approach Domain modelling**. Experienced developers with a strong background in software development should be able to follow this workshop and benefit from it. No experience with Scala is assumed, but strong experience with Java, C# or PHP would be highly beneficial. ##### Requirements You will need to have a laptop with an IDE (like intelliJ, Sublime or Eclipse) or an editor (like Vim or Emacs). ###### FAQ *In which language will the workshop be?* The workshop will be held in **English**. ##### N.B. The workshop is confirmed. :-) Two coffee breaks and lunch with the trainer and the other attendees are also included in this ticket… because networking matters. :) Questions? Drop us a line: info@avanscoperta.it **Categories:** Scheduled **Tags:** domain modelling, Functional Programming, Microservices, Monads, Scala Language --- ### [Lean and Functional Domain Modelling](https://www.avanscoperta.it/it/training/lean-and-functional-domain-modelling/) **Published:** October 3, 2017 **Author:** Alessandra Granaudo **Excerpt:** Functional programming and modelling to go beyond the overly complicated math-based examples and introductions, to get your hands dirty with real-world complexity of business domains. **Content:** Rich domain models, inspired by imperative objective-oriented approaches, dominate our industry. **Lean and functional domain models are a compelling alternative**. By separating behaviour and state, lean models offer an effective and scalable way to represent units of behaviour. With the advances in **cloud-based infrastructures** and implementation of **microservices architectures**, functional models seems to be a compatible, resilience enabling and more obvious choice as the preferred paradigm. ##### In this workshop we will explore - How to reason about selected aspects of a problem domain **using a lean domain model** from a functional programming paradigm - How **types** can be used as a natural way to represent business constraints alongside smart constructors and functional validation - How behaviour can be better composed, and how to **keep domain behaviour isolated from application state**. ##### What will you learn in this course - **Modelling techniques** to express selected behaviours in a problem domain, using real world use cases - Revision of essential **Scala features** - **Model data** using algebraic data types, represented in Scala as families of sealed traits and case classes - Using **functional thinking** to approach problem solving - Understanding **functional patterns** for creation, validation, behaviour execution, persistency and state management - How to express **computation** as types and create your own domain algebra - Using **Property** based testing for modelling business constraints - Exploring **common challenges** in real world domain modelling with somebody who has worked with many teams in the field. ##### Program ###### Day 1 - Brief intro to Scala, Scala Repl - Functional programming building blocks, basic definitions, pure functions - Referential transparency - Functions, function literals, function as objects, high order functions - Kinds, proper, first order kinds, higher order kinds, genericity - Functional patterns, composition, combinators, functors, monands - Applicatives, options, either, try, list. ###### Day 2 - Lean Domain Modelling. Explicit and Verifiable Domain model algebra. Boundary Contexts - Invariants. Creating valid values and objects. Using disjunctions for validation - Alternative to Layered Architecture. Separating Boundaries with Monads.State Monad. IO Monad. Monad Transformers. Kleisli Arrows - Decoupling from the DB - Property Based Testing. Defining domain constraints with Types. Composing the domain algebra. ##### Expect to get your hands dirty **This is a very hands-on course**. All modules are **packed with exercises**. You will benefit mostly by being alert, attentive and engaged while we work on the exercises (although you will get all solutions at the end). ##### Who should attend this course? Developer seeking **an alternative way to approach Domain modelling**. Experienced developers with a strong background in software development should be able to follow this workshop and benefit from it. No experience with Scala is assumed, but strong experience with Java, C# or PHP would be highly beneficial. ##### Requirements You will need to have a laptop with an IDE (like intelliJ, Sublime or Eclipse) or an editor (like Vim or Emacs). ###### FAQ *In which language will the workshop be?* The workshop will be held in **English**. ##### N.B. The workshop is confirmed. :-) Two coffee breaks and lunch with the trainer and the other attendees are also included in this ticket… because networking matters. :) Questions? Drop us a line: info@avanscoperta.it **Categories:** A calendario **Tags:** domain modelling, Functional Programming, Microservices, Monadi, Scala Language --- ### [Sviluppare applicazioni enterprise con Node.js](https://www.avanscoperta.it/it/training/sviluppare-applicazioni-enterprise-con-node-js/) **Published:** November 12, 2014 **Author:** Matteo Collina **Excerpt:** Vai oltre i semplici tutorial e costruisci software production-ready a partire da una tecnologia che rompe gli schemi tradizionali! **Content:** I bravi **sviluppatori Node.JS** sono in grado di produrre codice stabile in tempi brevissimi, facendo tesoro dell’esperienza e delle conseguenze del cambio di paradigma. Purtroppo, la maggior parte delle applicazioni scritte in Node non corrisponde a queste caratteristiche e finisce per assomigliare a “qualcos’altro” perdendo il vantaggio competitivo di una tecnologia così rivoluzionaria. In questo corso **andremo oltre le conoscenze di base**, per affrontare i temi necessari allo sviluppo professionale di applicazioni robuste, scalabili e mantenibili, senza rinunciare al “**Wow effect**” della demo scritta in pochi minuti. ###### ARGOMENTI - **Architettura di un’applicazione Node.js**: cosa non possiamo permetterci di sbagliare, cosa significa realmente sviluppare microservices e …l’ingrediente segreto! (hint: *non è la barba*). - **Up and Running**: un setup robusto è il primo passo verso uno sviluppo rapido e consistente. - Sviluppo applicazioni node con HAPI. - **Node.JS in-the-large**. Trasformiamo il nostro prototipo in un’applicazione enterprise. - **Modularizzazione in Node**: non sono *Jar*, non sono *DLL*, non sono *gemme*. Sono un’altra cosa. - **TDD in Node.JS**: strumenti e pratiche per costruire moduli affidabili e robusti. - **Mastering complexity**: ci sono più di 100k moduli pubblicati su NPM, quali fanno al caso nostro? Le strategie di componentizzazione “classiche” vanno riadattate al contesto Node.JS. Scopriamo quale relazione segreta lega la qualità dei moduli alla *lunghezza della barba* dell’autore. - **Just-in-Time enterprise composability**: costruire applicazioni complesse mediante composizione di altri servizi. - **Enterprise deployment strategies**: Docker, Gulp e gli altri trucchi del mestiere. - **Oltre Node**: integrazione con infrastrutture di messaging e Enterprise Service Bus, integrazioni con codice legacy, moduli node.js sul browser, moduli C++ ##### Perché partecipare? **Node.js** non è solo un fenomeno hipster, ma la tecnologia usata come **veicolo di innovazione** nelle più grandi aziende e organizzazioni del mondo, come il Guardian, Condé Nast, Paypal, Uber, Walmart e tante altre. È relativamente facile costruire un prototipo di applicazione Node.JS seguendo le indicazioni disponibili in rete. Il difficile è trasformare il prototipo in un’applicazione enterprise *affidabile* e *mantenibile* in produzione. [![Corso Nodejs avanscoperta con Matteo Collina](https://www.avanscoperta.it/wp-content/uploads/2014/11/corso_nodejs_avanscoperta1-300x225.jpg)](https://www.avanscoperta.it/wp-content/uploads/2014/11/corso_nodejs_avanscoperta1.jpg) L’**esperienza di Matteo ci permetterà di andare oltre i semplici tutorial**, per costruire software production-ready a partire da una tecnologia che rompe gli schemi tradizionali, ma che richiede un diverso approccio alla progettazione. ##### Requisiti - Conoscenza base di Javascript - Conoscenza base del paradigma REST - Laptop con Node installato. Si consiglia una macchina virtuale Ubuntu nel caso si sia sotto Windows. **Tags:** Nodejs --- ### [Agile Contracts](https://www.avanscoperta.it/it/training/agile-contracts-workshop/) **Published:** November 14, 2014 **Author:** Jacopo Romei **Excerpt:** Patti chiari, amicizia lunga, dice il detto. Ma cosa significa patti chiari? Un workshop dedicato a uno dei più spinosi temi di management: i contratti. **Content:** **Vai a [Extreme Contracts Workshop](https://www.avanscoperta.it/it/training/extreme-contracts-con-jacopo-romei/), il nuovo workshop di Jacopo Romei.** *Patti chiari, amicizia lunga*, dice il detto. Ma è chiaro a tutti cosa significhi *patti chiari*? C’è proprio bisogno di un patto? E quanto deve essere lunga quell’amicizia? Stabilire un **regime di collaborazione tra parti interessate** ad uno stesso lavoro può essere molto difficile e raramente si riesce a massimizzare il valore delle collaborazioni sancite da un accordo formale. Questo workshop di una giornata è dedicato a uno dei più spinosi temi di management: i **contratti**. I contratti usati nel mondo del lavoro sono sempre gli stessi e sono sempre inadatti ad incentivare un regime di onesta collaborazione tra le parti. Quasi sempre! Capire quali siano gli assi su cui **modulare le proprie offerte professionali** è la chiave per lasciare il campo aperto al fiorire di ottime collaborazioni, proficue sia per il consulente che per il cliente, sia per il datore di lavoro che per il dipendente. ##### Programma corso Agile Contracts Il workshop sarà strutturato in 3 parti: – analisi dei **contratti tradizionali** e delle loro disfunzionalità – individuazione di **formule contrattuali “win win”** sia nella consulenza sia nel lavoro dipendente – esposizione di un **metodo generale per negoziare** correttamente qualsiasi accordo professionale Ognuna delle tre parti vedrà l’alternarsi di **sessioni frontali** di spiegazione e di **momenti di gioco** serio pensati a volte per dimostrare, a volte per introdurre i concetti spiegati. ###### COSA IMPAREREMO - **Scrivere contratti** che permettano il rilascio incrementale ed iterativo di valore - Come **stipulare un contratt**o sia diverso dallo stabilire una collaborazione proficua - Come il tipo di contratto siglato formalmente possa influenzare lo svolgimento di tutta l’**attività operativa** susseguente - Come **separare le persone dalle posizioni** da loro tenute durante una negoziazione - Come spostare ulteriormente l’attenzione dalle rispettive posizioni all’interesse di ciascuna parte - Come contrapporre una mentalità empirica e pragmatica ad una speculativa nella **strutturazione di un rapporto** di collaborazione - Come disinnescare interlocutori poco equi o come creare le condizioni per uscire da una **negoziazione** in modo pulito - La relazione fra il Manifesto Agile, il Lean Thinking e l’Harvard Negotiation Project - Come applicare il **design thinking** alla scrittura di contratti ##### A chi si rivolge Il workshop è pensato per **professionisti** e **consulenti** di varia natura: designers, architetti, sviluppatori software, manager e altri che vogliano migliorare la consapevolezza di cosa avvenga davvero durante la negoziazione di un accordo, affilare le proprie armi durante la stipula di un contratto e garantire a sé e alla propria controparte la serenità di una collaborazione proficua. **Categories:** A calendario **Tags:** Agile Software Development, Contratti, Negoziazione --- ### [CodeJam al jsDay](https://www.avanscoperta.it/it/training/codejam-jsday/) **Published:** August 5, 2013 **Author:** Gabriele Lana **Excerpt:** In due giorni costruiremo Waitress, un'applicazione web mobile e desktop per gestire le ordinazioni ai tavoli, con uno stack tecnologico all'avanguardia e la migliore metodologia disponibile. **Content:** Qual è il modo migliore per sviluppare un’applicazione web, al giorno d’oggi? Il web è cambiato negli ultimi due anni: i browser sono più potenti e le features di HTML5 hanno raggiunto un ottimo grado di supporto; JavaScript si è evoluto, così come il suo utilizzo, sia lato client che server; nuove librerie, come AngularJS, hanno introdotto il concetto di *data-binding* e un intero universo di tool è sceso in campo per aiutare lo sviluppo modulare e sostenibile di applicazioni web pensate per funzionare su diversi device. #### Programma In due giorni costruiremo *Waitress*, un’applicazione web mobile e desktop per gestire le ordinazioni ai tavoli, con uno stack tecnologico all’avanguardia e la migliore metodologia disponibile. L’applicazione consente la gestione delle ordinazioni ai tavoli e la notifica ai camerieri del momento in cui tutti i piatti di un particolare tavolo sono pronti ad essere serviti. Presenta due interfacce: una mobile, per i camerieri, capace di raccogliere le ordinazioni e ricevere le notifiche di avanzamento ordini, e una desktop per la cucina con le code degli ordini da cucinare suddivise per tipologia. #### Moduli - Un backend in **Node.JS** - Data binding con **AngularJS** - Disegnare interfacce responsive con **Sass** e **Compass** - Il modello pub/sub con i **WebSocket** #### Materiale Il corso prevede che le esercitazioni avvengano sul vostro portatile, condividendo codice su GitHub. È possibile lavorare da soli o in coppia. Sulle postazioni di lavoro è bene che siano installate le seguenti componenti: - Mongo DB - NodeJS - Git - Ruby Per una guida passo passo sulle componenti da installare potete fare riferimento a questo [video]( https://drive.google.com/file/d/0B1BzDTsrFgSgZFNmRXZUVHdacDg/edit?usp=sharing "Installazione del software per CodeJam"). ##### La sede del workshop Il workshop si terrà presso l’**Hotel San Marco di Verona** (via Longhena 42) che ospiterà, dal 14 al 15 maggio, il [jsDay](http://2014.jsday.it/) e, dal 16 al 17 maggio, il [phpDay](http://2014.phpday.it/). ##### Promozioni sui biglietti Sconto del 10% per i partecipanti al jsDay; sconto del 20% per i soci Grusp. **Categories:** A calendario **Tags:** Angularjs, Codejam, Elixir, Nodejs, ReactJS, Websocket --- ### [Certified Scrum Master](https://www.avanscoperta.it/it/training/certified-scrum-master/) **Published:** January 11, 2016 **Author:** Danny (Danko) Kovatch **Excerpt:** Scrum is a practical way to implement the Agile approach and is the focus of this course. Officially certified by the international ScrumAlliance Organization. **Content:** ##### About Certified Scrum Master As more and more companies find that the classic waterfall approach for project management does not fit their realities, **Agile methodologies have emerged as the best solutions** in the current dynamic project environment. In many cases, not all requirements are clear before the project starts and requests for change are inserted often during development. Not less important is the fact that people have come to realize that the ability to estimate development efforts accurately is limited, at best. ***Scrum is a practical way to implement the Agile approach and is the focus of this course***. ##### Program The **course covers the Scrum framework and includes real life situation** simulations and exercises, in which Scrum principles are practiced and important insights are reached. ###### Topics covered - The history of Agile - Your project pains - Scrum introduction - Change management in Scrum - Planning and estimation - User stories – the right way to write them - Roles & Responsibilities - Day in a life of a Scrum master - Building self maintained cross functional team - Ceremonies - Definition of Done - Artifacts - Assimilation scrum in a wide variety of environments - Scaling scrum - Negotiating skills and techniques - The manager’s role in scrum ##### What you will learn By the end of the course you will be: - getting the **SCRUM spark** - speaking **SCRUMish** - able to **have fun at your workplace** as well as understand the importance of it - learning **unique planning techniques** - forgetting **your fear from a change** - **achieve more on your future projects** - **losing interest in Command & Control** - **gaining full visibility** on your future projects - frequently called to **help others** - thinking “**It is so obvious**, why didn’t I think of it?” - **going home with a big smile**! :-) ###### Certification The course officially certifies participants as **Certified Scrum Masters** (CSM) by the international ***ScrumAlliance Organization***. [![Scrum Alliance Certification](https://www.avanscoperta.it/wp-content/uploads/2016/01/ScrumMaster_Certification-s.gif)](https://www.avanscoperta.it/wp-content/uploads/2016/01/ScrumMaster_Certification-s.gif) This course qualifies participants for 16 PDU’s by the PMI. The process of getting the PDU’s should be done by the participant according to the PMI’s policies and regulations. ###### FAQ *In which language will be held the workshop?* The workshop will be held in English, but **Alberto Brandolini** will be there to facilitate discussion whenever needed, to help with translation, and to take visual notes. *What Forms of Payment Do You Accept?* PayPal, Credit Card, Bank Transfer. **Tags:** Agile Software Development, CSM, Scrum --- ### [Certified Scrum Master (CSM)](https://www.avanscoperta.it/en/training/certified-scrum-master-csm/) **Published:** January 11, 2016 **Author:** Danny (Danko) Kovatch **Excerpt:** Scrum is a practical way to implement the Agile approach and is the focus of this course. Officially certified by the international ScrumAlliance Organization. **Content:** ##### About Certified Scrum Master As more and more companies find that the classic waterfall approach for project management does not fit their realities, **Agile methodologies have emerged as the best solutions** in the current dynamic project environment. In many cases, not all requirements are clear before the project starts and requests for change are inserted often during development. Not less important is the fact that people have come to realize that the ability to estimate development efforts accurately is limited, at best. ***Scrum is a practical way to implement the Agile approach and is the focus of this course***. ##### Program The **course covers the Scrum framework and includes real life situation** simulations and exercises, in which Scrum principles are practiced and important insights are reached. ###### TOPICS COVERED - The history of Agile - Your project pains - Scrum introduction - Change management in Scrum - Planning and estimation - User stories – the right way to write them - Roles & Responsibilities - Day in a life of a Scrum master - Building self maintained cross functional team - Ceremonies - Definition of Done - Artifacts - Assimilation scrum in a wide variety of environments - Scaling scrum - Negotiating skills and techniques - The manager’s role in scrum ###### Certification The course officially certifies participants as **Certified Scrum Masters** (CSM) by the international ***ScrumAlliance Organization***. [![Scrum Alliance Certification](https://www.avanscoperta.it/wp-content/uploads/2016/01/ScrumMaster_Certification-s.gif)](https://www.avanscoperta.it/wp-content/uploads/2016/01/ScrumMaster_Certification-s.gif) This course qualifies participants for 16 PDU’s by the PMI. The process of getting the PDU’s should be done by the participant according to the PMI’s policies and regulations. ###### FAQ *In which language will be held the workshop?* The workshop will be held in English, but **Alberto Brandolini** will be there to facilitate discussion whenever needed, to help with translation, and to take visual notes. *What Forms of Payment Do You Accept?* PayPal, Credit Card, Bank Transfer. **Tags:** Agile Software Development, CSM, Scrum --- ### [CodeJam 2014](https://www.avanscoperta.it/it/training/codejam-feb2014/) **Published:** August 5, 2013 **Author:** Sandro Paganotti **Excerpt:** Costruiremo Waitress, un'app web mobile e desktop per gestire le ordinazioni ai tavoli, con uno stack tecnologico all'avanguardia e la migliore metodologia. **Content:** Qual è il modo migliore per sviluppare un’applicazione web, al giorno d’oggi? Il web è cambiato negli ultimi due anni: i browser sono più potenti e le features di HTML5 hanno raggiunto un ottimo grado di supporto; JavaScript si è evoluto, così come il suo utilizzo, sia lato client che server; nuove librerie, come AngularJS, hanno introdotto il concetto di *data-binding* e un intero universo di tool è sceso in campo per aiutare lo sviluppo modulare e sostenibile di applicazioni web pensate per funzionare su diversi device. #### Programma In due giorni costruiremo *Waitress*, un’applicazione web mobile e desktop per gestire le ordinazioni ai tavoli, con uno stack tecnologico all’avanguardia e la migliore metodologia disponibile. L’applicazione consente la gestione delle ordinazioni ai tavoli e la notifica ai camerieri del momento in cui tutti i piatti di un particolare tavolo sono pronti ad essere serviti. Presenta due interfacce: una mobile, per i camerieri, capace di raccogliere le ordinazioni e ricevere le notifiche di avanzamento ordini, e una desktop per la cucina con le code degli ordini da cucinare suddivise per tipologia. #### Moduli - Un backend in **Node.JS** - Data binding con **AngularJS** - Disegnare interfacce responsive con **Sass** e **Compass** - Il modello pub/sub con i **WebSocket** #### Materiale Il corso prevede che le esercitazioni avvengano sul vostro portatile, condividendo codice su GitHub. È possibile lavorare da soli o in coppia. Sulle postazioni di lavoro è bene che siano installate le seguenti componenti: - Mongo DB - NodeJS - Git - Ruby Per una guida passo passo sulle componenti da installare potete fare riferimento a questo [video]( https://drive.google.com/file/d/0B1BzDTsrFgSgZFNmRXZUVHdacDg/edit?usp=sharing "Installazione del software per CodeJam") **Categories:** A calendario **Tags:** Angularjs, Nodejs, Websocket --- ### [CQRS Advanced Workshop](https://www.avanscoperta.it/it/training/cqrs-advanced-workshop-4/) **Published:** December 17, 2013 **Author:** Greg Young **Content:** Tre giorni di workshop altamente interattivo sugli aspetti più avanzati di **Domain-Driven Design**, **Command-Query Responsibility Segregation** ed **Event Sourcing**. Il Workshop sarà condotto da **Greg Young** e facilitato da **Alberto Brandolini**. ##### Target Audience Il workshop è rivolto principalmente ad architetti o sviluppatori senior con un forte interesse in Domain-Driven Design, Command Query Responsibility Segregation (CQRS), Domain Events ed Event Sourcing. Astenersi perditempo. ##### Requirements È consigliato portare il proprio portatile in configurazione di sviluppo. Lavorerete sulla vostra piattaforma, per non perdere tempo. Si raccomanda inoltre la lettura del libro “Domain-Driven Design” di Eric Evans. Per chi programma saltuariamente, si raccomanda qualche *Kata*, per arrivare “sciolti” all’appuntamento con la tastiera. ##### Laboratorio ed Esercitazioni L’obiettivo del workshop è la costruzione collaborativa di un’implementazione completa di CQRS ed Event Sourcing. Ci saranno codice, giochi e simulazioni. La partecipazione è limitata ad un massimo di 14 persone, per facilitare l’interazione tra i partecipanti. ##### Combo con 2 Days Standard Class Ottieni il massimo trascorrendo 5 giorni con Greg, unendo i 3 giorni del corso avanzato con i [2 giorni del corso base](https://www.avanscoperta.it/it/training/cqrs-event-sourcing-and-applied-domain-driven-design-2014) in una combo “da paura”! **Categories:** A calendario **Tags:** CQRS, DDD --- ### [CQRS, Event Sourcing and applied Domain-Driven Design](https://www.avanscoperta.it/it/training/cqrs-event-sourcing-and-applied-domain-driven-design-2014/) **Published:** February 5, 2014 **Author:** Greg Young **Content:** Il corso vi insegnerà a costruire sistemi ed architetture complesse con **Domain-Driven Design**. Il principale problema in cui molti si imbattono quando cercano di applicare Domain-Driven Design, è riuscire a mettere in pratica i concetti astratti in modo concreto. Purtroppo, molti degli stereotipi architetturali attualmente in uso rendono quasi impossibile applicare realmente DDD. Il corso di Greg vi aiuterà ad evitare questo problema imparando ad utilizzare i principi della *Command Query Separation* su larga scala, sfruttando i *Domain Events*, portando gli eventi al centro del sistema con *Event Sourcing* ed esaminando come applicare effettivamente DDD all’interno di un’organizzazione. ##### Impareremo a: - Applicare DDD - Utilizzare CQRS - Comprendere i *Domain Events* - Applicare *Event Sourcing* ##### Combo con 3 Days Advanced Class Ottieni il massimo trascorrendo 5 giorni con Greg, unendo i 2 giorni del corso base con i [3 giorni del corso avanzato](https://www.avanscoperta.it/it/training/cqrs-advanced-workshop-4/) in una combo “da paura”! **Categories:** A calendario **Tags:** CQRS, DDD --- ### [CQRS, Event Sourcing and Applying Domain-Driven Design](https://www.avanscoperta.it/en/training/encqrs-event-sourcing-and-applying-domain-driven-design-2014/) **Published:** February 5, 2014 **Author:** Greg Young **Content:** This course will teach you all about system building and architectures with Domain-Driven Design. The largest problem many run into with Domain Driven Design is in getting the abstract concepts implemented in a concrete way. Many of the stereotypical architectures people use actually make it impossible to apply DDD. Greg’s course will help you avoid this by teaching you all about Command Query Separation (CQRS), Domain Events, Event Sourcing and how to effectively apply DDD within an organisation. ##### Learn how to: - Apply DDD - Use CQRS - Understand Domain Events - Apply Event Sourcing ##### **Target Audience** Architect or Senior Developer with a strong interest in Domain Driven Design and in Command Query Separation (CQRS), Domain Events and Event Sourcing. ##### **Requirements** Please, bring your own laptop with you. You’ll need to develop on your favourite platform and IDE, not to waste time on another platform’s technicalities… Also having read Eric Evans’ book on Domain-Driven Design is recommended. ##### **Labs and Exercises** The focus on the class is on applying Domain-Driven Design. This means that while the concepts will be explained, Greg Young will make you sure you focus on creating working code. The focus will be on how DDD concepts will be applied in your domain. A maximum of 14 people will attend, to facilitate interaction. ##### Combo with 3 Days Advanced Class Catch the best value by spending an intensive 5 days with Greg. Joining the [3 Days Advanced Class](https://www.avanscoperta.it/en/training/cqrs-advanced-workshop-3/) with the 2 Days Standard Class in an immersive brainwashing combo. **Categories:** Scheduled **Tags:** CQRS, DDD --- ### [Agile Design](https://www.avanscoperta.it/en/training/agile-design/) **Published:** August 22, 2013 **Author:** J.B. Rainsberger **Excerpt:** You’ve learned the basics of test-driven development. You’ve practised it for a few months. You’ve run into a few problems and figured out how to overcome them. You’re ready to take the next step in your evolution as a designer. This course is for you. **Content:** You’ve learned the basics of test-driven development. You’ve practised it for a few months. You’ve run into a few problems and figured out how to overcome them. You’re ready to take the next step in your evolution as a designer. This course is for you. In this course you’ll practise test-driven development as a technique for *learning to design well*. If you’ve been writing tests first primarily as a means of reducing defects, then this course will help you build on that skill, helping you build systems that do not want to be completely rewritten every two years. ##### Format This is a **hands-on** programming course. You will spend **at least 50% of your time writing code**. We will use a simple kanban system to plan the course: I will provide a starting set of topics and you will decide which ones we do. In addition to practising evolutionary software design, we will practise group decision-making. ##### I propose these topics We will not have time to cover all these topics in great depth, but we will certainly have enough time to introduce them all and dive more deeply into the areas that interest the group. - How Test-Driven Development works - Four elements of simple design - Developing the intuition of top designers - Interpreting irrelevant details in tests - Integrated Tests Are A Scam! - Architecture without trying - Primitive Obsession and duplication of intent - A model for improving names - BDD is TDD acting as a pull system for features - Economics and software design - The “ring” architecture style - Balancing everyone’s idea of business value - The only legacy code rescue technique you’ll ever need - How to do TDD with databases, web services, UIs, frameworks… - Intentional design with mock objects ###### Before you arrive… You will need a laptop with a development environment ready to work. We will use git for version control, for which you can find installation instructions [here](http://www.jbrains.ca/training/how-to-install-git). **Categories:** Scheduled **Tags:** Agile Software Development, TDD --- ### [Working with people](https://www.avanscoperta.it/en/training/working-with-people/) **Published:** July 15, 2013 **Author:** Pierluigi Pugliese **Excerpt:** As a ScrumMaster, Product Owner or organisational leader, my job is to communicate effectively with other people. But what does “effectively” mean? **Content:** As a ScrumMaster, Product Owner or organisational leader, my job is to communicate effectively with other people. But what does “effectively” mean? #### Topics This training explores many techniques for implementing effective communication when working with people. We will focus on improving everybody’s own communication style and on promoting better communication patterns in a team. Though the material presented can be used when working with anybody, the focus is on agile teams and how to improve their efficiency: streamlining planning and retrospectives, fostering teamwork and improving feedback. The training is a mix of frontal lesson, reflections and practical activities directed to integrate the learned content in the daily operations of the participants. ##### Course Outline - Communication styles - Listening better / Sensory awareness - Rapport - Strategic communication - Feedback - Creative use of language - Negotiations, conflicts - Framing - Metaphors - Coaching techniques **Categories:** Scheduled **Tags:** Agile Coaching, Agile Software Development --- ### [Implementing Domain-Driven Design Meetup](https://www.avanscoperta.it/en/training/implementing-domain-driven-design-meetup-2/) **Published:** October 26, 2012 **Author:** Vaughn Vernon **Excerpt:** A free evening meeting with Vaughn Vernon and Alberto Brandolini. Presentation and open discussion. **Content:** We have the pleasure to organize a special evening in Rome with Vaughn Vernon, author of the long-awaited “Implementing Domain-Driven Design” book. Vaughn will highlight some of the key topics of DDD, particularly looking to the balance to achieve between greenfield and brownfield software development. Open discussion will follow, moderated or ignited by Alberto Brandolini. **Categories:** Scheduled **Tags:** DDD --- ### [Implementing Domain-Driven Design](https://www.avanscoperta.it/en/training/implementing-domain-driven-design-may-2013/) **Published:** October 11, 2012 **Author:** Vaughn Vernon **Excerpt:** Are you looking for a way to fill the gap between theory and practice, in Domain-Driven Design? This 3 days workshop might be the one for you. **Content:** [![Implementing Domain-Driven Design Cover](https://www.avanscoperta.it/wp-content/uploads/2012/10/iddd_thumbnail-228x300.png "iddd_thumbnail")](https://www.avanscoperta.it/wp-content/uploads/2012/10/iddd_thumbnail.png)The *IDDD Workshop* is a hands-on class custom developed for mid-level and senior software developers and architects. As a student, you will receive advanced software design instruction and solve real-world design problems as you learn together with others. The class encourages you to share your own problems and gain experience from class interaction. Problem spaces used in exercises include a Scrum-based Project Management application within a SaaS environment, and a Stock Trading system that supports algorithmic trading. ##### Target Audience This course aims at leaders/managers who want to become Agile, and people who want to become great team leaders or line managers. (No practical experience with Agile methods is necessary, though some familiarity with Agile principles and practices is useful.) The course typically draws team leaders (15%), development managers (15%), agile coaches (15%), scrum masters (15%), project managers (10%), product owners (10%), developers and testers (10%), and top-level management (10%). ##### Topics - **Module 1: Getting Started with DDD** Understand the essence of DDD. Form the right mentality for powerful software modeling. Develop a Ubiquitous Language for your project. Learn how to use a test-first approach to craft intention-revealing interfaces. All this lays a foundation for moving forward with DDD. - **Module 2: Domains, Subdomains, and Bounded Contexts** Grasp the core concepts of DDD strategic modeling, and put them to use. Learn to vigorously gather core concepts and separate irrelevant ones. Learn why strategic design is so essential. Develop the ability to determine when your domain models are composed correctly and when they required more rigorous design. - **Module 3: Context Mapping** Learn how to integrate with other systems using DDD and straightforward design techniques. Context Maps are not just drawings. Use them as a project thinking, planning, and integration tool. - **Module 4: Architectures that Support DDD** See how seven architecture styles and patters can be used to support your DDD projects. We will look at Layers, Dependency Inversion Principle, Hexagonal, SOA, CQRS, and Event-Driven Architecture for both Pipes and Filters and Long-Running Processes. - **Module 5: Entities** There will almost always be at least some Entities in your domain models because of the need to manage change over the life cycle of mutable objects. Understand how to properly employ this necessary modeling tool, but also why you should use these less often than you may think. Rather than overusing Entities, learn how to best use them only when a domain concept must change over time. - **Module 6: Value Objects** Embrace this invaluable, functional modeling tool, which you should use as often as possible. You will learn the Value Object characteristics and why using Values where possible is a safer way to design. Using a test-first approach you will learn by modeling several different concepts as Values. - **Module 7: Domain Services** Add powerful stateless operations to your model when its use is appropriate. The modeling techniques cover both domain-specific services and those of a more technical nature, often used for integration. - **Module 8: Domain Events** Learn how to model, publish, and consume the facts of what happened in a domain model. You will see how Domain Events have far reaching impact on your designs across the enterprise. Here you will gain an understanding of how to publish and consume Events using both REST and messaging. - **Module 9: Modules** Understand the importance of and techniques for organizing concepts within a single domain model. Why go to all the trouble to carefully craft domain objects but without proper modularization using your Ubiquitous Language? - **Module 10: Aggregates** Demystify effective aggregate designs with the use of a set of simple rules. Learn how to design objects for correct transactional consistency, performance, and high scalability. - **Module 11: Factories** See when and how to use factories to support the creation of domain objects. - **Module 12: Repositories** Consider two primary approaches to persisting and reconstituting your domain objects. You will see how to persist and retrieve your aggregates using both SQL and NoSQL databases. Examples include those for O-R Mapping, Grid, and MongoDB. - **Module 13: Integrating Bounded Contexts** Employ RPC, REST, and messaging to realize your Context Maps in code as you integrate multiple Bounded Contexts of enterprise applications. Understand the complexities and challenges of distributed computing environments, and how to deal with them. An important lesson that is reemphasized is to model each Bounded Context cleanly and separately from those with which you integrate. - **Module 14: Application** Learn how the components that surround your domain model comprise a whole application. Consideration is given to User Interface strategies and the Application Programming Interface (API) using Application Services. **Categories:** Scheduled **Tags:** DDD --- ### [CQRS Retreat](https://www.avanscoperta.it/en/training/cqrs-retreat-2/) **Published:** October 11, 2012 **Author:** administrator **Excerpt:** One day, practitioners only, everything we discovered about CQRS and Event sourcing. **Content:** There’s a little tribe, scattered around Italy, getting hands dirty with CQRS and Event Sourcing. Why not gather the tribe to share progresses and lessons learned, to find solutions to common problems together and also eat some typical food from Romagna? The plan is to dedicate a whole day to share, discuss and explore among advanced CQRS/ES practitioners. Obviously you are expected to bring your fastest laptop, and your experience, with you. This is an invitation only event **Categories:** Other events **Tags:** CQRS, DDD --- ### [CQRS, Event Sourcing and Applying Domain-Driven Design](https://www.avanscoperta.it/en/training/cqrs-event-sourcing-and-applying-domain-driven-design/) **Published:** October 8, 2012 **Author:** Greg Young **Content:** This course will teach you all about system building and architectures with Domain-Driven Design. The largest problem many run into with Domain Driven Design is in getting the abstract concepts implemented in a concrete way. Many of the stereotypical architectures people use actually make it impossible to apply DDD. Greg’s course will help you avoid this by teaching you all about Command Query Separation (CQRS), Domain Events, Event Sourcing and how to effectively apply DDD within an organisation. **Learn how to:** - Apply DDD - Use CQRS - Understand Domain Events - Apply Event Sourcing **Target Audience** Architect or Senior Developer with a strong interest in Domain Driven Design and in Command Query Separation (CQRS), Domain Events and Event Sourcing. **Requirements** Please, bring your own laptop with you. You’ll need to develop on your favourite platform and IDE, not to waste time on another platform’s technicalities… Also having read Eric Evans’ book on Domain-Driven Design is recommended. **Labs and Exercises** The focus on the class is on applying Domain-Driven Design. This means that while the concepts will be explained, Greg Young will make you sure you focus on creating working code. The focus will be on how DDD concepts will be applied in your domain. A maximum of 14 people will attend, to facilitate interaction. **Categories:** Scheduled **Tags:** CQRS, DDD --- ### [CQRS Advanced Workshop](https://www.avanscoperta.it/it/training/cqrs-advanced-workshop-2/) **Published:** October 8, 2012 **Author:** Greg Young **Excerpt:** Tre giorni di workshop altamente interattivo sugli aspetti più avanzati di Domain-Driven Design, Command-Query Responsibility Segregation ed Event Sourcing. **Content:** Tre giorni di workshop altamente interattivo sugli aspetti più avanzati di **Domain-Driven Design**, **Command-Query Responsibility Segregation** ed **Event Sourcing**. Il Workshop sarà condotto da **Greg Young** e facilitato da **Alberto Brandolini** ##### **Target Audience** Il workshop è rivolto principalmente ad architetti o sviluppatori senior con un forte interesse in Domain-Driven Design, Command Query Responsibility Segregation (CQRS), Domain Events ed Event Sourcing. Astenersi perditempo. ##### **Requirements** È consigliato portare il proprio portatile in configurazione di sviluppo. Lavorerete sulla vostra piattaforma, per non perdere tempo. Si raccomanda inoltre la lettura del libro “Domain-Driven Design” di Eric Evans. Per chi programma saltuariamente, si raccomanda qualche *Kata*, per arrivare “sciolti” all’appuntamento con la tastiera. ##### **Laboratorio ed Esercitazioni** L’obiettivo del workshop è la costruzione collaborativa di un’implementazione completa di CQRS ed Event Sourcing. Ci saranno codice, giochi e simulazioni. La partecipazione è limitata ad un massimo di 14 persone, per facilitare l’interazione tra i partecipanti. **Categories:** A calendario **Tags:** CQRS, DDD, Event Sourcing --- ### [CQRS Retreat](https://www.avanscoperta.it/it/training/cqrs-retreat/) **Published:** October 5, 2012 **Author:** administrator **Excerpt:** Un giorno dedicato alla pratica ed allo scambio di esperienze fra praticanti di Event Sourcing e Command-Query Responsibility Segregation, nella cornice delle colline romagnole. **Content:** C’è una piccola tribù, sparsa per l’italia che si sta sporcando le mani con CQRS ed Event Sourcing. Per poter condividere i progressi fatti e trovare assieme qualche soluzione ai problemi, e perché no per farci una bella mangiata di cucina romagnola, l’idea è di dedicare una giornata alla condivisione, alla discussione, all’esplorazione delle alternative, tra persone che siano “abbastanza avanti” con la comprensione e l’applicazione dei principi. Ovviamente è bene che ognuno porti con se il proprio portatile ed il proprio bagaglio di esperenze. *Evento ad invito* **Categories:** Altri eventi **Tags:** CQRS, DDD, Event Sourcing --- ### [CQRS, Event Sourcing and applied Domain-Driven Design](https://www.avanscoperta.it/it/training/cqrs-event-sourcing-and-applied-domain-driven-design/) **Published:** September 20, 2012 **Author:** Greg Young **Content:** Il corso vi insegnerà a costruire sistemi ed architetture complesse con **Domain-Driven Design**. Il principale problema in cui molti si imbattono quando cercano di applicare Domain-Driven Design, è riuscire a mettere in pratica i concetti astratti in modo concreto. Purtroppo, molti degli stereotipi architetturali attualmente in uso rendono quasi impossibile applicare realmente DDD. Il corso di Greg vi aiuterà ad evitare questo problema imparando ad utilizzare i principi della *Command Query Separation* su larga scala, sfruttando i *Domain Events*, portando gli eventi al centro del sistema con *Event Sourcing* ed esaminando come applicare effettivamente DDD all’interno di un’organizzazione. ##### **Impareremo a:** - Applicare DDD - Utilizzare CQRS - Comprendere i *Domain Events* - Applicare *Event Sourcing* **Categories:** A calendario **Tags:** CQRS, DDD, Event Sourcing --- ### [Accelerated Agile: from months to minutes](https://www.avanscoperta.it/en/training/accelerated-agile/) **Published:** July 8, 2014 **Author:** Dan North **Excerpt:** Now is the time to go from months to minutes, to rethink the way we organize and improve our software development and delivery process. **Content:** Great software professionals build **better software faster**. Agile methods, continuous delivery and software craftsmanship helped speed up delivery from years to months or even weeks, but then what? Some teams are able to deliver software at a speed of change like you have never seen before, delivering quality software in days or even hours, again and again. So what is keeping the rest of us from doing so? Now is the time to go **from months to minutes**, to rethink the way we organize and improve our software development and delivery process. ***Accelerated Agile*** is for people who believe it can be done. People who feel themselves limited by current Agile, CD and Craftsmanship thinking. People who want to go back to basics and uncover new, simpler ways to deliver great software. Are you a seasoned agile developer who is frustrated at how slow your “hyper-performing” process feels? Are you suffering with an unwieldy feature backlog, the pantomime of estimation, the card wall where cards go to die, the efforts to automate where it obviously isn’t adding anything? Are you fed up with the artificial commitment of sprints and the unwelcome surprises that still seem to derail your projects? *Accelerated Agile* brings agile principles into the 21st century. You will learn **new techniques** that both enhance and replace existing agile practices, some of which are counter-intuitive and many which are completely counter to current “agile” doctrine. Using a mixture of **discussion**, **instruction** and **exploration** you will start to think differently about design, architecture, development and testing, operations, automation and team dynamics, as well as working with legacy systems and integrating with third parties. ##### What you learn - How to challenge the received wisdom of established **Agile methods** - How to design and architect for rapid and **sustainable delivery** - Why understanding risk and embracing uncertainty are at the heart of **faster delivery** - How to manage build, release and operations - How systems thinking can help you plan effectively and estimate accurately - How to identify and reduce gaps in your testing strategy - How to engage with legacy systems and integrating with third parties - How to manage different levels of skill and experience within a team ##### Praise for Accelerated Agile - *“one of the best courses I have ever attended, if not the best!”* - *“really interesting with good discussions and lots of relevant information”* - *“\[not using slides\] made the course flow in a neat and agile way* ##### Combo Tickets – Better Software 2014 Combine your attendance at **[Better Software 2014](http://www.bettersoftware.it/ "Better Software 2014")** with our Accelerated Agile Workshop and **save 20%** on each ticket type! **Categories:** Scheduled **Tags:** Agile Software Development, Continuous Delivery, Lean --- ## Books ### [Leadership Efficace: il lavoro che nessuno ti insegna](https://www.avanscoperta.it/it/libri/leadership-efficace/) **Published:** January 14, 2025 **Author:** Alessandra Granaudo **Excerpt:** Autore: Luca Sartoni Pubblicazione: giugno 2024 Lingua: italiano **Content:** *«Una lezione che ho imparato molto presto nella mia carriera è la relazione strettissima tra comunicazione efficace e la capacità di dirigere persone: queste due abilità sono intrecciate tra loro e si sostengono a vicenda.»* Questo libro è rivolto a tutte le persone che, a un certo punto della propria carriera, hanno avuto l’opportunità di diventare responsabili della vita professionale altrui. Persone abituate a rendere conto solo del proprio mestiere, che di colpo si sono trovate valutate in base ai risultati del proprio team. Diventare team lead non è una promozione. È un cambio drammatico di prospettiva. È qualcosa di profondamente diverso e decisamente destabilizzante. È una di quelle cose che ti toglie il sonno, che genera stress, e che ti fa dubitare delle ragioni stesse che ti avevano portato a fare quel mestiere che prima ti soddisfaceva, e che adesso che hai questa responsabilità, ti fa sentire mediocre. Questo libro non offre soluzioni semplici a problemi complessi. Non è un manuale di tecniche e non pretende di trasformarti in qualcosa che non sei. È una mappa: non eliminerà la complessità del viaggio, ma ti aiuterà a orientarti. **Autore**: [Luca Sartoni](https://www.avanscoperta.it/it/trainer/luca-sartoni/) **Pubblicazione**: luglio 2026 **Lingua**: italiano **Acquistalo su: [Leanpub](https://leanpub.com/effectivemanagement)** --- ### [Leadership Efficace: il lavoro che nessuno ti insegna](https://www.avanscoperta.it/en/books/leadership-efficace/) **Published:** January 14, 2025 **Author:** Alessandra Granaudo **Excerpt:** Autore: Luca Sartoni Pubblicazione: giugno 2024 Lingua: italiano **Content:** *«Una lezione che ho imparato molto presto nella mia carriera è la relazione strettissima tra comunicazione efficace e la capacità di dirigere persone: queste due abilità sono intrecciate tra loro e si sostengono a vicenda.»* Questo libro è rivolto a tutte le persone che, a un certo punto della propria carriera, hanno avuto l’opportunità di diventare responsabili della vita professionale altrui. Persone abituate a rendere conto solo del proprio mestiere, che di colpo si sono trovate valutate in base ai risultati del proprio team. Diventare team lead non è una promozione. È un cambio drammatico di prospettiva. È qualcosa di profondamente diverso e decisamente destabilizzante. È una di quelle cose che ti toglie il sonno, che genera stress, e che ti fa dubitare delle ragioni stesse che ti avevano portato a fare quel mestiere che prima ti soddisfaceva, e che adesso che hai questa responsabilità, ti fa sentire mediocre. Questo libro non offre soluzioni semplici a problemi complessi. Non è un manuale di tecniche e non pretende di trasformarti in qualcosa che non sei. È una mappa: non eliminerà la complessità del viaggio, ma ti aiuterà a orientarti. **Autore**: [Luca Sartoni](https://www.avanscoperta.it/it/trainer/luca-sartoni/) **Pubblicazione**: luglio 2026 **Lingua**: italiano **Acquistalo su: [Leanpub](https://leanpub.com/effectivemanagement)** --- ### [Cronache di Domain-Driven Design](https://www.avanscoperta.it/it/libri/cronache-di-domain-driven-design/) **Published:** January 8, 2025 **Author:** Alessandra Granaudo **Excerpt:** Autori: Alberto Acerbis, Matteo Baglini, Uberto Barbini, Alberto Brandolini, Julie Camosseto, Alessandro Colla, Marco Consolaro, Emanuele DelBono, Gianluca Padovani, Francesco Strazzullo Lingua: italiano Pubblicazione: maggio 2022 **Content:** *«Domain-Driven Design ci mette a disposizione un approccio robusto sia all’esplorazione dei domini complessi che alla sua corretta implementazione: capire bene per implementare meglio.»* Questo libro è il contributo degli autori per colmare il vuoto narrativo su Domain-Driven Design (DDD) nella community italiana. Non un manuale tecnico, ma una raccolta di esperienze reali, raccontate da professionisti e professioniste che hanno applicato i principi di DDD nei loro progetti. La parte didattica è volutamente limitata: i concetti fondamentali sono elencati e riassunti, ma non approfonditi, lasciando spazio alle storie sul campo di chi ha abbracciato DDD per affrontare sfide complesse e ne ha visto i risultati. DDD funziona, e le storie di successo esistono: raccontarle, però, non è semplice. Questo libro ci prova, offrendo una prospettiva corale e stimolante. **Autori**: [Alberto Acerbis](https://www.avanscoperta.it/it/trainer/alberto-acerbis/), [Matteo Baglini](https://www.avanscoperta.it/it/trainer/matteo-baglini/), [Uberto Barbini](https://www.avanscoperta.it/it/trainer/uberto-barbini/), [Alberto Brandolini](https://www.avanscoperta.it/it/trainer/a-brandolini/), [Julie Camosseto](https://www.avanscoperta.it/it/trainer/julie-camosseto/), [Alessandro Colla](https://www.avanscoperta.it/it/trainer/alessandro-colla/), [Marco Consolaro](https://www.avanscoperta.it/it/trainer/marco-consolaro/), [Emanuele DelBono](https://www.avanscoperta.it/it/trainer/emanuele-delbono/), [Gianluca Padovani](https://www.avanscoperta.it/it/trainer/gianluca-padovani/), [Francesco Strazzullo](https://www.avanscoperta.it/it/trainer/francesco-strazzullo/) **Pubblicazione**: maggio 2022 **Lingua**: italiano **Acquistalo su: [Leanpub](https://leanpub.com/decision-making-for-software-development-teams) o [Amazon](https://amzn.eu/d/cIHxs1X)** ## Cosa dicono di questo libro ***Un libro efficace ⭐️⭐️⭐️⭐️⭐️** Qualche settimana fa mi sono imbattuto in questo bellissimo libro sulla DDD in Italiano con un profilo più “leggero”.* *Un libro efficace, che mi ha permesso di capire cos’è la DDD, quali problemi tenta di risolvere, e i due concetti che più di tutti permeano questa pratica:* *1. Ubiqutous Language* *2. Bounded Context* *che sono i due pilastri con cui la comprensione del dominio viene amplificata e messa al centro dello sviluppo SW e con cui viene poi creata l’architettura.* *La seconda sezione del libro riporta alcune brevi storie che raccontano l’applicazione della DDD su progetti reali.* *Sono molto soddisfatto di questa lettura, mi ha chiarito molti aspetti, anche con i brevi esempi riportati!* *Forse ora sarò pronto per il libro blu!* *Lo consiglio vivamente!* ***Un ottimo acquisto** **⭐️⭐️⭐️⭐️⭐️*** *Dopo aver letto la versione ebook, appena vi è stata la possibilità ho acquistato anche la versione cartacea.* *Nonostante lo avevo già letto, è stato comunque un piacere rileggerlo e secondo me il costo del libro li vale tutti, davvero un ottimo lavoro, complimenti agli autori!* --- ### [Cronache di Domain-Driven Design](https://www.avanscoperta.it/en/books/cronache-di-domain-driven-design/) **Published:** January 8, 2025 **Author:** Alessandra Granaudo **Excerpt:** Autori: Alberto Acerbis, Matteo Baglini, Uberto Barbini, Alberto Brandolini, Julie Camosseto, Alessandro Colla, Marco Consolaro, Emanuele DelBono, Gianluca Padovani, Francesco Strazzullo Lingua: italiano Pubblicazione: maggio 2022 **Content:** *«Domain-Driven Design ci mette a disposizione un approccio robusto sia all’esplorazione dei domini complessi che alla sua corretta implementazione: capire bene per implementare meglio.»* Questo libro è il contributo degli autori per colmare il vuoto narrativo su Domain-Driven Design (DDD) nella community italiana. Non un manuale tecnico, ma una raccolta di esperienze reali, raccontate da professionisti e professioniste che hanno applicato i principi di DDD nei loro progetti. La parte didattica è volutamente limitata: i concetti fondamentali sono elencati e riassunti, ma non approfonditi, lasciando spazio alle storie sul campo di chi ha abbracciato DDD per affrontare sfide complesse e ne ha visto i risultati. DDD funziona, e le storie di successo esistono: raccontarle, però, non è semplice. Questo libro ci prova, offrendo una prospettiva corale e stimolante. **Autori**: [Alberto Acerbis](https://www.avanscoperta.it/it/trainer/alberto-acerbis/), [Matteo Baglini](https://www.avanscoperta.it/it/trainer/matteo-baglini/), [Uberto Barbini](https://www.avanscoperta.it/it/trainer/uberto-barbini/), [Alberto Brandolini](https://www.avanscoperta.it/it/trainer/a-brandolini/), [Julie Camosseto](https://www.avanscoperta.it/it/trainer/julie-camosseto/), [Alessandro Colla](https://www.avanscoperta.it/it/trainer/alessandro-colla/), [Marco Consolaro](https://www.avanscoperta.it/it/trainer/marco-consolaro/), [Emanuele DelBono](https://www.avanscoperta.it/it/trainer/emanuele-delbono/), [Gianluca Padovani](https://www.avanscoperta.it/it/trainer/gianluca-padovani/), [Francesco Strazzullo](https://www.avanscoperta.it/it/trainer/francesco-strazzullo/) **Pubblicazione**: maggio 2022 **Lingua**: italiano **Acquistalo su: [Leanpub](https://leanpub.com/decision-making-for-software-development-teams) o [Amazon](https://amzn.eu/d/cIHxs1X)** ## Cosa dicono di questo libro ***Un libro efficace ⭐️⭐️⭐️⭐️⭐️** Qualche settimana fa mi sono imbattuto in questo bellissimo libro sulla DDD in Italiano con un profilo più “leggero”.* *Un libro efficace, che mi ha permesso di capire cos’è la DDD, quali problemi tenta di risolvere, e i due concetti che più di tutti permeano questa pratica:* *1. Ubiqutous Language* *2. Bounded Context* *che sono i due pilastri con cui la comprensione del dominio viene amplificata e messa al centro dello sviluppo SW e con cui viene poi creata l’architettura.* *La seconda sezione del libro riporta alcune brevi storie che raccontano l’applicazione della DDD su progetti reali.* *Sono molto soddisfatto di questa lettura, mi ha chiarito molti aspetti, anche con i brevi esempi riportati!* *Forse ora sarò pronto per il libro blu!* *Lo consiglio vivamente!* ***Un ottimo acquisto** **⭐️⭐️⭐️⭐️⭐️*** *Dopo aver letto la versione ebook, appena vi è stata la possibilità ho acquistato anche la versione cartacea.* *Nonostante lo avevo già letto, è stato comunque un piacere rileggerlo e secondo me il costo del libro li vale tutti, davvero un ottimo lavoro, complimenti agli autori!* --- ### [Decision-making for Software Development Teams](https://www.avanscoperta.it/en/books/decision-making-for-software-development-teams-2/) **Published:** January 8, 2025 **Author:** Francesco Strazzullo **Excerpt:** Author: Francesco Strazzullo Published: March 2022 Language: English **Content:** *«Making a good decision the right way is much more important than making the right decision.»* What is a decision? What makes a decision important? How much do we struggle to make a decision? What type of impact do you think that decision will have? Whatever the case – from choosing a programming language for a shiny new greenfield project to moving to a microservices architecture and everything in between – the life of a software developer is punctuated with decisions. A good developer needs to be a good decision-maker, and decision-making is a crucial skill for software developers. This skill can be learnt and practised. This book aims to introduce developers to some theoretical concepts about how to make mindful technical decisions. It is a journey throughout a decision-making process, with real-life examples and case studies. The next time you and your team face a decision to be made, the stories and the easy-to-apply exercises in this book will help you understand how to involve the right people, gather valuable data and better analyze the context to decide how to decide. **Author**: [Francesco Strazzullo](https://www.avanscoperta.it/en/trainer/francesco-strazzullo/) **Published**: March 2022 **Language**: English **Buy on: [Leanpub](https://leanpub.com/decision-making-for-software-development-teams) o [Amazon](https://amzn.eu/d/1Kcvctf)** ## Praise for the Book ***Interesting reading! ⭐️⭐️⭐️⭐️⭐️** The book deals well with one of the problems that, in my opinion, is most widespread in tech companies: technology decisions are strongly conditioned by hype and other biases. The author proposes several decision-making techniques teams can adopt to make wise decisions. The digression on UX is interesting, as it is an area critical for the success of products and, at the same time, often underestimated by many developers.* ***Must read! ⭐️⭐️⭐️⭐️⭐️*** *The most of the times we are not slow because the code it’s hard to write, but because the code it’s only one side of the problem. This book it’s about connecting the “code problem” with “the bigger problem”.* --- ### [Decision-making for Software Development Teams](https://www.avanscoperta.it/it/libri/decision-making-for-software-development-teams/) **Published:** January 8, 2025 **Author:** Francesco Strazzullo **Excerpt:** Autore: Francesco Strazzullo Lingua: inglese Pubblicazione: marzo 2022 **Content:** *«Prendere una decisione buona in modo giusto è molto più importante di prendere una decisione giusta.»* Che cos’è una decisione? Cosa rende una decisione importante? Quanto spesso ci troviamo in difficoltà nel prendere una decisione? E nel definire l’impatto che questa possa avere? Qualsiasi sia il contesto – scegliere un linguaggio di programmazione per un nuovo progetto “greenfield” o decidere se passare a un’architettura a microservizi – la vita di chi sviluppa software è scandita da decisioni. È per questo che un bravo sviluppatore software deve essere anche un buon decision-maker: la capacità di prendere decisioni è una competenza cruciale per chi lavora nel mondo del software. Ed è una competenza che può essere appresa e allenata. Questo libro si propone di introdurre sviluppatrici e sviluppatori a concetti teorici utili per prendere decisioni tecniche in modo consapevole. È un viaggio attraverso un processo decisionale, arricchito da esempi concreti e casi di studio. La prossima volta che tu e il tuo team vi troverete di fronte a una decisione da prendere, le storie e gli esercizi pratici presenti in questo libro vi aiuteranno a coinvolgere le persone giuste, raccogliere dati preziosi e analizzare meglio il contesto, per decidere come decidere. **Autore**: [Francesco Strazzullo](https://www.avanscoperta.it/it/trainer/francesco-strazzullo/) **Lingua**: inglese **Pubblicazione**: marzo 2022 **Acquistalo su: [Leanpub](https://leanpub.com/decision-making-for-software-development-teams) o [Amazon](https://amzn.eu/d/g8CF4pS)** ## Cosa dicono di questo libro ***Interesting reading! ⭐️⭐️⭐️⭐️⭐️** The book deals well with one of the problems that, in my opinion, is most widespread in tech companies: technology decisions are strongly conditioned by hype and other biases. The author proposes several decision-making techniques teams can adopt to make wise decisions. The digression on UX is interesting, as it is an area critical for the success of products and, at the same time, often underestimated by many developers.* ***Must read! ⭐️⭐️⭐️⭐️⭐️*** *The most of the times we are not slow because the code it’s hard to write, but because the code it’s only one side of the problem. This book it’s about connecting the “code problem” with “the bigger problem”.* --- ## Training formats ### [Open Space](https://www.avanscoperta.it/it/training-format/open-space/) **Published:** February 13, 2025 **Author:** Andrea DalPonte **Excerpt:** Lorem ipsum sit dolor **Content:** Lorem ipsum sit dolor ---