🔄

Software Engineering / SDLC / Agile MCQ

Test your Software Engineering, SDLC and Agile knowledge with 100 multiple choice questions covering fundamentals to advanced concepts, with instant feedback and explanations.

100 Questions 40 Beginner 40 Intermediate 20 Advanced

How This Practice Test Works

Every question below expands right on this page — click a question to reveal its four options, pick the one you think is correct, and you'll get instant feedback along with the correct answer and a short explanation of the reasoning. Questions are grouped by difficulty, so start with the 40 beginner questions to confirm your fundamentals, work through the 40 intermediate ones, and finish with the 20 advanced questions that mirror what exams and technical screenings actually ask. There's no sign-up, no timer, and no limit — retake the test as often as you like.

Curated by Tech Baithak Editorial Team  ·  Last updated: June 2026

1

What does "SDLC" stand for?

A

Correct Answer

Software Development Life Cycle

Explanation

SDLC (Software Development Life Cycle) describes the structured process of planning, creating, testing, and deploying software.

2

What is the typical first phase of the SDLC?

A

Correct Answer

Requirements gathering / analysis

Explanation

Most SDLC models begin with gathering and analyzing requirements to understand what the software needs to do before any design or coding begins.

3

What is the "Waterfall" model in software development?

A

Correct Answer

A sequential development approach where each phase (requirements, design, implementation, testing, deployment) must be completed before the next phase begins

Explanation

The Waterfall model follows a strict, linear progression through phases, with each phase depending on the completion and sign-off of the previous one — making it simple but inflexible to changing requirements.

4

What is "Agile" software development?

A

Correct Answer

An iterative approach to software development that emphasizes flexibility, collaboration, and delivering working software in small increments

Explanation

Agile development breaks work into small, iterative cycles (sprints), allowing teams to adapt to changing requirements and deliver value incrementally, in contrast to the rigid, linear Waterfall approach.

5

What is a "sprint" in Scrum?

A

Correct Answer

A fixed, short time period (typically 1-4 weeks) during which a Scrum team works to complete a set amount of work

Explanation

Sprints are time-boxed iterations in Scrum during which a team commits to completing a specific set of work, ending with a review and retrospective before the next sprint begins.

6

What is the role of a "Product Owner" in Scrum?

A

Correct Answer

The person responsible for defining and prioritizing the product backlog, representing stakeholder and customer interests

Explanation

The Product Owner manages the product backlog, ensuring it reflects business priorities, and works closely with stakeholders and the development team to maximize the value delivered.

7

What is a "Scrum Master" responsible for?

A

Correct Answer

Facilitating the Scrum process, removing obstacles for the team, and ensuring Scrum practices are followed effectively

Explanation

The Scrum Master is a servant-leader who coaches the team on Scrum practices, facilitates meetings, and helps remove impediments, but does not direct the team's work like a traditional manager.

8

What is a "user story" in Agile development?

A

Correct Answer

A short, simple description of a feature told from the perspective of the person who desires the capability, often following the format "As a [user], I want [goal] so that [benefit]"

Explanation

User stories capture requirements in simple, user-focused language, helping teams understand the value behind a feature without prescribing the exact implementation details.

9

What is a "product backlog" in Scrum?

A

Correct Answer

A prioritized list of features, enhancements, bug fixes, and other work items that need to be done for the product

Explanation

The product backlog is a continuously evolving, prioritized list maintained by the Product Owner, representing everything that might be needed in the product.

10

What is the purpose of a "daily standup" (daily Scrum) meeting?

A

Correct Answer

A short, time-boxed daily meeting where team members share what they did yesterday, what they plan to do today, and any blockers they are facing

Explanation

Daily standups (typically 15 minutes) keep the team synchronized, surface blockers early, and promote transparency without requiring lengthy status meetings.

11

What is "version control," and why is it important in software development?

A

Correct Answer

A system that records changes to files over time, allowing developers to track history, collaborate without overwriting each other's work, and revert to previous versions if needed

Explanation

Version control systems like Git track every change made to a codebase, enabling collaboration, history tracking, branching for parallel work, and the ability to roll back to earlier states.

12

What is a "requirements specification" document used for?

A

Correct Answer

A document that describes what a software system should do, including functional and non-functional requirements, serving as a reference for design, development, and testing

Explanation

Requirements specifications capture what stakeholders need from the system, providing a shared understanding that guides design, implementation, and validation throughout development.

13

What is the difference between "functional" and "non-functional" requirements?

A

Correct Answer

Functional requirements describe what the system should do (specific behaviors or features); non-functional requirements describe how the system should perform (e.g., performance, security, usability, scalability)

Explanation

Functional requirements specify concrete features (e.g., "users can reset their password"), while non-functional requirements specify quality attributes (e.g., "the system must respond within 2 seconds").

14

What is "software testing," at a basic level?

A

Correct Answer

The process of evaluating a software application to find defects, verify it meets requirements, and ensure it behaves as expected

Explanation

Testing involves executing a program or system with the intent of finding errors, verifying that it satisfies specified requirements, and assessing overall quality before release.

15

What is a "bug" (or "defect") in software?

A

Correct Answer

An error, flaw, or fault in a program that causes it to produce an incorrect or unexpected result, or to behave in unintended ways

Explanation

Bugs are deviations between the actual and expected behavior of software, often discovered during testing or use, and tracked through a bug-tracking or issue-tracking system.

16

What is the purpose of "documentation" in software projects?

A

Correct Answer

Written material that describes the software's design, functionality, usage, or codebase, helping developers, users, and stakeholders understand and maintain the system

Explanation

Good documentation (technical docs, API references, user guides, code comments) reduces onboarding time, aids maintenance, and ensures knowledge isn't lost when team members change.

17

What is "maintenance" in the context of the software development life cycle?

A

Correct Answer

The ongoing phase after software deployment that involves fixing bugs, making updates, and adapting the software to new requirements or environments

Explanation

Maintenance is often the longest phase of a software product's life, encompassing corrective fixes, adaptive changes (e.g., for new OS versions), and enhancements based on user feedback.

18

What is the "V-model" of software development?

A

Correct Answer

An extension of the Waterfall model where each development phase has a corresponding testing phase, forming a V-shape when diagrammed, emphasizing verification and validation at each stage

Explanation

The V-model pairs each development stage (e.g., requirements, design) with a corresponding test stage (e.g., acceptance testing, system testing), emphasizing early test planning alongside development activities.

19

What does "MVP" stand for in product development, and what does it mean?

A

Correct Answer

Minimum Viable Product — a version of a product with just enough features to be usable by early customers, who can then provide feedback for future development

Explanation

An MVP allows teams to validate assumptions and gather real user feedback quickly, with minimal development investment, before committing to building out a full feature set.

20

What is "pair programming" in Agile/XP (Extreme Programming) practices?

A

Correct Answer

A practice where two programmers work together at one workstation, with one writing code (the "driver") while the other reviews each line as it is written (the "navigator")

Explanation

Pair programming aims to improve code quality and knowledge sharing through continuous review, with the driver and navigator roles often switching periodically.

21

What is "continuous integration" (CI)?

A

Correct Answer

A development practice where developers frequently merge their code changes into a shared repository, with automated builds and tests run on each integration to detect issues early

Explanation

By integrating and testing code changes frequently (often multiple times a day), CI helps catch integration issues and bugs early, before they compound into larger problems.

22

What is "continuous deployment" (CD), and how does it relate to continuous delivery?

A

Correct Answer

Continuous deployment automatically releases every change that passes automated tests directly to production; continuous delivery ensures code is always in a deployable state but may require manual approval before release to production

Explanation

Continuous delivery keeps the codebase always ready for release (with a manual "go" step), while continuous deployment goes further by automatically pushing every validated change to production without manual intervention.

23

What is a "stakeholder" in a software project?

A

Correct Answer

Any individual or group with an interest in or who is affected by the outcome of the project, such as customers, end users, sponsors, or team members

Explanation

Stakeholders can include customers, end users, project sponsors, managers, and the development team — anyone whose interests should be considered when making project decisions.

24

What is a "use case" in software requirements analysis?

A

Correct Answer

A description of how a user interacts with a system to achieve a specific goal, typically detailing the steps involved and possible outcomes

Explanation

Use cases capture functional requirements from a user's perspective, describing interactions between actors (users or systems) and the system to accomplish specific goals.

25

What is "code review"?

A

Correct Answer

A process where one or more developers examine another developer's code to find bugs, ensure code quality, and share knowledge before the code is merged

Explanation

Code reviews help catch bugs, enforce coding standards, share knowledge across the team, and improve overall code quality before changes are merged into the main codebase.

26

What is "technical debt"?

A

Correct Answer

The implied cost of additional rework caused by choosing an easy or quick solution now instead of a better approach that would take longer

Explanation

Technical debt accumulates when shortcuts are taken during development (e.g., skipping tests, hardcoding values); over time, this debt must be "paid down" through refactoring or it can slow future development.

27

What is the purpose of a "retrospective" meeting in Scrum?

A

Correct Answer

A meeting held at the end of a sprint where the team reflects on what went well, what didn't, and identifies improvements for future sprints

Explanation

Retrospectives foster continuous improvement by giving the team a regular, structured opportunity to discuss their process and identify actionable changes for the next sprint.

28

What does "Kanban" refer to in software development?

A

Correct Answer

A visual workflow management method that uses a board with columns (e.g., To Do, In Progress, Done) and cards to represent and limit work in progress

Explanation

Unlike Scrum, Kanban doesn't use fixed-length sprints; instead, it focuses on visualizing workflow, limiting work-in-progress (WIP), and continuously delivering work as capacity allows.

29

What is "refactoring" in software development?

A

Correct Answer

The process of restructuring existing code without changing its external behavior, typically to improve readability, reduce complexity, or improve maintainability

Explanation

Refactoring improves the internal structure of code (e.g., renaming variables, extracting functions, removing duplication) while preserving its observable behavior, making future changes easier and safer.

30

What is "scope creep" in project management?

A

Correct Answer

The uncontrolled expansion of a project's scope, where new features or requirements are added without corresponding adjustments to time, budget, or resources

Explanation

Scope creep often results from poorly defined requirements or lack of change control, leading to delays, budget overruns, and reduced quality if not managed properly.

31

What is the difference between "verification" and "validation" in software quality assurance?

A

Correct Answer

Verification checks whether the software is being built correctly according to specifications ("are we building it right?"), while validation checks whether the right software is being built to meet user needs ("are we building the right thing?")

Explanation

Verification is often associated with activities like code reviews and unit testing against specifications, while validation involves checking the final product against actual user needs, often through acceptance testing.

32

What is "pseudocode," and why is it used?

A

Correct Answer

An informal, high-level description of an algorithm using a mix of natural language and simplified programming-like syntax, used to plan logic before writing actual code

Explanation

Pseudocode helps developers plan and communicate algorithm logic in a readable way without worrying about exact syntax of a specific programming language.

33

What is the purpose of "acceptance criteria" for a user story?

A

Correct Answer

A set of conditions that a user story must satisfy to be considered complete and accepted by the product owner or stakeholders

Explanation

Clear acceptance criteria help the development team understand exactly what "done" means for a story and provide a basis for testing whether the implementation meets expectations.

34

What is "prototyping" in software development?

A

Correct Answer

Creating an early, often simplified or partial, working model of a software application to demonstrate concepts, gather feedback, or test feasibility before full development

Explanation

Prototypes allow stakeholders to visualize and interact with early versions of a system, helping refine requirements and reduce the risk of building the wrong thing.

35

What is the role of a "tester" or "QA engineer" in a software team?

A

Correct Answer

To verify that the software meets requirements, find defects, and ensure overall quality through various testing techniques before release

Explanation

QA engineers design and execute test cases, report defects, and work closely with developers to ensure the final product meets quality standards.

36

What is a "burndown chart" used for in Scrum?

A

Correct Answer

A visual chart showing the amount of work remaining versus time, helping the team track progress toward completing the sprint or project goals

Explanation

Burndown charts plot remaining work (e.g., story points or hours) over the sprint timeline, helping teams visualize whether they are on track to complete planned work.

37

What is the difference between a "feature" and a "bug fix" in terms of software changes?

A

Correct Answer

A feature adds new functionality or capability to the software, while a bug fix corrects existing incorrect behavior without necessarily adding new functionality

Explanation

Distinguishing features from bug fixes helps with release planning, changelog organization, and prioritization, since bug fixes often address user-impacting issues while features add new value.

38

What does "DRY" stand for as a software design principle?

A

Correct Answer

Don't Repeat Yourself — a principle aimed at reducing repetition of code or logic by abstracting common functionality

Explanation

The DRY principle encourages extracting repeated logic into reusable functions, classes, or modules, reducing duplication and making maintenance easier since changes only need to be made in one place.

39

What is the purpose of an "issue tracker" (e.g., Jira, GitHub Issues)?

A

Correct Answer

A tool used to record, track, and manage bugs, feature requests, and tasks throughout a software project's lifecycle

Explanation

Issue trackers provide visibility into the status of bugs, features, and tasks, supporting prioritization, assignment, and progress tracking across a team.

40

What is "cross-functional team" in Agile, and why is it valued?

A

Correct Answer

A team composed of members with different skill sets (e.g., developers, testers, designers) who together have all the capabilities needed to deliver a product increment without relying on outside teams

Explanation

Cross-functional teams reduce handoffs and dependencies on external teams, enabling faster delivery and better collaboration since all necessary skills are present within the team.

1

What is the main drawback of the Waterfall model when requirements are likely to change during development?

A

Correct Answer

Because each phase must be completed before moving to the next, accommodating changed requirements late in the process is difficult and costly, often requiring the project to revisit earlier completed phases

Explanation

The Waterfall model's rigid, sequential nature makes it poorly suited to projects where requirements evolve, since changes discovered late often require expensive rework of earlier phases like design or even requirements.

2

What is "story point" estimation in Agile, and why might teams prefer it over estimating in hours?

A

Correct Answer

Story points are a relative measure of effort, complexity, and risk for a story; teams may prefer them over hours since they focus on relative sizing rather than precise time predictions, which can be inaccurate and vary between individuals

Explanation

Story points abstract away individual differences in speed and allow teams to compare relative effort/complexity between stories, often using scales like Fibonacci numbers, which can lead to more consistent estimation over time through team calibration.

3

What is "Planning Poker" used for in Agile estimation?

A

Correct Answer

A consensus-based technique where team members independently and simultaneously estimate the effort for a user story using cards (often with Fibonacci-like numbers), then discuss discrepancies to reach agreement

Explanation

By having team members reveal estimates simultaneously (avoiding anchoring bias) and then discussing significant differences, Planning Poker helps surface differing assumptions and leads to more accurate, shared understanding of a story's complexity.

4

What is "velocity" in Scrum, and how is it typically used?

A

Correct Answer

A measure of the amount of work (often in story points) a team completes in a sprint, used to help forecast how much work can be completed in future sprints

Explanation

Velocity is calculated by summing the story points of completed work in past sprints, and averaging it over several sprints can help teams forecast future capacity for release planning — though it should not be used to compare different teams.

5

What is "definition of done" (DoD), and why is it important?

A

Correct Answer

A shared, agreed-upon checklist of criteria that must be met for any piece of work to be considered complete, helping ensure consistent quality and avoiding ambiguity about what "finished" means

Explanation

A clear DoD (e.g., code reviewed, tests passing, documentation updated) prevents disagreements about whether work is truly complete and helps maintain consistent quality standards across the team.

6

What is the difference between "Scrum" and "Kanban" regarding work-in-progress (WIP)?

A

Correct Answer

Scrum limits work-in-progress implicitly through fixed-length sprints with committed work; Kanban explicitly limits the number of items allowed in each workflow stage at any time, regardless of sprint boundaries, enabling continuous flow

Explanation

Kanban's explicit WIP limits on each column help identify bottlenecks and maintain a steady flow of work, whereas Scrum organizes work into time-boxed sprints with a committed backlog for that period.

7

What is a "spike" in Agile/Scrum terminology?

A

Correct Answer

A time-boxed research or investigation task undertaken to answer a question or gather information needed to estimate or implement a future user story, rather than to deliver a shippable feature directly

Explanation

Spikes are used to reduce uncertainty — for example, researching a new technology or prototyping an approach — before committing to estimates or implementation for related stories.

8

What is the purpose of "epics" in Agile project management?

A

Correct Answer

Large bodies of work that can be broken down into smaller, more manageable user stories, often spanning multiple sprints or releases, used to organize and track high-level features or initiatives

Explanation

Epics provide a way to group related user stories under a larger theme or initiative, helping teams and stakeholders understand how individual stories contribute to bigger goals.

9

What is "test-driven development" (TDD), and what is its basic workflow?

A

Correct Answer

A development approach where developers write a failing automated test for a desired behavior first, then write the minimum code needed to pass the test, and finally refactor the code while keeping the test passing (often called "red-green-refactor")

Explanation

The red-green-refactor cycle of TDD encourages writing only the code necessary to satisfy tests, which can lead to better-designed, more testable code and a comprehensive automated test suite as a byproduct.

10

What is the difference between "unit testing," "integration testing," and "system testing"?

A

Correct Answer

Unit testing verifies individual components or functions in isolation; integration testing verifies that multiple components work correctly together; system testing verifies the complete, integrated system against overall requirements

Explanation

These testing levels form a hierarchy of increasing scope — from testing small isolated pieces (units), to verifying interactions between components (integration), to validating the whole system against requirements (system testing).

11

What is "regression testing"?

A

Correct Answer

Re-running existing tests after code changes to ensure that previously working functionality has not been broken by the new changes

Explanation

As code evolves, regression tests help catch unintended side effects of changes, ensuring that fixes or new features don't reintroduce previously fixed bugs or break existing functionality.

12

What is the purpose of a "design pattern" in software engineering?

A

Correct Answer

A general, reusable solution to a commonly occurring problem in software design, providing a template that can be adapted to solve the problem in different contexts

Explanation

Design patterns (like Singleton, Factory, Observer) capture proven solutions to recurring design problems, providing a shared vocabulary and starting point that developers can adapt to their specific situation.

13

What is the purpose of "static code analysis" tools (e.g., linters)?

A

Correct Answer

Tools that analyze source code without executing it, to identify potential bugs, code style violations, security vulnerabilities, or maintainability issues automatically

Explanation

Static analysis tools like linters and security scanners examine code structure and patterns to catch issues early in development, before the code is even run, complementing dynamic testing approaches.

14

What is "feature flagging" (feature toggles), and how is it used in software delivery?

A

Correct Answer

A technique that allows developers to enable or disable specific features in production without deploying new code, often used for gradual rollouts, A/B testing, or quickly disabling problematic features

Explanation

Feature flags decouple deployment from release, allowing teams to merge code continuously while controlling when and to whom features are exposed, and providing a quick "kill switch" if issues arise.

15

What is the purpose of a "code freeze" before a release?

A

Correct Answer

A period during which no new code changes (except critical bug fixes) are allowed to be merged, providing stability for final testing and release preparation

Explanation

Code freezes reduce the risk of introducing new, untested issues right before a release, giving QA teams a stable target to validate against.

16

What is the difference between "white-box testing" and "black-box testing"?

A

Correct Answer

White-box testing involves designing test cases with knowledge of the internal code structure and logic; black-box testing involves testing functionality without knowledge of the internal implementation, focusing only on inputs and outputs

Explanation

White-box testing (e.g., unit tests examining code paths) leverages internal knowledge to design thorough tests, while black-box testing (e.g., acceptance tests) evaluates the system purely from an external, user-facing perspective.

17

What is "exploratory testing"?

A

Correct Answer

An informal testing approach where the tester simultaneously learns about the system, designs tests, and executes them, relying on intuition and experience rather than predefined test scripts

Explanation

Exploratory testing is particularly useful for finding unexpected issues that scripted tests might miss, as testers use creativity and domain knowledge to probe the application in unscripted ways.

18

What is the role of "non-functional requirements" like scalability and security in system design decisions?

A

Correct Answer

They constrain and influence architectural choices — for example, a requirement for high scalability might lead to a distributed architecture, while strong security requirements might dictate encryption and access control throughout the system

Explanation

Non-functional requirements often drive significant architectural decisions early in a project, since retrofitting scalability or security into a poorly suited architecture can be far more costly than designing for them upfront.

19

What is "risk-based testing"?

A

Correct Answer

A testing strategy that prioritizes testing efforts based on the likelihood and impact of potential failures, focusing more resources on high-risk areas of the application

Explanation

By focusing testing effort on areas most likely to fail or that would have the greatest impact if they did, risk-based testing helps teams use limited time and resources more effectively.

20

What is the purpose of "code coverage" metrics in testing, and what is a limitation of relying on them too heavily?

A

Correct Answer

Code coverage measures the percentage of source code executed by tests, helping identify untested areas; however, high coverage doesn't guarantee tests are meaningful — code can be "executed" without actually verifying correct behavior

Explanation

While useful for identifying gaps in testing, code coverage is a quantity metric, not a quality metric — tests can achieve high coverage while still failing to verify important behaviors or edge cases.

21

What is the purpose of a "RACI matrix" in project management?

A

Correct Answer

A chart that clarifies roles and responsibilities for tasks or deliverables by identifying who is Responsible, Accountable, Consulted, and Informed for each activity

Explanation

RACI matrices help avoid confusion about ownership and decision-making by clearly defining each stakeholder's role in relation to specific tasks or deliverables.

22

What is "SOLID" in object-oriented design, at a high level (just the acronym's purpose)?

A

Correct Answer

A set of five design principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) intended to make object-oriented software more maintainable, flexible, and understandable

Explanation

The SOLID principles, popularized by Robert C. Martin, provide guidelines aimed at reducing coupling and increasing cohesion in object-oriented designs, making systems easier to extend and maintain over time.

23

What is the difference between "verification testing" and "smoke testing"?

A

Correct Answer

Smoke testing is a quick, preliminary check of whether the most critical functions of a build work, used to decide if further testing is worthwhile; verification testing more broadly checks that a product meets specified requirements

Explanation

Smoke tests act as a quick "sanity check" — if they fail, the build is often rejected immediately without proceeding to more time-consuming detailed testing.

24

What is the purpose of "branching strategies" (e.g., Git Flow, trunk-based development) in version control?

A

Correct Answer

They define conventions for how and when developers create, merge, and manage branches in a repository, balancing the need for isolated development work with the goal of integrating changes frequently and avoiding long-lived divergent branches

Explanation

Different strategies (e.g., Git Flow with long-lived release/develop branches vs. trunk-based development with frequent merges to a main branch) trade off isolation for integration frequency, impacting how easily CI/CD can be implemented.

25

What is the purpose of "load testing" and "stress testing," and how do they differ?

A

Correct Answer

Load testing evaluates how a system performs under expected normal and peak usage conditions; stress testing pushes the system beyond normal operating capacity to identify its breaking point and how it behaves/recovers under extreme conditions

Explanation

Load testing helps verify the system meets performance requirements under realistic conditions, while stress testing reveals how the system fails under extreme load and whether it can recover gracefully afterward.

26

What is "pair review" or "buddy check," and how does it relate to formal code inspections?

A

Correct Answer

An informal review where one colleague reviews another's work (often less structured than formal inspections, which involve scheduled meetings, defined roles, and documented checklists), providing a lighter-weight quality check

Explanation

While formal inspections (like Fagan inspections) follow strict, documented processes, informal peer/buddy reviews offer a faster, lower-overhead way to catch issues, often used for day-to-day code review on pull requests.

27

What is the purpose of "user acceptance testing" (UAT)?

A

Correct Answer

A final phase of testing where actual end users or clients test the software in a real-world or simulated environment to verify it meets their needs and is ready for deployment

Explanation

UAT provides confidence that the software satisfies business requirements and user expectations from the perspective of those who will actually use it, often serving as a final gate before release.

28

What is the purpose of "configuration management" in software engineering?

A

Correct Answer

The process of systematically tracking and controlling changes to software artifacts (code, configuration files, documentation) and environments, ensuring consistency and traceability across versions and deployments

Explanation

Configuration management ensures that the state of software, infrastructure, and environments is known and reproducible, which is critical for debugging, audits, and reliable deployments.

29

What is the difference between "iterative" and "incremental" development?

A

Correct Answer

Iterative development repeatedly refines a system or feature through successive cycles; incremental development builds the system piece by piece, delivering separate, complete portions of functionality — many Agile approaches combine both

Explanation

In practice, Agile methods often combine both: building functionality incrementally (one feature at a time) while iterating on the design and implementation of each piece based on feedback.

30

What is the purpose of "root cause analysis" (RCA) when investigating a production incident?

A

Correct Answer

A method for identifying the underlying, fundamental cause(s) of a problem, rather than just addressing its symptoms, in order to prevent the issue from recurring

Explanation

By digging into why an issue truly occurred (e.g., using techniques like the "5 Whys"), teams can implement fixes that prevent recurrence, rather than just patching the immediate symptom.

31

What is "pair-wise testing" (also known as all-pairs testing)?

A

Correct Answer

A combinatorial test design technique that generates a reduced set of test cases ensuring that all possible pairs of input parameter values are covered at least once, rather than testing every possible combination

Explanation

Pair-wise testing dramatically reduces the number of test cases needed compared to exhaustive combinatorial testing, while still catching many defects caused by interactions between pairs of parameters.

32

What is the purpose of "stakeholder analysis" early in a project?

A

Correct Answer

Identifying all individuals or groups affected by or interested in the project, understanding their needs, influence, and expectations, in order to manage communication and address conflicting requirements effectively

Explanation

Understanding stakeholders' needs, priorities, and potential conflicts early helps shape requirements, communication plans, and risk management strategies throughout the project.

33

What is "continuous feedback" in Agile, and why is it valuable?

A

Correct Answer

Regularly gathering input from users, stakeholders, and team members throughout development (rather than only at the end), allowing course corrections to be made early when they are cheaper and easier

Explanation

Early and frequent feedback loops (e.g., sprint reviews, demos, user testing) help catch misunderstandings or changing needs sooner, reducing the cost of correcting course compared to discovering issues at the end of a long project.

34

What is the purpose of an "architecture decision record" (ADR)?

A

Correct Answer

A document that captures an important architectural decision, the context in which it was made, the options considered, and the reasoning behind the chosen approach, providing historical context for future team members

Explanation

ADRs help future team members understand why certain architectural choices were made, preventing repeated debates and providing context that might otherwise be lost as team membership changes over time.

35

What is the difference between "verification suites" run in a CI pipeline and "manual exploratory testing" performed before a major release?

A

Correct Answer

CI pipeline suites run automated, repeatable checks quickly and consistently on every change; manual exploratory testing relies on human judgment and creativity to find issues automated tests may miss, done less often due to its time cost

Explanation

Automated CI tests provide fast, consistent feedback on known scenarios with every code change, while exploratory testing leverages human intuition to probe for unexpected issues — both play complementary roles in a quality strategy.

36

What is the purpose of "capacity planning" in Agile release management?

A

Correct Answer

Estimating the amount of work a team can realistically complete in a given timeframe, based on factors like team velocity, availability (holidays, leave), and other commitments, to set realistic sprint or release goals

Explanation

By accounting for known absences and historical velocity, capacity planning helps teams commit to realistic amounts of work, reducing the risk of over-committing and missing sprint goals.

37

What is "shift-left testing," and what benefit does it aim to provide?

A

Correct Answer

An approach that moves testing activities earlier in the development process (e.g., writing tests alongside or before code, involving QA in requirements discussions), aiming to catch defects sooner when they are cheaper and easier to fix

Explanation

Defects found earlier in the lifecycle (e.g., during design or coding) are generally far cheaper to fix than those discovered late, after release — shift-left testing aims to capture issues as early as possible.

38

What is "behavior-driven development" (BDD), and how does it differ from TDD in focus?

A

Correct Answer

BDD extends TDD by writing test scenarios in a shared natural-language format, often Given-When-Then, describing expected behavior from a business/user perspective, encouraging collaboration between developers, testers, and non-technical stakeholders

Explanation

While TDD focuses on driving design through unit-level tests written by developers, BDD emphasizes describing behavior in business-readable language, helping bridge communication gaps between technical and non-technical team members.

39

What is "story splitting," and why is it useful in Agile planning?

A

Correct Answer

The practice of breaking down a large user story into smaller, independently deliverable pieces, making it easier to estimate, complete within a sprint, and deliver value incrementally

Explanation

Large stories ("epics") that can't be completed within a sprint are hard to estimate and track; splitting them into smaller vertical slices (each still delivering some user value) improves predictability and flow.

40

What is the purpose of a "pull request" (or merge request) workflow in collaborative software development?

A

Correct Answer

A workflow where a developer proposes changes from a branch to be merged into another branch, allowing automated checks and peer review to happen before the changes are integrated, providing a gate for quality and discussion

Explanation

Pull requests provide a structured checkpoint for code review, automated CI checks (tests, linting), and discussion before changes are merged, helping maintain code quality and shared understanding across the team.

1

What is the "Cone of Uncertainty" in software project estimation, and how does it relate to Agile practices?

A

Correct Answer

A concept describing how estimation accuracy improves as a project progresses — early estimates have much wider error margins than estimates closer to implementation; Agile practices like iterative planning align with narrowing this cone progressively

Explanation

Recognizing that early estimates are inherently uncertain (sometimes by 4x or more in either direction) supports Agile's preference for rolling-wave planning and re-estimation as more is learned, rather than locking in detailed estimates at project inception.

2

What is "Conway's Law," and what implication does it have for software architecture and team structure?

A

Correct Answer

Conway's Law states that organizations design systems mirroring their own communication structure; team boundaries can shape software architecture, so teams should be organized to match desired architectural boundaries (e.g. microservices)

Explanation

This insight underlies approaches like the "Inverse Conway Maneuver," where organizations deliberately restructure teams to encourage a desired architecture (e.g., creating small, autonomous teams to encourage microservices boundaries).

3

What is the difference between "Scaled Agile Framework" (SAFe) and a single-team Scrum implementation, at a conceptual level?

A

Correct Answer

SAFe provides structures for coordinating Agile across multiple teams, programs, and portfolios, including roles and ceremonies for cross-team alignment like Program Increment planning, whereas single-team Scrum focuses on one team and one product backlog

Explanation

Frameworks like SAFe address challenges of scaling Agile to large organizations — coordinating dependencies, aligning multiple teams toward common goals, and providing governance — that aren't addressed by Scrum at the single-team level.

4

What is "mutation testing," and what does it measure that traditional code coverage does not?

A

Correct Answer

Mutation testing introduces small deliberate changes ("mutants") to the code and checks whether tests fail; it measures how effective a suite is at detecting faults, while code coverage only measures whether code ran, not whether tests catch bugs there

Explanation

A test suite with high code coverage might still fail to actually assert meaningful outcomes; mutation testing reveals this by checking if introduced faults ("mutants") cause test failures — if a mutant survives (tests still pass), it indicates a gap in test effectiveness.

5

In the context of software architecture decision-making, what is the difference between "essential complexity" and "accidental complexity"?

A

Correct Answer

Essential complexity is inherent to the problem domain and cannot be eliminated, only managed; accidental complexity arises from the tools or design choices used to solve the problem, and can potentially be reduced through better design or tooling

Explanation

This distinction (popularized by Fred Brooks) helps teams focus improvement efforts: while essential complexity (e.g., the inherent complexity of tax calculation rules) must be managed, accidental complexity (e.g., convoluted build processes) is often a target for simplification.

6

What is the "bystander effect" risk in large code review processes, and how might teams mitigate it?

A

Correct Answer

When many reviewers are assigned, each may assume someone else will review thoroughly, reducing overall diligence ("diffusion of responsibility"); mitigations include assigning a primary reviewer, limiting required reviewers, or rotating review duties

Explanation

Without clear ownership, having many "optional" reviewers can paradoxically reduce review quality, as each person assumes someone else will catch issues — explicit primary-reviewer assignment helps counteract this.

7

What is the significance of "Goodhart's Law" when applying metrics like velocity or story points across teams in an organization?

A

Correct Answer

Goodhart's Law states that once a measure becomes a target, people optimize for the measure itself rather than the goal it represents; if pressured to raise velocity, teams may inflate story points instead of increasing real throughput

Explanation

This is a key reason velocity is recommended only for forecasting within a single team over time, not for cross-team comparisons or as a performance target — doing so incentivizes gaming the metric rather than improving real delivery.

8

What is the "Dunning-Kruger effect" risk in software estimation, and how might experienced teams account for it?

A

Correct Answer

Less experienced members may underestimate task complexity due to limited awareness of edge cases or hidden dependencies, leading to overconfident, too-low estimates; teams might mitigate this with senior input, historical data, or contingency buffers

Explanation

Recognizing that less-experienced estimators may not know what they don't know helps teams structure estimation processes (e.g., group discussions, reference-class forecasting) to surface hidden risks that individuals might overlook.

9

What is the difference between "lead time" and "cycle time" in flow-based (e.g., Kanban) metrics?

A

Correct Answer

Lead time measures the total elapsed time from when a work item is requested (enters the backlog) until delivered; cycle time measures only the time from when active work begins on the item until completion, excluding backlog wait time

Explanation

Lead time reflects the customer's perspective (total wait time for a request), while cycle time reflects the team's processing efficiency once work begins — both are useful for identifying different types of delays in a delivery pipeline.

10

What is the "Iron Triangle" (or "Triple Constraint") of project management, and how does Agile reinterpret it?

A

Correct Answer

The Iron Triangle holds that scope, time, and cost are interrelated — changing one affects the others, with quality often implied as fixed; Agile commonly fixes time and cost (fixed sprints, stable team size) while letting scope vary

Explanation

By fixing time (sprint length) and cost (team composition) while treating scope as the flexible variable, Agile approaches aim to maintain a sustainable pace and consistent quality, adjusting what gets delivered rather than extending deadlines or adding resources under pressure.

11

What is "Brooks's Law," and what does it imply about adding developers to a late software project?

A

Correct Answer

Brooks's Law states that "adding manpower to a late project makes it later," because new members require ramp-up time, increase communication overhead which grows non-linearly with team size, and may not be able to parallelize inherently sequential work

Explanation

From "The Mythical Man-Month," this principle highlights that software development isn't always parallelizable like, say, digging a ditch — new team members add coordination costs that can outweigh their contribution in the short term, especially on already-delayed projects.

12

What is the role of "chaos engineering" in software reliability practices, and how does it relate to the SDLC?

A

Correct Answer

Chaos engineering involves deliberately injecting failures, such as shutting down servers or adding latency, into a system, often in production-like environments, to proactively find weaknesses before real outages occur, complementing earlier SDLC testing

Explanation

By proactively testing how systems respond to real failure conditions (rather than only testing "happy path" scenarios), chaos engineering helps teams build more resilient systems and validate recovery procedures, complementing earlier-stage testing like unit and integration tests.

13

What is the difference between "leading indicators" and "lagging indicators" in measuring software delivery performance (e.g., as used in DORA metrics)?

A

Correct Answer

Leading indicators, like deployment frequency or lead time, can predict future outcomes and can often be acted on quickly; lagging indicators, like customer churn or revenue, reflect outcomes that already occurred and are harder to influence

Explanation

DORA (DevOps Research and Assessment) metrics like deployment frequency and change failure rate are often considered leading indicators of organizational performance, providing actionable signals earlier than lagging business outcomes like customer retention.

14

What is the significance of the "Strangler Fig pattern" when modernizing a legacy software system?

A

Correct Answer

A migration strategy where new functionality is gradually built around and alongside a legacy system, incrementally routing traffic or functionality to the new system until the legacy system can eventually be retired, avoiding a risky "big bang" rewrite

Explanation

Named after a vine that gradually grows around and eventually replaces a host tree, this pattern reduces the risk of "big bang" rewrites by allowing incremental migration, with the ability to fall back to legacy functionality if issues arise during transition.

15

What is the purpose of "post-incident reviews" (blameless postmortems), and why is the "blameless" aspect emphasized?

A

Correct Answer

Post-incident reviews analyze what happened, why, and how to prevent recurrence; the "blameless" emphasis encourages honest sharing without fear of punishment, since punitive cultures discourage transparency and hide systemic issues

Explanation

A blameless culture encourages people to share full details about their actions during an incident (even mistakes) because the goal is systemic improvement, not individual punishment — which ultimately leads to better identification of true root causes and more effective preventive measures.

16

In Agile portfolio management, what is the concept of "WSJF" (Weighted Shortest Job First) used for?

A

Correct Answer

A prioritization model that calculates a score by dividing the "cost of delay," combining business value, time criticality, and risk reduction, by job duration/size, helping prioritize work that delivers the most value relative to the effort required

Explanation

WSJF (used in frameworks like SAFe) helps portfolios sequence work to maximize economic outcomes by favoring items with high cost-of-delay relative to their size — that is, things that are both valuable and quick to deliver get prioritized.

17

What is the difference between "deployment" and "release" in modern DevOps terminology, and why does this distinction matter for risk management?

A

Correct Answer

Deployment means installing a new software version into an environment, including production, while release means making a feature visible to users; decoupling these via feature flags lets code deploy safely without exposing new functionality

Explanation

By separating "deploying code" from "releasing a feature to users," teams can validate new code in production with limited exposure (e.g., to internal users or a small percentage of traffic) before a full release, significantly reducing the blast radius of potential issues.

18

What is the significance of "team topologies" concepts like "platform teams" and "enabling teams" in scaling software delivery across an organization?

A

Correct Answer

Platform teams provide internal services/tools that reduce cognitive load for stream-aligned teams delivering value to customers, while enabling teams help other teams adopt new tech via temporary support, avoiding permanent dependencies

Explanation

By clarifying team interaction modes (collaboration, X-as-a-service, facilitating) and team types, the Team Topologies model helps organizations design team structures that reduce unnecessary dependencies and cognitive overload as they scale.

19

What is the purpose of "contract testing" (e.g., consumer-driven contract testing) in a microservices architecture?

A

Correct Answer

A testing approach where consumers of a service define expectations ("contracts") about its API behavior, which providers can verify independently, catching breaking changes between services without full end-to-end tests across the system for every change

Explanation

Contract testing allows teams to verify API compatibility between services in isolation, providing faster feedback than full end-to-end tests and reducing the tight coordination needed between teams deploying interdependent services.

20

What is the purpose of "trunk-based development" with short-lived feature branches, and what practice typically must accompany it to be effective?

A

Correct Answer

Trunk-based development means integrating small, frequent changes into a shared main branch rather than maintaining long-lived feature branches; to be effective it typically requires a robust automated testing and CI pipeline to catch issues quickly

Explanation

Because trunk-based development relies on frequent integration of small changes, strong CI practices (fast automated tests, feature flags for incomplete work) are essential to maintain a working main branch and quickly catch any regressions introduced by the constant stream of changes.