Acceptance criteria are used to confirm that a user story meets the intended purpose by describing clear outcomes that prove the story is acceptable to the product owner. A definition of done sets fixed criteria that all user stories must meet, such as refactored code, testing, and documentation. A sprint goal is a short description of what the team plans to achieve during a sprint, written by the team and product owner to communicate the sprint's purpose.