A software developer creates a list of all objects and functions that will be used in a board game application and then begins to write the code for each object. Which two phases of the Agile approach are being carried out?
Correct Answer: B
Comprehensive and Detailed Explanation From Exact Extract:
The tasks described involve creating a technical plan (listing objects and functions) and coding (writing the objects). According to foundational programming principles and Agile methodologies, these correspond to the design phase (planning the structure) and the implementation phase (coding).
* Agile Phases Analysis:
* Analysis: Defines requirements (e.g., "the game must support players and moves").
* Design: Specifies technical components (e.g., objects like Player, Board, and functions like makeMove()).
* Implementation: Writes the code for the specified components.
* Testing: Verifies the code works as intended.
* Tasks Breakdown:
* Creating a list of objects and functions: This is a design task, as it involves planning the program' s structure (e.g., class diagrams or function signatures).
* Writing the code for each object: This is an implementation task, as it involves coding the objects (e.g., implementing the Player class).
* Option A: "Analysis and design." This is incorrect. Analysis defines high-level requirements, not the specific objects and functions, which are part of design.
* Option B: "Design and implementation." This is correct. Designing the list of objects and functions occurs in the design phase, and writing their code occurs in the implementation phase.
* Option C: "Analysis and implementation." This is incorrect. Analysis does not involve listing technical components like objects and functions.
* Option D: "Design and testing." This is incorrect. Testing verifies the coded objects, not the act of creating their list or writing their code.
Certiport Scripting and Programming Foundations Study Guide (Section on Agile Phases).
Sommerville, I., Software Engineering, 10th Edition (Chapter 4: Agile Software Development).
Agile Alliance: "Design and Implementation" (https://www.agilealliance.org/glossary/design/).