Each and every day. So sorry to
interrupt. Umm, just to be on the
same page. So, um, even if there is
only one lead in the entire system, so
data model will be called and we'll get
this correct. Exactly. Yeah, yeah, the
process is here's what the process is,
right? Let me share my screen.
When a lead comes in, right, it goes to
job and then you have the lead job table,
right? Yeah, right. This is the query
that the scheduler runs, right? So you
check in the lead job table anything that
is scheduled that does not have a Touch
ID assigned and callback is false, right?
And obviously you have the timing set up
there, right? So that's the key that's
running today. So this is. So what's the
schedule is speaking up? So now going for
what should happen is delete comes in,
right? It goes in this table, right? You
instead this table you need he will give
you the schema, you create that payload,
you call the model, the model will give
you an output, 2 outputs I can think of
right now, right one. Would be the score.
So each and every lead, that's just the
process we will follow. Lead comes in,
you score, it doesn't matter, right? Each
and every lead will be scored. The output
will be stored in the lead job table. OK,
let's say for instance we saw in the
leadoff table. There you will get two
things, One will be the score. And the
other will be what's it called, your
priority list. Right now when the
scheduler runs, it would basically check,
right? Something that has a score, right?
So you would add one more condition
in your query over here, right? You're
connected, that is, you cannot assign.
Need if it has not been scored, that's
one thing. And based on the score and
based on the time the lead came in,
right. If you see those business rules
that look and Mac right, it's one for
more than 10 minutes, something like
that, right. So all those things, we put
all that business logic outside of the
model. Right. So all you have to
do is lead comes in, you score the lead,
you check the lead, score the highest
score, you take the one with the highest
score. And then you see the priority list
that Ayush gave you, right? And then you
see if it says VPS 12345, you see if VPS
one is available, it goes to VPS one if
VPS one is busy. Then it goes to a
PS2. So it's a very concurrent process
and it doesn't matter how many leads you
have in the queue, how many leads you are
working on right now. It's just a very
simple process. It's a very streamlined
process. Lead comes in, scores the lead,
the lead score is stored, the scheduler
runs, you pick up the. Pick up
only the records that have been scored.
Once it's scored, you check the score,
you check the priority, and then you
assign the the lead to the VPS. Does
that make sense? Because what are you
telling me? Go ahead. Yeah. One question.
Yeah. So sure this is the case with
respect to scheduler. How about a
technician?It's a submit button for the
green light form that flow. Yeah. So
again, that's what remains the same as
yesterday, right? So technician submits
the green light form, right? That creates
your lead job, correct? That creates your
lead job, right. The API is called yeah.
So so in that case you will just.
Process the data into the lead job
exactly so you you don't assign it to
any VPS at that point. No, no, no.
Yeah, you submit the data to lead job
in, persist the data right in the lead
job table, and then you call the.
The call routing AI model with the data
it needs, it needs how many green lights,
all that stuff, right? All those features
that are usually give you. And then you
get the score from that model and then
you insert that score in this table. So
basically we're introducing an
intermediate step, right? Let me show you
here. Let me create the diagram.
Whatever is dinner today.
We will keep that so let's
say. Text submits
the lead. This is.
Right.
OK, this is Tech app
green light.
Right. Take something to lead.
Whatever process we have today, Malish
right you, you stay that process, which
is. Job created
in lead job with schedule
status right?
OK, so this is correct process. Now hit
enter here you need to introduce a new
process or as part of this process only,
right, you insert the data so we can make
it somewhat asynchronous, right? This
submit APIs call from the front end, you
persist the data in the green light table
in the lead job table, all that stuff
that's happening and then. You take
the data and call the
AI call outing model. OK,
so then again over here.
Right.
Right. Yep.
Wait here you call AI
model. With
input features OK.
Model scoring OK,
it will give
you an output
OK.
That's his plan exactly. You
persist the upward over here
again, right? And then the
scheduler runs, right? Yeah, schedulers,
you would have to change
the logic for the scheduler,
check for anything that is
scheduled that has. Call back
false, that has Touch ID null and scored
is not null. That means it has a score,
right? So then you pick up the leads and
then you assign the business on top. That
is you get the highest score. First
provide it. It has now been waiting for
10 minutes, right? We see what all those
business rules. Right. Because let's say
you have a very solid lead, but a weak
lead has been waiting for more than 10
minutes, then based on the rules that the
business gave us, they should not be for
more than 10 minutes. So we cannot
incorporate those rules in the model.
Think of model as the black box, right?
Model code will only be touched every six
months to retrain the model, right?If
tomorrow will Matt and Luke says that we
need to turn to the model, we need to
change this 10 minutes to 5 minutes that
can live outside of the model. That
should not involve touching the code for
model. So model's job is to get you the
best lead and VPS list, right? So let's
say the model gives you this list over
here, right? It creates you an array.
Like this a list we PS2, PS1, PS3. The
model I used does not know which of these
VIP passes are available right? You will
get the list. Then based on the list you
will see which of these are available in
this order. OK VPS 2 is busy and VPS
one is available, then it goes to VPS one
before it goes to VPS 3. So
all this logic will live in your back
end code in your scheduler. And now,
right now usually job is to just get
all the features he needs, the number of
green lights, insurance, yes or no,
right? The Who submitted the lead, right?
What's the total value of the lead based
on that?You should just give you some
holistic business rules, right? If
tomorrow those rules change, he will
retain his model, right? But the idea is
he each and every lead needs to be
scored. It does not matter queue or not,
the process remains the same. So that
tomorrow for analytics or some audit
purposes, right, If we want to review the
data, we can see we've got these. Needs
each and every. This was the score
assigned to the to this lead. As for the
model, and we can see that this lead was
converted. So we can see how well the
model is working based on. Hey, if we
have a high score, it's certainly between
the scores. This is actually getting
converted. So that means the model is
working fine. If not, we need to retrain
the model so process remains the same. As
it's today. The only thing
is you front end submit API click
is triggered, store the data in the
green lights table, store that same
process that is there today. It remains
as is. You persist the data in
the lead job table, everything remains as
is. OK then. Yeah, so here.
Changes. You're not, uh, assigning
the lead as and when
it is submitted.
You're you're leaving that to
scheduler? Exactly, yeah. Because
earlier earlier it is it is
both right? So it's not only
scheduler we we assign it as
soon as it is being submitted
by the technician and also parallel
scheduler also used to run.
Yeah. But what the business needs, right,
because it was, it's just first and first
out now, right? Right now, we don't want
that, right? We want all these topics
that we need to stop.
Yeah. So look at the
callback, right, It's happening. We
just submit the callback and
it's scheduler only based on
the time, right, It is
going to rerouting similar way
it should happen to business
like, yeah. Please document
and that you will be
maintained like that only yes,
so first otherwise if synchronous
right that is not falling
under under the queue mechanism
right And also.
Like I said, if you look at
this uh, model, right, I mean, you
will be scoring each and every lead,
right? So.
That that has to be, that has to be go
to the database and we should stop there.
And we can't, we can't again, uh,
you know, uh, as soon as it's
being, uh, scored, we can't.
Assign it to. You
know, uh, the torch members as and when
it is submitted. So we have to take out
that, I mean, uh, we need to leave that
part. Uh, we just have to persist all the
data. Exactly. And it's scoring. Yeah,
yeah, yeah. I thought, yeah, that's how
it should be, right? First, yeah, add
some delay 30 seconds, but now you have a
more. OK, just model, right? Each and
every lead comes in persistent DB. Get
the score, get the score in DB scheduler
runs against the lead job table. See
which ones have been scored. Because
otherwise it's going to get too
complicated for you to see that there is
a queue. Because the problem is, how do
you know when there is a queue when there
is not a queue? Because let's say there
is no queue but the reforms. With you
right then the firstly that you've
submitted, then it would be against the
business rules. So this is the most
streamlined system, right, where you call
the API, persist the data in the green
lights table in the torch table, persist
the data in the job table, in the lead
job table, all the basically entities
there. We are teaching today that same
process then. You create the payload to
the model. Scoring model gives you an
output. You add 2 new columns or how many
new columns that are used needs, right?
We insert that data over here, right? So
get you get the response. The response is
inside over here schedule that runs. It
checks anything that is not assigned but
has been scored and you get the priority,
the check the time and. How old the deed
is and what's the best score? And you
take that leap, What's the best score?
And then you take that lead and then you
see what's the VPS, what's the priority
list for the VPS for that, for that lead.
And then you see which one is available,
you send that lead to that one. So this
way we know that if a lead came in as per
the model, it should go to me. It should
not go to Anthony, right? If both Anthony
and and I are logged in, right, I should
receive 3 because if you remember you
were in the cloud business, they said we
want the best lead to go to best VPS,
right? Yeah, even if that means that lead
working the most, right? So what can
happen is if I there's no queue, but if I
am the best. Closer, right, If I am the
best closer, right, I, I get a call, I
end up call right and there are two other
people waiting right to receive calls.
But if I am the best closer, we want the
best closer to keep working hard. If he
gets tired, he can set himself as away,
right? That's the idea. But if you were
in that call right with the business,
they clearly said we want the best lead.
You go to the best person, the
best closer, right? So this will maintain
that, right? This will maintain that.
And it's and it's and it's simpler. It's
simpler for Ayush as well. And it's
simpler for us as well, right? It creates
because Ayesha's job is scoring that
model, right? All that deterministic
business rules, right? If 10 minutes, 5
minutes, if you need to turn it off, that
all lives in our back end code.
Yeah, OK, cool. Yeah. So and
when we, when we, when we
reschedule. And there
we have all those data. So it it
just picks from the lead job table based
on the scores on the whatever exactly,
exactly, right. So as far as new
technical work is concerned, I can think
of right. So you have the submit API
changes, right? Submit API, whatever the
API, right?Whatever it's
doing today versus data?
In tables as it does
today right? But not assign
delete. Right.
That's one thing, right? That's one
story I can think of. Second
would be right. Think of this
as a black box, right?
Change create request payload.
Request payload.
Right or.
Model.
Get new response.
Model, so this is going to be so I
think this would be almost synchronous,
right? So your model is not going to take
minutes to score, right? It should be
fairly quick, right? So it should be
under seconds, right? So you it's
asynchronous process you build the
payload, you call the API, you get the
response, you get the response can you
response. Right and
instead table.
Exact insert output which is going to
be insert output in lead job table.
Right then scheduler
changes.
Look for leads.
That. Have a
score. If no score ignore right
that is handled in previous step.
So if a lead has not been scored,
it is not going to be a sample,
right? So far so good. Everyone following
me Anthony Vishwa Mallesh yes, right,
right, perfect. Right. Next we have is
business rules, right? This is giving you
this can be almost part of three as
well right, Business rules.
Right. We need to check what the
business rules are, right? For instance,
uh, order, right?
Time.
Not waiting for. 10
minutes, etcetera.
Based on that right?
And priority list.
Party list from model.
Check if that be PS.
Is available, right? So this is going to
run in a loop, right? If you see in
this example over here, right, If this is
giving me a VPS list of VPS 213, right?
We checked the VPS 2, right? It's giving
me that name. We go to the technician
table and see if the status is. Active.
So it's basically a loop you have to run
through this list, right? It's some
simple loop, right? VPS 2 is active, it
goes to VPS 2. VPS 2 is inactive, you
go to VPS one, right? Makes sense. So
this way we can also test if model is
telling me that visa should close a lead
and now malesh. Right. So I have Vishwa
Malaysian myself, right. So now if Vishwa
is inactive, me and Malaysia are active
then and Malaysia is before me, it should
go to Malaysia. So we would need all
those test cases as well to make sure
based on the model of a lead gives me, it
should be. So we should need to make we
need to make sure both of those. Are
available, but as per the model this is a
better closer. It should go to. This one
makes sense. How we how
we know the which VPS is prior to which
VPS, how we ranked that it's going to be,
it's going to be, I'm assuming it's going
to be something like this, right? I mean,
I'm making it up right now. I'm seeing
this as a list only, maybe an array or
something like a JSON map or whatever,
right? Yeah. So if you want, I can give
you a. Dictionary kind of thing where the
ranks are there. Or I can just simply
give you an array and in the array the
very first one will be the highest,
highest highest priority will be the
first on the index 0. The index 1 is the
second priority. So it will be like that.
Yeah, much better. I sure like whatever
we are having now. Uh, that would be much
better. Yeah, yeah, yeah, yeah. So
basically it will be more, more than size
and it'll be simpler to do anything. Go
ahead. So, yeah, so the I model itself.
It doesn't rank only the lead jobs, it
doesn't scroll lead jobs, it also rank
the VPS, right? Yeah, exactly for that
lead job which will I will give you
the order of the VPS in the in
the priority. OK, exactly. So you tell me
this if over time we get new VPS.
How are you accounting for that?
So how are you accounting for that? Yeah.
So if the new VPS are there, right, and
we don't have the history data for that,
so they will not be included in that, uh,
in that particular outcome. So that's why
I said that we need to have a discussion
that what is the requirement for how
often new things happens because the
retraining of the model. Will be required
for that. So if that's the case, then
let's say uh, to the back end developers.
If we've added a new VPS in our
in my technician cable I use does not
have any record of those, right? So he's
not going to return anything for those,
right. So then we we need it's happening
like that only our infinite test
accounts, right? Those are not part of
the environment. Those are not part of.
The stuff for what call routing
returning so generally it will set
the 1st that list of file
list none of them is available
it is going to the random
order right yeah yeah this is
in the random model yeah 100%
yeah so there's. It, it, it, it
is combining both like whatever model
gives if the model yeah, doesn't have
that list, whatever is in DB who are
all active, perfect. The new VPS that
will also be included in the list. Yeah,
yeah, not the best way, but I think
it's sufficient. Yeah, but who is active
exactly? Obviously, right. That's. Yeah I
think that query to right something is
not active right and not having the
session ID so it is ignoring them. So
only only the persons who is active which
has the session ID. So
with the session ID we are sending to
the topic. So by the same session ID
who are locks and then if that matches
then receives a that's OK call yeah but
but only thing now happening is if it
is not part of the model whatever is
in DB for which session is. And he's
active, yes, that is coming first. So we
need to, uh, decide on that, whether that
should be first or it should go last.
Wait, wait, can you repeat that again?
Umm, let's say you have VS123
from data model, OK, you have
4:00 and 5:00 that's only from
the DB and they are active
in session is exists. OK. Now
when we consolidate right now the
flow is we are putting forth.
My first and then 123 next umm
so that's probably need to go yeah
yeah so that's so that's incorrect yeah
we we need to yeah just to
get a confirmation from the business how
they want it should be basically whatever
data model gives plus and then. Happening
to the end, uh, from the database.
That's how it should be, yeah.
And then that's how that's what I
observed when I went through the code.
But if you see here, this is basically
your flow here, submit API, whatever is
there, whatever we are persisting in the
green lights table, all that data we need
to persist, right? And then the new flow
is we create the new request because
obviously. We already have an AP today,
but the API endpoints will change, right?
It will get, it will take a different
payload, it will have a different
response, right? Based on that right, You
insert those data in the lead job table.
Then we make the scheduler changes,
right? Make sure that you only assign
leads that has the score. Right, when the
leads are coming in, they're not getting
assigned directly. They have to be first
code, then we check if they have a score,
then only they get assigned. Then based
on the assignment from the model and then
business rules, right, we assign the
lead, right and then you create the
website connection with the ones that are
active and then have a session ID.
Makes sense. So I think these are very
minimal changes. Yes, yes,
yes. And then you
have addition, yes, we specified in
the in the second one, create
the request payload for model and
every request that model to score
the lead jobs. By the way,
in which moment we request the
model to score, you know, sorry.
To rank the VPS
right? Um, this specific
timer like or we
just. There's
one problem. Whatever I use
dollar to we cannot test
our test. You're just not
part of that list.
Wait say that again. So in
my best years was right was
what was Indra is doing. So
my SO ish is returning the
different set of models actual by
looking at the data right? So
it is returning some damn checks
so-called. Some other people like
5 people need to straightening so so
is performing the ranking and everything
who is the best user right that
functionality we cannot test set it up.
Underrated. Well, you
can if you if you OK, see the
I, Yeah. By the way, do you mean
the data?This is something.
And they don't know, so that would be.
Who are the lists? Right. We need to
assign these edits. Then we can test it.
Yeah, that we need to mimic that data.
That's why I see your point. I see. I
see anything. Let me come to you. What we
can do is right. What you can do is
think of this as your black box, right?
You can create some mock data, let's say,
let's say in for testing this if you want
to test the flow, or you can check
against the database as well, right?
Let's say Vasundhra and the other QAC
logs in together, right? And as per the
model, as soon as you get the call first,
right? Let's say we verify. What's the
call after that you or anyone can
check in the table that against that
lead dog ID, the output from the
model was on the right. That's something
we can do that part, we can
test it. But the actual right scoring
and the yeah, yeah, yeah, that is
so. I think something is, uh, not tested,
right? If it is production, right, that
is not working as expected, right? That
will be the same problem, no. So what
happens is you, I understand your
question that you are asking that the
internally how the ranking is working,
you cannot test it, right? So that is
something the metrics that. Valuation
metrics that I'll provide you which will
give you the indication that how accurate
is the model. So suppose means for
error no, no no, no, no no
I I got your point so you're
taking the production down and you're
taking this late job ready and you're.
Doing the top five list. So what
Q is trying to log in right?
There's not at all your profile list.
Right, understood. So it will go to
the next set.
OK, so the next segments
whatever you have written, right.
So it's simply your system
is ignoring those top five
call routing mechanism and it
is going to the.
Mother who is active in the TV.
Right, OK, so tomorrow, so whatever
you dollar or everything right yet
it from testing team nobody can
confirm. Is your
model is working as expected, Nobody
knows that maybe there is alternatives
for mimic the data. So that's what we
need to say. That's what I bring it
up here. Understood
from you, You just written you take
the production. Yeah, see that we need
to test the model. We trust that
he will create the best possible model.
Yes, right. We cannot be used this.
And a lot of ET integration, once
you have issues providing, right, we have
to create a production cloned database
with that. With that one, we need
to test it. Yeah, yeah. Because these
integration jobs are completely
different. So we have to create the
production number. Yeah. And and, and
which way if you want to really do your
unit testing or maybe integration testing
if it's technical for, for Azure data,
you can basically mock up some data.
Basically you can mock up a response from
the model and insert that in the DB. And
then you make sure that you create your
right maybe from Assandra and all for the
UI testing. That's fine, but you need you
can verify that hey, if you create a list
of VPS 2, VPS one, VPS 3, right? If first
goes to VPS 2, then VPS one that VPS
three, you can verify it by just stepping
some data right in the from the response,
right?Makes sense?
Yeah, marking that data, we can do
that one, that's not our problem. But
when it is going to the testing
cycle, right, that's where we need to
look at because whatever that module
model returns, right. So if my test
accounts not part of that model, right?
I talked this right. So therefore we need
to figure it out either we can do
that one say we can take the five
Ohh, that torch member I see. I see
if you're saying that test account is not
the courts member, I see also because
you're logging as a torch member, so.
Yeah, obviously the torch member is not
going to be OK. OK, I see your point.
I see your point. So we don't know right
what I was developed by tomorrow here
gives everything confirmed and that is
more to the product team. But yeah, I
see, I see, I see your point now. So
basically everyone would which was it's a
it's a very problem. So what's in this
testing with test account, right, right.
And yeah, infinite test three. Yeah, we
have to map what are 5 task
members act with these leaders in the
David, right, Yes, you need to then
call will go to Yeah, you can.
Yeah, yeah. And the technician table,
right? Yeah, yeah, yeah, yeah. That we
can do that. That's not an issue. So
that's why I want to bring it up. We
sure that is what we did right in the
last run. If you no, no, no, you're just
hardcoded, that is different. So
you completely evaluated them, eliminated
the balloting? OK. In the interest
of time, Anthony, you were saying
something.
Asking.
If the model when when the
model routing the the VPS does
that the model point out the
DB not the UDB but the
production DB which is different from
our QA testing environment.
Ohh, that's so right. Now the model
will be trained on the production data
so that we have the real data.
So similarly we have to create the.
So what you can do for that
copy? So what you can do copy
for the testing, you can just create
a database. Yeah, just looking similarly
to the production database that I've
finalized. Yeah. And you can put up an
entry of 10,000,000 just by randomizing
it and take my model file and train it
on it on a UAT one. And then you
can see because the this model is
separately. Yeah, I got, I got arms. Let
me assume. But yeah, if I'm
right what what the visual is
saying because the model returns that
top five VPS which which model
already trained with the production DB.
The current tests infinites account
never gets never involved in
the top five lists. So
the current test account never
gets the notification about the
currently created green line form
right?Exactly because, because
they yeah, so because they haven't been
trained on that data. Does the model
returns that ranked ranked VPS no matter
they are active or not?
Yes, model will return all VPS's for
which it's been trained on whether
they're active or not. Back end will have
to determine which ones of those are
available, right. And based on that and
if let's say we and.
Are usually modeled in VPS 21 and three,
right? We have four and five, our new
ones. So if 21 and three are not
available, right back end will then see
which ones are the other ones that are
available and append them to the list.
OK, so so the model. The
model, when the model returns that VPS
list, does that only 5 top five or all
of them? Well, no, it's no, no, it's
going to be all of them that it has
a record of. If there's some new added it
has not been trained on, it's not going
to return that obviously, right? So
backing will have to append. So let's say
if model. Since first five and we have
two new VPS that are not in in the
list for model. If those are not
available, it'll it'll have to go through
those ones. OK, just a second. So you're
asking the list that I'm returning for
the VPS, how many people will be in that
VPS that you're asking? That's what
you're asking. There's a supposedly was
just five top five members.
That we can decide that suppose there are
2000 BPS, right? If you want, if you if
you want the list of top ten, I can give
you that. If you want the list of all of
them in a ranked order, I can give you
that as well all that you have in a
ranked order. Yeah,
OK, OK. So can I suggest one?
Sir, yeah, what when we request
the model for the ranked ranked
VPS, can I just send the
currently active, currently online DPS
list and ask the model to
No, no, no, no, no. So
the problem with that is once
you send me the list of. Like
to be this. And by the time I return the
VPS, it might, it might so happen that in
that particular 5 seconds or 4 seconds
some VPS got offline. Then how you're
gonna handle it? Yeah. So that that will
be the problem. That's exactly the
problem. We cannot do it. How? That's why
we proposed this way. Each and everyone
has to be scored those business rules.
Who is available who has been waiting for
10 minutes that has to live outside of
the model. You you see why? Yeah. So
that's exactly right. So so OK as far as
the work is concerned, we have one story
can be this one fairly simple. One story
can be this one for once. OK Are you
when you have a. Get it in there when you
think you would have some inputs and all
right, provide us some details. What do
you think would be your payload, right?
The schema, basically what you think the
response will be. I know you're still
working on your profiling of the data,
but that this is going to be one story,
right? The scheduler changes, right? Any
business rules and then making, I think
this is already done. By just making sure
that this is working as expected, right?
That is, you're appending from the VPS
list, making sure we're only getting from
the technician table where the role is
Torch member, session ID, all that stuff,
right? And I think this should do it all.
Anything that we're missing?
Anthony, come back and these are the
changes I have captured for the new smart
call routing model. I think these are the
changes that we have to do right on top
of what we already have, right, The bugs
that we already have. These are fairly
minimal changes as we talked about.
Right. And each can become a story,
right? Different developers can take
these stories. So I want to make sure
that do you think are there other smaller
things that are missing? But these are
the proper tasks that we have to do. I
think this is all. Can we can add this
one, maybe if you go in detail, maybe we
can. Looks good. Yeah, yeah. High, high
level. These are your stories, obviously
gonna be your tasks that your details,
right? What are the API changes? What?
What tables? What are the column names,
all that stuff. We have those details
here, but you guys can start working on
it. But my idea is these are the five
stories that we have, right? Five changes
that I see right now. If we make this
five changes, I can see it worked.
Anyway, anyone disagrees with me?
Yeah, yeah. So, so you
can start with those.
Uh, yeah. Let's, uh, if any, if you
find by doing that, if you see any.
Exactly. Yeah, there will be some things
that we might. Yeah, exactly. It's just
say any big deviation, right then we
regard it. But at this moment, even as
per my knowledge, there will not be that
much of deviation. Exactly because. Yeah,
because when I went to the code, I
saw the slow. Pretty much everything is
there already. We just need to make these
small, small changes. Small. I'll send
this under proper routing. Exact, exact,
properly submitting and scheduler
picking. No, no, no. Yeah, you need
scheduling. We'll give everything to the
scheduler. Well, exactly. That's all, all
the problems we have, Yeah, yeah, submit
remains what will happen, it will add
into the queue. The queue mechanism
should be handled within scheduler.
That's what callback request is doing,
yes. This looks good but
for me to start I need the data that
which was just sent me. So after
receiving the data only I can start. But
I need to discuss a few things with this
visa. What is the date range that you
have sent me the further data?
Not not that runs current production data
to this, just let me share my
screen. I'm very confused and I think
data is not correct. So there are
few things that I've observed. I'm sure
you. Quickly, quickly before the Irish.
Right. For your tracking purposes, I've
created a list of these items. The team
agrees that this is what we have to do
for the smart call routing model. We've
aligned on the design that is only one
individual will connect separately. Yeah,
sure. Yeah, I mean, yeah, we can spend
some time here. I'd like you to take away
the data too, but I just want to make
sure that this is. The list of the
distant different items we have to do is
set up and the team agrees that this is
how we would do it. These are the changes
we have to do. This doesn't have all the
details, but high level this is the work
that needs to be done. The new scheduler
changes the new columns, the new request
and response, the additional business
rules and then making the websocket.
Connection so this is this will be all
captured right now we can assign or maybe
next week we can assign on who will be
doing what. OK OK yeah. So one thing can
I have that list on this chat please?
Assad it's it's in the OK I can put
in the chat as well, but it's in the
excel. Yes, well, just just calling that
out. I'm putting in the taht, OK. Ohh. Is
it? It's in the call routing Excel. Yeah,
yeah, yeah, yeah, yeah, yeah, yeah. I
just created a new tab over here. Excuse
my typos, but yeah, there's like high,
high, high level over here. OK. And
again, just to confirm, everyone agrees.
Anthony, Malesh, Vishwa, you all agree
back in. These are the changes we have to
do high level. Yeah, here on this,
Sir. Yep, Yep. You guys have all seen the
requirements in the business. We think
that if we make these changes, we can
make it work the smart way, correct? OK,
you have to, right? Yeah. So this has
been communicated, right, with respectto.
Assigning the leads when the green light
form is submitted. That will not be the
case now. Only scalar will be doing that.
Yeah, yeah. We, we, we, we talked about
it with the business, right? They want to
score the lead. They want to see which
ones, because you cannot assign directly,
right to Ayesha's Point. You have a lead
come in, but then their forms the queue
and then there's a queue, right? So queue
can happen anytime.
Right. So because in the earlier
discussion it was like if there is
any lead already existing then it will.
Uh, you know, it will compare against
that lead and it will uh, uh, no,
that would be beneficial. But that time
as well, I raised this question because
if there is no other lead waiting, then
how long will you wait for it? So
it might delay the assignment of a
current lead, yes, right. Uh, in that
case, uh, we'll go ahead with whatever
the ladies there. That's what they were
saying, right? So just just this process
lead comes in, right? Score whatever it
is scheduled to pick it up, right? And
it just goes through the process. So each
lead has its has the same life cycle
in that lead. Comes in persistent DB
right? Uh, run the model, get the output
of the model, store in DB scheduler runs,
run the business rules, assign the lead
high level. That's what the flow is. Very
simple, OK. Yeah, OK, cool.
So sorry, assign on working the
assignments. We can talk about some next
week on who will be doing what and
what's already done, what's not done. We
can talk about that. OK. You wanna share
your screen and show you the issues
you're facing. So yeah, just a second.
Sorry. Uh, Assad, so are these, uh,
should I create these tasks on Jira? I
think so. I think let's just start
tracking in Jira. We can assign a task
to one of the developers, right? Malaise
can take 1, Anthony can take one, Visa
can take one depending on who is
available and we can start working on
actual. No changes. Yeah, let's not wait
for next week or next. Sure. Just I just
want at least two tasks. With the three
tasks, just own it up and then you can
have start analysis from your end and
start working on it. Yeah, yeah, that's
fine. Yeah, So I'll, should
I, uh, I'll create tasks or user stories.
Do you want me to create all these
things? I think these can be stories.
I think stories are fine because you can
test them. Story by definition, sometimes
you can test, yes, yeah. So you, you,
you, you can test it. You can make sure
that you can go and test in, in the DB
when the lead comes in, what's being
assigned, right? We can do all that
automated testing. I don't think we want
to do it right now, but yeah, I think
stories make sense because it's going to
be. Simple tasks or things within this
story, right, Right now this is high
level right now we don't have all the
details. We can take up more time to have
assure the details that call them names,
the code changes and all but high level
this is a story. That's what I feel like
probably he can create an epic and under
that stories epic. Epic I've already got
already yeah. And these,
these might be, I think this, these are
technical stuff. I, I can't fill in the
description on that, uh, Assad, that's
one thing that I wanted to call out. So.
What can we do on that? Sorry what?
Sorry what? Again? Uh, the description
part for these user stories?
So for now you can just put
this only what this is over here,
right?So
back in developers, right? Whoever the
story is assigned to, right, Can you just
make sure and put some more details on
what are the changes exactly, the columns
and what the new columns and all. But for
now, we can just put whatever it is, the
summary as a description. Later as we go
in the code, we have more details, we can
put those. As well. Sure. So
these, these, these are uh, I'll, I'll
create a user stories with summaries
which are mentioned here exactly. That
should be fine. OK. And
I want to make sure the back end
developers Anthony Malaise which where
you understand the scope for these
stories. It makes sense why we are doing
this in the order, correct? Yeah, that
makes sense. OK, Yeah, I'll
create in the same order. Perfect. Yeah.
So coming back, just give me a couple
of minutes. So I just want to know
who owns what tasks. Let's say we have
top three sub one, column two, row two,
row three, row 4. So who owns row
two, who owns row 3 and who owns
row?4. OK. I mean,
we can assign right now who's working,
Yeah, because. That we
need to discuss on the Monday. So
when Ramesh also you need to include
this one right so you can.
Ohh, I mean why do we have to include
them? We have, don't we have sufficient
developers back in developers to work on
this?Ohh.
Malaysia, because Malaysia availability,
all those things, we need to
consider that. I mean, yeah, he
is available. We can make sure
on that. Yeah, but
let's not include too many people on this
because again, to explain everything to
anybody who comes in would be a headache
and that would delay as well. So what do
you say?
Delivery date tomorrow as soon
as possible. Seriously, that's what
they want.
As soon as possible malaise. So I I feel
like, yeah, I mean, we've captured that
we have to plug in our developer or not.
That can be decided, yeah, no, just to
plug in any of the developers here again,
it would be a headache. We have to
explain what call routing is and the
functionality on the whole altogether.
Yeah, it might. It might be hard time.
3 developers, 3 back end developers.
We've got the majority of the codes
already there. You 3 are all aligned, the
three all understand the complete flow.
You 3 have been looking into this code
for so much time. You we just talked
about the system design. We all agree. So
I feel like between you 3 this can be
done in a week provided we get used to
change this I'm just. Yeah. So I think
with between U3, we have enough
developers if we really need to, we can
do it right. But what do you think? Yeah,
because. Sort of. I've
been pulling here and there.
Uh, so lot of calls, right?
That's right. Ohh yeah. That we
can reprioritize Vishwa. Uh yeah.
Because. Right,
so all deployments, everything and
only handling so 100% it
cannot concern me as a
means. OK, how about this?
How about this right?
Monday we can do the full assignment,
right? Who will be doing what, right?
But today, right? OK, Malaysian visa, I
know that your day is almost over,
right? Anthony, please go to the flow
over here. The things that are captured,
right? Go through all these things over
here. Make a list for, uh, what's it
called? Saurav will be creating user
stories for each of these items, right?
Go through the code for this one and list
down all the changes, all the details,
everywhere you think the code needs to be
changed, Everything. Put description over
here, right? Then for this one, go to the
code, see what is already being done. Is
not being done what changes you think put
the description in the in in the ticket
right so that so then Monday when we come
in we have the details in the ticket
between you 3 we can decide who will be
doing what right Anthony I think you
understand the float you understand the
changes that we have to do we can do it
OK is that OK because I feel like. The
changes are minimal, right? Anthony and
Mahesh can knock it off in or if, if,
if you're not, if you're busy with other
priorities as well. But between Anthony
and Malaysia and you at 50%, we can, we
can do it, right.
Because I'm being pulled to the multiple
calls. That's fine. That's
fine. Yeah. Because I cannot say I need
to complete this task. I cannot. No, no,
no, that's fine. That's fine. But do this
like you saw the changes I captured.
You've seen the flow. I think these are
not that bad. The majority of the
implementation is already there. Things
are not that bad. These are pretty small.
I'm making it. Simple. Exactly right.
So conserving my effort was
as oh, oh, 50 to
60%. Yeah, yeah, yeah. That,
that that's 40% without creating
calls. Yeah, yeah, yeah. That
thing calls internal fronting calls,
any deployments. So for this thing,
yeah, yeah, you, you can help us another
testing as well, important pieces that
you understand the flow. I feel like once
we feel the difficult part is done,
that's what you like. We have solar
system design, we have the storage
defined. We just need to go and make
these changes and make sure it all comes
together, right? Yeah, Anthony, right.
And you. When you're done creating the
stories for each of those, please ping me
and Anthony in the chat. The story
number, right? The ticket number for each
of those. Anthony, go to the code right?
For submit API, just list down what is
already being done, what's not already
done being done in the ticket. So we have
the scope of this ticket defined, right?
Yeah, Monday next week, please. Yes, go
ahead, Anthony. That would be good to do
today and maybe I could I might have
some questions when I've got the details
with the code and and when I go
exactly. So yeah, I can ask Assad, I
can ask you any time and I might
have questioned to Ayush cuz yeah, when
it comes to model. And with
the integration then I, I might
need to ask. I also can
I connect it with Ayesha on
on any channel? Uh, I have
this. All chat but
I'm not sure if I if I'm
disabled typing message on this check
because I saw that last time and
I also have this call routing discussion.
Uh, actually, yeah, I guess we.
So any questions you have for AYUSH, wait
until next week. I don't think you have
any right now, but maybe we can talk to
AYUSH next week on on those questions and
maybe, yeah, see if we can connect with
Teams or or emails. OK, OK.
Then it's OK. So action items, Yeah,
sorry, please get the storage credit
entry and go to the flow for the
code. Make sure that if there are any
assumptions, we made you list down those
assumptions so that one day between you,
Vishwa and Malish will assign the work
and we'll have a week. Yep. Exact and
we'll have a Sprint to do it all. OK,
these are fairly simple changes. The code
is already all there, the flow is already
all working, we just need to make some
additional changes. OK, everyone's
annoyed. Yes, I mean, give me a couple of
minutes, I'll create the user stories and
share it over this chat.
OK, I do have to draw. I've been in calls
for the last three hours. It's very I
just need to take a break. But anything
you guys have for me?Ohh, not
at the moment Assad. All good here.
OK. Uh, Anthony, if you have any
questions for Ayush right now, any
integration questions you can discuss
right now only, uh, you guys can are you
can share your screen, see the show the
data issues that you're having and you
know, we can answer those and see what we
need to do there. OK, No, that's not a
problem. I don't, I don't require
everyone I can connect with visual after
this call. That's not a problem.
Sure. But it's fine. I think we all would
like to take a look at the data, right.
So it's the same data, it's a production
data. It's just the the dump that I have
got. I have some questions so I can
clear, I will clear it with this one.
Sure, sure, yeah. And one thing that
you'll have to work on is helping with
testing, right. Because yeah, yeah, like
like you pointed out, yeah, no, no,
not only testing, uh, I've been fired
like front end team, right? If something
is not working, they will ask, yes,
adopt these things. So a lot of
things and supporting the scorecard team.
So nothing. I don't know because
of the my complete 100%, you
cannot. No, no, no, that's fine.
OK, that's fine, don't you? Yeah,
that's that's what I need to
timelines when you're talking right? Ohh,
I think we have a Ramesh
is A at least if you
don't think we need.
Yeah, something like that.
We need him. We'll we'll pull him in. But
this team has the complete package. Yeah,
right. These are fairly simple changes.
You all can do it. Yeah, that's right.
That's good. If you ask me. I don't have
any other aspect. I can complete it
there. That's not an issue. If I'm being
pulled 9 hours calls, right, I don't
have. I know, I understand. Yeah, that's
right. Yeah, you understand the problem.
They're not, because everybody says that
I block this block, so that's why
we need to remove their blockers as
well. Malish.
Yeah. So and everyone, we
have one automation guy who
is working with us. So
we'll be having automation as
well for this, for that
helps us in testing the
concurrency race condition scenario as
well. So yeah, yeah, it's very much
doable, right? For automation, I feel
like if you do automation from back end,
you can create test cases for this API.
What is API has triggered making sure
that the data is getting started in all
the correct tables, right? Time you can
create a test case for what's it called
screen. So then I will share my screen.
You can have an automated test case for
this one, right?We can have an automated,
uh, thing, uh, I actually like this.
Thank you for putting the story number
over here. Right? You can, yeah. I mean,
if we have a back end developer, right?
We can walk him through the flow. If we
have an automation developer, we can walk
him through the flow on how it is, right?
And him and Vasundhra because Vasana
knows the UI. The best the complete
business knowledge we can create some
test cases right and we can automate
test cases right No I I pass
in I passed in the videos and
all you know he's he's on the
same page now he he understood the
flow he already started working on he
completed. Uh, service data, uh, you
know that flow, right? Uh, it will
be working on this question. Is it
all Selenium UI automation or there is
some data testing as well? No, it
is similar to Selenium. What is that?
But I feel like that all that stuff is
good, but when it comes to really
testing, personally I feel like data is
the most important thing to test, right?
So yes, testing the UI flow is good, but
you need to verify when this API is
triggered is the data going to the right
tables you can write. Simple test case
where from your automation suite, I mean,
yeah, those unique test cases will be
there that that is part of the process
you have the unit test cases, you know
whatever Johnny test cases you will be
having that is there this automation
helps in two ways One, see every time.
For something, uh, that developer has to
test uh, the way right now we are
doing is we, we have to create a
job in the service data and then go
ahead submitting all of those fields in
the technician green light form, right?
So if that can be automated, it makes
developer job. Ohh, yes, yes, yes. You
can run that. Yeah, yeah, that is
one that is 1 perspective, second
perspective. So how do you test, uh,
concurrency? Of course, uh, team and they
can log into, uh, different, uh, talk
sessions and they can test, but, but
you know, in order to test a
bit more rigorously. You you need
the test suite regression test tube,
right? It's true. It will detect that I
have, yeah, it will dynamically thicken
the test because Vasundhara and team has
they have the challenge when you give the
priority list of VPS. So they have to
if it gives say 10 VPS, they have
to. Log into 10 sessions and you
don't know to turn those VPS. You
have those things that can be addressed
in automation. Yeah, it can be addressed
automation. But what I was thinking is
how about for QA environment we create
a mock service?Right for
the model scoring piece, right?
And we've done this already. Yeah.
Uh, I got what you were
saying, uh, that we have tested
in our last, uh, deployment. Like,
OK, so you, you make sure
that these are the list of
technicians and then you, you know,
beforehand overall. Exactly. Because if
you have a mock service, you can create
that block, you can go that mock service
with different inputs to create different
outputs. So for the QA automation,
whether they know if they are submitting
this, let's say if the name is green
light forms something test one that the
VPS list should be in finishing test 2,
then 3, then 4 something something like
that. I'm just making it up. Then yeah,
if they submit something like this, they
can make sure that what is being in the
model is being assigned correctly. I
mean, that's one way we can do it, right?
Because if we really want an automation
suite, then it should be probably be part
of your cici. It should be running every
day overnight. It makes nothing breaks,
right? So a mock service makes sense, but
I don't know how much time you want to
spend on a mock. Straight now, right? So
Kieran and LG are not here. I don't know
what the priorities are, things like
those, but that's one way I think we can
do it, creating a box service as well.
Great. Yeah, yeah. And that can be done,
Yeah. Parallelly anyway, automation, I I
wanted automation because you need to
have the smoke test as well as the
regression test as part of question,
question for sure. Yeah, it would be
proper. So the automation testing that we
have today, if there is any, does it run
every day on Jenkins? Is it part of CICI?
What's like how, what's the process
today? Is it part of the pipeline?
We we don't have automation isn't no,
no pipeline, no automation, automation
and automation enabled. But now back end
it's all manual. So the queues are
running the automation locally on your
machines. It doesn't run on the Jenkins
box. There somewhere.
Well, very little cases at
all. No village center, even
Santander whenever the check in
the code right automatically.
About trans ohh, the the yeah,
yeah. So similarly I think we
are we need to enable for
the back end. So a lot
of things are there because at
this moment.
No back in. Ohh
yeah, yeah, I think Subbu had that on
his pipeline, Assad, and he's working on
many things. So that is on hold right
now. No, we are progressing
uh sort of like I said, I'm working with
uh he's already on way he has committed
by next Friday, a couple of flows service
latency as well as technician said that
will be completed. Alright, alright,
alright, OK, sounds good. OK, and that's
why I bought this point here uh just to
be everyone on the same page. OK.
And that's all. You don't
run uh, automation for each
and every checkins in the
pipeline. Automation are for regression
and smoke tests during a
deployment, OK.
OK, you just need to run,
uh, whatever we mock through it,
Yeah. OK, cool. OK.
So I think we all have our next steps
start up. Thank you for getting the
stories, Anthony. Against each story, go
through the story, review the code, see
the current implementation, see if it's
already implemented, see any assumptions,
see what we need to make changes. And if
you can put detailed notes over there
Monday, we can go through it. So each
developer knows what they need to go and
change. Monday, we can assign the stories
with more details, right? I am confident
that between you, Malaise and Vishwa, we
can do it in a week. Even with
this being 50% or 20%, you guys agree
with me?Yeah,
yes. OK, cool. So I
know today everyone's busy with the field
force stuff. Maybe next week when things
kind of slow, we can talk about the
next steps and timelines for the new call
outing model as well.
Cool. Yes, cool.
All righty. Thank you. Thank you. Thank
you. Bye. Thanks for that. Thanks, team.
Thanks. Bye.