As technology and software becomes more intrinsic to success in business, the projects themselves are becoming more complex. Following a proven project methodology is vital to make sure projects are delivered on time and on budget and give the client this reassurance.
There are two popular types of software development methodologies: agile and waterfall. We prefer the agile model but we wanted to outline the difference between the two and explain why it’s our favourite.
The waterfall method is a sequential process (also known as a linear-sequential model) – with one step following after the preceding one has been completed. It’s a simple idea that once design has been completed, you move onto development, and once this is done you then you begin testing and so on. While the method is simple to understand and easy to follow its rigidity can often cause problems.
This can be a suitable option for very small projects with extremely clear objectives and requirements that won’t change. However, for CRM, SharePoint and website projects we find this is rarely the case.
The agile model will still follow the sequence of a waterfall method, however it does this continuously until the project is complete. We start this by working out user stories and priorities and releasing ‘pieces’ of the project in ‘Sprints’. This means the project can be continuously revised, updated and improved as it's being implemented.
If you wanted a CRM solution, would you know every single requirement before you had even seen the initial system? If you were after a website, and were later told of some brilliant functionality that would save you time wouldn’t you want that to be built in? With complex projects it is rare to know every detail you require and also rare for the requirements to stay exactly the same. By working in an agile fashion revelations, improvements and overlooked requisites don’t have to be left out.
We think that the agile methodology is going to keep gaining popularity as projects become more complex and as the way we work is shifting. With most products and software moving away from large-scale and irregular releases towards rapid releases, it’s logical to also shift the way we work. We now expect results to be quicker, better and continually improving and the agile project methodology fits this perfectly.