Shipped 2024

Hand-off Framework

[1] The challenge
A bank's donation platform for 5 kinds of users, and the only spec was a one-line feature list.
[2] The basics
68 cases for every role, a flow for each module, and a prototype built from both.
[3] The details
Zenmirai, May to Jun 2024. Handed off for build.
Prologue
From a one-line feature list to a plan 5 people could build from

On my pawnshop project, changes came by word of mouth and nothing was written down, so it was hard to track what had changed.

On my next project, a donation platform for a bank, I didn’t wait for a spec. I wrote one. I turned a one-line feature list into a sheet of every case for every user, drew each flow before designing the screens, and built the prototype from those flows. Two engineers and two PMs worked from it.

Overview
My role
Product designer
Sole designer
My team
2 PM, 2 Engineers, 1 Designer
Platform
Desktop web app
Status
Handed off for build
Shipped
Timeline
May 2024 – June 2024
Scope & Ownership
68 cases. 12 modules. 5 people working from it.

I wrote the case sheet, drew every swimlane and designed every screen and prototype. The PM wrote the feature list I started from. Jira came later and was set up by others, so it isn't part of this case.

Update Care Home, step 1 of 4: General Care Home Information, with the care home's name, deed, place and date of founding, and the program picker open.

Some screens that shipped. Company name is blurred because of NDA.

mini-prd
One sheet with every case, for every role

I turned one line per feature into 68 cases across 12 modules. Each case is ticked against 5 roles and what they can do: create, view, edit, delete or other. The unhappy paths are written in: a wrong password, "can't delete the only super admin", an empty required field. It also shows which modules depend on which, with my estimate in days for each.

Then I drew a swimlane for each module and built the prototype from the swimlanes, using the same numbers in all three. So the sheet, the flows and the screens always match.

The PM's feature list, in Indonesian: back-office features for the bank's admin, per epic (Master Panti, Master Anak Yatim Piantu, Laporan Donasi Masuk), each added on 8 May 2024.

The feature list the PM gave me.

Her case sheet: modules 0–4 with numbered cases (e.g. Case 4.2, multi-step data update), each ticked for create, read, update, delete or other across 5 roles, plus story dependencies and a timeline in days.

My rewritten feature list, numbered to match the prototype for hand-off and tracking.

Rejected
Screens straight from feature list

That's how the pawnshop project lost track of what changed.

Chosen
Sheet, flows, then prototype

One numbering across all three, so any change points to one exact place.

swimlane
The flow comes first, then the prototype

With five kinds of users, a prototype alone can't show who is allowed to do what, and engineers can't check their work against it.

Swimlane for Master Program: Admin KP and Super Admin lanes with the create, update, delete and activate paths and their yes/no checks, and a table of the confirmation messages for active and inactive programs.
Swimlane for the front-page banners: the Donatur, Admin Viewer Panti and Admin Maker Panti lanes greyed out as “Not Authorized”, the Admin KP and Super Admin lanes with the create, update, activate and delete paths.

2 of the 8 swimlanes, one per module.

Rejected
Prototype-only hand-off

Handing over the prototype on its own. It shows the screens, but not the rules.

Chosen
Swimlane for each module

One lane per role, with grey "not authorised" zones and every yes/no decision drawn. I built the prototype from the swimlanes and split it by the same module numbers. So the sheet, the flows and the screens always match.

design system
Letting my own design system go

I had built my own design system for the pawnshop project, including the colour system. For this project, the company bought a ready-made admin kit that came with code. I built on it, because engineers could start right away. With mine, they would have had to rebuild every style in code first.

Parts of the ready-made design kit: list groups, tabs, a toast, a tour, a popover, nav tabs, form fields in 3 sizes and a date picker.
Design system.
Rejected
Push for my own design system

A design system that only lives in Figma makes engineers build everything twice.

Chosen
Build on the kit

I put my effort into the hand-off instead.

AFTERMATH
What happened after?

Engineers asked me few questions about the prototype. When something needed changing, I could point to the exact step, the role and the reason.

Reflection
What I'd do differently
Measure

Count questions and rework per module, so the hand-off has numbers behind it.

Start Early

On any product with several roles, write the case sheet in the first week.