The traditional waterfall software development method treats the analysis, design, coding, and testing as separate phases in a linear software development plan. Conversely, Agile is an iterative software development methodology focused on flexibility in adapting to changes and delivering value early and often.