← Back Projects • API Integration & Banking Middleware 2019-20
Jump to Impact →
CASE STUDY Regulated Banking • CRM/KYC Integration APIs
CRM/KYC API product delivery case study thumbnail

CRM/KYC — API Product Delivery & Agile Stabilization

Drove end-to-end delivery of CRM/KYC API products on a newly introduced “API Factory” stack, translating regulatory requirements into testable user stories, stable API contracts, and a layer-based delivery roadmap.

CRM/KYC APIs API Factory (WSO2) Legacy COBOL/DB2 Banking Middleware Agile Execution Cross-Functional Delivery

Problem & why it mattered

A complex CRM/KYC integration lacked a testable delivery path—progress was hard to prove and rework risk threatened fixed-price commitments.

Context

  • The Mission: Integrate a Microsoft Dynamics-based CRM/KYC product (Vendor) with legacy back-office logic via secure APIs.
  • The Platform Shift: One of the first projects to adopt a newly introduced “API Factory” architecture (WSO2) for production-grade exposure of legacy systems.

What was broken / risky

  • Non-testable decomposition: Early planning fixated on field mapping instead of data normalization + contract-first schemas, making quality and end-to-end validation hard.
  • Architectural uncertainty: The new API Factory stack had limited production history; teams had to translate dense COBOL/DB2 structures into stable JSON contracts. This is the same discipline AI teams need for RAG/ML: clean inputs, stable contracts, and observable failures.
  • Stakeholder pressure: Without a demonstrable “working path,” confidence and decision speed degraded across a multi-party engagement.
CRM problem space and stakes

Workflow (before → after)

Shifting from field-level slicing to layer-based, testable functional delivery.

Schema-by-field counting (Before)
Layer-Based Functional Logic (After)
User stories based on field counts; low testability until large volumes were mapped.
Layered stories (COBOL → Java → WSO2); thin slices testable end-to-end as soon as a data path was built.
Roadmap followed a customer journey (Login → Address) that didn’t align with backend/database complexity.
Roadmap followed a technical path—validating simpler routes first to prove architecture and integration patterns.
Delivery forecasts were noisy; progress was hard to explain beyond “% fields done.”
Visibility based on functional milestones and stack readiness—improved predictability and stakeholder decision-making.

Approach & Decisions

I reframed the roadmap into testable slices, translated regulatory needs into usable stories, and set a delivery model the team could execute consistently.

What I did (key moves)

  • Regulatory → delivery translation: Converted KYC/regulatory requirements into actionable user stories with clear acceptance criteria and API contract expectations.
  • Re-architected the roadmap: Pivoted from a surface-level journey plan to a technical implementation strategy that de-risked the stack before scaling scope.
  • Decomposed stories by layer: Created a three-layer story structure (COBOL, Java, WSO2) for each feature to enable vertical-slice testing.
  • Data contracts & guardrails: Defined schema rules, validation checks, and failure modes to keep JSON outputs stable across layers.
  • Thin-slice validation (“Email Pilot”): Focused the squad on moving one simple field through the full stack to establish a repeatable “working path” blueprint.
  • Stakeholder visibility model: Reported progress via functional milestones and integration readiness (not raw field completion), improving decision quality.

Decisions / trade-offs

  • Validate foundation before breadth: Prioritized proving the end-to-end path early—even if it meant delaying broader feature work in the first sprints.
  • Technical path before full journey: Sequenced work based on integration feasibility and database complexity to avoid late-stage surprises.
  • Right-sized story granularity: Kept stories meaningful enough to demo, yet small enough to test at each layer and reduce rework.

Delivery under Constraints

Legacy backend rigidity, a newly adopted middleware platform, and cross-timezone coordination required a strong delivery operating model.

Constraints (top 3)

  • Legacy tech debt: Dense COBOL/DB2 structures (“copybooks”) increased mapping and ETL risk when translating to JSON contracts.
  • Multi-party delivery risk: A fixed-price engagement across multiple organizations left little room for slip, misalignment, or rework.
  • Global coordination: Aligning teams across London (CRM Vendor team), Switzerland (Bank), and Singapore (Implementation) across time zones.
CRM delivery constraints and execution

How I reduced risk

  • Cadence & quality gates: Introduced clearer DoR/DoD, acceptance criteria, and contract checks so stories didn’t “bounce” between layers.
  • Governance across layers: Defined ownership, escalation paths, and acceptance criteria for COBOL → Java → WSO2 handoffs.
  • Predictable forecasting: Shifted estimation from raw field counts to layer complexity, improving planning accuracy and communication.
  • Hands-on unblock & alignment: Bridged BA intent ↔ engineering feasibility ↔ partner expectations to resolve trade-offs once, not repeatedly.

Impact

Stabilized delivery for a high-risk CRM/KYC integration and validated a reusable production approach for the bank’s API Factory stack.

Rework Reduction
Estimated 25–30% decrease in rework cycles by pivoting from field-counting to a contract-first, layer-based story structure.
Strategic De-risking
Established a "Thin-Slice" blueprint (Email Pilot) that proved end-to-end technical feasibility before scaling feature scope.
Platform Scalability
Validated the "API Factory" operating model, creating a repeatable pattern for future legacy-to-modern middleware integrations.

What improved

  • Rework: Estimated 25–30% reduction in rework once stories were sliced by layer with clearer acceptance criteria and contract checks.
  • Predictability: Improved sprint planning accuracy by tracking progress via functional milestones and integration readiness (instead of “% fields done”).
  • Stakeholder confidence: Faster decisions and fewer escalations after the “working path” (thin-slice) blueprint made progress demonstrable.
  • Platform validation: Established patterns for using the API Factory stack in production-grade integrations.
  • Data quality guardrails: Fewer contract breaks and clearer failure visibility via contract checks and layer-based validation.
  • Estimation basis: Fewer story reopens/carry-overs and fewer defect-driven rework cycles after the layer-based slicing model was adopted.
  • Operating model: Established a repeatable pattern (thin-slice → layer-based slicing → contract checks) for future API Factory integrations.

Next improvements (post-launch roadmap)

  • Developer Experience (DX): Automate Swagger-to-Confluence documentation to streamline partner onboarding and reduce manual drift.
  • Parallel mocking: Build a mocking framework so external partners can develop and test UI logic without waiting for the COBOL layer.

Learnings

Roadmaps must respect the tech stack; a user journey built on an unproven foundation becomes delivery risk.

Operating lessons

  • Deep-tech roadmaps can be technical: Sequencing by architecture readiness is often the fastest path to real progress and stakeholder confidence.
  • Testability beats throughput optics: Field-level progress is misleading unless a working end-to-end path exists.
  • Stability reduces rework: Clear story slicing + quality gates (DoR/DoD, contracts, acceptance criteria) are how agile execution scales in regulated environments.
  • AI parallel: Good RAG/ML starts here—normalized data, stable contracts, and observable failures.

← Back