In: Computer Science
Give real life software project examples which are best suited to be developed in the following development methodologies. Also give reason behind your choice. (For example for facebook, agile will be a good choice)
a) Waterfall
b) System Prototype
c) V-Model
d) Agile
a) Waterfall - Waterfall methodology is a linear project management approach, where stakeholder and customer requirements are gathered at the beginning of the project, and then a sequential project plan is created to accommodate those requirements. The waterfall method is so named because each phase of the project cascades into the next, following steadily down like a waterfall. Development of Department Of Defense (DOD), military and aircraft programs followed Waterfall model in many organizations. his is because of the strict standards and requirements that have to be followed.In such industries, the requirements are known well in advance and contracts are very specific about the deliverable of the project.
b) System Prototype - The prototyping model is a systems development method in which a prototype is built, tested and then reworked as necessary until an acceptable outcome is achieved from which the complete system or product can be developed.Prototype model should be used when the desired system needs to have a lot of interaction with the end users.
c)V-model - V- model means Verification and Validation model. Just like the waterfall model, the V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins.The V-shaped model should be used for small to medium-sized projects where requirements are clearly defined and fixed.The V-shaped model should be chosen when sample technical resources are available with essential technical expertise.
d)Agile - Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications. Extreme Programming (XP) is currently one of the most well known agile development life cycle model.