1. What is Agile Methodology?
According to Muslihat, "Agile methodology is a type of project management process, mainly used for software development", and "is a collection of principles that value adaptability and flexibility" (Muslihat, 2018). Additionally, according to the Agile Manifesto, there are 4 core values which are:
Individuals and interactions over processes and tools
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan. (Beck et al., 2001)
2. What is Waterfall Methodology?
According to The Economic Times, the waterfall methodology is "a classical model used in system development life cycle to create a system with a linear and sequential approach", and the methodology "develops systematically from one phase to another in a downward fashion". Additionally, there are seven phases of the waterfall methodology:
Requirement Gathering all possible requirements that are captured in product requirement documents.
Analysis of the requirement which defines the schemas, models, and business rules.
System Design based on the analysis design software architecture.
Implementation Development of the software in the small units with functional testing.
Integrating each unit developed in the previous phase and testing the entire system for any errors.
Launching the products on the production environment after all functional and non-functional testing completed.
Maintenance, fixing issues, and releasing new versions with the required issue patches.
(Bennett, Coleman & Co.Ltd, 2020)
3. Comparing Agile vs Waterfall Methodology
a) Key Differences
Waterfall is a Linear Sequentila Life Cycle Model whereas Agile is a continuous iteration of development and testing in the software development process.
Agile is known for its adaptability or flexibility whereas Waterfall is a structured software development methodology.
Agile follows an incremental approach while Waterfall is a sequential design process.
Agile performs testing subsequentially with software development while Waterfall testing comes after the "Build" phase.
Agile allows changes in the project while Waterfall does not allow changes once the project development starts.
(Guru99, 2021)
b) Advantages
i. Agile
Faster software development life cycle.
Predictable schedule in sprints.
Stakeholder-focused.
Flexible and adaptable.
Motivating teams to manage projects.
Promoting efficient communications.
Ideal for projects with non-fixed funding.
(Santos, 2020)
Lower cost.
Enhance creativity and innovation.
(Cobb, 2021)
ii. Waterfall
Staightforward planning and designing
Following designing-whole-system approach
Project's scope being identified and defined
(Santos, 2020)
Financial cost being identified highly accurated.
Testing is easily made.
Easily scalable.
Everyone can catch-up wiht a reasonable speed.
(Kienitz, 2017)
c) Disadvantages
i. Agile
Spending time in training and refining skills is required
Difficulty in scalability
(Cobb, 2021)
Highly focusing in customer engagement which can result the decline in customers' comfortable and time.
Easy in theory but hard to apply in practice.
Can be a challenge for large-scale companies.
Intensive for both developers and users
(Lonergan, 2016)
ii. Waterfall
Have a difficult time to identify needs.
Lack of adaptability and difficult in dealing with uncertainties.
Longer delivery time.
(Kienitz, 2017)
Not an ideal methodology for large-scale companies since the end result is too far in the future.
Testing can only be done at latter phase instead of throughout the process.
Limiting customer engagement.
(Santos, 2020)
References
Beck, K. et al. 2001, Manifesto for Agile Software Development, Agile Manifesto, viewed 26th February 2021, <https://agilemanifesto.org/>. Bennett, Coleman & Co.Ltd, 2020, Definition of 'Waterfall Model', The Economic Times, viewed 26th February 2021, <https://economictimes.indiatimes.com/definition/waterfall-model>. Cobb, C 2021, What Are the Advantages and Disadvantages of Agile and Scrum?, High Impact Project Management, Inc., viewed 26th February 2021, <https://managedagile.com/what-are-the-advantages-and-disadvantages-of-agile-scrum/>. Guru99, 2021, Agile Vs Waterfall: Know the Difference Between Methodologies, Guru99, viewed 26th February 2021, <https://www.guru99.com/waterfall-vs-agile.html>. Kienitz, P 2017, The pros and cons of Waterfall Software Development, DSCL Software Ltd., viewed 26th February 2021, <https://www.dcslsoftware.com/pros-cons-waterfall-software-development/>. Lonergan, K 2016, Agile versus Waterfall?, pmis - project management informed solutions, viewed 26th February 2021, <https://www.pmis-consulting.com/agile-versus-waterfall/>. Muslihat, D 2018, Agile Methodology: An Overview, Zenkit, viewed 26th February 2021, <https://zenkit.com/en/blog/agile-methodology-an-overview/>. Santos, J.M.D 2020, Agile vs. Waterfall: Differences in Software Development Methodologies?, PM project-management.com, viewed 26th February 2021, <https://project-management.com/agile-vs-waterfall/>.
ความคิดเห็น