Developer Handoff and Implementation ReadinessIntroductionA digital product is not complete when its interface looks attractive in Figma. It is ready for implementation when another person—usually a developer, engineer, tester, or product owner—can understand what to build, why it should behave that way, and how to determine whether the result is correct. Developer handoff is therefore not the simple transfer of a design file. It is a structured communication and quality-assurance activity that connects design intent with a functioning product. In Figma, implementation readiness involves organising files, naming layers and components, documenting responsive behaviour, defining interaction states, preparing assets, exposing variables and tokens, and recording acceptance criteria. Dev Mode and related delivery workflows make design information more inspectable, but tools do not replace professional judgement. A developer still needs explicit decisions about behaviour, content, accessibility, edge cases, and priorities. This chapter presents a practical framework for preparing designs for implementation. It is intended for certificate-level learners who are beginning to work in collaborative product teams. Learning ObjectivesBy the end of this chapter, you should be able to: - distinguish design presentation from implementation-ready specification;
- prepare Figma files for inspection and developer use;
- use Dev Mode to communicate measurements, properties, assets, and changes;
- document responsive behaviour, interaction states, and component mappings;
- use variables, styles, and design tokens consistently;
- write useful implementation notes and acceptance criteria;
- identify accessibility, technical, and governance risks before handoff;
- participate effectively in a design–development review.
1. The Meaning of Implementation ReadinessImplementation readiness is the condition in which a design contains sufficient, coherent, and accessible information for a development team to build and test the intended experience without repeatedly guessing fundamental decisions. A design can be visually polished but not ready for development. For example, a screen may show a desktop layout but provide no information about mobile stacking, text wrapping, loading states, error messages, or keyboard focus. Conversely, a visually simple wireframe may be implementation-ready if its structure, behaviour, content rules, and acceptance criteria are clear. Readiness has four dimensions: | Dimension | Central question | Typical evidence |
|---|
| Visual | What should the interface look like? | Frames, components, typography, colour, spacing | | Behavioural | What happens when users interact with it? | Prototype flows, states, transition notes | | Technical | How can the design be built consistently? | Tokens, component mapping, responsive rules, assets | | Verifiable | How will the team know it is correct? | Acceptance criteria, edge cases, test scenarios |
A useful principle is specify decisions, not merely appearances. A red button is an appearance. “The destructive action uses the destructive button variant, requires confirmation, and remains keyboard accessible” is an implementation specification. 2. The Handoff as a Communication SystemHandoff works best as a shared system rather than a final event. The designer prepares information, the developer interprets and questions it, and both parties validate the result. This is sometimes called a design–development feedback loop. The principal participants commonly include: - Designer: communicates intent, user needs, visual rules, and interaction behaviour.
- Developer: evaluates feasibility, maps designs to code, and identifies technical constraints.
- Product owner or manager: confirms scope, priority, and business requirements.
- Quality-assurance specialist: tests whether the implementation satisfies defined criteria.
- Content, accessibility, or research specialist: checks language, inclusion, and user impact.
A handoff should answer five questions: - What is being built?
- Which parts are reusable components?
- How does the interface behave across states and screen sizes?
- What assets, values, and technical rules are required?
- What conditions must be met for the work to be accepted?
3. Preparing the Figma File3.1 Organise the fileA practical file structure separates reusable foundations from feature-specific work. One possible arrangement is: - Cover / Read me: project name, owner, status, last updated date, and links.
- Foundations: colour variables, typography, spacing, elevation, icon rules.
- Components: buttons, inputs, navigation, cards, dialogs, and component documentation.
- User flows: task flows and interaction prototypes.
- Ready for development: approved screens and states.
- Archive: superseded explorations retained for traceability.
The exact page names may vary, but the purpose should remain clear. Avoid leaving developers to search through many experimental frames to find the approved design. 3.2 Name objects meaningfullyNames should communicate function and hierarchy. For example, Checkout / Payment / Error is more useful than Frame 184. Component properties should also use meaningful names such as size=large, state=disabled, or icon=leading. Good naming improves: - inspection and search;
- code-component mapping;
- accessibility review;
- future maintenance;
- communication between designers and developers.
Naming should be consistent. If one page uses “Primary button” and another uses “Button / Main,” the team may incorrectly infer that they are different components. 3.3 Identify the source of truthMark which frames represent approved designs. Clearly label explorations, deprecated versions, and unresolved questions. A simple status convention may use labels such as Draft, Review, Approved, In development, and Deprecated. Status labels are useful only when they are maintained. An outdated “Approved” label can be more harmful than no label because it creates false confidence. 4. Inspectable Visual SpecificationsDev Mode allows a collaborator to inspect selected objects and obtain information such as dimensions, spacing, colours, typography, CSS-like properties, assets, and component relationships. It is especially useful when the file has been structured carefully. 4.1 Dimensions and spacingDevelopers need to know whether a dimension is fixed, fluid, minimum, maximum, or content-driven. A card width of 320 pixels is not equivalent to “approximately 320 pixels” if the layout must respond to available space. Document layout logic using constraints or notes such as: - container fills available width up to a maximum of 1,200 px;
- cards occupy equal columns on large screens;
- cards stack vertically below the medium breakpoint;
- a button remains at least 44 × 44 CSS pixels for touch use;
- text may wrap to two lines, but the action area must remain visible.
The numbers in these examples are specifications, not universal rules. They must be checked against the product’s design system and accessibility requirements. 4.2 TypographySpecify the font family, weight, size, line height, letter spacing, and text style. Do not rely solely on visual similarity. A developer needs to know whether a heading uses a design-system style or a one-off value. Also document content constraints. For example, “product name supports two lines and truncates after that” describes behaviour that cannot be inferred reliably from a static screenshot. 4.3 Colour and contrastUse semantic names such as text/primary, surface/default, and border/critical rather than only raw hexadecimal values. Semantic naming allows a theme or accessibility adjustment to change the underlying colour without changing every component. Colour contrast should be checked for text, icons that convey meaning, focus indicators, and controls. A contrast tool can support the review, but it cannot determine whether colour is being used as the sole indicator of status. Status should also be communicated through text, icons, patterns, or structure where appropriate. 4.4 AssetsAssets should be supplied in usable formats and with clear ownership and licensing information. Typical considerations include: - SVG for simple, scalable icons and illustrations;
- PNG for raster images requiring transparency;
- JPEG or modern compressed formats for photographs, subject to platform support;
- correct density or responsive image strategy;
- meaningful alternative text for informative images;
- explicit indication when an image is decorative.
Do not export an image merely because it appears in the design. Confirm whether it should be implemented as an image, CSS background, icon component, video, or live text. These choices affect performance, accessibility, localisation, and maintainability. 5. Responsive BehaviourA responsive specification explains how a layout changes, not simply which screen sizes were displayed during design. 5.1 Describe rules rather than screenshotsA useful responsive handoff identifies: - container behaviour;
- column and row changes;
- breakpoint conditions;
- minimum and maximum widths;
- text wrapping and truncation;
- visibility changes;
- navigation transformation;
- image cropping or resizing;
- touch target requirements;
- overflow and scrolling behaviour.
Avoid treating common device widths as universal laws. Breakpoints should reflect where the layout requires a change. A breakpoint is a design decision based on content and usability, not merely a device label such as “tablet.” 5.2 Example responsive specificationConsider a product catalogue: | Element | Wide layout | Narrow layout |
|---|
| Header | Full navigation and search | Menu control, logo, and search icon | | Product grid | Four equal columns | One column | | Filter controls | Persistent side panel | Button opens a modal or drawer | | Product card | Image, details, price, action | Same information in a vertical flow | | Long product name | Up to two lines | Up to three lines before truncation |
The table does not replace a prototype, but it makes the governing rules explicit. Developers can then ask focused questions about the modal, truncation, and filter state. 6. Components, Variants, and MappingsA component is a reusable interface object with a defined purpose and structure. Variants represent meaningful states or configurations of that component, such as size, emphasis, or interaction state. 6.1 Component mappingComponent mapping connects a Figma component to an existing or planned implementation component. For example: | Figma component | Code component | Properties | Notes |
|---|
| Button | Button | variant, size, disabled, loading | Loading state preserves width | | Text field | TextField | label, value, error, helperText | Label remains available to assistive technology | | Dialog | Dialog | title, open, dismissible | Focus is returned to triggering control |
Mapping is not an instruction to reproduce every layer literally in code. It is a shared vocabulary that helps teams reuse tested patterns rather than create near-duplicates. 6.2 States must be completeA component should be considered incomplete if it shows only its ideal state. Common states include: - default;
- hover;
- focus-visible;
- pressed or selected;
- disabled;
- loading;
- success;
- warning;
- error;
- empty;
- permission-restricted;
- offline or unavailable.
Not every component needs every state, but the decision should be deliberate. Focus-visible is particularly important because keyboard users need a visible indication of location. A disabled control should not be used as the only explanation of why an action cannot be taken; supporting text may be necessary. 7. Variables, Styles, and Design TokensFigma variables and styles provide a way to centralise repeated values. A variable may represent a colour, number, string, or boolean value, depending on the design system and tool configuration. Variables can support themes, modes, responsive values, and consistent updates. A design token is a named decision such as space.300, color.surface.default, or radius.medium. The exact token naming scheme is organisational, but names should express meaning and hierarchy. 7.1 Semantic versus literal valuesA literal value such as #FFFFFF states what a value is. A semantic token such as color.surface.default states how the value is used. Semantic tokens are generally more adaptable because the underlying value can change for dark mode, branding, or accessibility requirements. A practical token hierarchy may contain: - Primitive values: raw colours, type sizes, or spacing units.
- Semantic values: roles such as surface, text, border, and action.
- Component values: rules specific to a button, input, or navigation item.
Do not create tokens for every isolated measurement. Excessive tokenisation increases cognitive load and can make simple decisions difficult to maintain. 7.2 Mapping variables to implementationFor each important variable, document its intended code relationship. For example: | Design variable | Meaning | Implementation note |
|---|
color.action.primary | Main interactive action | Map to primary action token | space.200 | Standard compact gap | Use in component spacing, not arbitrary overrides | motion.duration.fast | Short transition duration | Respect reduced-motion preference |
Values should be validated in the target platform. A Figma variable does not automatically become a working CSS custom property or mobile design token without an agreed workflow. 8. Interaction Notes and PrototypingA prototype demonstrates a user journey, but it may hide important implementation detail. Handoff notes should explain the event, response, state change, and exception. A useful interaction notation is: Trigger → System response → Resulting state → Exception or recovery Example: Select “Save” → validate required fields → show confirmation and update saved status → if validation fails, retain entered values, identify invalid fields, and provide corrective text. Document the following where relevant: - trigger type, such as click, tap, keyboard action, or automatic event;
- transition and timing expectations;
- focus movement;
- validation timing;
- persistence and data loading;
- cancellation and undo;
- error recovery;
- permissions and authentication;
- network failure;
- reduced-motion behaviour.
Do not treat prototype animation as the specification of production motion unless that is explicitly intended. A visually pleasing transition may be technically expensive, inaccessible, or inappropriate for the product context. 9. Acceptance CriteriaAcceptance criteria convert design intent into testable statements. They should be specific enough that a developer can implement them and a tester can evaluate them. Weak criterion: “The form should look correct.” Stronger criteria: - Given a valid email address and password, selecting Create account submits the form and displays the next-step confirmation.
- Given an invalid email address, the field displays an explanatory error message adjacent to the field and the submission is not completed.
- When the field receives keyboard focus, a visible focus indicator appears and meets the product’s accessibility standard.
- When the layout width is reduced below the specified responsive condition, the two-column form becomes a single column without horizontal scrolling.
Acceptance criteria should cover the happy path and important alternatives. A common structure is Given / When / Then, although a checklist may be more practical for visual details. 9.1 Definition of ready and definition of doneA team may define a design as ready when: - approved frames and states are identified;
- components and variables are mapped;
- responsive rules are documented;
- assets are available and licensed;
- unresolved questions are recorded;
- acceptance criteria exist;
- accessibility considerations have been reviewed.
Implementation is done only when the built experience has been tested against those criteria, not merely when code has been merged. 10. A Practical Handoff WorkflowStep 1: Clarify scopeIdentify the feature, target users, supported platforms, out-of-scope behaviour, and delivery priority. Step 2: Audit the designCheck for missing states, inconsistent components, detached instances, unexplained values, placeholder content, and conflicting versions. Step 3: Prepare the systemApply shared components, styles, variables, naming conventions, and layout rules. Remove unnecessary duplication. Step 4: Prepare assets and contentExport or link assets, identify licences, provide text requirements, and document alternative text or localisation constraints. Step 5: Document behaviourDescribe responsive rules, interactions, validation, loading, empty, error, and recovery states. Step 6: Write acceptance criteriaTurn important requirements into observable and testable outcomes. Step 7: Conduct a joint reviewWalk through the user flow with developers and testers. Resolve ambiguity while the cost of change is still low. Step 8: Record decisionsUse comments, tickets, or project documentation to record decisions, owners, and unresolved issues. Do not rely on temporary verbal explanations. Step 9: Validate the implementationCompare the running product with the approved design, but also test behaviour, accessibility, content extremes, and responsive conditions. 11. Worked Application: Illustrative Mobile Banking Transfer FlowThe following is a fictional illustrative case. BackgroundA mobile banking team is designing a transfer flow. The initial prototype contains three screens: selecting a recipient, entering an amount, and confirming the transfer. ProblemDuring an early developer review, the team discovers that the prototype does not specify loading, invalid amounts, insufficient balance, network failure, keyboard behaviour, or the appearance of the confirmation after a successful transfer. AnalysisThe design is visually coherent but not implementation-ready. The principal risks are financial harm, duplicate submission, unclear error recovery, and inaccessible form interaction. Because money movement is a high-consequence activity, ambiguity must be reduced before development. Approach and solutionThe designer prepares the following handoff information: - Component mapping: recipient selector, currency input, alert, primary button, confirmation panel.
- States: default, focused, invalid, loading, disabled, success, and service unavailable.
- Responsive rules: the amount field remains visible above the keyboard; confirmation content uses a single-column layout on narrow screens.
- Interaction notes: selecting transfer submits once; the button enters a loading state; repeated activation is prevented; focus moves to the confirmation heading after success.
- Validation: the amount must be greater than zero and must not exceed the available balance, subject to the product’s transaction rules.
- Acceptance criteria: error messages identify the problem and corrective action; the user’s entered amount is retained after recoverable errors; a failed request does not imply that money was transferred.
- Accessibility: labels are programmatically associated with inputs; status messages are announced appropriately; colour is not the sole indicator of error.
OutcomeThe developer can implement the flow using existing components and can identify the few product decisions that still require confirmation. The tester receives clear cases for successful, invalid, interrupted, and repeated-submission scenarios. Learning pointsThe case demonstrates that implementation readiness is especially important where errors have serious consequences. A prototype showing only the ideal journey is insufficient. Good handoff anticipates uncertainty, failure, and user recovery. 12. Accessibility, Ethics, and GovernanceHandoff documentation is part of responsible design practice. Designers should consider: - keyboard navigation and visible focus;
- screen-reader names, roles, and state announcements;
- sufficient contrast and non-colour status indicators;
- text resizing and reflow;
- touch target size;
- motion sensitivity and reduced-motion preferences;
- plain language and localisation;
- privacy and exposure of personal information;
- permissions, consent, and destructive actions;
- licensing and provenance of assets;
- retention of design decisions and version history.
AI-assisted tools may help generate copy alternatives, inspect layers, or suggest code, but their output requires human review. Generated code may omit accessibility, security, performance, or product-specific constraints. Sensitive user data should not be entered into tools without organisational authorisation. AI should support, not replace, accountable design and engineering decisions. 13. Challenges and LimitationsAmbiguityA design file can contain many visual details while leaving behaviour unspecified. The remedy is explicit notes and joint review. Tool mismatchFigma properties do not always map directly to a particular framework or platform. Mapping must be confirmed with developers. Over-documentationExcessive annotation can obscure important decisions. Prioritise rules, exceptions, accessibility, and risk rather than describing every obvious visual feature. Version driftDesigns and code may evolve independently. Use status labels, change records, and regular review to reduce divergence. False precisionA measurement can appear authoritative even when the real requirement is flexible. Distinguish fixed values from ranges, constraints, and content-driven behaviour. Prototype limitationsA prototype may simulate transitions but cannot fully represent network conditions, real data, device performance, authentication, or assistive technology. Production validation remains necessary. Best-Practice ChecklistBefore marking a feature ready for development, confirm that: - approved frames and flows are clearly identified;
- layers, components, and variants use consistent names;
- responsive behaviour is described as rules;
- all important states are represented;
- variables and styles are mapped to semantic purposes;
- assets, formats, alternative text, and licences are addressed;
- interactions include triggers, outcomes, errors, and recovery;
- acceptance criteria are observable and testable;
- accessibility and reduced-motion considerations are documented;
- unresolved questions have owners and due dates;
- a developer and tester have reviewed the handoff.
Chapter SummaryDeveloper handoff is a structured communication and validation process connecting design intent with implementation. Implementation-ready Figma work is organised, inspectable, and explicit about visual rules, responsive behaviour, component states, variables, assets, interactions, accessibility, and acceptance criteria. Dev Mode can expose measurements and properties, but its value depends on disciplined file structure and meaningful naming. Components should be mapped to reusable implementation patterns, while variables and semantic tokens help maintain consistency across themes and platforms. Responsive specifications should describe layout rules rather than merely list device screenshots. Prototypes must be supplemented with notes about validation, loading, errors, focus, permissions, and recovery. Finally, readiness is confirmed through collaborative review and testable criteria, not through visual polish alone. Key TermsImplementation readiness: The condition in which a design contains enough clear information to be built and tested with minimal fundamental guesswork. Developer handoff: The communication and documentation process connecting design work to implementation. Dev Mode: A Figma workspace for inspecting design properties, assets, measurements, and related implementation information. Component: A reusable interface object with a defined structure and purpose. Variant: A meaningful configuration or state of a component. Component mapping: The relationship between a design component and its implementation counterpart. Variable: A reusable named value in a design file, such as a colour, number, string, or boolean. Design token: A named design decision used consistently across products or components. Semantic token: A token named according to its purpose, such as primary text or surface background. Responsive behaviour: The way an interface changes as available space or device conditions change. Breakpoint: A condition at which a layout or interaction rule changes. Acceptance criterion: A testable condition that must be satisfied for work to be accepted. Focus-visible state: The visible indication of the currently focused interactive element, especially for keyboard users. Interaction state: A component condition such as default, hover, error, loading, or disabled. Asset: A supplied visual or media resource used in an interface. Alternative text: Text that communicates the purpose or meaning of an informative image to users who cannot perceive it visually. Design system: A coordinated collection of principles, tokens, components, patterns, and guidance. Version drift: Divergence between the current design and the implemented product. Definition of done: The agreed conditions indicating that implementation and validation are complete. Review QuestionsShort Answer Questions- What is meant by implementation readiness?
- Why should responsive behaviour be documented as rules rather than only screenshots?
- What is the purpose of component mapping?
- Name four interaction states that may need to be represented in a handoff.
- What is an acceptance criterion?
Long Answer Questions- Explain how a well-organised Figma file supports collaboration between designers, developers, and testers.
- Discuss the role of variables, styles, and semantic design tokens in maintaining a consistent product.
- Describe a complete workflow for preparing a feature for development.
- Explain why a visually complete prototype may still be technically and ethically unready for implementation.
- Discuss the accessibility information that should be included in a developer handoff.
Analytical / Application Questions- A card layout works on a wide screen but produces horizontal scrolling on a narrow screen. What responsive rules and acceptance criteria would you add?
- A developer reports that a Figma button has five visual variants but no loading or error behaviour. Analyse the risk and propose a revised handoff.
- Design and development disagree about whether a repeated colour should be copied as a hexadecimal value or implemented as a semantic token. Recommend an approach and justify it.
Multiple Choice Questions with AnswersQuestion 1Which statement best describes implementation readiness? A. The interface has attractive colours and typography. B. The prototype contains at least one completed user journey. C. The design provides sufficient information to build and test the experience with minimal fundamental guesswork. D. Every layer in the file has been exported as an image. Correct Answer: C. The design provides sufficient information to build and test the experience with minimal fundamental guesswork. Question 2What is the primary purpose of component mapping? A. To connect a Figma component with its reusable implementation counterpart. B. To determine the marketing budget for a feature. C. To replace all user research with visual inspection. D. To convert every design layer into a separate code component. Correct Answer: A. To connect a Figma component with its reusable implementation counterpart. Question 3Which is the strongest responsive specification? A. The design supports popular devices. B. The mobile screen is 375 pixels wide. C. The layout changes when the content no longer fits, with cards stacking and filters moving into a drawer. D. The desktop design should be scaled down proportionally. Correct Answer: C. The layout changes when the content no longer fits, with cards stacking and filters moving into a drawer. Question 4Which state is especially important for keyboard accessibility? A. Focus-visible B. Decorative C. Archived D. Exported Correct Answer: A. Focus-visible Question 5What is the main advantage of a semantic token such as color.surface.default? A. It permanently prevents the value from changing. B. It communicates purpose and supports consistent changes across themes or contexts. C. It guarantees that contrast requirements are satisfied. D. It eliminates the need for component documentation. Correct Answer: B. It communicates purpose and supports consistent changes across themes or contexts. Question 6Which acceptance criterion is most testable? A. The form should feel polished. B. The button should look modern. C. When an invalid email is submitted, an explanatory error appears and submission does not complete. D. The screen should resemble the prototype. Correct Answer: C. When an invalid email is submitted, an explanatory error appears and submission does not complete. Question 7What should happen to a loading submit button in a high-risk transfer flow? A. It should permit unlimited repeated activation. B. It should enter a loading state and prevent duplicate submission. C. It should disappear immediately without feedback. D. It should change colour without communicating status. Correct Answer: B. It should enter a loading state and prevent duplicate submission. Question 8Which asset practice is most responsible? A. Export every visible object as a PNG. B. Ignore licensing because the asset appears in Figma. C. Provide an appropriate format, usage information, licensing status, and alternative-text guidance where relevant. D. Use raster images for all icons regardless of scale. Correct Answer: C. Provide an appropriate format, usage information, licensing status, and alternative-text guidance where relevant. Question 9Why should a prototype be supplemented with interaction notes? A. Prototypes fully represent production networks and assistive technology. B. Notes explain triggers, states, exceptions, and recovery that may not be visible in the prototype. C. Notes make acceptance criteria unnecessary. D. Notes allow developers to avoid testing. Correct Answer: B. Notes explain triggers, states, exceptions, and recovery that may not be visible in the prototype. Question 10Which activity best confirms that a feature is ready for implementation? A. Hiding all exploratory frames without review. B. Conducting a joint review of approved designs, behaviour, states, assets, and acceptance criteria. C. Exporting the entire Figma file as a PDF. D. Adding more animations to the prototype. Correct Answer: B. Conducting a joint review of approved designs, behaviour, states, assets, and acceptance criteria.
|