Comparison between SDLC Methodology Waterfall and one of The Frameworks for Agile Method (Scrum)
Development of new system are closely related to a project. Project itself defined as a planned undertaking that has a beginning and an end and produces some definite result. The objective of a project is to create a unique product/service or result in a limited time and resources.
Here is one of facts about project management that cited from faethcoaching.com: According to an IBM study, only 40% of projects meet schedule, budget, and quality goals. This means, the balance does not. Based on the fact above, to guide and coordinate the work of the project team, they need a project management framework. With project management framework, a project can be analyzed and designed in detail. The Systems Development Life Cycle (SDLC) identifies all the activities required to build, launch, and maintain an information system (Satzinger, Jackson, and Burd, 2012). According to Tegarden, Dennis, and Wixom (p2, 2013), System Development Life Cycle is the process of understanding how an information system (IS) can support business needs by designing a system, building it, and delivering it to users. While, according to Baltzan (p345, 2014), the System Development Life Cycle is the overall process for developing information systems, from planning and analysis through implementation and maintenance. From the definitions above, the SDLC includes all activities and tasks as well as other project management processes which are required to plan, build, maintain, and evaluate the new information system until the deployment phase passed.
The processes occurred in SDLC can be implemented in many ways. One actual approach of them is Information systems development process. This approach is used to develop a certain information system within an organization. This approach is conducted to develop information systems which are conceived and be built to solve the problems that occur in many organizational levels which are usually very complex. Information systems that are complex—sometimes it turned to very complex—making it difficult to plan and execute its development project. These approaches to develop a process have been developed to boost efficiency and effectivity in an organization.
SDLC methodologies are numerous and differ from each other. Here, the scope is comparing the methodologies between Waterfall and Agile. There are more than one framework for Agile Methodology, such as Extreme Programming (XP) and Scrum. This paper will explain the definition of waterfall methodology and agile methodology in scrum framework including its main differences.
Before talking more about SDLC methodology, we firstly need to know what methodology is. Methodology is a set of policies, procedures, standards, processes, practices, tools, techniques, and tasks that people apply to technical and management challenges (Baltzan, 2014). Methodology is commonly related to how management in organizations do the plan, with whom, by what, and in what standards. Currently, organizations use a methodology with complex considerations such as resources they have and weight of the problem they face. Organizations use a methodology to manage the deployment of new kind of things, in this case new technology or new system, with work plans, requirement documents, and test plans for example. It can include code libraries, development practices, common sharing knowledge, and so on.
The oldest and best known SDLC methodology is Waterfall Methodology. According to Baltzan (p351, 2014), waterfall methodology is a sequence of phases in which the output of each phase becomes the input for the next. With waterfall development-based methodologies, the analyst and users proceed in sequence from one phase to the next (Tegarden, Dennis, and Wixom, 2013). In the SDLC, this method means each step is performed one at a time, in order sequence, from the beginning—planning through the ending—implementation and maintenance. The team cannot continue to the next phase if the current or previous phase has not completed yet. Another point of waterfall methodology is the deliverables for each phase are typically very long and takes time because of the approval of each phase is strongly needed for continuing to the next phase. This is the reason why it named as waterfall methodology: it moves forward from one phase to the next phase in a manner that similar to the form of waterfall.
One of the newer and more effective SDLC methodology at the current trend nowadays is Agile Methodology or Development. According to Satzinger, Jackson, and Burd (p6, 2012), Agile development is an information system development process that emphasizes flexibility to anticipate new requirements during development. Agile methodology is a guiding philosophy and set of guidelines for developing information systems in an unknown, rapidly changing environment. Agile methodology aims for customer satisfaction through early and continuous delivery of useful software components developed by an iterative process using the bare minimum requirement (Baltzan, 2014). This methodology enables the team to perform and complete the task quickly and efficiently with lower costs and fewer features. One of primary forms of agile methodologies are Scrum methodology.
Scrum methodology uses small teams to produce small piece of software using a series of “sprints”, or 30-day intervals, to achieve an appointed goal. Scrum development focuses on team levels and a few practices to produce a smaller piece of software that can assembled together later. Scrum is responsive to a highly changing, dynamic environment in which users might not know exactly what is needed and might also change priorities frequently.
After exploring the definition of each methodology, both Waterfall and Scrum methodologies, the differences of the two methodologies can be summarized. None is the best. But one of the two methodologies might be better in some condition and challenge faced. Waterfall methodology which is very sequential and highly structured is better to use in developing a huge system that needs a very fully concentration of each phase. While, scrum methodology is better to use in developing a system which the environment is rapidly changing quickly, faster and cheaper system development.
References :
Baltzan, P. (2014). Business Driven Information Systems. New York: McGraw Hill.
IT Project Failure Rates Facts and Reasons. (2016, September 3). Retrieved from Faeth Coaching: http://www.faethcoaching.com
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2012). Systems Analysis and Design: In a Changing World. Boston: Cengage Learning.
Tegarden, D., Dennis, A., & Wixom, B. H. (2013). System Analysis and Design with UML. Singapore: John Wiley & Sons, Inc.