Cosa abbiamo scoperto in questi 20 anni? Che cercare di cambiare il mondo focalizzandoci su un singolo aspetto, il processo, il TDD, il clean code, non porta da nessuna parte. I veri cambiamenti avvengono quando scopriamo le reali interazioni tra le parti, quando lasciamo la specializzazione e cominciamo a vedere il vero quadro d'insieme.
In questo talk vedremo come scelte architetturali apparentemente innocue, finiscano per impattare il processo, ed in generale di come processi, pratiche, architetture, persone e scelte di business non possano essere considerate come elementi disaccoppiati tra loro.
Can software architecture affect the culture and emotions in the workplace? In this talk I look to some ways architectural choices shape collaboration and survivability in the workplace.
Collecting requirements or understanding a large system seems such a long and demanding activity. We can do al lot better than this: unlimited modelling space and all the key stakeholder in the same room, with some special spice. :-)
Domain-Driven Design has never been so efficient. This is where DDD meets Kanban, TOC and Management 3.0.
Can we write successful enterprise software without challenging assumptions? Agile doesn't happen in a vacuum. Here's what I discovered using EventStorming as a blade to cut through business, software and organisation dysfunctions. From XP2017 Cologne.
Lessons learned on collaborative modeling: how EventStorming survived, and helped us survive the pandemic. And how it evolved to support new collaboration paradigms.
I've spent the last years modelling complex businesses and Software Architectures with EventStorming. The original recipe evolved a lot from the initial one. This is EventStorming state of the art.
There are some recurring themes in Domain-Driven Design applications, and distant domains show more similarities that differences, especially when you start taking into account peculiarities of specific Bounded Contexts. This is where a different type of design could happen.
Put the key stakeholders in the same room with an unlimited modelling surface, and some tricks, and you'll end up not only with a viable model, but also with skeleton for continuous improvement.
Can software architecture affect the culture and emotions in the workplace? In this talk I look to some ways architectural choices shape collaboration and survivability in the workplace.
Collecting requirements or understanding a large system seems such a long and demanding activity. We can do al lot better than this: unlimited modelling space and all the key stakeholder in the same room, with some special spice. :-)
Domain-Driven Design has never been so efficient. This is where DDD meets Kanban, TOC and Management 3.0.
Can we write successful enterprise software without challenging assumptions? Agile doesn't happen in a vacuum. Here's what I discovered using EventStorming as a blade to cut through business, software and organisation dysfunctions. From XP2017 Cologne.
Lessons learned on collaborative modeling: how EventStorming survived, and helped us survive the pandemic. And how it evolved to support new collaboration paradigms.
I've spent the last years modelling complex businesses and Software Architectures with EventStorming. The original recipe evolved a lot from the initial one. This is EventStorming state of the art.
There are some recurring themes in Domain-Driven Design applications, and distant domains show more similarities that differences, especially when you start taking into account peculiarities of specific Bounded Contexts. This is where a different type of design could happen.
Put the key stakeholders in the same room with an unlimited modelling surface, and some tricks, and you'll end up not only with a viable model, but also with skeleton for continuous improvement.
EventStorming was born as a massively in-person workshop to discover and model complex businesses and design event-driven software. But the old ways are no longer viable. After one year of experiments and discoveries in a forced-remote setting we know a lot more about what is still working and what is not.
Software development is not one size fits all. Domain-Driven Design is significant where there's high complexity and high value. In these areas different tools might be needed. EventStorming is the best way I know to gather requirements in a complex environment, and also maps with CQRS/ES architecture perfectly.
Software design as a cooperative game with EventStormingAlberto Brandolini
You got the stickies and the paper roll, and possibly already run a large Big Picture workshop to highlight where the problem is. Now you're in a room with business, software and UX experts hungry for a solution.
How do you make the magic happen?
In this talk, we'll explore some strategies about how to deliver with collaborative modeling, and how to narrow the gap between stickies and working code.
Organisations and usually pretty bed when it comes to self diagnose their own problem and even worse when choosing a solution for the badly diagnosed problem.
Understanding the basic of complexity and system thinking can help a lot, providing foundations for a different mindset and a surprising solutions toolkit.
Slides of my Pecha Kucha short talk at #ALE14 in Krakow.
There's too much noise around software estimation, and one of the problem is that we try to use the same approach, when we're in practice estimating totally different things.
As a Software Architect and consultant I designed software with some artefacts in mind. As an entrepreneur I found myself on the other side of the fence. I'd improve distribute holistic knowledge through EventStorming and Domain-Driven Design rather than partition the system with User Stories.
What happens when you have the luxury of leading software projects without trade-offs and you're a Domain-Driven Design fanatic? You start stretching DDD concepts until it hurts and make experiments un uncharted territory.
In this talk, we'll see a few unconventional approached to Context Mapping and what happens when you fully embrace CQRS and Small Aggregates as a modeling paradigm.
Using EventStorming to drill into domain modelling complexity: from the big picture into the design of aggregates, processes and read models. A different approach to enterprise software modelling.
Every organisation pretends to be unique, but they mostly follow similar mechanics. Discover how your organisation too falls into common pitfalls and antipatterns and how you can leverage the situation to improve it.
Top 10 Things To Do If You Want To Get Fired Over A WordPress ProjectWilliam Bergmann
A rundown of 10 of the most common ways to wreck a WordPress project, along with tips to avoid them for Project Managers on both the Client and Agency side.
Agile Development Overview (with a bit about builds)David Benjamin
I gave this presentation to our dev team when i started at Hannan IT back in October. Its a quick run through the Agile basics, with a bit of extra discussion on continuous integration.
I experimented here with scripting in two tangential sections in the hopes that it would avoid many more spontaneous tangents. It worked!
Short history of Spartez and information whom we want to hire and why.
Extra bonus: my aspirational thinking about how juniors differ to senior and principal developers.
This slidedeck was presented by me during Spartez Open Day on March 13th 2015.
Pair Programming, TDD and other impractical thingsMarcello Duarte
"Why should we write our tests first? Isn't that going to slow my development?" "What? Assigning a single task to 2 developers? How is that efficient? What a waste of resources!" "Look, in the perfect world your advises are great, but I have a project to finish here." In this talk Marcello explores efficiency in contrast to effectiveness. He looks into how practices, traditionally accepted as efficient, sometimes turn out to be less effective than a few "impractical" things he has come across.
EventStorming was born as a massively in-person workshop to discover and model complex businesses and design event-driven software. But the old ways are no longer viable. After one year of experiments and discoveries in a forced-remote setting we know a lot more about what is still working and what is not.
Software development is not one size fits all. Domain-Driven Design is significant where there's high complexity and high value. In these areas different tools might be needed. EventStorming is the best way I know to gather requirements in a complex environment, and also maps with CQRS/ES architecture perfectly.
Software design as a cooperative game with EventStormingAlberto Brandolini
You got the stickies and the paper roll, and possibly already run a large Big Picture workshop to highlight where the problem is. Now you're in a room with business, software and UX experts hungry for a solution.
How do you make the magic happen?
In this talk, we'll explore some strategies about how to deliver with collaborative modeling, and how to narrow the gap between stickies and working code.
Organisations and usually pretty bed when it comes to self diagnose their own problem and even worse when choosing a solution for the badly diagnosed problem.
Understanding the basic of complexity and system thinking can help a lot, providing foundations for a different mindset and a surprising solutions toolkit.
Slides of my Pecha Kucha short talk at #ALE14 in Krakow.
There's too much noise around software estimation, and one of the problem is that we try to use the same approach, when we're in practice estimating totally different things.
As a Software Architect and consultant I designed software with some artefacts in mind. As an entrepreneur I found myself on the other side of the fence. I'd improve distribute holistic knowledge through EventStorming and Domain-Driven Design rather than partition the system with User Stories.
What happens when you have the luxury of leading software projects without trade-offs and you're a Domain-Driven Design fanatic? You start stretching DDD concepts until it hurts and make experiments un uncharted territory.
In this talk, we'll see a few unconventional approached to Context Mapping and what happens when you fully embrace CQRS and Small Aggregates as a modeling paradigm.
Using EventStorming to drill into domain modelling complexity: from the big picture into the design of aggregates, processes and read models. A different approach to enterprise software modelling.
Every organisation pretends to be unique, but they mostly follow similar mechanics. Discover how your organisation too falls into common pitfalls and antipatterns and how you can leverage the situation to improve it.
Top 10 Things To Do If You Want To Get Fired Over A WordPress ProjectWilliam Bergmann
A rundown of 10 of the most common ways to wreck a WordPress project, along with tips to avoid them for Project Managers on both the Client and Agency side.
Agile Development Overview (with a bit about builds)David Benjamin
I gave this presentation to our dev team when i started at Hannan IT back in October. Its a quick run through the Agile basics, with a bit of extra discussion on continuous integration.
I experimented here with scripting in two tangential sections in the hopes that it would avoid many more spontaneous tangents. It worked!
Short history of Spartez and information whom we want to hire and why.
Extra bonus: my aspirational thinking about how juniors differ to senior and principal developers.
This slidedeck was presented by me during Spartez Open Day on March 13th 2015.
Pair Programming, TDD and other impractical thingsMarcello Duarte
"Why should we write our tests first? Isn't that going to slow my development?" "What? Assigning a single task to 2 developers? How is that efficient? What a waste of resources!" "Look, in the perfect world your advises are great, but I have a project to finish here." In this talk Marcello explores efficiency in contrast to effectiveness. He looks into how practices, traditionally accepted as efficient, sometimes turn out to be less effective than a few "impractical" things he has come across.
Form Function Class 6, Manila, Philippines 14/11/2015Holger Bartel
Sweating Details - Slides from my talk at Form Function Class 6 in Manila Philippines on Nov 14th, 2015.
This talk is about sweating details and how small tweaks and changes can make a big difference in any of the web design stages. From optimising the process, via UX and design all the way to performance, this talk covers possible tweaks and recommendations with some practical examples to improve the overall experience of our products.
Code quality directly impacts how easy or hard your job is. The higher the quality, the easier it is for anyone (including you) to quickly jump in and get to work. Where do you start? In this session, Tonya Mork will empower you to simplify your code while dramatically increasing its code quality.
It's all about building <human code>, code that is highly human readable and understandable.
This slide deck is from a session I gave for WPSessions. https://wpsessions.com/sessions/code-quality-makes-jobs-easier/
My talk at the @media Ajax conference in London in November 2007 about the non-technical steps you can take to make JavaScript and Ajax work for larger teams.
Ten lessons I painfully learnt while moving from software developer to entrep...Wojciech Seliga
My presentation from InfoShare 2016 conference.
For many years I was a software developer. I would concentrate on the code, software projects and the interactions with my closes team and the users. I was sure that Agile solves all world’s problems. I would laugh over Scott Adam’s Dilbert comics with his Point Hair Boss. Life was simple, life was good. Now for 8+ years I have been running a software company, not a small one anymore. I became myself a full-time boss who only codes sometimes at home or during hackathons.
This session is about sharing with you those critical lessons which I painfully learnt when trying to grow into this new role - transitioning from being a software engineer into being an entrepreneur and top manager. Wheres not all of the lessons may or will (if you dream about your own startup) apply to your case, being aware of them may save you tons of time, energy, money or even help you to avoid the total disaster - burying your own company or dreams. And after all, sharing war stories from the past is fun … when these stories are the past.
By Thoughtworks | Reviving the art of software design with Andy Marks and Pam...IngridBuenaventura
Reviving the art of software design
The art of software design is facing a slow and painful death. Our mental muscles needed to produce high quality code with good software design are atrophying through the lack of deliberate practice, time, and less people in the tech industry who value software design skills. It's time to get these muscles back into the mental gym!
In this talk we will explore ways to build and maintain software design skills, suggest tools and exercises to help develop this capability, and provide contrasting answers to the question of where these skills are best applied.
Speakers: Andy Marks and Pam Rucinque, Consultants at Thoughtworks
Andy, originally an itinerant teacher of programming at university, has been writing code professionally since 1996 in Melbourne, Brisbane, San Francisco, Leeds and Singapore. He joined Thoughtworks as a technical lead in 2002, and has deep experience in agile development - becoming one of those dreary functional programming evangelists you dread speaking to at parties. Andy is a frequent speaker at conferences in Australia as well as user groups in Melbourne, even though he does not understand monads… not even a little bit.
Pam is a technologist that has focused most of her career on the development of web-based software. As a consultant she has worked with many teams of different shapes and sizes in a wide range of technologies and architectures. Her main interest is in the intersection between people, systems and technology. When working on any organisation, her biggest effort goes into keeping business and tech teams aligned - it saves a lot of time and effort.
How To Do Kick-Ass Software DevelopmentSven Peters
With Kick-Ass Software Development you actually get stuff done. Feedback cycles are short, code quality is awesome and customers get the features they lust after. Less mangers managing, less testers testing and less IT-operators operating. The developers take the power back, making them much happier. Sound like paradise? It is! This session will show you how we do Kick-Ass Software Development at Atlassian.
I talk about how we: use pull requests for better code quality; collaborate fast to develop ideas; avoid meetings to get more stuff done; tighten our feedback loops to fail faster; shorten our release cycles; and work together happily on different continents. It's a great way to develop software and we think it can work in your company, too.
Watch the video if this talk: http://vimeo.com/70102926
10 bezcennych lekcji dla software developera stającego się szefem firmyWojciech Seliga
[Originally Polish lecture with English slides - with a few exceptions]
Przez wiele lat byłem software developerem. Koncentrowałem się na kodzie, projektach software'owych oraz interakcjach w moim zespole i z klientami. Byłem pewny, że Agile rozwiązuje wszystkie problemy tego świata. Śmiałem się z komiksów Scotta Adamsa i stworzonej przez niego karykatury szefa (PHB). Życie było proste i piękne...
Teraz od ponad 8 lat prowadzę firmę software'ową, którą przy blisko 90 osobach trudno już nazwać maleństwem. Sam stałem się "szefem" na pełen etat.
Podczas prezentacji podzielę się z Wami różnymi doświadczeniami oraz naukami (nieraz bolesnymi) jakie wyniosłem w ostatnich latach podczas mojej stopniowej przemiany z developera/inżyniera w przedsiębiorcę i szefa firmy. O ile zapewne nie wszystkie sytuacje i wnioski mają lub mogą mieć (o ile marzysz o własnym startupie czy zespole) zastosowanie w Twoim życiu, same sobie ich uświadomienie może oszczędzić Ci w przyszłości straty mnóstwa czasu, energii i pieniędzy oraz uniknąć przykrych rozczarowań.
Architecting Solutions and Systems – Randy’s Secrets to SuccessRandy Williams
This session will provide background and guidance on how Randy has architected software solutions for the past 20+ years. This will cover a range of mostly technical topics, including infrastructure planning, trade-off considerations, performance and scalability, and separation of tiers. Expect to hear plenty of stories from real projects over his career, along with numerous tips on his secrets to success.
Too often we model processes around the myth of Database Transactions, ofter forgetting what a transaction really means in the real world. This talk shows an easy and cheap approach to use together with EventStorming in order to include User Experience into process modelling
Most software development processes are focused on tracking and delivery. Unfortunately, writing code is no longer the bottleneck. The real bottleneck is the team ability to learn about the domain complexity and do the right thing.
Scrivere software per il business si riduce essenzialmente a due problemi. Capire il vero problema da risolvere, e trovare soluzioni interessanti, senza trasformare la cosa in un percorso ad ostacoli.
Modellare un dominio applicativo può essere decisamente complesso; in questa sessione vedremo come Event Storming ed Event Sourcing permettono di prendere una idea, darle forma usando un rotolo di carta e dei post-it e tradurla in codice C# sfruttando BDD e Machine Specifications... alla velocità della luce.
Presentazione a 4 mani di Alberto Brandolini e Andrea Balducci.
Model storming - a different approach to collaborative model discovery (Vilni...Alberto Brandolini
Many complex problems aren't properly managed because they aren't properly seen. To visualise them you need a lot of space and unusual techniques that help you model the unknown, in an interactive and extremely productive fashion.
Kanban unbounded - Cosa succede sulla linea di faglia tra il team ed il resto...Alberto Brandolini
Il mio talk a Better Software 2013 riveduto e corretto. Dove parlo di Kanban, management, e del virus dell'esternalizzazione guidata dal mantra della "riduzione dei costi".
This is my presentation at DDD eXchange New York, about Event Storming and the broader concept of Model Storming and the various modeling and problem solving techniques that we've been experimenting in the last months.
Senior Project and Engineering Leader Jim Smith.pdfJim Smith
I am a Project and Engineering Leader with extensive experience as a Business Operations Leader, Technical Project Manager, Engineering Manager and Operations Experience for Domestic and International companies such as Electrolux, Carrier, and Deutz. I have developed new products using Stage Gate development/MS Project/JIRA, for the pro-duction of Medical Equipment, Large Commercial Refrigeration Systems, Appliances, HVAC, and Diesel engines.
My experience includes:
Managed customized engineered refrigeration system projects with high voltage power panels from quote to ship, coordinating actions between electrical engineering, mechanical design and application engineering, purchasing, production, test, quality assurance and field installation. Managed projects $25k to $1M per project; 4-8 per month. (Hussmann refrigeration)
Successfully developed the $15-20M yearly corporate capital strategy for manufacturing, with the Executive Team and key stakeholders. Created project scope and specifications, business case, ROI, managed project plans with key personnel for nine consumer product manufacturing and distribution sites; to support the company’s strategic sales plan.
Over 15 years of experience managing and developing cost improvement projects with key Stakeholders, site Manufacturing Engineers, Mechanical Engineers, Maintenance, and facility support personnel to optimize pro-duction operations, safety, EHS, and new product development. (BioLab, Deutz, Caire)
Experience working as a Technical Manager developing new products with chemical engineers and packaging engineers to enhance and reduce the cost of retail products. I have led the activities of multiple engineering groups with diverse backgrounds.
Great experience managing the product development of products which utilize complex electrical controls, high voltage power panels, product testing, and commissioning.
Created project scope, business case, ROI for multiple capital projects to support electrotechnical assembly and CPG goods. Identified project cost, risk, success criteria, and performed equipment qualifications. (Carrier, Electrolux, Biolab, Price, Hussmann)
Created detailed projects plans using MS Project, Gant charts in excel, and updated new product development in Jira for stakeholders and project team members including critical path.
Great knowledge of ISO9001, NFPA, OSHA regulations.
User level knowledge of MRP/SAP, MS Project, Powerpoint, Visio, Mastercontrol, JIRA, Power BI and Tableau.
I appreciate your consideration, and look forward to discussing this role with you, and how I can lead your company’s growth and profitability. I can be contacted via LinkedIn via phone or E Mail.
Jim Smith
678-993-7195
jimsmith30024@gmail.com
Artificial intelligence (AI) offers new opportunities to radically reinvent the way we do business. This study explores how CEOs and top decision makers around the world are responding to the transformative potential of AI.
The Team Member and Guest Experience - Lead and Take Care of your restaurant team. They are the people closest to and delivering Hospitality to your paying Guests!
Make the call, and we can assist you.
408-784-7371
Foodservice Consulting + Design
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...CIOWomenMagazine
This person is none other than Oprah Winfrey, a highly influential figure whose impact extends beyond television. This article will delve into the remarkable life and lasting legacy of Oprah. Her story serves as a reminder of the importance of perseverance, compassion, and firm determination.
The case study discusses the potential of drone delivery and the challenges that need to be addressed before it becomes widespread.
Key takeaways:
Drone delivery is in its early stages: Amazon's trial in the UK demonstrates the potential for faster deliveries, but it's still limited by regulations and technology.
Regulations are a major hurdle: Safety concerns around drone collisions with airplanes and people have led to restrictions on flight height and location.
Other challenges exist: Who will use drone delivery the most? Is it cost-effective compared to traditional delivery trucks?
Discussion questions:
Managerial challenges: Integrating drones requires planning for new infrastructure, training staff, and navigating regulations. There are also marketing and recruitment considerations specific to this technology.
External forces vary by country: Regulations, consumer acceptance, and infrastructure all differ between countries.
Demographics matter: Younger generations might be more receptive to drone delivery, while older populations might have concerns.
Stakeholders for Amazon: Customers, regulators, aviation authorities, and competitors are all stakeholders. Regulators likely hold the greatest influence as they determine the feasibility of drone delivery.
4. Come funziona?
TDD
Codice affidabile
Aperti ad
opportunita’
Stime piu’ precise
Disponibile alle
evoluzioni
Design Migliore
#Pratiche
#Architettura
#Business
#Processo
#Persone
Se fatto bene…
Piano piano…
Che ci vuole?
5. TDD non e’ una pratica
strettamente
ingegneristica
#Pratiche
#Architettura
#Business
#Processo
#Persone
Impatti a livello di ansia, pianificazione, e reattivita’ business
Ansia Pianificazione Reattivita’
9. “I miei colleghi non fanno TDD”
TDD
Commit distruttivi
#Pratiche
#Architettura
#Business
#Processo
#Persone
No TDD
WTF!
Copertura a macchia
di leopardo
12. Dove funziona?
TDD
Codice affidabile
Aperti ad
opportunita’
Stime piu’ precise
Disponibile alle
evoluzioni
Design Migliore
#Pratiche
#Architettura
#Business
#Processo
#Persone
Se fatto bene…
Piano piano…
Confini ben precisi Mancava un ingrediente!
Pet Project - POC
Un solo sviluppatore,
su un progetto ben
definito
🙂
Team Agreement
Un team con un
approccio simile su una
porzione ben definita
del sistema.
🙂
13. Non puo’ funzionare se…
Applico TDD
Commit distruttivi
#Pratiche
#Architettura
#Business
#Processo
#Persone
Non applico TDD
WTF!
Copertura a macchia
di leopardo
Big Ball of Mud
Piu’ sviluppatori, senza
confini precisi.
😳
Big Ball of Mud
Continuo turnover su
una codebase senza
padroni
😳
Confini non definiti
14. Qualche nota
Il contesto mi serve a capire dove una cosa puo’
funzionare
Guardiamo a quello che in Blog Posts, Articoli, Libri
e’ sottinteso
Per capire il sottinteso devo provare in contesti
diversi (o confrontarmi con colleghi)
18. Bounded Context
• Unita’ di consistenza del
linguaggio
• Un modello costruito
attorno ad uno scopo ben
preciso
Bounded Context
(Questo l’ho imparato da Domain-Driven Design)
24. Bounded Context
• Unita’ di consistenza del
linguaggio
• Un modello costruito attorno
ad uno scopo ben preciso
• UN confine che permette
l’implementazione di pratiche
ed accordi “speciali” tra
colleghi
• Un “luogo” dove possiamo fare
la cosa giusta senza
compromessi
Bounded Context
25. primo progetto enterprise (2001)
In una banca
Stack Tecnologico ‘aggressivo’
Persistenza privata
Domain Model sofisticato
Modello dei dati non convenzionale
Continuous integration
Test Engine
26. Circolo Virtuoso
Se non funziona, puo’ essere solo colpa nostra
QUINDI
deve funzionare
QUINDI
Lo testiamo
27. Confini ben definiti
Limitano il rischio
Liberta’ di sperimentare
Focus sull’obiettivo
Empowerment
Condizioni per aumentare la qualita’ del risultato
30. Le ho viste funzionare…
Sprint Planning
Stime precise
Team consolidato
#Pratiche
#Architettura
#Business
#Processo
#Persone
A casa presto
Pianificazione
rispettata
Buona codebase
Team Nuovo
Troppe incognite
😳
Legacy Codebase
Come stimare la ruota
della fortuna!
😳
Escludiamo qualche
contesto…
31. Una settimana dopo…
Sprint Planning
Stime Sballate del
100%
Team consolidato
#Pratiche
#Architettura
#Business
#Processo
#Persone
Oh Shit!
Buona codebase
Lo stesso team
35. Field notes
E’ difficile - ma non impossibile - stimare il nostro
lavoro
Stimare zone ad alta incertezza (Legacy pericoloso o
attivita’ altrui) ha margini di errore decisamente piu’
alti.
…Ne vale ancora la pena…?
38. Idealmente…
Team A
Team B
Team C
Team D
Progetto 1
Progetto 2 Progetto 4
Progetto 3
Progetto 5 Progetto 6
Progetto 7 Progetto 8
39. In pratica, bastano un po’ di
dipendenze…
Team A
Team B
Team C
Team D
Progetto 1
Progetto 2 Progetto 4
Progetto 3
Progetto 5 Progetto 6
Progetto 7 Progetto 8
1
2
5 6
4
3
Non sono escrescenze, sono straordinari
40. Questo non e’ accettabile
Team A
Team B
Team C
Team D
Progetto 1
Progetto 2
Progetto 4
Progetto 3
Progetto 5 Progetto 6
Progetto 7 1
2
5 6 4
3
Probabilmente il progetto più importante
Non li pago per
stare fermi
41. Ma questo e’ ancora meno
accettabile
Team A
Team B
Team C
Team D
Progetto 2
Progetto 5
Progetto 7 2
5 Probabilmente il progetto più importante
42. Quindi: teniamo fisse le date e
andiamo di overtime!
Team A
Team B
Team C
Team D
Progetto 1
Progetto 2 Progetto 4
Progetto 3
Progetto 5 Progetto 6
Progetto 7 Progetto 8
1
2
5 6
4
3
48. Guardando il dato (O i nomi)
Articolo
Prezzo
Disponibilita’
Cliente
Carrello Articolo
Prezzo
Pagamento
Ordine
Articolo
Prezzo
Cliente Cliente
Ordine
Ordine
Pagamento
Consegna
Cliente
Reclamo
Cliente
Ordine
Fattura
Articolo
Alcuni Termini sono usati quasi dappertutto: -> centralizziamo
Articolo
Business flow
Catalogo Acquisto Gestione ordine Delivery Claim
49. Spinta verso la centralizzazione
Mi
serve il
cliente!
Mi
serve il
cliente!
Mi
serve il
cliente!
51. Un’altra storia!
Event-driven Design
Dipendenze “leggere”
Piu’ spazio per
evoluzione
Coordinamento
ridotto
Meno riunioni
Partizionamento
Focus su eventi chiave
Piano piano…
Meno Stakeholders
53. Portare un modello data-
centrico a microservizi
Significa annegare nelle
dipendenze
54. Field Notes
Il focus sul dato ci porta a centralizzare (molti
stakeholder per componente)
Focus sul flusso (comportamenti ed eventi) ci porta a
vedere altri confini (e pochi stakeholder per
componente) Enterprise software
Collaborazione fra
team e dipartimenti
diversi
🙂
65. Quando funziona…
WiP a 1
Rilascio piu’ rapido
Collaborazione
#Pratiche
#Architettura
#Business
#Processo
#Persone
Aperitivo!
Design sulla
frontiera
Cliente contento
OOP ed architettura
Domain-Centric
Posso splittare classi
ed interfacce
🙂
Logica nel dominio
(OOP)
66. Quando NON funziona…
WiP a 1
Piu’ lenti…?
Uno sulla tastiera
#Pratiche
#Architettura
#Business
#Processo
#Persone
Tre umarells a
guardare
Logica nelle stored
procedure
Strati web come
passacarte
😳
Logica nelle Stored
Non si e’ accorto di
nulla!
E il business…?
Data-centric
Architecture
73. Usiamo le
stored procedures
per migliorare le
performances Ci vogliono 18
minuti per
completare una
query!
Pensa quanto
ci vorrebbe se la
logica non fosse
vicino al dato!
76. Al giorno zero…
Il cuore del nostro
sistema, l’infrastruttura
che non puo’ cedere
Requisito Business
Un ipotetico team di
persone ugualmente
competenti
Competenza
A chi affidereste
l’attivita’?
Stored Procedures
Posso fare io!
Posso
fare anche io, e’
uguale…
#Pratiche
#Architettura
#Business
#Processo
#Persone
Solo
programming
77. Il risultato?
Competenza
Un po’ piu’ competente, perche’ ci ha messo le mani…
Un po’ meno competenti, perche’ non conoscono le ultime modifiche…
Stored Procedures
78. Il giorno successivo:
Requisito Business
Competenza
Stored Procedures
A chi affidereste
l’attivita’?
Abbiamo una asimmetria!
80. Prima o poi…
Requisiti critici
Stored Procedures Collo di bottiglia
Burnout
Competenze
asimmetriche
Ansia Turnover
Requisiti critici
Requisiti critici
Business in ritardo
#Pratiche
#Architettura
#Business
#Processo
#Persone
Solo
programming
Il destino
dell’universo
Posso
aiutarti?
No, mi
rallenti
Ciao ragazzi,
e’ stato bello…
85. Illusione del libero arbitrio
• Le stored procedure non facilitano la collaborazione
• Lavoreremo principalmente da soli
• Asimmetria sulle competenze
• Specializzazione
• colli di bottiglia
• Tensione e stress
• Maggior probabilita’ di turnover
• Scadenze business difficilmente raggiungibili
Quindi
Quindi
Quindi
Quindi
Quindi
Quindi
Quindi
Posso accettare un ‘molto probabilmente’ … ma temo che il risultato non cambi
86.
87.
88.
89. C’e’ un filo rosso che
collega un’architettura data-
centric
al planning non rispettato,
All’apparizione di un ambiente
malsano ed al rallentamento
dell’evoluzione business
90. Non e’ sfortuna
E’ sulla linea di confine tra correlazione e causalita’ diretta
95. Non abbiamo alcuna notizia di
aziende che cerchino aiuto per
uscire dall’architettura esagonale
Forse, Alcune architetture sono piu’ reversibili di altre
98. Non tutte le dipendenze sono uguali
• Non servono cliniche per
curarmi
99. Il mio problema e’ che ci
sono aziende che hanno
questo problema da 20 anni
E forse e’ troppo tardi per salvare tutti
100. Pero’ possiamo evitare che
si ripeta
Magari osservando quei piccoli “segnali deboli” che sono sotto i
nostri occhi.
101. Sociotecnico
Interrelazione tra aspetti sociali e tecnici di un’organizzazione
- L’interazione tra fattori sociali e tecnici crea le condizioni
per la performance di un’organizzazione, in maniera lineare e
non-lineare.
- L’ottimizzazione di uno di questi aspetti indipendentemente
dall’altro tende a far aumentare l’instabilita’ del sistema
con relazioni non previste, ed a farne peggiorare il
rendimento
Liberamente tradotto da…
https://en.wikipedia.org/wiki/Sociotechnical_system
#Pratiche
#Architettura
#Business
#Processo
#Persone
102. La dimensione del problema
Bolle nate come soluzione tecnologica (come
partizionare un grafo per aumentare la velocita’)
L’algoritmo ha innescato comportamenti nuovi a
livello individuale e collettivo
Il nuovo paradigma ha reso possibili - e convenienti -
strategie mirate per influenzare elezioni, etc.
109. 2. I dettagli fanno la differenza
• Architetture, processi e tools Impattano e vincolano
individui ed interazioni
• Individui ed interazioni sono piu’ importanti, ma non
riusciremo a proteggerli se abbassiamo la guardia su
architetture processi e strumenti.
• Osserviamo ed analizziamo le interazioni, poi adattiamo
gli strumenti per permettere interazioni positive
111. Board fisica
• Vincoli fisici,
• Policy esplicite
• Discussione in un luogo ben preciso
• Peso sul richiedente
Ho una nuova
feature per la settimana
prossima, dove la posso
mettere che non c’e’
posto?
112. Board digitale
• Sensazione che ci sia
posto…
• Un lieve sentore di
rosso
• Policy quasi mai visibili
Metto in selected, poi ci
penseranno loro
114. Architetture, Processi e Tools
Gli strumenti inducono alcuni gesti invece che altri
Piccoli gesti ripetuti ed accumulati ci portano lontano
dell’obiettivo.
Il caso non e’ nostro alleato: dobbiamo pensarci noi,
ma per questo dobbiamo proteggere i confini.
115. 3. Proteggiamo i confini!
• Non lasciamo che siano altri, o il
fato a decidere come portare a casa
il risultato #SkinInTheGame
• Costruiamo un luogo dove poter
sperimentare e trovare la NOSTRA
strada giusta
Qui possiamo
fare grandi cose
BTW: lasciare i team
liberi di scegliere il loro
stack, sembra essere una
strategia vincente
116. Minimizziamo le dipendenze
Analizzare I flussi di business con il focus sul comportamento
aiuta a trovare i confini naturali per minimizzare le dipendenze.
Dipendenze Sbagliate -> Death by Coordination Meetings
(“Massimizzare il lavoro non fatto”)
#Pratiche
#Architettura
#Business
#Processo
#Persone
119. 4. Provate!
Si impara dagli esperimenti ed anche dagli errori!
Non fidatevi degli esperti da bar…
Contesto
Quello che troppo
spesso dimentichiamo,
ma che fa la differenza.
🙂