Practice technical specification vocabulary: spec scope, review-before-implement, deviations, assumptions and constraints, and stakeholder sign-off.
0 / 24 completed
1 / 24
A team process says 'The technical spec covers design, API, and testing.' Why include all three in a single spec?
A comprehensive technical spec aligns the team on the full solution before implementation. Design covers internal structure; API covers external contracts; testing covers acceptance criteria. Together they ensure implementation, API consumers, and QA are aligned — preventing mismatches discovered after the code is written.
2 / 24
Your team's process requires 'The spec is reviewed before implementation.' What is the benefit of reviewing before coding?
Changes to a spec are cheap — a comment and a document edit. Changes to implemented code are expensive — refactoring, testing, updating APIs. Pre-implementation review is the most cost-effective quality gate. It finds gaps, catches ambiguities, and surfaces concerns before any implementation investment is made.
3 / 24
A spec note says 'The implementation may deviate from the spec if needed.' What should a developer do when they deviate?
Deviating from the spec without documenting it creates a dangerous gap — the spec says one thing, the code does another, and future maintainers are misled. When deviation is necessary, update the spec to reflect the actual implementation and explain why the deviation was made.
4 / 24
Your spec template includes 'assumptions and constraints.' What is the purpose of documenting assumptions?
Undocumented assumptions are one of the most common causes of technical problems. 'We assumed the external API would always return in under 200ms' is a classic undocumented assumption that creates fragile systems. Documenting assumptions makes them challengeable and creates a checklist of things to verify.
5 / 24
A spec process includes 'stakeholder sign-off.' Who are typical stakeholders for a technical spec sign-off?
Stakeholder sign-off ensures all affected parties have reviewed and agreed to the plan. Technical specs typically involve: implementing engineers (confirming they understand and agree), a tech lead/architect (confirming technical soundness), product management (confirming requirements are met), and cross-functional partners whose systems are affected.
6 / 24
Sarah: "Hey team, I'm starting work on the new user authentication API. The spec says it should support OAuth 2.0 and JWT tokens. I'm thinking of just returning a simple JSON object with the user ID and email for the response."
Mark (during a code review): "I noticed you're not explicitly stating the expected error responses in the spec. What if the authentication fails? Should we return a 401 Unauthorized or something else?"
This scenario highlights a key aspect of technical specifications: clarity and completeness. While the spec outlines core requirements like OAuth 2.0 and JWT tokens, it doesn't dictate every detail of the response format. The correct answer acknowledges that error handling should be considered, but emphasizes that the foundational data (user ID & email) remains a necessary component. Options A and D miss this crucial point about defining complete responses, while option C oversimplifies the importance of error management.
7 / 24
Mark is reviewing a pull request for a new feature. The PR description states: 'This API endpoint will return a list of products matching the search query.' However, during his review, Mark points out that the spec doesn't define what happens if no products are found. He asks, 'Should we include an error code in the response?'
Which of the following is the MOST appropriate action for the developer to take regarding Mark's comment?
This scenario highlights the importance of API contracts and clear specifications. The correct answer emphasizes that an error code is a crucial component of a robust API response – it defines what happens under exceptional conditions. Options A and D suggest neglecting critical details, while option C focuses on questioning the *reasoning* behind the request, rather than addressing the core issue of defining error handling. Ignoring the comment (option B) would be a significant oversight, as proper error management is vital for API reliability.
8 / 24
Sarah: "Hey team, I'm starting work on the new user authentication API. The spec says it should support OAuth 2.0 and JWT tokens. I'm thinking of just returning a simple JSON object with the user ID and email for the response."
Mark (during a code review): "I noticed you're not explicitly stating the expected error responses in the spec. What if the authentication fails? Should we return a 401 Unauthorized or something else?"
This scenario highlights a key aspect of technical specifications: clarity and completeness. While the spec outlines core requirements like OAuth 2.0 and JWT tokens, it doesn't dictate every detail of the response format. The correct answer acknowledges that error handling should be considered, but emphasizes that the foundational data (user ID & email) remains a necessary component. Options A and D miss this crucial point about defining complete responses, while option C oversimplifies the importance of error management.
9 / 24
Mark is reviewing a pull request for a new feature. The PR description states: 'This API endpoint will return a list of products matching the search query.' However, during his review, Mark points out that the spec doesn't define what happens if no products are found. He asks, 'Should we include an error code in the response?'
Which of the following is the MOST appropriate action for the developer to take regarding Mark's comment?
This scenario highlights the importance of API contracts and clear specifications. The correct answer emphasizes that an error code is a crucial component of a robust API response – it defines what happens under exceptional conditions. Options A and D suggest neglecting critical details, while option C focuses on questioning the *reasoning* behind the request, rather than addressing the core issue of defining error handling. Ignoring the comment (option B) would be a significant oversight, as proper error management is vital for API reliability.
10 / 24
Sarah: "Hey team, I'm starting work on the new user authentication API. The spec says it should support OAuth 2.0 and JWT tokens. I'm thinking of just returning a simple JSON object with the user ID and email for the response."
Mark (during a code review): "I noticed you're not explicitly stating the expected error responses in the spec. What if the authentication fails? Should we return a 401 Unauthorized or something else?"
This scenario highlights a key aspect of technical specifications: clarity and completeness. While the spec outlines core requirements like OAuth 2.0 and JWT tokens, it doesn't dictate every detail of the response format. The correct answer acknowledges that error handling should be considered, but emphasizes that the foundational data (user ID & email) remains a necessary component. Options A and D miss this crucial point about defining complete responses, while option C oversimplifies the importance of error management.
11 / 24
Mark is reviewing a pull request for a new feature. The PR description states: 'This API endpoint will return a list of products matching the search query.' However, during his review, Mark points out that the spec doesn't define what happens if no products are found. He asks, 'Should we include an error code in the response?'
Which of the following is the MOST appropriate action for the developer to take regarding Mark's comment?
This scenario highlights the importance of API contracts and clear specifications. The correct answer emphasizes that an error code is a crucial component of a robust API response – it defines what happens under exceptional conditions. Options A and D suggest neglecting critical details, while option C focuses on questioning the *reasoning* behind the request, rather than addressing the core issue of defining error handling. Ignoring the comment (option B) would be a significant oversight, as proper error management is vital for API reliability.
12 / 24
Sarah: "Hey team, I'm starting work on the new user authentication API. The spec says it should support OAuth 2.0 and JWT tokens. I'm thinking of just returning a simple JSON object with the user ID and email for the response."
Mark (during a code review): "I noticed you're not explicitly stating the expected error responses in the spec. What if the authentication fails? Should we return a 401 Unauthorized or something else?"
This scenario highlights a key aspect of technical specifications: clarity and completeness. While the spec outlines core requirements like OAuth 2.0 and JWT tokens, it doesn't dictate every detail of the response format. The correct answer acknowledges that error handling should be considered, but emphasizes that the foundational data (user ID & email) remains a necessary component. Options A and D miss this crucial point about defining complete responses, while option C oversimplifies the importance of error management.
13 / 24
Mark is reviewing a pull request for a new feature. The PR description states: 'This API endpoint will return a list of products matching the search query.' However, during his review, Mark points out that the spec doesn't define what happens if no products are found. He asks, 'Should we include an error code in the response?'
Which of the following is the MOST appropriate action for the developer to take regarding Mark's comment?
This scenario highlights the importance of API contracts and clear specifications. The correct answer emphasizes that an error code is a crucial component of a robust API response – it defines what happens under exceptional conditions. Options A and D suggest neglecting critical details, while option C focuses on questioning the *reasoning* behind the request, rather than addressing the core issue of defining error handling. Ignoring the comment (option B) would be a significant oversight, as proper error management is vital for API reliability.
14 / 24
David: "I'm implementing the new payment processing API. The spec says 'All transactions must be logged with a timestamp and unique ID.' I'm just using `console.log` for now to debug. It's quick, right?"
The technical specification clearly defines 'All transactions must be logged...'. `console.log` doesn't meet this requirement because it lacks a structured format (timestamp and unique ID). While useful for debugging, the spec dictates a formal logging mechanism to ensure data integrity and auditability. Using `console.log` bypasses this critical element.
15 / 24
During a standup meeting, Maria says, 'I'm working on the user profile update endpoint. The spec outlines a GraphQL schema for retrieving data. I've decided to just use the REST API directly and return a JSON payload – it's simpler.' What is Maria primarily overlooking?
While simplicity can be valuable, a technical specification often defines *how* the API should interact with the system. Directly using the REST API and returning a JSON payload without aligning with the specified GraphQL schema introduces risk – potentially creating inconsistencies and contributing to technical debt. Following the spec ensures interoperability and maintainability.
16 / 24
Ben is reviewing a pull request for a new microservice. The PR description reads: 'This service will expose an API endpoint to receive image uploads.' However, the technical specification states: 'All uploads must be validated against a specific schema before processing and stored in S3 with unique names generated by the system.' What should Ben's primary concern be?
The core requirement of the specification is image validation against a schema. Ben's responsibility as a reviewer is to ensure that the implementation adheres to *all* aspects of the spec – in this case, the validation step before uploading and storing. Ignoring the validation process introduces significant risk of invalid or malformed data.
17 / 24
David: "I'm implementing the new payment processing API. The spec says 'All transactions must be logged with a timestamp and unique ID.' I'm just using `console.log` for now to debug. It's quick, right?"
The technical specification clearly defines 'All transactions must be logged...'. `console.log` doesn't meet this requirement because it lacks a structured format (timestamp and unique ID). While useful for debugging, the spec dictates a formal logging mechanism to ensure data integrity and auditability. Using `console.log` bypasses this critical element.
18 / 24
During a standup meeting, Maria says, 'I'm working on the user profile update endpoint. The spec outlines a GraphQL schema for retrieving data. I've decided to just use the REST API directly and return a JSON payload – it's simpler.' What is Maria primarily overlooking?
While simplicity can be valuable, a technical specification often defines *how* the API should interact with the system. Directly using the REST API and returning a JSON payload without aligning with the specified GraphQL schema introduces risk – potentially creating inconsistencies and contributing to technical debt. Following the spec ensures interoperability and maintainability.
19 / 24
Ben is reviewing a pull request for a new microservice. The PR description reads: 'This service will expose an API endpoint to receive image uploads.' However, the technical specification states: 'All uploads must be validated against a specific schema before processing and stored in S3 with unique names generated by the system.' What should Ben's primary concern be?
The core requirement of the specification is image validation against a schema. Ben's responsibility as a reviewer is to ensure that the implementation adheres to *all* aspects of the spec – in this case, the validation step before uploading and storing. Ignoring the validation process introduces significant risk of invalid or malformed data.
20 / 24
Reviewer Alex comments on a PR: 'The spec states this microservice should use gRPC for internal communication. However, you're using REST with JSON. Can you explain the rationale behind this decision and how it aligns with the documented architecture?' What is Alex primarily assessing?
Alex's question focuses on adherence to established architecture. While JSON and gRPC have performance differences, the core issue is whether the developer followed the documented design principles. The other options are secondary considerations – the efficiency of the protocol itself or the specific version aren't the immediate focus here.
21 / 24
Liam sends a Slack message: 'Just finished implementing the new API endpoint for user roles. The spec clearly states we need to return a 201 Created status code with the new resource's ID in the response body. I'm returning 200 OK and just sending back the ID in the headers – it seems simpler, right?' What potential problem is Liam overlooking?
Liam's simplification ignores the expected behavior defined in the technical specification. Returning a 200 OK status code indicates successful retrieval, not creation – this discrepancy can lead to client-side errors and unexpected behavior. Following RESTful conventions is crucial for interoperability.
22 / 24
The PR description reads: 'This API endpoint will return a list of products matching the search query. The specification requires pagination and filtering capabilities.' What element is *missing* from this description that would make it more effective?
While the description mentions pagination and filtering, it lacks crucial information about *how* those filters are applied. The definition of a 'matching' query is essential for developers to understand how the search algorithm works and what types of queries will return results. This ambiguity can lead to incorrect usage.
23 / 24
During a standup meeting, Chloe says: 'I'm working on the new data migration service. The spec describes the transformation process as 'data mapping,' and it requires us to define a mapping table between the old and new schemas.' I've built the transformation logic directly in my code – no mapping table. It's easier this way, right?', What is Chloe potentially neglecting?
While direct implementation may seem easier initially, Chloe is neglecting the critical aspect of maintainability and error prevention. Hardcoding the mapping table makes it difficult to understand, modify, or debug the transformation logic later on. A clearly defined mapping table would provide a single source of truth and reduce potential errors.
24 / 24
The API documentation for the 'user_profile' endpoint states: 'This endpoint returns a JSON object containing the user's profile data. The response will always include a 'status' field indicating success or failure.' A recent request returned a 200 OK response with a 'status': 'error'. What is the most appropriate action for the developer to take?
The core responsibility is to address the reported error. Ignoring it or updating documentation without investigation isn't a solution. Logging and investigating the error are crucial steps to identify and resolve the underlying problem – this demonstrates proper troubleshooting and ensures API reliability.
What does the "Technical Specification Vocabulary" exercise cover?
Practice technical specification vocabulary: spec scope, review-before-implement, deviations, assumptions and constraints, and stakeholder sign-off.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
How many questions are in "Technical Specification Vocabulary"?
This exercise has 24 questions. Each one gives instant feedback with an explanation, so you can see exactly why an answer is right or wrong.
Do I need to create an account to save my progress?
No account is required. The progress bar and score are tracked in your browser for the current session -- the exercise is designed to be a quick, repeatable drill rather than something you resume later.
What happens if I get an answer wrong?
You'll see the correct answer highlighted immediately, along with a short explanation of why it's correct. Wrong answers aren't penalized beyond your score, and you can keep going through every question.
How is this exercise different from reading an article?
Articles explain vocabulary and concepts through prose, while exercises like this one are interactive drills -- multiple-choice questions -- that test and reinforce your recall of specific terms and phrasing.
Can I retry this exercise?
Yes -- use the "Try again" button on the results screen to reset your score and go through all the questions again from the start.
Where can I find more Documentation Types exercises?
Browse the full Documentation Types hub for related drills, or check the site-wide exercises index for other IT English topics.
Is this exercise suitable for beginners?
This exercise assumes basic familiarity with IT terminology. If a term feels unfamiliar, check the site Glossary for a plain-English definition before attempting the questions.
How often is new content like this published?
New exercises are added regularly across all categories, alongside new vocabulary sets and articles. Check back on the exercises hub to see what's new.