A system development methodology is a general term used as a guidelines in developing an information system. Each approach has its own characteristic and can only be apply in certain project. Therefore, the team leader and group members need to consider carefully on which type of approach they should use. (Kendall & Kendall, 2011). In general, system development approach is categorised based on three major characteristics which are linear, iterative and combination of linear and iterative (refer Figure 1 in Appendix 1).
Waterfall model is the only type of model that uses the linear characteristics. Waterfall model or more known as traditional model focused on the development life cycle and each phase need to be completed before started the next phase. Development is frozen and documented at the completion of each phase, and if a change is needed, a formal “change request” is required (Hodges, 2007). The basic principles are the project is divided into sequential phases, with some overlap and splash back acceptable between phases. Planning, time schedules, target dates, budgets and implementation of an entire system at one time is then emphasis. Furthermore, through the use of detail written document and approval by the user and information technology management, the life of the project is maintained with tight control at the end of most phases. This approach is not suitable for large projects where the changes in requirements are frequent such as external changes, changing expectations, budget changes or rapidly changing technology.
The second major characteristic of system development approach is the iterative framework. Unlike the linear approach described earlier, iterative framework are divided to prototyping, agile and rapid application development approach. Prototyping approach basic idea are it not a standalone approach but an approach to handling selected portions of larger methodology. It reduce the inherent project risk by breaking the project into smaller segments and providing more ease of changing during development process. However, user involvement is throughout the process so the acceptance of user is until the final implementation. This approach also can change from a prototype to a working system if users are comfortable with the system. Compared to Waterfall approach, prototyping is an appropriate implemented in large project with many users, interrelationships and functions, and functional requirements that may change frequently and significantly.
According to Nerur and Balijepaly (2007), agile development approaches differ from the traditional, plan-driven, structured approaches as the former put more emphasis on lean process and dynamic adaptation than on detailed front-end plans and heavy documentation. The requirements and solutions evolve through collaboration between self-organizing and cross-functional teams. The most common agile methods described were XP and Scrum. The review by (Dybå and Dingsøyr, 2008) also...