I am a big fan of agile methodologies. In my opinion they are the only way one can guarantee (can you ever??) the delivery of the project.
Benefits of agile development are already widely known by the developers. But the persons who control the budget usually are not aware about these. So here is a short list in case you have to convince them :-)
- Improved return on investment (RIO)
- Early detection and cancellation of failing products
- Higher quality software
- Improved control of a project
- Reduced dependence on individuals and increased flexibility
One of the cornerstones of my development process is automatic testing. Writing your tests in advance (Test Driven Development) is better because then every feature you put into production code is checked by automatic tests. I must say I violate the principle of writing tests first occasionally, but all my code must be covered before I can ship it.
At my current job we are working according to the Scrum methodology. The organization has a more 'analysis first' belief therefor we cannot completely follow the Scrum principles. But time is changing.... hopefully!!