Skip to content
Thái Hoàng Mai Học

hoc.thaihoangmai.work@gmail.com

All projects

12/2025 – now, Client delivery

Role
Project Manager
Team
7 people
Website
No public site: internal or pre-launch system.

Business goal

Take a multi-module digital dentistry system through acceptance and hand it to end users.

A digital dentistry platform for a multi-branch dental chain (group, unit, branch; one account per person), covering the clinics, the dental lab and e-commerce, with a client website, an admin portal and iOS and Android apps.

Main modules

  • Customer 360
  • Booking by chair in 15-minute slots, check-in
  • Treatment plans with A/B options, electronic records and prescriptions
  • Inventory tracked by serial number
  • Lab flow for external and in-house labs, taking STL, PLY, OBJ and DICOM design files
  • Payments and receivables, notifications, internal chat, audit log
  • BI dashboards

My part

Locked UAT scope to real progress on the development board, so sign-off never covers unfinished features.

  • Plan and coordinate the acceptance testing round with the client
  • Manage the requirements traceability matrix and acceptance scope
  • Check real development progress against delivery commitments
  • Write operating procedures and the user documentation plan

Result

  • 94UAT scripts across 4 modules, run in 3 sessions
  • 87/116candidate features built and taken into acceptance; the rest held back
  • 11lab processes written so the client can read and approve them

Problems faced

UAT scripts were edited by hand in Excel, so every edit drifted from the source, and one version was lost entirely. The biggest risk: the feature list going into acceptance was drawn up from wishes, not from real development progress.

How it was solved

  1. Generated the UAT scripts from a versioned JSON source, with restore and reconciliation scripts, because the workbook kept getting overwritten.
  2. Replaced 256 workbook cells and 244 JSON fields with the client’s real master data.
  3. Traced 116 candidate features against the development board: 87 built, 17 in conflict, 12 still planned. Only the built ones went into acceptance.
  4. Checked the UAT scripts against the user guides and caught 60 mismatches before the sessions.

Project management process

  1. 1SolutionInfrastructure proposal 10/2025, 226-page SRS 12/2025
  2. 2Blueprint and WBSBlueprint V2.7, WBS of 192 work packages
  3. 3Sprints on PlaneIn Progress → Code Review → Integration → QC → Done
  4. 4Change control15 change requests through the change board
  5. 5UAT traceability116 features, 87 built
  6. 6UAT94 scripts in 3 sessions
  7. 7HandoverLab procedures and user guides
  • Sprints on Plane with an In Progress, Code Review, Integration, QC, Done workflow.
  • A change control board with change-request forms; the blueprint reached V2.7 through 15 change requests.
  • Documentation: a 226-page SRS, a WBS of 10 phases and 192 level-3 work packages, 19 draw.io processes and 8 BPMN files, and a swimlane of 15 roles across 11 stages.
  • Lab operating procedure v1.3: 11 processes with 14 review points.

Management stack

  • Agile
  • Scrum

System architecture

  1. Users
    • Client website
    • Admin portal
    • iOS / Android app
    • Lab portal
  2. Services
    • Booking + check-in
    • Treatment + EMR
    • Inventory by serial
    • Lab flow
    • Payments
  3. Data
    • PostgreSQL + Prisma
    • WebSocket real-time
  4. Integrations
    • Firebase Cloud Messaging
    • Zalo ZNS
    • SMS
    • MoMo QR
    • Google Maps
    • MISA export

Tech stack

Backend and data
  • PostgreSQL
  • Prisma
  • WebSocket
Notifications
  • Firebase Cloud Messaging
  • Zalo ZNS
  • SMS
Integrations
  • MoMo QR
  • Google Maps
  • MISA (Excel export)
Security
  • TOTP two-factor login
  • Five-layer RBAC
Project tooling
  • Plane
  • Python
  • openpyxl
  • draw.io
  • Figma