Waterfall RAD is effective to use in small

Waterfall

Waterfall approach is the
traditional software development method that is not preferred to be used
nowadays because it is quite slow and costly. In this method, the current phase
must be finished before they can start the next phase. Once the next phase
started, the previous phase cannot be modified. Waterfall method are suitable
to be used when the project has detailed goals and requirements.

Rapid Application
Development (RAD)

Rapid Application
Development (RAD) is a condensed development process that produces a
high-quality system with low investment costs via prototyping. In this method,
the design and construction phases are repeated until the user requirements are
met. RAD is effective to use in small projects with limited time given.

Agile

Agile software
development (Agile) is a collection of software development methodologies that
promote adaptive planning, evolutionary development and delivery, continuous
improvement, and aimed to minimize risks by implementing time-boxed period time
(iterations) to complete a body of work. The examples of agile development
methodologies are Scrum and eXtreme Programming(XP). Many successful companies
in IR 4.0 such as Apple and Philips use agile methodology to develop their
software.

                   
I.           
Scrum

Scrum is an iterative and
incremental agile software development framework for managing product
development. In Scrum, the project will be split up into timeboxes (Sprint) ,
and the team will plan in detail the task that need to be done in each Sprint to
meet the requirements. The teams then will complete their respective tasks
before the development team take over the job and complete the remaining tasks.
Scrum is self-organized but it is facilitated by Scrum Master, who encourages
and guides the team to achieve the sprint goal. Scrum is often used when the end-product
is unclear or there are no proper feedbacks given by clients to meet the
requirements.

                
II.           
EXtreme Programming(XP)

EXtreme Programming(XP) was
created to avoid the development of functions that are not currently needed and
reduce the costs of software essentials. In Extreme Programming, the extreme
programmers will write the code that will meet the present requirements for the
project. Then, they will test the code. The test will be written before the
code is written. If the code passes the test, it means the code is successful. Unlike
Waterfall methodology, where the requirements for the system are determined,
the probability to do changes in XP is high at the next phases to meet the
requirements. Plus, there might be changes in requirements too. Therefore, XP
is perfect to be used for complicated project as it requires more time and
human resources.