Difference Between 'Code Complete' and 'Done'?
Tests if you grasp value delivery vs. task completion. A great answer defines 'code complete' as a dev step and 'Done' as a team-agreed state of shippable value, governed by the Definition of Done. A red flag is equating 'Done' with just 'QA passed'.
WHAT THIS TESTS: This question tests whether you think in terms of delivering business value versus simply completing technical tasks. Interviewers are looking for a senior mindset that understands ownership, quality, and team accountability. It separates candidates who see their job as 'writing code' from those who see it as 'shipping a valuable, working product'.
A GOOD ANSWER COVERS: A good answer covers four key points in order: first, define 'Code Complete' as a developer-centric milestone where code is written, passes unit tests, and is checked in. Second, define 'Done' as a team-agreed, product-centric state where a Product Backlog Item (PBI) provides demonstrable value and is potentially shippable. Third, identify the key artifact as the 'Definition of Done' (DoD), a formal, living document created by the entire Scrum Team that acts as a quality checklist. Fourth, explain that the gap between the two states represents all other value-add activities like integration testing, QA, documentation, and security scans.
COMMON WRONG ANSWERS: A major red flag is a siloed, 'not my job' mentality. Saying 'Code Complete' is where the developer's responsibility ends is a classic example. Another common mistake is equating 'Done' with 'QA approved'. While QA is part of the process, 'Done' is a commitment from the entire team, not just one function. Finally, stating that the Product Owner or a manager dictates the Definition of Done is incorrect; the Scrum Guide is clear that the entire Scrum Team creates it.
LIKELY FOLLOW-UPS: Expect follow-ups that probe your practical experience. For example: 'How do you handle sprints where the team consistently fails to get items to Done?', 'Who is responsible if a bug is found in a 'Done' item after the sprint?', or 'Describe a good Definition of Done for a service you've built.'
ONE CONCRETE EXAMPLE: For a PBI like 'User can reset their password', 'Code Complete' means the backend endpoint is built and unit tested. 'Done', according to a team's DoD, might require that plus: the front-end form is integrated and works, automated E2E tests pass, the feature is reviewed and accepted by the Product Owner, performance tests show a response time under 300ms, and relevant technical documentation is updated.
Read the original → scrumguides.org
Get five bites like this every day.
Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.