Manish Reddy Katta Open to product roles in
Product Case Study · Enterprise Insurance Platform · 2026

The nine hours I chose not to automate

The operations platform that agent changes run through at a large US insurer, holding the record compensation is calculated from, across two policy estates and almost every US state.

6→1
Systems able to write one field
01 · Context

A move nobody captured is a move compensation never sees

This insurer runs two policy estates side by side. A current platform, and a legacy one being migrated onto it, each holding its own records for a book of business written across almost every US state. Agents account for a large share of it. Every policy names one agent, and that agent is a small business whose income depends on the name staying where it is.

My platform It executes the validations, commits the change to whichever estate holds the policy, and keeps its own record of every move. Compensation is calculated from that record, so a gap in it is every bit as much of a defect as a wrong entry.
What runs through it Several categories of policy move. Customer requested agent changes are fully automated. The rest are business decisions requiring review, judgement and sign off against rules that change frequently, so they are deliberately kept human.
Who does them Those account for tens of thousands of policy moves, every one entered, reviewed and approved by the same enterprise operations team. That is their day job and it is not what this case study is about.

So the field is not an attribute sitting on a policy. It is the thing an agency earns on.

02 · The problem

Every fortnight, twenty two people retyped what six systems had scattered

~979

agent changes a week were being made in five other systems, outside the record compensation is calculated from.

Six systems could write the agent field on a policy. Mine had no visibility of it when any of the other five did.

Every one of those changes had to be found and brought back in, and that reconciliation fell to the enterprise operations team. Every fortnight they extracted agent changes from my platform and the five others into a single document, reconciled them, then re keyed the missing ones by hand so that what compensation could read was complete.

What it cost 16 hours per person per fortnightly cycle. A single policy took between ten and forty minutes depending on how many systems needed cross checking.
What it grew The team had gone from 13 people to 22, not because anyone had budgeted for the work but because the backlog demanded headcount and other capabilities happened to need less of it.
Underneath it The two policy estates enforced the licensing control differently, so the validation applied before an agent move was not consistent across both. An agent has to hold a valid licence in the state whose insurance law governs the policy, which means this is not one rule. It is the same rule enforced against the requirements of nearly fifty separate regulators, and a gap in it is a regulatory exposure rather than a data quality issue.

Volume stayed flat and the backlog kept growing anyway. The process was the constraint, not the demand.

None of that arrived as a complaint, and none of it arrived as a ticket. The operations team were sending my platform twenty to twenty five inquiries a day, every one a variation on the same question. Has this policy already been changed here, or do I need to enter it?

Users don't raise tickets about work they believe is simply the job. The signal wasn't dissatisfaction. It was that they had to keep asking.

Nobody was counting them. There was no ticket queue and no owner for the volume, because as far as the operations team were concerned the asking was part of the work. I could see it only because the inquiries landed on my platform, so rather than estimate I tallied them myself across two fortnightly cycles.

03 · My role

Nobody assigned this. The people it cost had never called it a problem

Product manager for the facilitation platform. The operations team are my users. The five other systems belong to other product managers and I had no authority over any of their roadmaps. It was not on a roadmap, it had no sponsor, and no one had asked for it. I picked it up because those 22 people were my users, and the fact that they'd never framed their situation as a problem didn't stop it being one.

04 · Process

Two of the five needed stopping, not reconciling

I didn't take this to anyone as an idea. I ran it as a proof of concept first: map the systems, their integrations and their write paths, and measure what the operations work was actually consuming. What came out of it was an architecture diagram of how the estate behaved as opposed to how everyone assumed it behaved. Only once I could state the problem precisely did I put it in front of engineering, and only once we had a solution did it go on a roadmap.

I assumed the five systems were doing roughly the same thing, and that assumption cost three weeks. Fetch a request, publish an overwrite to the agent field. They weren't. Some changes were compliance driven and some were corrections of information a user had keyed in wrongly, and the front end process differed in each one. The reconciliation logic I'd specified didn't fit what the systems actually did, so we had to unpick the work and rebuild the specification around what we found.

That same unpicking produced the best decision in the project. Examined individually, three of the five systems were doing the same thing. The other two were duplicating my own platform, and existed only because customer support was making agent changes by hand, one through a web channel and one through phone and chat.

  1. A single licensing standard. I specified one standard and worked with the other estate's product manager to get it applied consistently, so no agent move on either estate completes without the same validation. I had no authority to put anything on their roadmap, so I framed it as a regulatory exposure scaled to the volume of policies involved. That is an argument no product manager can decline on the grounds of priorities.
  2. One write path for agent changes. A hard business rule now prevents the other systems from altering the agent field on a policy. They carry on handling everything else they always did, endorsements and renewals included. One field is constrained, through one route. The legacy estate keeps its own utilities untouched, since it is being migrated onto the current platform anyway and rebuilding controls on a system you are retiring is wasted effort.
  3. Two systems retired. The two redundant paths came out, and both support channels, web and phone, now route their agent changes through my platform.
  4. A proper interface for the human work. The judgement based categories were being re keyed out of a spreadsheet. They now have reason codes, workflow notes and process logs, and the platform writes directly to the current estate instead of acting as a staging area somebody types into twice.
  5. Deliberate asynchrony. The write runs as a batch rather than synchronously. That is a design choice, not a limitation. These are judgement calls entered by hand, and the window between entry and execution is exactly what allows someone to correct their own input before it reaches the policy record.
BEFORE · SIX WRITE PATHS Facilitation platform Servicing utility Policy admin utility Correction utility Support tool web Support tool phone Agent field on the policy 22 people spend 16 hours a cycle reconciling all six, then rekeying what the platform missed AFTER · ONE WRITE PATH Facilitation platform Servicing utility Policy admin utility Correction utility Retired Retired agent change blocked agent change blocked agent change blocked channels redirected to the platform Agent field on the policy
The three utilities still do everything they did before. One field is constrained, for one kind of change. The two support tools weren't constrained at all, they were removed, because once you looked at them properly they were duplicating work the platform already did. On a narrow screen the diagram scrolls sideways.
05 · Outcome

Volume did not fall, and the work stopped compounding

~4,000

hours a year returned to a team that had grown purely to absorb work nobody had budgeted for.

Seven hours per person per cycle, across 22 people and 26 cycles. That capacity went into the other operational capabilities the same team owns.

The reconciliation Hours per person per fortnightly cycle
16h→9h
Write paths Systems able to change the agent on a policy
6→1
Support tools Web and phone routes writing the agent field directly
2→0

Volume did not fall. These moves still run at an average of around 979 a week and the backlog still grows, because the backlog is not a defect. It is the product of business events: agents leaving, agents behaving badly, customers requesting changes that get denied. What changed is where a move originates. It is entered in the platform in the first place now, rather than made elsewhere and chased afterwards, so reconciliation collapses into ordinary data entry. The work became tractable instead of compounding.

The nine hours that remain are genuine judgement. Corrections driven by business rules that keep changing, affecting compensation in ways you cannot automate without stripping out the review those rules exist to require. That was a deliberate stopping point rather than a wall I hit.

One thing I did not measure and should have. The inquiries were the signal that started all of this, running at twenty to twenty five a day. I never instrumented whether they fell afterwards. The question that generated them is now impossible to ask of the current estate, so I would expect them to have largely gone. But expecting isn't measuring, and I don't have the number.
06 · What I learned

Answering was easy, so I did that instead of asking why it kept arriving

Twenty five inquiries a day is a support burden. Read the same number as six systems writing one field without telling each other and it is a design defect.

The number existed only because the inquiries landed on my platform

Own the surface a problem arrives at and you end up holding evidence about it that nobody has thought to ask you for. It is worth nothing until you go and count it, and nothing in the organisation was ever going to prompt me to.

I assumed uniformity across systems I had not examined

I treated the five as one category and specified a solution against that assumption. They weren't one category, the specification didn't fit, and undoing it cost three weeks. The uncomfortable part is that the same mistake produced the best decision in the project, because examining them one by one is what showed two of them were redundant. I'd rather have arrived there by looking properly the first time than by being forced into it.

I ran the proof of concept alone, and that was the mistake behind the mistake

The proof of concept was the right instinct. Running it on my own wasn't. I should have brought the operations team in rather than inferring their pain from the shape of their inquiries, pulled the other product managers in before I had a solution instead of after, and had engineering looking at the architecture while I was still making assumptions. Any one of those would have surfaced the differences between those five systems inside a fortnight. I found them in week eight and paid three weeks for the privilege.

Delivery facts
RoleProduct Manager, facilitation platform
PeriodMar 2026 to Jul 2026
OriginSelf initiated, unrequested
Users22 enterprise operations staff
VolumeAbout 979 agent moves a week