Thursday, October 13, 2016

Domain Driven Design - Eric Evans

the same as what we do in class because people would come and I also this pocket
i really like because it's a true story but because the actual client that I
worked with where this really happened you know there's a lot of proprietary
kind of secretive stuff around so they were comfortable with me doing a real
case study on it and said yeah you want to disguise a little bit that's editors
to recognize it so so thirsty burn is a fictional the you-know-what an LLC is
well FLL fictional oil and what I think it basically the story follows my
clothes reveals and the design considerations those I try to keep very
true so let's talk about the business problem so we have a company that
there's a parent and they water plant that there really are some businesses
like this i personally know
thing about work for plant water service but let's imagine and they have certain
kinds of problems they have people who go around and water these plants each
day they have to dispatch them to sell right these are the people we have to
visit each of the people we have available to drive the bands around and
plants and takes a certain amount of time and as we are growing
I mean the company's growing too but we keep having to add more people and add
or these fans or as they like to call in the usual once in a minute but that's
expensive that's an expensive way to grow they want to squeeze a little
efficiency right so their theory is that if they could dispatch it more
efficiently then they could probably get more visits with the same number
but it isn't just a simple problem for example some people have different
schedules for the water customers find someone will have you come on monday and
friday or two things or three days a week there's all sorts of possibilities
there and furthermore their time windows and now people want to sit around the
house all day until you happen to show up like a window of a couple of hours
making most maybe it's less and this is a service issue because you know part of
it is look how convenient is that was coming to do this so sometimes some
customers will give you a key to the house or to the office
that way you don't have to be restricted or maybe you're excluded say well don't
come during our core business hours
come some time off our key and even within this there's all sorts of little
variation sometimes someone will call up in the morning and say we want to cancel
this today's watering or maybe they'll say we just gotta do plant and water
right away and then of course as you can imagine anything involving driving has
variability plus when they get their long as it takes actually work there is
someone to all these variations and when i first got involved basically the idea
well first i guess i should explain how did it before they had a sort of a
template they call them they would have a template for each day of the week and
for each man and they would put every customer on the template so that they
say well on tuesday $MONTH $DAY and 31 growth this customer customer
interactions and then each day to accommodate all these variations they
would say overall today we're going to have to adjust this low we have an
emergency water and we have to squeeze it in somewhere have a cancellation
now keep in mind you don't want to just have a truck zigzagging all over the
city so there's a geographical routing component to this as well as a time the
time window targeting and so all those factor in and there are there are ways
of going about this as coal operations research its kind of sophisticated way
of optimizing things like this where you take all the possibilities you know very
sophisticated algorithms will crunch away and find the optimal way to
dispatch the trucks and they were studying up on stuff and of course when
you're getting into thinking this is wrong
should we really be developing software of our own for this kind of thing or
should be fine
she'll tool
because I mean there's a little just a little taste of some fairly accessible
explanation of operations research so you really want to build your own to
that so why not get it off the shelf
well there are tools that will fully on this you just basically put all the
constraints and and the more crunch away and give you today's grass and so
we said you know we really should investigate we kind of spawned off
couple of investigations into the leading packages and came back with some
you know one of the packages is totally inappropriate
never one of ya in my work for is kind of expensive
well and so all this was going on now with de COK and join the discussion
that's not something that happens every day and software project so what does
that tell us about well that certainly was something about that something i
want to understand why why did you decide to come
well he was glad to see motion on project said sounded like course another
way of saying is frustrated that there's so little emotional project the auto
dispatch idea that trouble he didn't like this idea push a button
she will tell us where everyone's going to go to not necessarily completely
clear why but you know you better listen to those instincts when you have someone
who's been in this business so long is it just doesn't seem right
and logic of it but of course it could be just hanging on the path it's very
hard to distinguish sometimes just clean the past from gin 1 well-rounded
anyway though this detail is one thing that I always like to know we were in
quarterly that is in domain-driven design terminology that means we are
strategically important part of the business where they really care and this
is where I want to be because it's fun for this kind of energy and creativity
into a moment to matter i want to be one of those great time on this project
finished of course no ability cares and we could have done a mediocre job
business would have gone along this line we did great
that's nice that's not what I like I like the one we're going to
revolutionize the business if you get a ride .
it's gonna get real trouble you don't get it right so we're in the court of me
well central part of the major designs that we have to talk to those business
experts get them really involved in the discussion so we get some of that and
finally and I really wanted to dig into this question of are dispatching because
what is it that makes them uncomfortable
well some of these guys are a little closer to operations you know CEO but
still they understood his reservation there are nuances to this that are more
five these computer algorithm to take an example the people who go into those
places are known to those people you know you go
some guy shows up at your office and auto ship lands leaves and you know and
then a strange person shows up and that's you know less company or maybe
some cases where you know there are some people are kind of difficult
personalities show up this one guy defending as
handle that one lady and then especially in the cases where they give you the key
and kind of want to know who that person is
so there's a reason to say i don't want to switch people around too much and
when I do I want to think about all this sky would probably be a good fit for
that customer and they would be comfortable and the human dispatchers
are taking this into account when they are making those templates and when
they're adjusting today all this subtle stuff that's factoring in it is not just
the brute force number-crunching of what's the fastest way to drive to a
places in the city
get out of your chocolate water 10 plants and get back in but actually the
things that sometimes make a big difference in certain kinds of
businesses and so on the other hand it's hard with these tools to say well then
let's let it give us a starting point adjusted or let's just use it for
certain things by the nature of these tools you tell them all the resources
and all the constraints and they come up with the answer and was just like not
workin out too well it just didn't seem to fit their real business when they got
down to thinking about what was their real differentiator they were afraid
they would undermine that by trying to squeeze a little extra efficient
yeah anyway some of the people who were very sophisticated about these things
it isn't so much that we're not that we need a machine to tell us what to do
it's like every day we have this while every morning is sort of wild time
shuffling things around and the problem is the templates for themselves are very
good those templates and say what you would usually do because we have to
change them almost everyday and what we want is templates that would somehow be
more stable and now because they were basically more realistic little better
closer to what we like to actually do today it's hard to get that right so we
have a kind of chaotic process and can cross the several kinds of negative side
effects vary mark 215 so if we could just get better templates to start that
would help to get better templates well at this point I said now what you don't
want to go and deploy the gold optimization product software try to get
that out in fact I don't think you even want to invest in going down that path
too much right now you just don't know what you want to do this is very awkward
part of the problem sometimes it's best to do nothing it's better to do nothing
that for energies into whatever the least objectionable project is because
clothes that we said all right well let's go ahead and adopt one of these
operations constrained optimizing tools that will keep everybody busy for a few
months they would the CEO figure that we were busy and everybody would say
alright well projects all right for a few months they would leave you alone
and then you get down simply and then you have something you want to use the
operations people would just say we can't do this
our customers will repeal or whatever happens it's not going to be your time
to take a breath
doing nothing is better than doing the wrong thing sometimes and instead
explore options trying to broaden out the the range of thinking is pretty much
they were stuck on this idea of the constraints of civilization to so
the but the thing we didn't know was that we were in quarterly let's remember
that it's worth a dig if I was so confident that I just said let's just
cancel this project was just completely say we don't know what we're doing stuff
but I want to do that because I thought that the clearly we are in place where
there was opportunity so let me just recap here some things because this is
pretty important
there are times when not to develop software once way the software you're
trying to develop is not particularly strategic so you say yeah we do this and
it'd be kind of cool but you know Norman is going to get extremely maybe it will
be useful
that won't be changing i am convinced at this point that for the most part
software nominees risk so predictable that the only things worth doing are
things with the payoff is going to be now of course there are lots of
day-to-day we just need this little thing yeah as long as it's 13 just
hammered out knows that your project you know it's routine
this is not that kind of thing is like this we talk another thing time not to
develop this when there's an off-the-shelf alternate because of
course you always think that's why he won
well neither is going to build yourself unless you're really good project and
you say well that tools expensive but i'll bet it's not as expensive
project and it's pretty easy and then Portia continue this weird thing in your
own quest off-the-shelf move along and advances all kinds of reasons your
creativity should go into something where custom software matter and then
it's also important to remember that there are things that people you're
better than software things like designing that that particular driver
will make that customer comfortable or will be able to deal with that difficult
customer and that guy goes there
it's just gonna get that thing we might lose the customer or mine is the driver
you know it's just like sometimes you want people involved and another time
off develop software is when your stakeholders are saying leading this
like this whole idea of automating the whole batch just makes me queasy
well i'm not saying that you know you have to have cheerleaders but really you
have to you can just ignore the end thinks these people sometimes it's best
to do the bike nothing I don't really think unless you cancel the project I
mean get more so we shifted attention to this how can we fix the templates that
possible well so an idea came up to fix the templates we could say we actually
have quite a bit of data about the actual schedule so the way that things
really went like they actually you know day after day they know how long it took
them to actually get different places so if we could do something where we sort
of could measure the deviation between the template and day-to-day actions we
can get kind of a measure of how good template files and then at least we know
which templates new
attention and also we could see how the daily work because if they if they said
all right well this will be our daily schedule that they couldn't hear to for
example let's say they arrive late this one of those window that or they arrived
earth have to wait just ways we could order they took so long that you know
they go over time have to pay extra to the drivers all these kind of things
with the metrics that you can use to see if the existing ones are and so this
could give the human dispatchers more quantitative stuff to look at
so they could say alright I'm going to work at two but there's something wrong
with this one so I'm tries we decided to take theta that we have and we did
actually have theta about late arrivals and long wait and we started running
statistical analysis of this against the temples and got some interesting stuff
to look at you know it was more of a we are learning let's build another idea
would be alright let's say that you are statistical analysis . is to some
problem child templates but we try to fix one how do we know that we fixed it
how do we know that it will work is their way to know
dance whether template will actually work or even a daily so basically if you
said well let's see i coded customer one and then i might have to wait and I do
some water and that takes a certain amount of time now i have to drive
customer to then i might have to wait then i'll do some more watering and I'll
Drive and so on so you can describe that and you could look in that historical
data and see on average how long did it take to do each of these things and you
can get a kind of sanity check on template said well it looks like you've
got way too much for this person or it looks like this person is going to get
hours earlier they'll always miss the window for customer three
that was the idea and what you're trying to do is hit a delicate balance you you
want to you don't want to push it to the very limit because then you'll end up
with Ryan but you don't want to have so much slack course there that's what
we're trying to actually of course the feeling is that you could improve on
both sides and you kind of better better served
well there's a problem with this stuff statistically it's really unsound you
can't just say well on average it takes this long and those things up you want
that will give you any sense actually
how likely you are to miss the window because I think of scenarios like well I
was I was early to the IRS
I kind of got done early at first customer and then I had bad traffic
getting second customer and here i am on timing or I could have a block of being
late on earth slow on both then miss the window or it could be lucky today and
and and do both quickly and have to wait so the way that these variations
compound is a series of probabilistic events that's not what you get when you
add up averages so although the idea these plans quantitatively was very
appealing but the idea of pose just wouldn't work
mathematically it was on sound is where a little sucking in send something in my
head because it just so happens that there's a technique for combining
like that and it on my mind because my sister is an expert in a meteor and
breed and spacecraft and the way they do this is that they have very elaborate
models of all this stuff flying around there and all the orbits during the size
of the particles and this and that and the ways they could strike a spacecraft
saying what would happen then different shielding depending on where it struck
and so on and so on each of those events intern- and it causes of those combined
in this same way their heart you can't just say well on average every
spacecraft will get struck by 11 million of a meteorite at this actually work
what they use a technique called Monte Carlo simulation and what it says is if
you know the if you know the probability distribution of each of those individual
parts like say the probability that a meteorite hear of a certain size will
strike and you can generate that particular words it's like saying well
you know there's a it's like playing one of those adventure games where you come
to a certain point in the game
roll the seven sided die find out whether you hit the hit the dragon this
or something like that
well this is very much like that series of such things reproduces the whole
thing of course running one of these sequences
this is yes that could happen but that doesn't tell you much
so what they do is they run thousands or millions of ec each one drawing from
those independent probabilities and calculating what would happen next
well if you got struck by a meteorite at their side they can predict
probabilistically then there's a range of possibilities about how much damage
it would do any indicate that much damage to this part of the spacecraft
time with that probably it's true the red and if ultimately are trying to
figure out things like well would a person died with the spacecraft lost in
terms of its ability to function
you know things like that but it's done through this kind of thing if you run
millions of these you can then take the outputs as if they were arranged really
observed upwards and you can calculate the distribution of those and that
actually is mathematically sound to say now I have an approximation of the
probability distribution of let's say a person being killed by your item
particular mission so could we take this technique applied to play for stakes are
lower but the principle is the same
so let's take a look at my method here's a little bit of like reading about it is
quite interesting actually the whole thing started out in a efforts owners
we're up now and it seemed to me that it would apply
so what you have to do in order to find Carl you have to understand the inputs
you have to actually no probability distributions of things so you can't
just say something lazy like what's the average time it takes to drive from
customer one of the customers to you have to actually say well it's a
probability distribution of a certain type of these are its characteristics
and now I can draw and numbers from distribution when I do my simulation and
you can stack those up and so for each one of these things we need to know what
distribution is don't know analyst those people on projects not quite programmers
that aren't quite domain experts and so forth and the thing is on this
particular project we found another use for them we had an analyze stuff who was
so what they did was they took all that data and they started trying to fit we
had actually mostly one guy you happen to still remember his college staff and
he was the youngest of the animals not surprisingly it was almost finished
school that help any way that just saved us from having
degree range and tried various distributions and we also did some
here's one of the more exciting that we read it's called reliability of travel
time under log-normal distribution that's a logical relations and fast
travel time confidence derivation yeah that was upon by the way
well ultimately we did choose a distribution and we you know
meanwhile we started to say okay what is the cascade of events for example we
have to be able to represent what happens . well what usually happens if
you get there outside time window
you have to come back at a later time
so you can't just sort of okay well show them how to do it though don't have to
stick them into a later
so that's not hard to simulate if you're just trying to go one strength thing
through right
oh I roll the dice this happened w wait now i'm going to move the time window
back in this particular case trying to generalize that's the great thing about
Monte Carlo simulation you just you you have to model one straight line through
and then you just run it again and again and again going from all those different
probability distributions
well now we have the pieces we have to put it together and although there are
some off-the-shelf on Carlos didn't offer much that part of it is actually
quite easy but we did have to develop these distribution a big cascade and
manage to do this in about two months I would say that really
these people are smart but they're not the most the quickest and I think a lot
of things could have been blocked quickly stopped when they were building
wasn't that complicated the hard stuff is what i already described but they got
it done and two months scale time frame of this project we're already late is
really not that bad and so they started trying it out well and the this
objective report was the tip users really like to distribute what it allows
dispatchers to do is say one thinking of using this template now I represent that
move customers of town you push the button and it says if you use this
template thirty percent of time miss this time window you know your people we
overtime this percent of the time
oh ok
to your customer off now you're never gonna miss basically your your your
driver will be done three o'clock in the afternoon on average you know thinking
Phil around moved around until they find combinations that work we already set up
some of these metrics so wasn't that artists you know remember that one pro
well let's see what would happen if you just get more feedback like told you
with it and yes that it seemed to definitely lower later and it is
assumption probably a safe one late arrivals are one of the things that
customer so missing those windows deal and maybe maybe they improved efficiency
that is unclear as of yet but you know by the time they got to this point I
started to realize that their goal of squeezing a little efficiency yeah
probably not as important as improving the service level and if they could do
it without actually increasing costs so sometimes your objectives get away and
let's not forget their your jet plan what it's all about more green of every
time so are now there is a story successful project that to me is a
remainder of the design project but he doesn't course fifth of a stereotype of
let's see grams let's get some energy value objects going all that but it
actually i think a more illustration of what
I was really trying to get at I talked about various things in the book going
to think of the real core drying principles that maybe in a 500 page book
that lost that how do we actually do this with the typical technologies back
to 30 came out of a job so forth one of the principles is focus on the
Quartermaine's strategically valuable part certainly to listen that this
another is that we have a creative collaboration between people in software
development and people to know that business we certainly did at that in
this case we went back for that various ideas and finally something emerged that
neither group have come up with $MONEY by itself tho those business people
money city later the software people would have never realized that being
able to anticipate the likely certain template so important collaboration took
some time but it wasn't a lot and then ubiquitous language is saying you know
we really want clarity around the way we communicate and we had that we broke it
down into a sequence of events each one had a probability distribution that we
have waved pounding those in cascade of events that is all basically model of
the domain we came up with for this purpose we are modeling in terms of a
sequence of potentially cascading events with each with its distribution
controlling time a really different sort of that very much model some of you by
the way may be familiar with this whirlpool that I talk about sometimes
i'm not going to go into right now but i will say that this is made me think that
I might want to add to their on the bottling part think I might like to put
in something about research because when I realized especially lately is it how
much research ideas
involved in this project how much research to push other people to do i
don't know that i did this is much in the past but to to dig in and to every
time you start to look at have an idea look into the possibility just find out
how the people of approach problems that might be similar to this one and when
you enough ultimate is to find an established form lines technique that
that is along with that comes a lot of of understanding people will polish that
you can find something like mine carlo simulations for example where people
have been working for several decades about what are the strengths and
weaknesses and how you do is simple
partly it simple because it's been refined for decades you don't have to
invent every there were some things about strategic design a broader picture
by the story there was . remember i said this is not a time to start building
software that kind of patience
is difficult under pressure but also there's an important difference that
some people don't get between being patient and persistent analysis
paralysis where you just keep spinning 10 to find something perfect for the
difference is hard to describe but the thing is the difference between success
and failure i already mentioned that you really need to respect those instincts
of domain experts that's what one you want and
that's need that one additionally here's an interesting point I wanted to make to
the end result of this was not something woven in to their whole big operational
enterprise software it was a really kind of isolated little keys that holding
lots of data from that system about historical times and so forth and then
processed into used to drive the parameters of those probability
distribution so internally it was all driven by the set probability
distributions for every pair locations and social but and that they come from
the data that was pulled in there was a bounded conflict with those of you
familiar with that term
we're inside a very cohere model that was very different from amazon of what
was in the older system very discreet translator and corruption between the
two transform all the data
into these distributions and the result was this thing seemed buy a product like
a standard a little nice coherent product simulator for plant watering
services and i find that happens quite a bit with the kind of projects that
another thing is that we often look at these things that would just sort of go
on for we have in mind that there will be a never-ending you know backlog of
more features however in this case once it was done it was essentially done
they've kind of the staff today I still have to think but basically not because
they're unhappy in any way but because it does exactly what they wanted to do
so sometimes there isn't even something that doesn't mean they won't be visiting
want to get some new I
I think one of the biggest things is that by tapping in to in this case the
Monte Carlo but it could be other things that you slim down part of the model you
have to sometimes almost to an almost seemingly trivial . we're all you're
really doing the same
well there's this sequence you drive
wait you walk dr you wait one graduate corner and driving is a log-normal
distribution like this and the weight is another distribution line is the
watering is like this and that's so and then if you write like the sequence
changes like this and that's about it and plus on Carla but but by doing that
you get really small but focus small says just a particular precise thing god
you're here
and I think to to set the last thing this is a good example of why domain
modelling is modelling not necessary object for the moment although this was
implemented in dotnet and so of course it was object-oriented there was a
distribution object for each of those things you know everything with objects
together but really the concepts involved here were particularly object
or sequence of events with time durations that were described by
probability distributions the paradigm is more statistical that is object form
and I think we get so tied in you are you know there's object or in or are
cooking anything functional whatever and we forget that model is set of concepts
and formal abstractions and sometimes they might not look like objects to just
say well here's my guess the drivers with the entities and customers with the
unities biology that's not really what was that of course we did have that
later the drivers were in these the customers communities that the
probability distributions value objects those of you
this terminology but for those of you are . is there a lot of good patterns
that help you to structure a model within one of these paradigms but that
is not what it's really about that was that means to an end
so in this case we found the model that look quite different because it just is
right for this problem so what I think on that all stopped talking to be time
the little cute
oh ok thank you
you mentioned that you place the emphasis on research and based on what i
can tell spent a lot of that time researching the actual data
we spend a lot of time researching the existing system specifically the legacy
so the question was it we we research data we also researched legs but the
research i was referring to wasn't analysis of data but that was when I was
following analysis but it was based on the research so research is more like
well has anybody looked at probability of drive because it turns out yes quite
a lot of people have tried to figure this out and there's some things some
you know you're looking for academic level of confidence there but if you are
looking for something that actually works well enough to satisfy this it
turned out with some modified log-normal distribution was pretty good so that
came back to say look at these distributions and then go try them out
and see if they work as far as looking at electric system in our legacy that
was at all relevant except we had all that in the earlier stages we were
minding that day you know see how many deviations there were some templates or
how many times they were they had a daily schedule that they weren't able to
hear to like you were supposed to get to this
this assignment too late so we had those kinds of data in the system . out and I
guess there was a stage where we were saying what kind of happened it was more
looking at the data in case there was nothing in the legacy system is really
even close to addressing this problem which I guess you can imagine visits
I guess one of the challenges sort of a daily basis i'm sort of uncertainty in
the context of like comment on the legacy system model for wanting to their
versus doing some other activity that might be more useful
my sense is that if you want to do sophisticated specialized modeling
anything like this doesn't have to be quite as radical exist
usually the legacy system is just not the place to do it
I actually loaded series of papers last year on the subject of ways that i
isolate yourself legacy get some modeling started for you to get two are
going to domain language com slaps newsletter and you'll see several in
there is an archived there see several of those because i think what you need
to do and and this is an example of that the model that we had there's no
resemblance to the model implicit in legacy system and so trying to invent in
system would have just distorted
I would have completely obscured average
it was all clear precision of saying this cascade of events each one has a
probability distribution so the centricity and clarity of would have
been a lot so instead we create a kind of bubble in which we don't have to deal
with so all the data that we take out of eggs system is transformed into the form
one before we ever touch our code that gives this kind of isolated product like
field important thing much looser connect the way you have to go you want
to get very far with this
my question is about your interview using flexi like your increase at the
bottom so maybe they're not experts and just wondering like as years go by and
start having like people riding bikes is it there's a chance to leave this use it
to try to deal with that
well you know you always have the chance that people will miss the point in the
future halloween
not quite sure the bicycle reference all the bicycle different statistical
population your validation quality guys right so you're looking for transit time
for someone by instead of someone in the car or van
well basically follows a good schedule for life until you lose weight off
let me address the other part of the problem that people don't know stabs
there for things like this . encounter problems
this is a very good concern to have my observation from this particular
organization by the way is really plant watering service set but still I
absolution this particular organization is that the effect is the opposite that
as they solve utility of this and as they had a little bit of wetting their
appetite that the interest in and knowledge of Statistics start surprise
organization so it so it's been
something like that since the first version of this came out and in that
time I would say that the sophistication about statistics has consistently
increased the likelihood that people in the future will know what to do with
this thing know how to improve it seems fairly good to me it might be like I
mean you know there was a time I remember that time when object-oriented
programming so specialized this was a concern with that to rewrite this little
Smalltalk system and then we can maintain it
it's like this one little alien piece system and that was real concerned
course objects over how many people know how to write funny mornings on and for
that's the part that we have to worry about a thing that would have had step
but this little bit for any statistics will always be think it's one of those
basic tools and they're pretty happy to have their like going around thinking
ones in the and crunching numbers through staff packages and stuff so so
far so good
but yeah I mean you need to have a recognition the deep thing if people
start going around bikes to water plants then you're going to have to recognize
that that probably doesn't follow the same probability distribution of driving
that you don't get stopped by traffic chance but maybe weather affects you
even more than us event I mean I'm just saying
and so the distribution might be a whole different type much less you want to
make sure that makes them from too and yeah they would be sophisticated to
recognize that there's nothing you can make those that can't be screwed up our
future people can give them a legacy and take it in and that that's by the way
this is our legacy and you know legacy isn't it funny that we software people
think the only people were the word legacy as a negative
my grandfather died and left leg p
that's not like a legacy
ok documented the work so you're gonna like the core domain you
right corner and think about only goes up every day so we just saw this online
online and try to coordinate layout of that but it seems that for this
particular project like you know you have like these somehow that the dr you
you might actually come to the fore domain you know having like the
probability of
the drive time and
how you
just like my questions like how you know
ok so so the Quartermaine's first of all is part of a special don't think so not
our so we would have a model but not that our software doesn't define what is
so in this case that the thing is that this strategic attention for the
strategic interests of the company were focused on how do you do this
dispatching so efficiently and with high service level and with all these
touching feeling human centuries and how do you help you do the job that that was
strategically important so it was corner make it might not have always been at
the beginning maybe there are other issues that were driving when it comes
to the point where that is and how do you know because the of the upper
management is focused on
I mean that's one good indicator for a little just telling strategically we
need to improve our way
dispatch now how do we talked about full automation put all the constraints in
the black box and turn on the switch and see what it tells you do but that seemed
to not be a good fit for that organization we had various other ideas
like metrics that might tell you at Lisa Lillien right direction
finally hit on the simulator but how do you do a simple naive notion that they
have you can just kind of
averages you know that wasn't going to get good results I I was pretty sure it
would because some census statistics now you might not just happen to know but
this is where the research comes in when you get to that point where you say well
you know we've got this sequence of varying events and we need to have a way
of getting combining if you did a lot of research to final having people combine
the effects of probably linked to eventually is among other things so you
start from the area that is important that's the coiling itself dispatching we
that issue all the issues around that then ideas of how to address the problem
of course within oh nice and simulator how to actually make such work then you
need to get into statistics course because the rent
creations that butterfly know you kind of touched on this a little bit but with
the modeling and I have together party for especially on legacy systems where
you have people for a long time working with legacy systems their apartment
manager the column space based on with the legacy system offers currently its
fine requirements based on the system not on fire off your requirements to do
this but then you always have to start going to be skeptical of your apartment
really I don't trust you with the real problem and that you got going to the
column space analysis comes up with this whole new whole thing that we're going
to the park and then you have to realize that time our master and then those are
the requirements based on false face analysis that
yeah basically agree with you there
duration process for as we struggle with this
well I think you'll in fact one of the idea i would essentially agree with your
description although i would say that we do that is we can say well the business
people are in this mental box and bring Matt we're in that mailbox to you
probably know that legacy system very well so let's let's imagine you know you
said describe to me your dream system they write that down
of course it's an exact description of the legacy system except that the menus
are arranged slide but the funny thing is you describe if you said to the
software team you know what is your idea the ideal system described exactly
legacy system to accept with better system architecture you know it's like
having all of a certain box so it's hard to break out whatever we do we have to
sort of do it together it is a collaborative effort so they have to
because it is looking for options and kind of questioning passive business
people tend not to work you really there's some magic that forging that
real collaboration and that I think about one of the essential elements of
this was be open to doing little experiments doing little probes and
attempts to like not every bit of code we wrote for production did all those
initial things well let's just see what would happen if we track the number of
finds you changed the template on the day are changed daily route different
from the temp live and we can compile that historical data and see what it
shows us a lot of kind of experimenting around to try to see the problem
different way
yeah i mean you described it as a hard thing it is our I don't have a little i
don't have anything to say is make it together sounds like give support to
champion the
playing around with the different models right then just listen to the product
yes that works yeah just have this notion okay someone's going to give us a
set of requirements
we're gonna so now well then of course this is these people want outside the
box they wanted to come up with something that we really addressed they
kind of understood the limitations that process they kind of saw you just said I
don't think they added they could have articulated quite so clearly good thing
basically didn't want to do that and that they had their own things they got
fixated pretty early on idea that the obvious way to do this it would seem to
be one of those constrained optimization tools and business people were there
anything about that couldn't articulate really clearly why so you have the what
seems like the obvious solution technical point you know strong suction
strong objections but real discomfort and you know that wouldn't have let a
good thing i think without led to with the product that would have affected by
the business just simply not use they would
they're their current process so ya know is you know you is a heart problem is
also for the shooting from London sometimes you're mean experience and
what very simple invented me because they don't know but because information
here new approaches were achieved the competition then you have to kind of
these two dimension from under you from education we didn't kick you
yes of course sometimes especially in like a start-up or other businesses that
are really trying to find the market they may keep changing strategy because
maybe that strategy didn't work too well try another
this is so they might be shifting more literal really shifting the Portland as
you say not just oh we didn't quite get it was sometimes you get into cases
where they get kind of panicky or or kinetic and start changing it so
frequently that there's not enough time to you find out if it would have worth
you know in those cases the software team can help
I've seen that close where suddenly they changed their strategy every couple of
months just about the time you manage to gear up and help put your weight behind
the strategy before the market feedback could possibly have shown up
they've already changed again and those are you know it's pretty easy to predict
what's going to happen there
it's not like software a better software process so most of these things assume
that you have fairly competent leadership I thinking of it
incompetent leadership will take any processing approach the moment so we do
kind of have to have
so if your goal is to try to align business units you mean their business
goals with each other or the flavors software integrates
several legacy systems all the way more or less the same thing but in different
ways and you're trying to integrate one big company that we're so actually you
know before and that I was explaining between doing this presentation of one
and I do about legacy systems media plug those and unmotivated least have
questions about legacy system so you can mix course ya next time I'll talk about
that in a nutshell
so this kind of thing is more when you're striking out fresh direction this
kind of thing I just thought that if your goal is to say bring some order to
this you know require many different companies and you're trying to make the
system's match together then we're back into the issue were all found context
context that and there is a pattern in there that i think is probably relevant
to a thing like this which published language not obviously some of this
water call that the idea might be that a certain subset hopefully not very big
except certain subset of information really does need to be flow through the
whole organization
I mean an individual account of some time
operating kind of isolated with maybe the way that be the funds from that
account flow out to other parts of business whatever so you identified that
and you create come to language that can be spoken between the systems and now
you don't try to migrate all those legs systems to actually use it you put a
translator everyone now the system's no longer actually tied to each other
directly but indirectly through this times this is combined with the idea of
the main event so that we would think basically things that are happening in
their represent as hopefully quite fine events that would flow through this
channel and that's kind of a good technique but that's about as far as
going just the shell talk because of the real answers believe depends you know
and it's it's a hard problem you just described that is sort of my answer to
most of the hard from but you know I think that is one technique has some
general ability
probably we should start to wind up against it could take one last question
we still have some time for killing around talking about the size right word
and it seemed like a fairly small size
well this organization is a lot the real or is a lot bigger than first firm but
it isn't what you'd call a demon in the really big organizations where I find is
that the their divisions that operate with quite a bit of autonomy so any type
of innovation happens usually doesn't happen at the top corporate level you
know se- bank of america enormous comment is absorbed so many other
companies that in their own rider stomach America doesn't really do
anything you know I mean the pieces of that
do things and some of those are giant in their own so some peace
so yeah I think the actual organizational level of which stuff like
this since that is much smaller even though talking like actually gigantic
this is just my observation i don't think i have any special expertise in
that kind of thing as far as judging organizational time scale but my
observation is that you know I agree with you that you don't get this
don't you know the upper management of the giant company side isn't the one to
so but you never know
well it seems like a good . wish to talk to each other or if you're interested we
are actually that you know we do need to know whether people rent next one
probably a course called strategic so have some sense for the people who
actually sign up in order to make sure i have to deal with the issue you know a
quest for all these ones from the side of the g2g motion but we thought that
maybe it makes sense to start okay thank you