There are two main methods of software development currently in use in the world today which are the waterfall method in the agile software development method.  Although agile has been around for some time with its roots tracing back to the 1950’s,  it was the waterfall method that became most popular until recently. The key difference between the two methodologies are as follows:

The waterfall method is relatively linear in its approach to designing software in the development generally moves in one direction like a waterfall.  There’s a nasty connotation in the name and that rings true in a lot of projects in that you end up going over the falls.   A well-known statistic in IT is that 90% of all projects are considered a failure,  either going over budget,  failing to deliver against the requirements, or going over time. With its roots in construction and manufacturing,  the waterfall method is not ideally suited to software development. Specifications and requirements for the waterfall method can often be large documents of 50 pages or more, taking a great amount of time and thousands of dollars to develop. You can end up spending a lot of money before you even have one piece of working software!

Agile software development describes a method for software development during which requirements and solutions evolve from cross-functional teamwork. Instead of large specification documents,  agile focuses on user stories and how that user is going to use the software.  the development work has been completed to satisfy each of these user stories.  An example of a user story is that when user comes to a website they need to be able to log in and update their profile.  Once we had established that was the first piece of functionality they needed we could then deliver a working version of that in a relatively short period of time and at a low cost. Therefore we already have one piece of software delivered and working.  IT and software development projects have a much higher rate of success under the agile development method.  The development is very user-centric and essentially you are paying for your development on a time and materials basis with little or no cream added to your bill. Another aspect of agile software development is that it focuses on iterative and incremental changes to the software.  So that’s lots of small releases of code/software, rather than working on something for a year and then releasing it, only to find out the first time the users get to use it, it’s not what they need.

How to do Agile Software Development

There are plenty of different SAAS (Software as a Service) applications or websites where you can easily manage agile software development.  A popular technique for agile is to use kanban and one of the more popular applications to do that is a product called Trello.

Trello is used by such companies as Redhat, Adobe, Pixar, and Kickstarter. Trello also integrates with many other applications such as Evernote, Github, Google Drive, and Slack.

If you are looking to get some software developed for a website design,  I would recommend using agile software development. You will have much greater control over the outcome,  the cost will generally be lower,  and the chance of success much higher.