Software Development Methodology - Waterfall

2
Waterfall Development The waterfall model is a sequential software development model in which development is seen as flowing steadily downwards through the phases of requirements analysis, design, implementation, testing, integration, and maintenance. Values gained - Processes and tools, over individuals and interactions. - Comprehensive documentation, over quality software. - Contract negotiation, over customer collaboration. - Following the initial plan, over responding to change. Main principles - Time spent early on software production can lead to greater economy later. - Emphasis is placed on documentation as well as source code. - Program requirements are set in stone before design is started. - Program design should be perfected before implementing the design. - Components are methodically verified to ensure that they fully meet requirements. - Enforce discipline through a defined start and end point at every development phase. - Aid in efficient knowledge transfer when team members are dispersed or leave. Suitability - The customer knows what they want upfront and has clearly defined requirements. - Estimating accurate time and cost is not necessary. - Division of labor between business and programmers is not important. - System to develop is extremely complicated. Waterfall Development, 7/31/2007 Sam Boustani

description

The waterfall model is a sequential software development model in which development is seen as flowing steadily downwards through the phases of requirements analysis, design, implementation, testing, integration, and maintenance.

Transcript of Software Development Methodology - Waterfall

Waterfall DevelopmentThe waterfall model is a sequential software development model in which development is seen as flowing steadily downwards through the phases of requirements analysis, design, implementation, testing, integration, and maintenance.

Values gained- Processes and tools, over individuals and interactions.- Comprehensive documentation, over quality software.- Contract negotiation, over customer collaboration.- Following the initial plan, over responding to change.

Main principles- Time spent early on software production can lead to greater economy later.- Emphasis is placed on documentation as well as source code.- Program requirements are set in stone before design is started.- Program design should be perfected before implementing the design.- Components are methodically verified to ensure that they fully meet requirements.- Enforce discipline through a defined start and end point at every development phase.- Aid in efficient knowledge transfer when team members are dispersed or leave.

Suitability- The customer knows what they want upfront and has clearly defined requirements.- Estimating accurate time and cost is not necessary.- Division of labor between business and programmers is not important.- System to develop is extremely complicated.

Application- High criticality.- Large number of developers, especially non-senior.- Requirements do not change, or rarely change.- Culture thrives on structure.

Waterfall Development, 7/31/2007 Sam Boustani

Process

Waterfall Development, 7/31/2007 Sam Boustani