✏️ Explanatory Question

What is Design Acceptance in Dynamics 365 Finance & Operations, and why must the functional design be "accepted" by the development team before any development starts? What checkpoints should this acceptance include?

👁 3 Views
📘 Detailed Answer
🟢 Easy
💡

Answer with Explanation

D365 F&O • X++ INTERVIEW

Design Acceptance & Code Quality Checkpoints in Dynamics 365 Finance & Operations

Question 36 — Why a design must be "accepted" before development, and the checkpoints involved.

Interview Question

What is Design Acceptance in Dynamics 365 Finance & Operations, and why must the functional design be "accepted" by the development team before any development starts? What checkpoints should this acceptance include?

Model Answer (Short)

Design Acceptance is the quality gate where the development team formally accepts a functional design before coding begins. The reasoning is simple: a poor functional or technical design produces poor-quality code, so issues are far cheaper to fix at the design stage. Acceptance requires a complete design that follows best practices and comes with a "warm" handover — a live session between the developer and the functional consultant. The design must include test cases (normal and abnormal flows), adhere to new frameworks and extensibility features, avoid rebuilding standard functionality, and document UX, security, data volumes, usage, business criticality and language requirements — and it must be kept up to date afterwards.

Acceptance Checkpoints

What acceptance must include

  • Only accept designs that are complete, follow best practices, and had a proper handover.
  • The handover must be a "warm" handover — a session between the developer and the functional consultant.
  • Designs must include test cases for both normal and abnormal flows, testable and run by the developer.
  • Adhere to new frameworks and features, including extensibility (e.g. price/discount, inventory dimension extensibility).
  • Ensure you are not rebuilding standard functionality — the technical team is the final guard, but it should be caught in gap management/design.
  • Designs should document UX, roles & security, expected data volumes, expected usage, business criticality and language requirements.
  • Designs must be kept up to date — later changes must be documented in the code.
CORE PRINCIPLE
Poor designpoor code  •  Accept before you build

Why it matters

  • Catches gaps and misunderstandings before expensive development effort.
  • A warm handover ensures the developer truly understands the intent.
  • Built-in test cases make the deliverable verifiable from day one.
  • Prevents duplicate/standard rebuilds and enforces framework adherence.

Design Acceptance Checklist

Checkpoint What to verify
Completeness Design is complete and follows best practices
Warm handover Live session between developer & functional consultant
Test cases Normal & abnormal flows, testable by the developer
Frameworks Uses new frameworks/extensibility features
No standard rebuild Not duplicating existing standard functionality
Non-functional detail UX, security, data volumes, usage, criticality, language
Maintainability Kept up to date; changes documented in code

Points the interviewer wants to hear

  • Design must be accepted before development — poor design means poor code.
  • Requires a complete design and a warm handover session.
  • Must include test cases for normal and abnormal flows.
  • Must reuse standard functionality, not rebuild it, and follow new frameworks.
  • Must document UX, security, volumes, usage, criticality, language and stay up to date.

Likely Follow-up Questions

  • What is a "warm handover" and why is it important?
  • Why must test cases be part of the design, not an afterthought?
  • Who is the final guard against rebuilding standard functionality?
  • What non-functional details must a design document?

Key Takeaway

Design Acceptance is the quality gate before coding: accept only complete, best-practice designs delivered via a warm handover, complete with test cases, framework adherence, no standard rebuilds, and documented non-functional requirements — because good design is the foundation of good code.