The correct use of the appropriate software development methodology can have a very positive impact on the success, cost and timescale of a project.
Our development methodology is based around the Agile approach, though we do extend it through various other processes - for example documentation, system/user acceptance testing and deployment processes.
The Agile process is ideal for use in web application development projects as requirements often change while development is taking place. The iterative nature of the Agile process, together with close and frequent stakeholder interaction helps capture any changes at an early stage when it is much easier to effect a cost-effective change.
To help with the initial requirements capture, we have developed our own set of 'client requirements capture' documents that greatly assist in the initial requirements gathering.
For our development, we typically use elements from the following enterprise technology stack: