

AI-First Culture: Apply AI SDLC To Deliver Value Faster.

At Money Forward Vietnam (MFV), our AI-First strategy goes beyond procuring external tools; it’s a deliberate cultural shift. The company’s vision has empowered our engineers with the autonomy to build proprietary AI Agents that target and resolve deep, systemic workflow friction from the ground up.
Hi, my name is Dante, a Senior Software Engineer in Money Forward Vietnam, SCI team. In this post I outline how we adopt agentic AI across the SDLC so we improve throughput and lead time without trading off quality or security.
I. The AI-Driven SDLC: Basic flow
We have built an AI-driven SDLC, a collection of AI agent skills that automate repetitive, pattern-based tasks across the entire development lifecycle. Coverage spans Requirements → Technical Planning → Implementation → QA/Testing, allowing developers to focus on decision-making, integration and code review.

Skills run on Claude Code, Cursor, .... Each skill is exposed as a slash command; together they form a pipeline where each stage’s outputs become structured inputs for the next, reducing context loss and rework.
II. What to prepare?
The skill set is owned and maintained by the SCI team. Thanks to Claude Code’s slash-command model, contributors mainly:
Author prompts and procedures in skill definitions, steps
Maintain reference documents (epics, stories, technical docs, designs,... )
Encode workflow and guardrails in YAML/Markdown under .claude/skills/
Not all business rules are built directly into the codebase from day one.
Skills such as /technical-plan were designed by, and for SCI: conventions, boundaries, and stack assumptions stay aligned with the actual codebase, not generic templates.
A/ Backend Skills
Skill | Input | Output |
/srs-requirements | Notion epic URL | SRS-lite, user stories, traceability matrix |
/backend-pattern-discovery | Target project | Pattern files per layer, general context |
/technical-plan | User story + patterns | Full technical plan (all layers) |
/backend-testcase | Technical plan | Backend test-case (scenario-oriented) |
/backend-repository | Plan + test cases | Repositories, entities |
/backend-service | Plan + test cases | Service interface & implementation |
/backend-controller | Plan + test cases | Controller & DTOs |

QA Skills - From Code to Test Scripts
Skill | Input | Output |
/bug-detection | Spec + code / PR | Spec-vs-implementation review: bugs, edge cases, security findings, JIRA-ready report |
/test-cases-api | OpenAPI spec / source code / story | API test cases (Zephyr-compatible CSV) |
/test-cases-generation | Story / acceptance criteria | General test cases (used for E2E flows; Zephyr-compatible CSV) |
/test-scripts-api-playwright | API test cases | Runnable Playwright API test scripts |
/testscript-e2e | E2E Test Cases | Playwright E2E tests using the Page Object pattern |

(Illustration purpose only)
III. Highlights of the AI adoption
1. Context Engineering: The SRS Requirement Skill
The foundation of reliable automation is reliable input. Our SRS Requirement Skill converts specifications from multiple sources (like Notion documents) into structured requirements. This is crucial because it ensures the AI captures not only functional requirements and user stories, but also essential elements like business context, acceptance criteria, and implicit constraints where we can infer them. That bundle becomes a single source of truth for planning, implementation, and QA - so every downstream skill argues with the same spec, not a different interpretation.
2. Architectural Enforcement: Code Pattern Learning
A well-known failure mode of AI codegen is vibe coding at scale: the AI generates working code early on, but as the project grows, each new generation drifts slightly from existing conventions such as different naming, different error handling, different layering. The result is a codebase that technically runs but is architecturally inconsistent, making review, maintenance, and onboarding progressively harder.
Our mitigation is pattern discovery: before any implementation skill runs, an agent reads real production code layer by layer (controller, service, repository, model, exception, validation, general context) and distills it into structured pattern files. These files capture project-specific conventions such as how we structure responses, how we handle transactions, how we name things that are not as abstract rules, but extracted directly from code that has already passed review.
Every subsequent skill is required to load these patterns and follow them. The AI still moves fast, but it moves within the guardrails of your actual architecture, not LLM defaults.
The practical result: you get the speed of vibe coding and the consistency of a senior engineer who has read the whole codebase first.
3. Automated Quality Gate: QA Bug Detection
The Bug Detection skill is intentionally shift-left: compare structured requirements to implementation (and often diffs) to surface defects, security gaps, and performance risks before deep manual review cycles. The output is an investigation-style report plus Jira-ready findings, less manual transcription, faster triage.
IV. Positive impact
Since adoption, SCI AI-SDLC has been used across BE, FE, and QA workflows. Overall feedback from team members has been positive, with an estimated 20-30% effort reduction when developing new features.
On the BE side, around 70% of members actively use the SCI backend skills. From March 2025 to May 2026, many stories were developed with AI support, including full-stack stories using both BE and FE assistance, while the merged code survival rate stayed around a consistently high rate.
The impact is not only about speed. Pattern discovery helps generate code following SCI architecture, SRS output gives QA a testable source of truth, and bug detection acts as an early quality gate before manual review. In practice, AI-SDLC reduces repetitive work while keeping engineers responsible for final design decisions, code review, and release risk.
Conclusion
By automating pattern-based tasks, the AI-driven SDLC fundamentally changes the engineer's role. From spending hours writing code or wrestling with repetitive manual tasks, like converting documents or generating test files, to liberating our engineers to focus on high-value work.
The current AI SDLC has worked for the SCI team and does save us time. We now concentrate on strategic tasks: defining the Technical Plan and making critical Design Decisions - while keeping humans accountable for final correctness and release risk. The Forwardians of the AI-First era becomes the architect and operator of the Agent system, ensuring the system works effectively with AI.

![HTTP Adventure: [Part 2] The evolution of HTTP/2](https://static-careers.moneyforward.vn/Blog/HTTP%20series/%5BPart%202%5D%20The%20evolution%20of%20HTTP2.png)
HTTP Adventure: [Part 2] The evolution of HTTP/2

