We use agile development methods to ensure the solution we deliver is the one that is actually needed. Agile software development refers to a process of iterative development, where requirements and solutions evolve through collaboration between small self-organising cross-functional teams.
The guiding principle of iterative development is to create a system incrementally, by splitting the project up into a series of development cycles. This allows both the developers and client to take advantage of what was learned during the previous cycles. Learning comes from not only the development of the system, but also the feedback from the users who get a chance to test the system during the process. This feedback can then be incorporated into the development as rapidly as possible.
With agile development, the client is in control of the project and budget at all stages. For each iteration the client has a chance to re-prioritise the outstanding requirements, enabling business value to be delivered as early as possible in a project.
Changes are Welcome
Unlike traditional ‘waterfall’ processes, with agile development changes are welcome throughout the project. As is often the case, user testing can highlight areas of a system that need to be re-considered. As requirements can be added, modified or removed at the start of each new iteration, no need for expensive change requests to be raised.
Direct Communication & Less Management Overhead
A key aspect of agile development is constant and direct communication with the developers actually building the system. Unlike many agencies, we don’t hide our developers away behind a layer of account executives. With regular progress meetings directly with the developers, unnecessary paperwork is kept to a minimum.