**5.5 Agile model**

This model is a mix of iterative and spiral process which centers around the versatility of the software and the satisfaction of the customers so that the software can be delivered at the quicker rate. Agile models are people-centric, recognizing the value competent people, and their relationships bring to software development [10]. In addition, it focuses on providing high customer satisfaction through efficient delivery of high-quality software, active participation of stakeholders, and continuous change [11]. This model allows breaking the software into small incremental modules for each iteration. Each iteration of the product lasts for the short term, typically less than a month, where development teams work with stakeholders on aspects such as planning, requirement analysis, design, coding, and testing simultaneously [10]. The working software is tested and demonstrated to the clients and stakeholders as a final step of each iteration. The agile model helps development teams divide the software into small modules that can be built within small timeframe and delivers specific high-quality deliverables for every release cycle. Agile model is one of the most effective methodologies for collaborative organizations.

### **5.6 RAD model**

The Rapid Application Development model requires no preparation and development depends on prototyping and iterative turn of events. This model is very collaborative in nature where the information related to requirements and use cases are gathered from the customers through workshops and focus groups using the iterative concepts or reusing the existing prototypes. Here, the functional models are developed as prototypes and further development efforts are coordinated

leading to the final product. Since no pre-planning processes are required, it is easy to include the changes in the software development process in iterations. The advantage of using this model is that the prototypes can be delivered, reused, and improved in stages. RAD model is aimed at speeding software development process. There are many RAD based implementations such as extreme development (XP) where business champion and developers lead efforts in increments, Join Application Development (JAD) where customers, end users, and developer work together in workshops, Lean Development (LD) where requirements are kept lean to include only minimum or must-have functionalities, and Scrum where software is developed in multiple short iterations.
