Quick Revision

GK One-Line Question & Answer

15541+ short questions with short answers, covering every category and sub-category on the site — no long articles to scroll through. Good for a fast recap before an exam, or a few minutes of daily practice.

Software Engineering → Spiral Model 3

Why is the Spiral model considered a 'meta-model' rather than just another process model?
It can accommodate other process models (Waterfall, Incremental, Prototyping) within its framework, selecting the appropriate approach for each cycle based on risk
click to copy
What are 'anchor point milestones' in Boehm's Win-Win Spiral model?
Defined checkpoints where stakeholders review and agree on progress, risk status, and commitment to proceed — specifically LCO, LCA, and IOC
click to copy
A team discovers mid-Spiral that a critical third-party API has been deprecated. How does the Spiral model's structure specifically help?
The risk discovery triggers an explicit risk resolution phase where alternatives are evaluated before committing to the next iteration
click to copy

Software Engineering → Introduction to Software Engineering 32

What does the Agile Manifesto's 'responding to change over following a plan' specifically NOT mean?
All the above are incorrect interpretations of the Agile value
click to copy
In Scrum, what is the primary purpose of the Sprint Retrospective, and how does it differ from the Sprint Review?
Sprint Retrospective is an internal team inspection of their working process to identify improvements; Sprint Review demonstrates the increment to stakeholders for product feedback
click to copy
What does 'velocity' in Scrum measure and what is its most critical limitation?
Story points completed per sprint; its limitation is team-specificity, non-comparability across teams, and susceptibility to gaming by inflating estimates
click to copy
What is the 'Definition of Done' (DoD) in Scrum and what happens when a team lacks a shared DoD?
DoD is the shared standard defining when an increment is complete and shippable; without it different team members have different completion criteria leading to hidden technical debt
click to copy
What is the 'cone of uncertainty' in agile estimation and what does it imply for release planning?
Project estimation uncertainty is highest at the start and narrows as the project progresses — early release commitments will have large uncertainty ranges
click to copy
In Kanban, what is a WIP limit and what systemic problem does it solve?
WIP limits cap items in each workflow stage, exposing bottlenecks and preventing work piling up faster than it can be completed — solving multitasking overload and hidden queuing delays
click to copy
What is the critical difference between SAFe and LeSS in scaling Agile across multiple teams?
SAFe adds prescriptive structure (Program Increments, ARTs, hierarchical roles) to coordinate large organisations; LeSS deliberately minimises additional structure, preserving Scrum's simplicity through team self-organisation
click to copy
What is 'continuous integration' in Agile development and what specific failure mode does it prevent?
Merging developers' code into a shared repository frequently with automated build/test verification — preventing 'integration hell' where long-lived branches diverge so far that merging becomes extremely complex
click to copy
In XP, what is the purpose of pair programming and what does research indicate about its productivity impact?
Two developers share one workstation — driver writes, navigator reviews real-time; research shows 15% overhead but significantly fewer defects, reducing total project cost
click to copy
What is the 'Last Responsible Moment' principle in Lean Software Development and why is it valuable?
Delaying irreversible decisions until maximum information is available, keeping options open — reducing the cost of wrong decisions made prematurely on insufficient information
click to copy
What is 'requirements creep' and what process practice most effectively controls it?
Uncontrolled addition of requirements after baseline without corresponding scope/budget/schedule adjustment; controlled through formal change control with impact analysis
click to copy
What is the 'viewpoint-oriented' approach in requirements engineering and why is it valuable?
It structures requirements elicitation around multiple distinct stakeholder perspectives, helping discover conflicts and requirements invisible from any single viewpoint
click to copy
What is 'prototyping' as a requirements elicitation technique and what is its primary risk?
Building a partial/simulated version to elicit requirements through user interaction; primary risk is stakeholders mistaking the prototype for the final system and resisting necessary rework
click to copy
What distinguishes 'elicitation' from 'analysis' in requirements engineering?
Elicitation discovers and gathers requirements from stakeholders; analysis studies them for consistency, completeness, and resolves conflicts among elicited requirements
click to copy
In IEEE 830, what does the 'verifiability' property of a good requirement mean?
A cost-effective test, inspection, demonstration, or analysis method must exist that can confirm whether the requirement has been met
click to copy
What is the 'gold plating' problem in requirements engineering and from which side does it typically originate?
Developers adding unrequested features believing they improve the product — wasting effort on features customers may never use
click to copy
What is 'requirements traceability' and why is it particularly important in safety-critical systems?
Documented relationship linking requirements to design, code, and tests — enabling impact analysis and verification that all requirements are implemented; critical in safety systems for certification compliance
click to copy
What is the 'requirements baseline' and what governance rules typically apply to it?
A formally approved version of the requirements document serving as the agreed reference; changes require formal change control — impact assessment, CCB approval, and version management
click to copy
What does the Dependency Inversion Principle (DIP) state and what design problem does it solve?
High-level modules should not depend on low-level modules; both should depend on abstractions — solving the problem where changing a low-level component forces changes throughout the system
click to copy
What is the 'Law of Demeter' and what coupling problem does it address?
A method should only call methods of its own class, its parameters, objects it creates, or direct components — preventing 'train wreck' chaining that creates hidden long-range coupling
click to copy
What distinguishes a 'layered architecture' from a 'hexagonal (ports and adapters) architecture'?
Layered enforces directional dependency flow (UI→Business→Data); hexagonal puts business logic at the centre with all external concerns as interchangeable adapters connecting through ports
click to copy
What does 'Design by Contract' (DbC) entail and how does it differ from defensive programming?
DbC specifies formal preconditions, postconditions, and invariants — callers meet preconditions; method guarantees postconditions. Defensive programming checks all inputs regardless of responsibility, adding redundancy
click to copy
What is the 'God Object' anti-pattern and what refactoring approach addresses it?
A class that knows too much or does too much — violating SRP and creating a hub of dependencies; addressed by extracting classes and redistributing responsibilities according to cohesion
click to copy
What is the fundamental difference between 'composition' and 'inheritance' as reuse mechanisms in OOP?
Inheritance is static compile-time reuse creating 'is-a' relationships exposing parent internals; composition is dynamic runtime 'has-a' relationship that is more flexible, testable, and avoids the fragile base class problem
click to copy
What problem does the 'Observer' pattern solve and when does it introduce risk?
Solves notifying multiple dependent objects when a subject changes without tight coupling; introduces risk of memory leaks (observers not unsubscribed), unexpected update cascades, and non-deterministic notification order
click to copy
What is 'separation of concerns' and how is it architecturally implemented in MVC?
Organising code so each module addresses a distinct aspect; MVC implements this by separating data/business logic (Model), presentation (View), and user interaction handling (Controller)
click to copy
What is the 'magic number' anti-pattern in coding and how does it violate maintainability principles?
Unexplained numeric literals without context in code (e.g., 'if status == 4'); they make code intent opaque and require future maintainers to guess what the value represents
click to copy
What does the DRY principle prohibit and what is its violation called?
Having multiple representations of the same knowledge in the system; violations called 'WET' leading to inconsistent updates when one copy changes but others don't
click to copy
What is the 'Boy Scout Rule' in software development and how does it relate to managing technical debt?
'Leave the campground cleaner than you found it' applied to code: whenever you touch a module leave it slightly cleaner — incrementally paying down technical debt without dedicated refactoring sprints
click to copy
What is 'defensive coding' and in what scenario is it specifically inappropriate?
Writing code that anticipates errors; inappropriate in cryptographic implementations where branches create timing side-channels
click to copy
What is the key difference between a 'code smell' and a 'bug' and why do code smells matter?
A bug is a functional defect causing incorrect behaviour; a code smell is a structural indicator of potential design problems that may not currently fail but increase likelihood of future bugs and raise maintenance costs
click to copy
What is the correct interpretation of 'responsibility' in the Single Responsibility Principle (SRP)?
A class should have only one reason to change — where 'reason to change' corresponds to a stakeholder group or business concern, not merely a functional category
click to copy

Software Engineering → Requirement Engineering 1

What is the key distinction between functional and non-functional requirements, and which is typically harder to elicit?
Functional describe what the system does (behaviour); non-functional describe qualities like performance and security — non-functional are harder because stakeholders struggle to quantify them precisely
click to copy

Software Engineering → Agile Model 1

What is the purpose of a 'use case' in requirements engineering and how does it differ from a user story?
A use case is a detailed description of system/actor interaction achieving a goal including main/alternative flows; a user story is a lightweight conversational expression of a requirement that defers detail to conversation
click to copy

Software Engineering → Software Design 2

What is the difference between 'cohesion' and 'coupling' in software design and what is the ideal goal?
Cohesion is how strongly related responsibilities within a module are; coupling is how dependent modules are on each other — ideal is high cohesion and low coupling
click to copy
What distinguishes 'black-box' from 'white-box' design in component-based software design?
Black-box specifies behaviour through interface only, hiding implementation; white-box exposes internal structure requiring users to understand internals to use it correctly
click to copy

Software Engineering → Coding Standards 1

What is the primary purpose of coding standards in a multi-developer project and what happens when inconsistently applied?
Ensure code is readable and maintainable by any team member; inconsistent application creates cognitive overhead, introduces subtle bugs in misunderstood conventions, and makes code review ineffective
click to copy