🔄

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
1

What does "SDLC" stand for?

2

What is the typical first phase of the SDLC?

3

What is the "Waterfall" model in software development?

4

What is "Agile" software development?

5

What is a "sprint" in Scrum?

6

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

7

What is a "Scrum Master" responsible for?

8

What is a "user story" in Agile development?

9

What is a "product backlog" in Scrum?

10

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

11

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

12

What is a "requirements specification" document used for?

13

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

14

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

15

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

16

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

17

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

18

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

19

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

20

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

21

What is "continuous integration" (CI)?

22

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

23

What is a "stakeholder" in a software project?

24

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

25

What is "code review"?

26

What is "technical debt"?

27

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

28

What does "Kanban" refer to in software development?

29

What is "refactoring" in software development?

30

What is "scope creep" in project management?

31

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

32

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

33

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

34

What is "prototyping" in software development?

35

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

36

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

37

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

38

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

39

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

40

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

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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

10

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

11

What is "regression testing"?

12

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

13

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

14

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

15

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

16

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

17

What is "exploratory testing"?

18

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

19

What is "risk-based testing"?

20

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

21

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

22

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

23

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

24

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

25

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

26

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

27

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

28

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

29

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

30

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

31

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

32

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

33

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

34

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

35

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

36

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

37

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

38

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

39

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

40

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

1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

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

10

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

11

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

12

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

13

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

14

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

15

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

16

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

17

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

18

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

19

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

20

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