The waterfall method, rapid application, and more recently agile methods are all popular methodologies in software development. This guide explores their structures, advantages and limitations.