Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Manju Raman
DOI Link: https://doi.org/10.22214/ijraset.2024.65371
Certificate: View Certificate
The author explores the project management methodologies transitioning from Waterfall to Agile to Hybrid in this article. The author analyses each methodology to document the suitability, advantages, and disadvantages of Waterfall and Agile methodologies. Waterfall has a very constricted approach, with the activities happening in a sequence and with no deviation allowed from them. The stakeholders play a vital role in the early phases when providing the requirements, and they are only involved during the testing phase. This methodology demands extensive documentation of the business case, project plan, requirements, product design, etc., and at the same time, lacks flexibility in adapting to changes in requirements during later phases of the project. Agile, on the other hand, advocates an iterative approach to development. With the close collaboration of the stakeholders or the customers, the requirements are documented by the Product Owner, and any questions or clarifications the developers need are immediately available from the customers/stakeholders. Stakeholders working in close contact with the team result in high demands and changing requirements from them and can tax the team. Agile does not favour extensive documentation, and thus, it can adversely affect the team if they are working on a long-running project with new team members joining the team. Both methodologies have their advantages, which were incorporated into the Hybrid methods and are expected to overcome the challenges faced by the teams when using either.
I. INTRODUCTION
Before the advent of Agile, traditional project management followed a linear process where activities needed to be completed sequentially. Each predecessor activity had to be finished before any dependent tasks could begin. According to the Project Management Body Of Knowledge PMBOK [16], the project life cycle comprises several phases: Feasibility (validating the business case and assessing organizational capability), Design (planning and analysis leading to deliverable design), Build (constructing the deliverable), Test (quality assurance and remediation), Deploy (putting the deliverable to use), and Close (formally concluding the project and updating knowledge bases).
This traditional Project Management approach mandated that a review be conducted after the completion of each phase. A strict timeline was created, and a strict scope was set in traditional methodology before the development began; this allowed for a very restricted change in requirements or flexibility on the part of the development team. In contrast, the Agile Software Development Manifesto emerged as a response to the need for more adaptable, lightweight frameworks. Representatives from methodologies like Extreme Programming, Scrum, and Crystal convened to advocate for an approach less focused on documentation and more on collaboration and responsiveness to change.
Agile project management was influenced by a 1986 article by Hirotaka Takeuchi and Ikujiro Nonaka in the Harvard Business Review titled "The New Product Development Game." This work used rugby as a metaphor to highlight the benefits of self-organizing teams in innovative product development. Agile adoption by organizations requires a cultural transformation, emphasizing teamwork, increased collaboration, and iterative progress tracking rather than a one-size-fits-all management strategy.
In a project management landscape where strict rules dictate requirements management, Agile's iterative and incremental approach allows for adaptability—enabling teams to respond to customer requests throughout the development cycle.
II. OBJECTIVES
The objective of this review is to:
III. LITERATURE REVIEW
This article aims to review publications documenting the pros and cons of traditional Waterfall and Agile methodologies. The Hybrid approach proposes to overcome these challenges by taking the pros of both methods and applying them to project or product management.
A. Waterfall Methodology
Dr. Winston W. Royce, in his paper “Managing the development of large software systems: concepts and techniques,” talks about the phased approach to computer program development [3]. He states that regardless of size, every program would have two phases – Analysis and Coding. He proceeds to elaborate that on large-scale development projects, additional phases may be required – System Requirements, Software Requirements, Analysis, Program Design, Coding, Testing, and Operations. He also emphasizes the need for extensive documentation: "The first rule of managing software development is ruthless enforcement of documentation requirements.” [3]
Project Management methodology, as documented in PMBOK, further elaborates on a project's phases. It insists on a linear approach, where the preceding phase is completed before starting the next phase. Traditional project management methodology continues to emphasize extensive documentation.
1) Phases in Traditional Methodology
2) Roles in Traditional Methodology
Below are the Roles in Traditional Methodology -
B. Agile Methodology
You cannot speak of Agile without discussing the Agile manifesto and the 12 principles of Agile. These values and principles are the building blocks of agile methodology. Below are the Agile Manifesto and Principles as defined in the Scrum Guide [17]:
Agile Manifesto 4 Values:
The principle behind the Agile Manifesto:
1) Roles in Agile Methodology: Not all Agile methodologies define specific roles.
Among those that do, Scrum, Extreme Programming (XP), and Feature-Driven Development (FDD) have clearly outlined roles. In contrast, Kanban and Lean Programming do not propose specific roles.
The Scaled Agile Framework (SAFe) takes a different approach [18]. It incorporates Agile, Lean, and DevOps principles to extend Agile practices across large organizations. SAFe also includes defined roles for team members to support scalability and alignment.
Agile roles were first formally introduced within the Scrum framework, developed by Jeff Sutherland and Ken Schwaber in the early 1990s. The structure and responsibilities of these roles were detailed in the Scrum Guide, initially published in 2010, and later updated in 2020. According to the Scrum Guide, the primary Scrum roles and their responsibilities include:
2) Events and Artifacts in Agile Methodology
In addition to defining roles, Agile specifies specific ways of working, referred to as "Ceremonies." The most crucial of these ceremonies is the Sprint, which encompasses all the other ceremonies. Sprint is an iteration during which the development team completes the work, evaluates it, and creates a Minimum Viable Product (MVP) for stakeholders to review. Sprints typically last between 2 to 4 weeks. all Agile methodologies define specific roles.
Sprint Planning is the ceremony where the development team selects the work to be completed during the Sprint to deliver a functioning component of the final product, which is then added to the Sprint Backlog. The work is drawn from the Product Backlog, a prioritized list of user stories and requirements maintained by the Product Owner. The Product Owner is responsible for ensuring that the Product Backlog contains the necessary user stories for the development team to work on. It is also advised that the Product backlog must have at least 2-3 Sprints worth of user stories, if not more [2].
Once the Sprint Backlog is defined, the Sprint begins. The development team, along with the Scrum Master, meets daily for a Daily Scrum. This is a time-boxed, 15-minute event where each team member shares progress updates, identifies any blockers, and outlines the work they plan to complete that day. The Daily Scrum is strictly for sharing brief updates and is not intended to resolve issues.
Throughout the Sprint, the Quality Assurance (QA) team or testers validate the completed work against the Definition of done. The definition of done is nothing but the acceptance criteria outlined in the user stories, which need to be met for work to be considered done.
At the end of the Sprint, the Sprint Review takes place, during which the development team displays the completed work to stakeholders. The Sprint Review allows the stakeholders to assess progress toward the project goal and raise concerns about the component or MVP delivered.
Finally, the Sprint Retrospective is one of the most vital Agile events. This ceremony allows the development team to reflect on how the Sprint was conducted, identify areas for improvement, and discuss changes to implement in the next Sprint. It provides a crucial opportunity for continuous improvement and improved processes.
C. Highly Effective Features Of Traditional Methodology
The traditional waterfall methodology has been used for a long time for project management because of its advantages.
Suitable for Small Projects: The literature reviewed noted that waterfall suits smaller projects with well-defined requirements. Its straightforward approach can be beneficial in cases where changes are less likely to occur during the development process.
D. Highly Effective Components And Practices Of Agile Methodology
Agile prioritizes customer satisfaction by welcoming changes throughout development to maintain high satisfaction levels. It focuses on delivering functional components frequently, allowing customers to see incremental progress with each sprint.
Agile promotes close collaboration between the development and business teams or customers, fostering a supportive and trusting environment that motivates the development team. It values face-to-face communication as the most effective method for collaboration.
Additionally, Agile encourages sustainable development with self-organizing teams committed to excellence and quality. Teams are prompted to reflect on their work after each iteration, enabling them to adjust their practices for improved effectiveness.
Agile has made significant strides, with several organizations and industries adopting Agile methodologies for project management and product development. Below are statistics from Notta.ai highlighting the adoption rates of various Agile frameworks [1].
In terms of the use of Agile marketing, the impact of various factors that influenced the decision is that 64% found that Agile marketing is more important in the competitive landscape, while 30% stated that it had no impact.
E. Challenges And Disadvantages Of Traditional Methodology
The Waterfall methodology offers a structured and predictable approach to software development, making it suitable for small projects with well-defined requirements. Its emphasis on documentation and clear deliverables contributes to effective project management. However, its lack of flexibility, limited customer involvement, and high-risk factors can be problematic, particularly in complex and dynamic development environments. Below are the disadvantages or challenges with the traditional/Waterfall methodology:
F. Challenges And Disadvantages Of Agile Methodology
Even though Agile adoption is increasing, there are certain disadvantages to it. The below is a consolidation of the reasons why Agile Methods fail:
G. The Hybrid Approach
It was surprising that Dr. Royce highlighted the iterative approach to software development in his article. He emphasized that software coding should not commence until the design is finalized, stating, “An acceptable written description forces the designer to take an unequivocal position and provide tangible evidence of completion.” He also advocated for customer interaction during the design phase, asserting that “Each designer must communicate with the interfacing designers, with his management, and possibly with the customer.” Dr. Royce believed that program design should be the responsibility of Program Designers rather than analysts. This phase should yield a System Overview document and a database design, among other things.
According to Janine, Jeff Reiff, and Dennis Schlegal, in the publication “Hybrid project management – a systematic literature review,” combining hybrid approaches is possible. These are a mix of specific characteristics of the Traditional and Agile methodologies [6]. They are detailed below.
1) Water-Scrum-Fall: According to the article "Water-scrum-fall is the reality of agile for most organizations today.", this methodology has three high-level phases.
The first phase is the “Water” phase, where the below activities are performed as in the “Waterfall Methodology” before starting the development work:
Requirements gathering – The detailed requirements are gathered and documented,
Analysis –Feasibility analysis is conducted on the requirements gathered and an initial design is developed,
Planning – Detailed Project plans are developed; timelines are documented, and resource allocation are performed.
The “Scrum” phase is the development phase where the actual development activities take place. The activities in this phase are performed iteratively for multiple sprints. The below activities are performed in this phase.
Sprint planning – Sprint goals are defined, and the Sprint backlog is populated with items to be worked on in the Sprint
Implementation (Development & Testing) – Here, the actual development activities are performed along with testing of the components developed in each sprint
Daily Scrum – This is the timeboxes event where the team gathers to review the work being performed by the team, and any blockers or issues are notified.
Sprint Review – This is performed at the end of the Sprint to demonstrate the component developed in the Sprint to the Stakeholders. It allows the stakeholders to identify and suggest any critical changes required.
Sprint Retrospective — This is where the team reviews the work done in the prior sprint and finds areas for improvement so that they can make the necessary changes in their work style and perform better in the oncoming sprints.
The “Fall” phase is the last phase of this methodology, during which the product is released for use by the customer/stakeholder. [19].
Final Testing – In this stage, comprehensive testing is performed, including Integration testing, end-to-end testing, and user acceptance testing.
Release preparation – In this stage, preparations are made to release the product for use. Complete user manuals, technical documentation, operational guides, and release notes for the product are prepared. Compliance and security checks are performed to ensure that the final product meets regulatory, security, and industry standards. Deployment strategy, rollback plans, and preparation of the environments for the release are also done in this stage. All the necessary signoffs are obtained in this stage.
Deployment – In this stage, the product is deployed to production for use and tested as soon as it goes live.
Post-Deployment Maintenance – After the product goes live, it is monitored, and any issues identified are resolved immediately. Feedback is collected from the users to track any problems or concerns from the end-users. Ongoing support and maintenance of the product for the long term are planned and set up.
2) Waterfall-Agile: According to this methodology, the Requirements and Planning are performed in the “Waterfall” phase. In the “Agile” phase, the Design, Development, Testing, and Implementation are done. [6]
In this methodology, Waterfall and Agile do not overlap and are distinct. It is predominantly Waterfall, and the Agile methodology is employed for the iterative development approach. The below diagram represents the steps in this methodology. [20]
All these methods suggest that the project activities be split into three phases.
Initial Phase: All these hybrid methods suggest that the Requirements, planning, and Scope definition must be done in the Initial Phase. This allows for the vision and scope of the project to be defined, which enables the Scrum team to have a clearer idea of the direction in which the work is progressing.
Development Phase: All these methods recommend that the Development phase, which includes the Design, development, Unit testing, and implementation activities, stay agile. This allows for iterative development, early detection of issues, and the ability to incorporate minor changes to the entire project during the development phase.
Final Phase: According to all these methods, the final phase should include the Integration, Testing, and launch of the product. In the last phase, all the components would be ready, and an integration would allow for a complete product to be available for testing, bug fixes, and launch.
Waterfall methodology was criticized for its linear approach, the time it took to deliver complex projects, and its limited flexibility to change. Customer feedback was also delayed, and if a change was required, it had to go through the entire linear flow again. Documentation was extensively performed in the waterfall methodology, which, even though it was cumbersome, added value to stakeholders, project managers, business analysts, the development team, and the production support team. Agile did not favor extensive documentation and the requirements were maintained as user stories.
The iterative development, test, and change cycle was highly effective since the Stakeholders had a chance to review the product components early on and recommend any changes if required. Hybrid overcomes the cons of both methodologies by recommending requirements documentation and encourages Agile iteration to be employed for development and to incorporate change. This makes the hybrid method ideal for projects that need a structured framework but also need to adapt to change.
Both Traditional and Agile methodologies have their advantages and disadvantages. For specific projects, either of them can work without any alterations made, but for some, they may not. The time it took from inception to delivery with the waterfall methodology was massive. The stakeholders or customers had a tough time when requesting changes in requirements; they went through change management processes, which were time-consuming. There was no direct interaction between the business and the development team, which resulted in the development team envisioning the design based on the documented requirements. In a world where technology is fast changing, customers\' needs would also change frequently, and Waterfall was just not suited for that. Even though agile also enabled collaboration between the customers and the development team, it also added constant changes in requirements. The iterative approach of agile ensures a high quality of products and limited risks or failures. But, with the lack of documentation, the entire project relied heavily on the development team\'s knowledge. Any change to the requirements, if implemented by a new team member, took time and added risk due to the lack of documentation they could refer to. Hybrid methodology incorporates the best of both worlds and emphasizes the need to complete the design before beginning coding/development. Dr. Royce stated in his article, “The documentation is the specification and is the design.” We have agreed with him regarding the need for documentation in hybrid methodology. The design is iteratively collaborated with the customer; thus, it is final and cannot change once the design is complete. The development team then uses this design to produce incremental product iterations. The incremental components are thoroughly evaluated and fixed before the next iteration. The final integration happens after all the elements are ready and integration testing is performed. This approach will result in a viable product without requiring several design changes to be incorporated in the development phase, enabling the developers to have creative freedom
[1] Mahajan, V. (2024). 50+ Agile statistics you need to know in 2024. Notta.ai. Retrieved from https://www.notta.ai/en/blog/agile-statistics#agile-adoption-and-usage-statistics [2] Koi-Akrofi, J., Matey, H. A., & Koi-Akrofi, G. (2019). Understanding the characteristics, benefits, and challenges of Agile IT project management: A literature-based perspective. International Journal of Software Engineering & Applications, 10(5), 25–44. https://doi.org/10.5121/ijsea.2019.10502 [3] Royce, W. W. (1987). Managing the development of large software systems: Concepts and techniques. In Proceedings of the 9th International Conference on Software Engineering (pp. 328–338). [4] Koceska, N., & Koceski, S. (2022). Hybrid project management as a new form of project management. Journal of Applied Economics and Business, 10(4), 16–23. [5] Singh, K. (2021). Agile methodology for product development: A conceptual study. International Journal of Recent Technology and Engineering, 10(5), 209–215. https://doi.org/10.35940/ijrte.A5899.0510121 [6] Reiff, J., & Schlegel, D. (2022). Hybrid project management – A systematic literature review. International Journal of Information Systems and Project Management, 10(2), Article 4. [7] Pargaonkar, S. (2023). A comprehensive research analysis of software development life cycle (SDLC) Agile & Waterfall model advantages, disadvantages, and application suitability in software quality engineering. International Journal of Scientific and Research Publications, 13(8). https://doi.org/10.29322/IJSRP.13.08.2023.p14015 [8] Zhezherau, A. (2024, August). What are the disadvantages of Agile? Wrike. Retrieved from https://www.wrike.com/agile-guide/faq/disadvantages-of-agile/ [9] Miller, G. J. (2013). Agile problems, challenges, & failures. Project Management Institute. [10] Flora, H. K., & Chande, S. V. (2014). A systematic study on agile software development methodologies and practices. International Journal of Computer Science and Information Technologies, 5(3), 3626–3637. [11] Celigent. What is the role of the scrum master and project manager? Retrieved from https://celigent.com/what-is-the-role-of-the-scrum-master-and-project-manager/ [12] Moradikouchi, A. (2023). Terahertz sensing for pharmaceutical applications. Retrieved from https://core.ac.uk/download/561093213.pdf [13] Yli-Pukka, R. (2022). Agile methods in hardware development. Retrieved from https://core.ac.uk/download/530246488.pdf [14] Mathew, T., & Manocha, A. (2021). Author at Business Analyst Articles, Webinars, Templates, Jobs. Retrieved from https://www.batimes.com/author/thomson_mattyahoo-ca/ [15] Techgenies. Complete guide to software development life cycle (SDLC). Retrieved from https://techgenies.com/blog/software-development-life-cycle-sdlc/ [16] Project Management Institute. (2021). A guide to the project management body of knowledge (PMBOK Guide) and the standard for project management (7th ed.). Newtown Square, PA: Project Management Institute. [17] Schwaber, K., & Sutherland, J. (2020). The Scrum Guide: The definitive guide to Scrum: The rules of the game. Scrum.org. Retrieved from https://scrumguides.org [18] Scaled Agile, Inc. (2021). SAFe 5 for Lean Enterprises. Retrieved from https://scaledagileframework.com [19] West, D., Gilpin, M., Grant, T., & Anderson, A. (2011). Water-scrum-fall is the reality of agile for most organizations today. Forrester Research, 26(2011), 1–17. [20] Kuyeskar, M. (2023). Beyond traditional: Unlocking project success with hybrid project management. LinkedIn. Retrieved from https://www.linkedin.com/pulse/beyond-traditional-unlocking-project-success-hybrid-manali-kuyeskar-yfgye/ [21] Hansen, Camilla & Arlitt, R. & Eifler, Tobias & Deininger, M.. (2022). Design by Prototyping: Increasing Agility in Mechatronic Product Design through Prototyping Sprints. Proceedings of the Design Society. 2. 201-210. 10.1017/pds.2022.22.
Copyright © 2024 Manju Raman. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET65371
Publish Date : 2024-11-19
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here