SlideShare a Scribd company logo
Rethinking Enterprise
Software
@ziobrandoCodemotion 2014 - Roma
About me
@ziobrando
!
I do something else instead
@ziobrandoAbout me
DDD enthusiast
Post-it addicted
Visual thinker
Chaos summoner
Developer
Idea thief
…never satisfied
Entrepreneur avanscoperta
Some news about
software estimation
Even broken models can teach us something
The real problem
with estimations:
They may be right, sometimes
11 x 2 = …
Easy homework
What if we have
Legacy?
Rethinking enterprise software - Codemotion 2014
“It’s only a couple of
mines somewhere…”
Some recap from
one year ago
Ignorance is the single
greatest impediment to
throughput.
Dan North
http://dannorth.net/2010/08/30/introducing-deliberate-discovery/
Learning is the
constraint
Dan North
http://dannorth.net/2010/08/30/introducing-deliberate-discovery/
Software
development is a
learning process
Working code is a
side effect
Learning
Memories
Learning
School
Boring
Study
Lesson
Experiment
Mistakes
Fun
Marks
Exams
Stress
Life
Learning didn’t
happen there
Learning is crucial for
our job, and yet we don’t
know much about it
Look inside!
Learning is non
linear
(doesn’t fit into spreadsheets, burndown and Gantt charts)
Stress
Psychological reaction
!
To an adverse situation
!
Situation is perceived as
inevitable
Brain
can’t learn under stress
Relax
Looks like…
Rethinking enterprise software - Codemotion 2014
Conformity kills
creativity
Pressure hurts
problem solving
Can you estimate
learning?
I haven’t finished,
yet
Value Stream Mapping
http://agile.dzone.com/books/continuous-delivery-free
A quicker
notation...
We need a different
model!
(again)
Coding 20cl, learning 20cl,
deciding 20cl, waiting...
Mutual waiting
Apparently, a process and organisation issue...
Learning is not the
only constraint
Deciding?
We suck at it
How many DDD
practitioners are
needed to name a
class?
We should really find a
name for our daughter...
Isn’t a GUID sufficient?
No, I mean a proper
name...
What about Foo now,
and refactor later?
Rethinking enterprise software - Codemotion 2014
Should I marry her?
Yes
No
We really should be
getting married soon...
Can we talk about
this another time, honey? I’m
facing a zerg assault right
now...
The strategy?
Deadline!
Wedding ceremony
is a Ponzi schema
designed to stop the
man procrastinating
...but can we stop
afterthoughts?
Wow, Kate
looked really hot
today, maybe…
maybe I should
have used MongoDB in
that project
Finally, everybody
leaves
Can you provide me
an estimate?
You can use *points
if you want…
Problem
Rethinking enterprise software - Codemotion 2014
Yes…
there’s no one
size fits all
Summary
Repeatable (boring) —> Pseudo-linear
Legacy —> Too guilty to accept the real
numbers
Learning —> Non Linear
Deciding —> Deadlines & acceptable
results
Waiting —> Remove coupling
Enterprise software
Enterprise software, also known
as enterprise software application
(ESA), is purposed-designed
computer software used to satisfy
the needs of an organization
rather than individual users.
Enterprise software, also known
as enterprise software application
(ESA), is purposed-designed
computer software used to satisfy
the needs of an organisation
rather than individual users.
Which are the needs
of an organisation?
Rethinking enterprise software - Codemotion 2014
Kanban View of the system:
Decision Making
is the bottleneck
A business process is a
series of connected
business-relevant
decisions
So what should we
do?
Should we
write use
cases?
Developers loved templates
But forgot
good
readings
Rethinking enterprise software - Codemotion 2014
User Stories
As a [role]

I want to [action]

in order to [goal]
Really?
A placeholder for
future conversation
What are we
supposed to say?
meaningful
conversation with
the domain expert
“...Eric?”
Rethinking enterprise software - Codemotion 2014
...even better!
Hack!
Warning: DDD doesn’t work on the Death Star
Event Storming!
Video
If a picture is worth a thousand words…
©	
  Alberto	
  Brandolini	
  2009
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
Video!
Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014
Yes, I mean that much
space...
My best friend
And…
no table.
Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014
It’s no fun to just
watch others play
Ubiquitous
Language
Reloaded
Model Affinity
Domain Events work
better
Events are precise
Event are meaningful
Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014
here the user decides
Command
User
issues
influences
External
information
influences
Read Model
Quali informazioni
Rethinking enterprise software - Codemotion 2014
Fine-Grained Delegation
Management 30.com
Steal and tweak
Process fine tuning
Conversation
happens here!
“Which are the events
needed in order to make
this event happen?”
“Which are the information
needed for a user in order to take
this decision?”
(more or less wisely)
“Do you have a story to
describe edge cases?”
Some great ideas here...
BDD
Specification
by example
Concrete
scenarios
We provided a
dedicated place for
learning to happen
Divergence can be
managed or
enforced
There is
value in
enforcing
divergence
Conflict resolution
The only thing they agree on is
fooling us!
They’re both right!
Context A
Context B
whew!
Tool Affinity
Rethinking enterprise software - Codemotion 2014
Simple notation
Rethinking enterprise software - Codemotion 2014
Rethinking enterprise software - Codemotion 2014
How long is this
cycle?
What
about ...minutes?
Event Storming
Provides a model of the shared level of
understanding of a complex business process
…I’ve never said it’s the right one!
Validate with multiple sources
...Waiting
Remove
dependencies…
Scrum Way:
—> Cross Functional
Teams
but…
Stand-up meetings
You’re doing them wrong
Loosely coupled
architecture reduces
organisation load
Bounded Context
CQRS
Event Sourcing
Reactive Apps
… not necessarily a
process problem
Coding against an
ecosystem
How do we measure effect on an ecosystem?
Definition of Done
- It works on my machine
- Green tests
- Deployed in production
- Up and running
- Users are using it
- We’ve solved the business goal
Wrap up:
There is a better model for enterprise apps
!
There are better ways to discover this
model
and learn together around it
!
There are better implementations that
perfectly fit this model
I am not
paying for that!
Grazie!
Alberto.brandolini@avanscoperta.it
@ziobrando

More Related Content

PDF
Why do all my ddd apps look the same - Vienna 2014
PDF
The final words about software estimation
PDF
The alignment
PDF
Idea stickies green bar - Wroclaw edition
PDF
50.000 orange stickies later
PDF
Event based modeling - eng
PDF
Software design as a cooperative game with EventStorming
PDF
The sweet spot
Why do all my ddd apps look the same - Vienna 2014
The final words about software estimation
The alignment
Idea stickies green bar - Wroclaw edition
50.000 orange stickies later
Event based modeling - eng
Software design as a cooperative game with EventStorming
The sweet spot

What's hot (20)

PDF
Redesigning everything ITARC Stockholm 2021
PDF
Redesigning everything (avanscoperta meeutp edition)
PDF
L'illusione dell'ortogonalità
PDF
Event storming recipes
PDF
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
PDF
It's not simple at all
PDF
Extreme DDD modelling
KEY
Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
PDF
What lies beneath
PDF
Chasing elephants
PDF
The gordian knot
PDF
Optimized for what
PDF
Guerrilla portfolio management
PDF
Pissing against the wind
PDF
Transactions redefined
PPTX
30% faster coder on-boarding when you have a code cookbook
KEY
Agile Development Overview (with a bit about builds)
PDF
Why projects fail
PDF
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
PDF
Hiring a developer: step by step debugging
Redesigning everything ITARC Stockholm 2021
Redesigning everything (avanscoperta meeutp edition)
L'illusione dell'ortogonalità
Event storming recipes
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
It's not simple at all
Extreme DDD modelling
Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
What lies beneath
Chasing elephants
The gordian knot
Optimized for what
Guerrilla portfolio management
Pissing against the wind
Transactions redefined
30% faster coder on-boarding when you have a code cookbook
Agile Development Overview (with a bit about builds)
Why projects fail
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
Hiring a developer: step by step debugging
Ad

Viewers also liked (12)

PDF
The precision blade
PDF
Lean UX Development
PPT
Computing History Part 1
PDF
Model storming
PDF
The State of Enterprise Software
PPSX
The history of cloud computing
PDF
A brief history of cloud computing
PPT
The SaaS business model
PPTX
The Key Drivers for SaaS Success
PPTX
The SaaS business model and metrics
PDF
State of the Cloud 2017
PPTX
Introduction of Cloud computing
The precision blade
Lean UX Development
Computing History Part 1
Model storming
The State of Enterprise Software
The history of cloud computing
A brief history of cloud computing
The SaaS business model
The Key Drivers for SaaS Success
The SaaS business model and metrics
State of the Cloud 2017
Introduction of Cloud computing
Ad

Similar to Rethinking enterprise software - Codemotion 2014 (20)

PDF
DDD tales from ProductLand - NewCrafts Paris - May 2024
PDF
1 Million Orange Stickies later - Devoxx Poland 2024
PDF
Modern Java EE design patterns building scalable architecture for sustainable...
PDF
Lean Modeling for Any Methodology
PDF
Value Driven Development by Dave Thomas
PDF
Biz Product Learnings
PPTX
Getting requirements right for business agility
PPTX
Make Continuous Delivery work for middle management
PPTX
Holistic Product Development
PPTX
Finding balance of DDD while your application grows
PDF
Becoming an Enterprise SaaS Company | DecisionDesk @ TechPint
PPTX
Domain Driven Design
PDF
From the right process to a solid cultural change
PDF
Custom Enterprise Software Development.pdf
PPTX
Next-Gen Enterprise Software Development for Scalability & Efficiency
PPTX
Behaviour driven development aka bdd
PDF
QSM Executive Primer final version
PDF
QSM Executive Primer Estimation and demand Management
PDF
Developers Developers Developers
PPT
Feb 19-jmm
DDD tales from ProductLand - NewCrafts Paris - May 2024
1 Million Orange Stickies later - Devoxx Poland 2024
Modern Java EE design patterns building scalable architecture for sustainable...
Lean Modeling for Any Methodology
Value Driven Development by Dave Thomas
Biz Product Learnings
Getting requirements right for business agility
Make Continuous Delivery work for middle management
Holistic Product Development
Finding balance of DDD while your application grows
Becoming an Enterprise SaaS Company | DecisionDesk @ TechPint
Domain Driven Design
From the right process to a solid cultural change
Custom Enterprise Software Development.pdf
Next-Gen Enterprise Software Development for Scalability & Efficiency
Behaviour driven development aka bdd
QSM Executive Primer final version
QSM Executive Primer Estimation and demand Management
Developers Developers Developers
Feb 19-jmm

More from Alberto Brandolini (8)

PDF
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
PDF
Modelling Up - DDDEurope 2024 - Amsterdam
PDF
All the Small Things - XP2024 Bolzano/Bozen
PDF
La fatina dei denti
PDF
Reshaping enterrprise software
PDF
Managing debt remastered
PDF
Liberate il kraken
PDF
Bullshit Asymmetry Principle lightning talk
Extreme DDD Modelling Patterns - 2024 Devoxx Poland
Modelling Up - DDDEurope 2024 - Amsterdam
All the Small Things - XP2024 Bolzano/Bozen
La fatina dei denti
Reshaping enterrprise software
Managing debt remastered
Liberate il kraken
Bullshit Asymmetry Principle lightning talk

Recently uploaded (20)

PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Transform Your Business with a Software ERP System
PDF
Nekopoi APK 2025 free lastest update
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Digital Strategies for Manufacturing Companies
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Introduction to Artificial Intelligence
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Transform Your Business with a Software ERP System
Nekopoi APK 2025 free lastest update
Upgrade and Innovation Strategies for SAP ERP Customers
Wondershare Filmora 15 Crack With Activation Key [2025
PTS Company Brochure 2025 (1).pdf.......
ManageIQ - Sprint 268 Review - Slide Deck
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Digital Strategies for Manufacturing Companies
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Introduction to Artificial Intelligence
CHAPTER 2 - PM Management and IT Context
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Design an Analysis of Algorithms II-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
Understanding Forklifts - TECH EHS Solution
Odoo Companies in India – Driving Business Transformation.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle

Rethinking enterprise software - Codemotion 2014