Skip to content
Back to all writing

Writing a bug report worth fixing

1 min readprocesswriting

A defect report is a piece of writing with one job: let a developer reproduce the problem without talking to you.

The four lines that matter

Title. What broke, and where. "Approval fails" is a category. "Approving a reimbursement over 10 million rupiah returns 500 on submit" is a report.

Environment. Build, browser, account role. A bug that only appears for an approver is a different bug from one that appears for everyone.

Steps. Numbered, starting from a known state, ending at the failure. No step should require a judgement call from the reader.

Expected against actual. Two sentences, side by side. This is the assertion; everything above it is setup.

Evidence closes the argument

Attach the trace, the network response, the console output. Screenshots show the symptom, but a failing request body shows the cause, and the difference is often a whole day of back-and-forth.

Severity is a claim, not a feeling

Severity should say what the user cannot do and how many of them cannot do it. "High" on its own invites a negotiation. "Blocks month-end submission for every approver" ends one.