Waterfall
Waterfall is a linear, sequential software development methodology where each phase (e.g., requirements, design, implementation, testing, deployment) must be completed before the next begins, with minimal overlap or iteration. It emphasizes thorough upfront planning and documentation, making it predictable and structured but inflexible to changes. Originally derived from manufacturing and construction processes, it was widely adopted in early software engineering for its clear milestones and deliverables.
Developers should learn Waterfall for projects with well-defined, stable requirements and low uncertainty, such as government contracts, safety-critical systems (e.g., aerospace, medical devices), or when regulatory compliance demands extensive documentation. It is useful in environments where changes are costly or discouraged, as it provides a rigid framework for budgeting and scheduling. Understanding Waterfall also helps contrast with agile methodologies, offering insights into traditional project management practices.