Our team uses several types of methodologies for product development.
The classic waterfall method still has some practical applications, especially small projects where the requirements are well understood.
Most projects are managed using an Agile model. Agile allows our group to never get too far ahead without having the business owner sign off. Agile allows for changing requirements without greatly affecting the delivery date, such as in a Waterfall mode. Agile works well with our small team of developers as we can manage the project using each other’s strengths.
Another approach we use is a RAD (Rapid Application Development) model. RAD allows the development team to work closely with the business owner to deliver a solution quickly. In RAD, prototyping is done live on the server, where there is an actual product.