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
- Generated the UAT scripts from a versioned JSON source, with restore and reconciliation scripts, because the workbook kept getting overwritten.
- Replaced 256 workbook cells and 244 JSON fields with the client’s real master data.
- Traced 116 candidate features against the development board: 87 built, 17 in conflict, 12 still planned. Only the built ones went into acceptance.
- Checked the UAT scripts against the user guides and caught 60 mismatches before the sessions.
Project management process
- 1SolutionInfrastructure proposal 10/2025, 226-page SRS 12/2025
- 2Blueprint and WBSBlueprint V2.7, WBS of 192 work packages
- 3Sprints on PlaneIn Progress → Code Review → Integration → QC → Done
- 4Change control15 change requests through the change board
- 5UAT traceability116 features, 87 built
- 6UAT94 scripts in 3 sessions
- 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
- Users
- Client website
- Admin portal
- iOS / Android app
- Lab portal
- Services
- Booking + check-in
- Treatment + EMR
- Inventory by serial
- Lab flow
- Payments
- Data
- PostgreSQL + Prisma
- WebSocket real-time
- 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