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 → Introduction to Software Engineering 30

In software engineering, what is the fundamental difference between 'reliability' and 'availability'?
Reliability is the probability the system will perform its required function without failure for a specified time period; availability is the proportion of time the system is operational and accessible when needed
click to copy
What is the 'software architecture' of a system and why is it distinct from 'design'?
Architecture describes the high-level structure of a software system — its principal components, their relationships, and the fundamental principles governing their design; design elaborates the internal details of individual components
click to copy
What is 'non-functional testing' and what makes it fundamentally different from functional testing in scope?
Non-functional testing verifies quality attributes like performance, security, and usability rather than specific behaviours; it often requires the entire integrated system under realistic load and cannot be decomposed into unit tests
click to copy
In risk management for software projects, what distinguishes 'risk mitigation' from 'risk contingency'?
Risk mitigation reduces the probability or impact of a risk before it occurs; risk contingency is a plan activated only if the risk actually materialises — reactive rather than preventive
click to copy
What is 'software configuration management' (SCM) and what four primary activities does it encompass?
SCM controls evolution of software products; its four activities are: configuration identification, change control, status accounting, and configuration auditing
click to copy
What is 'cleanroom software engineering' and what statistical assurance does it provide?
Cleanroom SE uses mathematical specification, structured design, and statistical testing to certify a software's mean time to failure — providing quantifiable, statistically defensible reliability certificates
click to copy
What is the 'capability maturity model integration' (CMMI) and how does it differ from CMM?
CMMI integrates multiple CMM models (software, systems, acquisition) into one framework and supports both staged and continuous representations, while CMM was software-specific and staged only
click to copy
What is 'prototyping model' in software development and when does it fail as a strategy?
Prototyping builds a quick partial implementation to elicit requirements or prove feasibility; it fails when the prototype becomes the product — teams ship poorly structured throwaway code as the final system
click to copy
What is the 'V-model' in software development and what is its key advantage over basic Waterfall?
V-model maps each development phase to a corresponding verification/validation activity — design decisions and test planning occur in parallel, enabling earlier defect detection than Waterfall
click to copy
What is a 'timeboxed' development approach and what problem does it solve that traditional scheduling cannot?
Timeboxing fixes the delivery date and varies scope — delivering the best possible product within a fixed time rather than a fixed scope by a variable date; solving the tendency of software to expand indefinitely
click to copy
What is 'software process improvement' (SPI) and what evidence does literature provide about its ROI?
SPI systematically analyses and modifies development processes to improve quality, predictability, and efficiency; studies (SEI, Brodman & Johnson) show typical ROIs of 3:1 to 9:1 but only when sustained over multiple years
click to copy
What is the 'DevOps' movement and how does it extend traditional software process models?
DevOps extends the software lifecycle by unifying development and operations, enabling continuous delivery through automation of build, test, and deployment — breaking the traditional handoff barrier between dev and ops teams
click to copy
What is 'feature-driven development' (FDD) and what distinguishes it from XP in project planning?
FDD plans and delivers based on a feature list derived upfront from domain modelling; XP is customer-driven with features emerging through ongoing collaboration. FDD provides more predictability for large teams; XP more flexibility
click to copy
What is 'disciplined agile delivery' (DAD) and what is its primary value proposition over pure Scrum?
DAD is a hybrid process framework that provides choice and pragmatism — it acknowledges that different situations need different approaches and provides a toolkit of agile and lean strategies rather than prescribing one method
click to copy
What is 'model-driven engineering' (MDE) and what fundamental assumption underlies it?
MDE creates software from formal models (platform-independent and platform-specific) using automated transformation — assuming models are more productive than code as the primary engineering artefact
click to copy
What is 'continuous experimentation' in modern software engineering and how does it relate to the scientific method?
Continuous experimentation applies the scientific method to product development: forming hypotheses about user behaviour, running controlled A/B tests in production, measuring outcomes, and making data-driven decisions rather than opinion-driven ones
click to copy
In a Waterfall project, what is the specific purpose of the 'System Requirements Analysis' phase?
To analyse and document what the system must do from a user/stakeholder perspective — producing an SRS that serves as the contract between customer and developer
click to copy
What is 'phase containment' in a Waterfall project and why does it reduce overall cost?
Phase containment means detecting and fixing defects within the phase that introduces them rather than allowing them to propagate to downstream phases where fix cost multiplies
click to copy
Why is the 'big bang integration' testing approach particularly dangerous in Waterfall projects?
Big bang integration combines all modules simultaneously at the end of development — when multiple simultaneous interface failures occur, isolating and diagnosing individual faults becomes extremely difficult because interactions mask individual defects
click to copy
What is the 'modified waterfall' and how does it address the original model's rigid sequential constraint?
Modified Waterfall allows controlled feedback loops between adjacent phases — if design reveals a requirements gap, requirements can be revisited without restarting the entire project
click to copy
What specific risk does the 'requirements freeze' concept in Waterfall introduce for long-duration projects?
In long projects (18+ months), freezing requirements at initiation means the business environment, regulations, and technology may have changed substantially by delivery, producing a system that is obsolete on release day
click to copy
What is the 'software development notebook' in a Waterfall project and why is it considered a quality tool?
A structured record of all design decisions, rationale, alternatives considered, and open issues maintained throughout development — providing traceability and institutional memory that reduces rework when key developers leave
click to copy
What does the 'operational concept' document serve in a Waterfall project and who should produce it?
The operational concept describes how the end system will be used in its operational environment — produced by the customer/user representative to ensure the development team understands usage context before writing requirements
click to copy
What was the key historical lesson learned from the US DoD's use of Waterfall (MIL-STD-2167) for defence software?
DoD found that rigid document-driven Waterfall produced systems that were late, over budget, and often failed to meet operational needs — leading to replacement with iterative methods (MIL-STD-498, then DoD's adoption of agile)
click to copy
In a Spiral project for a missile guidance system, during cycle 2 the prototype demonstrates that the required navigation accuracy cannot be achieved with current sensor technology. What is the correct Spiral response?
The risk finding should halt further development investment until the sensor technology gap is resolved through: sourcing better sensors, redesigning the algorithm to work with available accuracy, or revising the system requirements with stakeholders
click to copy
What is the 'anchor point milestone' LCA (Life Cycle Architecture) in the Win-Win Spiral and what must it demonstrate?
LCA must demonstrate that the architecture is stable enough to support the full system, that all top architectural risks have been resolved, and that the construction phase can proceed without fundamental architectural rework
click to copy
What is the 'planning game' in XP and how does it distribute planning responsibility?
The planning game splits responsibility: business decides scope and priority (story selection, release dates); technology decides estimates and technical approach (how long, how to implement) — neither can override the other's domain
click to copy
What is 'test-first programming' in XP and how does it differ from the broader TDD practice?
Test-first programming in XP applies at unit level within the context of frequent release, refactoring, and customer collaboration; TDD is a more general design technique applicable across any development context regardless of other XP practices
click to copy
What is 'collective code ownership' in XP and what risk does it introduce that must be managed?
Collective code ownership means any developer can improve any code at any time without permission; it introduces the risk of uncoordinated changes causing integration conflicts — managed through CI, test suites, and coding standards
click to copy
What is the 'sustainable pace' (formerly 40-hour week) practice in XP and what empirical evidence supports it?
Sustainable pace means working at a pace that can be maintained indefinitely — empirical evidence shows that sustained overtime increases defect rates (fatigue reduces judgment), destroys team morale, and rarely recovers schedule because defect rework consumes the gained time
click to copy

Software Engineering → Software Testing 1

In Waterfall, what is the 'integration testing' phase specifically designed to verify?
That independently developed and unit-tested modules work correctly together when combined — specifically verifying interfaces, data exchange contracts, and interactions between integrated components
click to copy

Software Engineering → Waterfall Model 1

What is 'structured walkthrough' in the Waterfall model and how does it differ from a formal inspection?
In a walkthrough, the author leads reviewers through the work product explaining it; in a formal inspection (Fagan), the author is silent while trained inspectors systematically examine the work against checklists — inspections find more defects per hour
click to copy

Software Engineering → Spiral Model 8

How does the Spiral model address 'unknown unknowns' (risks that have not yet been identified)?
By repeating risk identification at every cycle — earlier unknowns may become known as the project progresses and domain understanding deepens, allowing them to be addressed before they become crises
click to copy
What is the relationship between the Spiral model and risk management in terms of project investment decisions?
Each Spiral cycle represents a deliberate investment decision — stakeholders review risk status before committing to the next cycle, allowing early termination if the risk-adjusted value of continuation is negative
click to copy
What is the 'win-win' extension to the Spiral model and what negotiation problem does it address?
Win-win Spiral adds a stakeholder negotiation activity at each cycle's start — addressing the problem that different stakeholders have conflicting objectives, ensuring all parties agree on conditions of satisfaction before proceeding
click to copy
What distinguishes 'technical risk' from 'project risk' in Spiral model risk analysis?
Technical risks concern feasibility (can we build it with available technology?); project risks concern management factors (schedule, cost, staffing, dependencies) — both categories must be analysed in each Spiral cycle
click to copy
What is the 'spiral within a spiral' concept when applying the Spiral model to subsystem development?
The overall system development follows a Spiral, and each major subsystem may independently use its own Spiral within the context of the system-level spiral — allowing subsystem-specific risk management while aligning to system milestones
click to copy
Why is the Spiral model considered unsuitable for 'cost-constrained' or 'schedule-constrained' contracts?
The variable number of Spiral cycles makes firm fixed-price commitments difficult — the total cost and duration are not determinable upfront because the number of risk-resolution cycles needed cannot be predicted with confidence
click to copy
What is 'risk-based prioritisation' in the Spiral model and how does it differ from value-based prioritisation in Agile?
Spiral prioritises features and work items by their risk reduction value — resolving highest-risk unknowns first regardless of business value; Agile prioritises by customer value — delivering highest-value features first regardless of technical risk
click to copy
In the Spiral model, what role does 'competitive analysis' play in the first spiral cycle for a commercial product?
In the first cycle's objective-setting and risk-identification quadrant, competitive analysis identifies business risks (will the product differentiate from competitors?) and informs the system's operational concept — ensuring the product addresses a real market need before technical investment
click to copy