
"Traditional development methods work really well when the outcome of a project can be defined precisely," said Damien Tanner, co-founder of New Bamboo.
"It is often not possible, or desirable, to set these kinds of requirements when developing sophisticated user-focused applications.
"In these cases, traditional methods are simply not fit-for-purpose and a more flexible, iterative approach to software development is called for."
New Bamboo has identified five top tips to help ensure the success of web application development projects.
Have a clear mission statement, not a set of requirements, from the outset
This will allow the project to have the flexibility to evolve successfully towards its completion. Defining all the requirements upfront makes it very difficult to react to the changes that inevitably occur as knowledge and environments evolve. At the outset, project teams should be asking questions such as 'What is the end goal of this project?' and 'What results are we looking for?' as opposed to 'What are the functional requirements of this project?'. The end goal is to deliver business value, not deliver against a set of requirements. By rigidly defining schedule, budget and scope at the outset, the only variable left is quality.
Involve key people from all aspects of the business throughout the whole process
Traditionally, the business is only involved in initial meetings and at the testing and acceptance phase. This disconnect between the developers and the business means that applications are developed out of context with the overall business goals of the project. This means that time is wasted developing applications that are unsuitable, or that nothing gets built at all as the teams try to deliver against rigid requirements.
Understand that the best ideas will appear during development
This principle is further enhanced by involving key business personnel in the project as teams are able to brainstorm new ideas and functionality throughout the development process.
Release working software throughout development and conduct regular user testing
By adopting an iterative approach that involves regular meetings with everyone involved, and end-user testing of working software, the project is constantly kept on course. This allows a certain level of quality assurance to be maintained by the people that will ultimately be using the application, and mistakes can be rectified early on.
Review the completed project
When the project has gone live, development teams should schedule a review with a view to optimisation. Technology moves so fast that new functionality may be available that was not anticipated during the early phases. By adopting a more agile approach to web application development, it is possible to reduce time to market, increase quality and save money while delivering a product that is exactly what the business requires.