What's a 'waterfall' working method? How do you approach a project in an 'agile' manner? We explain the basics of the two most popular software development methodologies.