Build in Public Without Breaking Trust: Write the Migration Note First
Before announcing a breaking product change in public, write and rehearse the migration note. Explain who is affected, what stops working, how to move to the new behavior, and what to do if the move fails. If those instructions are unclear, the release announcement is early. Building in public makes the change visible to people who are curious about your work. Some of them also depend on the…
Before publicizing a significant product change, draft and rehearse the migration guide. Clearly outline who will be impacted, what functionality will cease to function, how to transition to the new behavior, and what to do if the transition fails. If these instructions are not clear, the release message remains premature. Sharing updates publicly makes the modification visible to curious individuals who may also rely on the existing functionality.
A well-crafted explanation balances both groups, prioritizing the next steps for affected users over the founder's launch narrative. Identify the behavior that people depend on by starting with the current workflow, not the implementation differences. A database column change might not affect users, while a modification in an exported file could break a meticulously maintained import.
Document what a user can currently accomplish and what they will be able to do post-release, including defaults, permissions, saved settings, file formats, and integrations where applicable. These points serve as prompts for an impact assessment, not claims that every change affects all aspects. Inquire about who relies on the old behavior.
Evidence from support interactions, documentation, or authorized product records can provide clarity. Even if a feature has low visibility, it does not imply that no one depends on it. A monthly export may hold significant value for the user who employs it once a month. Distinguish a changelog entry from migration instructions. While a changelog records changes, deprecations, and removals, it does not provide guidance when the reader must act.
A changelog entry informs readers of what changed in a release, while a migration note clarifies how to preserve or intentionally alter an existing workflow. A public update from the founder can then explain the rationale and trade-offs. These documents can reference each other without duplicating all the details. Designate a single location for maintaining the actual steps.
A social post is an inadequate location for the sole copy of instructions that may require revision. Do not label a change as an improvement for everyone if a known group loses something. State the affected behavior explicitly, even when the new design better serves the product's primary use case. Rehearse a hypothetical CSV migration scenario involving a scheduling SaaS.
The current export places the customer's displayed name in the first column. A planned export introduces a stable booking identifier first and relocates the name to the second column. This may seem minor until an existing spreadsheet interprets the first column as a name. The migration note should pinpoint the affected group: individuals whose saved imports rely on field positioning.
It should elucidate the new layout and present an example file with fabricated data. It should differentiate between the group requiring this information and readers who manually open each export. This scenario is illustrative, not a report on Buildside or a real customer's system. Its purpose is to demonstrate how a public announcement can accurately convey the feature while omitting the user's most critical task.
Test both the old and new workflows using the same example. Save the expected results from the old workflow and inspect the outcome using the proposed new workflow. In the scheduling example, the relevant outcome is a correctly populated spreadsheet. Confirm whether names, identifiers, times, and empty values appear in the expected locations after following the documented steps.
Maintain a comparison path where the old workflow remains unchanged, allowing for the distinction between a problem introduced by the migration and an existing issue in the example. Document what you tested and what you did not. Testing with a single spreadsheet application or importer provides a bounded test. It does not prove that every downstream tool will accept the new format.
Record the instructions a reader can follow without requiring assistance. Begin by describing the initial condition prior to the first action. The individual must ascertain whether these instructions pertain to their account, export version, or saved setup. Then, explain the steps in the sequence the user will execute them. Use the exact visible names present in the shipped interface.
If a step necessitates an option that has yet to be implemented, the note has uncovered unfinished work. Include a verification step after the change. For instance, "Import one example and verify the name is in the name field" is more practical than "Ensure everything functions correctly." A reader should know how to detect a failed migration before relying on the output.
Have someone unfamiliar with the change review the instructions against the test setup. If you need to clarify a missing step verbally, revise the written version. Document whether the review process was completed. Establish a contingency plan for when the migration fails. A comprehensive note should include a recovery path that the product can support.
This could involve reverting to the previous format, temporarily retaining the old workflow, or directing users to a defined support route before proceeding. Avoid promising a rollback simply because it would make the announcement reassuring. Some modifications cannot be cleanly reversed once new data has been written. Clearly define the boundary and make the implementation decision before publishing the instructions.
For the CSV export scenario, the founder could maintain the original layout as the default while offering the new layout separately. This represents one possible design, not a universal requirement. Alternatively, the product might introduce a carefully announced replacement with a clear transition period. The chosen approach depends on the evidence, the cost of maintaining both paths, and the impact on individuals relying on the old method.
Announce the user action before revealing the founder's story. Begin the public release post with the user's instructions, followed by the founder's perspective.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.