Rapid application development (RAD)
is also a form of Agile software development methodology/approach which relies
on prototyping and iterative model with less/or no specific planning. In
general, RAD approach to software development means putting lesser emphasis on
planning tasks and more emphasis on development and coming up with a prototype.
In brief, RAD is basically
less talk and more actions, and lots of testing.
While RAD de-emphasizes strict
planning, there are still a handful of steps or phases each development project
goes through when using the rapid application development methodology such as
analysis and quick design, prototype cycle (Build, Demonstrate, refine),
testing and implementation.
One of the major advantage of
using the RAD approach is that it helps in breaking a project into small/micro
achievable units. This is very important in situations when developing a very
large and complex software and this will help in building specialized teams.
Another advantage of using this approach is that it helps in getting a task done
more quickly thereby saving more time and since they start creating working
prototypes right after they get out of the requirements meeting, they
constantly have something to show for their hard work.
The use of RAD can be
encouraged when time is of essence and you need something to be done quickly
and also when you have a pool of users who can test your prototypes reliably.
The major criticism for this
approach is the fact that it is too expensive and also not well structured like
The agile methodologies assist
teams in responding to the unpredictability of constructing software. It uses
incremental, iterative work sequences that are commonly known as sprints and it
is mainly used when a project is seen to be of high risk, highly complicated
with a large development teams
from the consensus held in Utah with a document called “The agile manifestoes”
with emphasis on adaptive than predictive approaches, it is people oriented
rather than goals and finally relies on self-adaptive processes. This approach
is so beneficial because it makes sure that value is achieved throughout the
development process and it also gives a light framework used in assisting team
major criticism is that It is concentrated on the developers rather than users
and can also be inefficient in places where you have large organizations and
certain type of projects.
Unified Process (RUP) is an object-oriented and Web-enabled program development
approach and this is based on four basic phases such as the inception,
elaboration, construction and transition. It makes use of case driven from
inception to deployment. It offers the ability to exercise control on the
software development process and this is mainly achieved through quality assurance
but its major criticism comes from the fact that the team members need to be
experts in their various field in order to develop a software through this
approach and also the development process seems so complex and disorganized.