AMONGST MODELS
BY YVES REYNHOUT
ABOUT ME
A journeylist with a passion for well-designed, properly
decomposed, working software.
Professional experience: 20+ years, products, domains
such as Patient logistics, Real estate, Manufacturing,
Construction, Transportation, Oil & gas
Community experience: Occasional blogger about DDD,
CQRS & ES and Messaging, author of
and
Online presence: , ,
Company: , Belgium
AggregateSource
Projac
@yreynhout skype:yves.reynhout
mailto:yves.reynhout@gmail.com
BitTacklr BVBA
DISCLAIMER
90% of what you are about to hear, see, experience is
accurate.
WHAT IS DDD?
HOW DO MODELS
COME INTO
EXISTENCE?
The environment models are born into matters ...
Receptive or hostile?
Team size and Conway's law matter
Problem or solution?
Product or project?
Greenfield or brownfield?
Which slice in the strategic pie?
Birthing models requires effective modeling ...
EFFECTIVE MODELING MEANS
access to domain expertise
analysis & design
communicating & interviewing
brainstorming & experimenting
knowledge crunching
... continuously
EFFECTIVE MODELING MEANS
binding the model and the implementation
cultivating a language based on the model
developing & distilling a knowledge-rich model
... continuously
BUT DON'T TAKE MY WORD FOR IT ...
EXAMPLE?
AN APPOINTMENT RULES ENGINE
FOR HOSPITALS
SCHEDULING
Goal: to schedule appointments
How we perceive appointments in our daily life
Naive model
DR. JONES
performs give or take 20 appointments / day
works 200 days / year => 4.000 appointments per year
been working for 10 years => 40.000 appointments
oh dear, someone please suggest lazy loading or
snapshotting ...
WHAT ARE WE MISSING?
The most obvious things are often in plain sight ...
Revised Model
To bee or not to bee?
Revised Model
Revised Model
Revised Model
BUT ... WHERE DO SCHEDULE DAYS
COME FROM?
Bringing the hospital into the software
BUT ... HOW DO WE KNOW WHAT
CAN BE BOOKED ON A SCHEDULE
DAY?
BUT ... WHAT HAPPENS WHEN WE
CHANGE HOW A SCHEDULE DAY
WORKS?
Influences
Fairness
BUT ... MORE QUESTIONS HERE
SEARCH
Goal: to find the optimal slot
As seen by scheduling
As seen by search
BUT ... WHY BUILD A SEPARATE
MODEL FOR THAT?
BUT ... MORE QUESTIONS HERE
DECISION SUPPORT
Goal: to help find the right service
Simple model
LOOKING BACK
Q & A

Amongst models