RAD Methodology

RAD stands for rapid application development. With this methodology you use structured techniques, and prototyping to set your requirements, get prototypes quickly and use minimal planning. It's essentially one process that wraps several stages into one (requirements, design and possibly even the development processes.) It's close to the agile mathod but the main difference is the use of prototyping.

 

Advantages:

The way you build a prototype isn't always the same way that you'd build the actual product. But with Drupal since the code often already exists (as a module or a set of modules) it's often really easy to "prototype" features in a sample site to see what your existing modeule do and if you want them or not.

For instance, if one of your requirements is that each user should have a blog then you can enable the blog in the sample/dummy site (usually called a sandbox site) so that each approved user can have a blogger role. If the existing feature proves not to be what you want then you'll find that out and fine tune/change things around as need be.

The point of prototyping is to see what your options are, if they work and if you really want them. Depending on the situation, it can be better to plan before you develop. Sometimes though you can end up with a better outcome when you jump right in, as it were.You can find and see problems or other opportunities you may have missed in your planning when you jump into prototype development.

 

Disadvantages:

Since RAD and agile methodologies are similar that means that the problems you have with Agile methodologies are going to be present in RAD methodologies as well. Namely, doing work more than once if your requirements change and along with that there's the potential effect on timetables and deadlines. By nature, prototyping is more prone to repetitive efforts- needing to redo something-until you have what you're really looking for. However, getting the EXACT product you want may really be worth it.