Module VI: Project Management Methodologies: Part I

References:

  • Lei, H., Ganjeizadeh, F., Jayachandran, P. K., and Ozcan, P. 2017. A statistical analysis of the effects of Scrum and Kanban on software development projects. Robotics and Computer-Integrated Manufacturing, 43, 59-67.
  • Dursun, M. Goker, N., and Mutlu, H. 2019. An Intuitionistic Fuzzy Decision Aid Approach to Analyzing Performance Indicators of Waterfall Project Management Framework. ICBIM ‘19: Proceedings of the 3rd International Conference on Business and Information Management, 195-198.
  • Pace, M. 2019. A Correlational Study on Project Management Methodology and Project Success. Journal of Engineering, Project, and Production Management, Vol. 9, Issue. 2, 56-65.
  • Mani, D. 2020. Agile Methodology in Product Management. The Innovation.
  • Cervone, H. 2011. Understanding agile project management methods using Scrum. OCLC Systems & Services, Vol. 27, Issue. 1, 18-22.
  • Cobb, C. D. (2011). Making Sense of Agile Project Management: Balancing Control and Agility. John Wiley & Sons, Inc. New York, NY.

Waterfall Method

The Waterfall methodology is the oldest and the most popular framework. It simply follows a sequential and linear process.

Gnatt Chart Image

Figure 1 – Gnatt Chart Image

The Waterfall framework is composed of several stages:

  • Conception – This stage involves assessing the requirements, addressing the potential benefits, and analyzing the cost estimates of the project.
  • Initiation – This stage involves identifying the project team and defining the project objectives, scope, purpose, and deliverables.
  • Analysis– This stage involves gathering and documenting the project requirements and/or specifications.
  • Design – This stage involves creating the software coding and/or hardware installation protocols; with the overall goal to understand what actions need to be taken.
  • Construction – This stage involves the process of coding the software and/or installing the hardware that was presented in the design phase.
  • Testing – This stage involves testing the system for errors; user acceptance testing may be required prior to releasing to the end-users.
  • Deployment – This stage involves deploying the software to the end-users.
  • Maintenance – This stage involves the project team monitoring, resolving, changing, or modifying the software once it has been released to the end-users.

Waterfall advantages:

  • Manageable – Ability to use a sequential pattern, it is easy to use and manage.
  • Milestones – Ability to track progress as each stage has a start and end point.
  • Documentation – Ability to provide documentation as project advances through every stage; it also provides a paper trail and resource for future projects.
  • Focus – Ability to share progress with end-users and stakeholders.

Waterfall disadvantages:

  • Change Management – Lacks the ability to go back change and/or update phase once it is completed.
  • Software/Hardware Delays – If there are delays in software/hardware implementation and due to the sequential nature of the framework, then this may cause frustration to the end-users and stakeholders.
  • Requirements Gathering – The initial phase involves gathering the requirements from the stakeholder; however, this can be a challenge as it is possible that the stakeholder may identify changing requirements as the project progresses.
  • Costs – If any of the mentioned disadvantages occur, then it can be expensive to go back and correct any of these issues.

Agile Method

The Agile method has the perception of being less bureaucratic. This method refers to alignment, where alignment involves the developers and stakeholders to collaborate with one another to align the desired product with the customer needs. 
 

Figure 2 – Agile Method Image

Figure 2 – Agile Method Image
 

The Agile framework is composed of several stages:

  • Planning – This cycle involves the project team identifying the ideas or features, by breaking down these ideas into smaller pieces of work (features) then prioritizing each feature and assign it to an iteration.
  • Requirements Analysis – This cycle involves gathering requirements and information on how, who, and why the product is being developed; the requirements must be quantifiable, relevant, and detailed.
  • Design – The system and software design are prepared from the requirements identified in the previous phase. The team needs to think about what the product or solution will look like. The test team also comes up with a test strategy or plan to proceed.
  • Implementation, Coding or Development – This cycle is all about creating and testing features and scheduling iterations for deployment. The development phase starts with iteration, because there are no features being delivered. This iteration lays down the foundation for development, with tasks like finalizing contracts, preparing the environments, and funding.
  • Testing – In this cycle, once the code has been developed, it is tested against the requirements to make sure the product is solving customer needs and matching user stories. During this phase, unit testing, integration testing, system testing, and acceptance testing are done.
  • Deployment – After testing, the product is delivered to customers for them to use. However, deployment isn’t the end of the project. Once customers start using the product, they may run into new problems that the project team will need to address.

Agile advantages:

  • Embrace Change – The advantage is to accommodate and accept changes at any time, advantage there is always an opportunity to refine and reprioritize.
  • Unknown End Goal – The advantage is as the project progresses; the goals will become clearer as the requirements evolve.
  • High Quality Delivery – The advantage is to break down the project into iterations, which allows the project team to focus on development, testing, and collaboration at each iteration.
  • Team Interaction – The advantage is frequent communication, emphasizing teamwork, communication, and accountability.
  • Customer Focus – The advantage is that the stakeholder works closely with the project team and has various opportunities to share their input on the end-product.

Agile disadvantages:

  • Planning – The disadvantage can be locking down a solid delivery date. Project Managers are often reprioritizing tasks which may affect the deliver time.
  • Team Knowledge Base – The disadvantage is that Agile project teams are generally small, therefore the team members must be highly diverse and skilled in a variety of areas.
  • Team Commitment – The disadvantage is that Agile projects can be more time consuming for the team members than the traditional approaches.
  • Lack of Documentation – The disadvantage is for the Agile approach is that this method prefers working software over comprehensive documentation; therefore, the team members may neglect developing the supporting documents.

Scrum Method

The Scrum method is simply an Agile, lightweight process for managing and controlling software and product development in a rapidly changing environment. This method focuses on the team running experiments to improve the product where the team inspects and adapts accordingly.

The Scrum framework incorporates several unchanging steps:

Scrum Framework

Figure 3 – Scrum Framework Image

Product Backlog – This step involves the stakeholder and project team to collaborate and prioritize the items on the product backlog, as defined by the requirements. The product backlog is not a list of items to be completed, but rather it is a list of all the desired features for the product. The development team then pulls work from the product backlog to complete during each sprint.

Sprint Planning – This step involves the stakeholder to present the top items on the backlog to the team in a sprint planning meeting. The team then chooses which work they can complete during the sprint and moves the work from the product backlog to the sprint backlog, which is a list of tasks to complete during the sprint.

Backlog Refinement/Grooming – This step involves the team and stakeholder to meet after the sprint is completed. This is to ensure that the backlog is ready for the next sprint. The team may remove user stories that aren’t relevant, create new stories, reassess the priority of stories, or split user stories into smaller tasks. The purpose of this “grooming” meeting is to ensure the backlog only contains items that are relevant and detailed, and that meet the project’s objectives.

Daily Scrum Meetings - This step involves coordinating 15-minute stand-up meetings where each team member talks about their goals and any issues that have come up. The Daily Scrum happens every day during the sprint and helps keep the team on track.

Sprint Review Meetings – This step involves coordinating meetings at the end of each sprint. During these meetings the team presents the work they have completed at a sprint review meeting. This meeting should feature a live demonstration, not a report or a PowerPoint presentation.

Sprint Retrospective Meetings – This step involves coordinating meetings at the end of each sprint, where the team reflects on how well Scrum is working for them and talks about any changes that need to be made in the next sprint. The team may talk about what went well during the sprint, what went wrong, and what they could do differently.

Scrum advantages:

  • Transparency – The advantage is that it provides more transparency and project visibility. With daily stand-up meetings, the whole team knows who is doing what, eliminating many misunderstandings and confusion. Issues are identified in advance, allowing the team to resolve them before they get out of hand.
  • Accountability – The advantage is that there is no project manager telling the project team what to do and when to do it. Instead, the team collectively decides what work they can complete during each sprint. They all work together and help each other, improving collaboration and empowering each team member to be independent.
  • Accommodating Change – The advantage is with the utilization of short sprints and constant feedback, it’s easier to cope with and accommodate changes.

Scrum disadvantages:

  • Scope Creep – The disadvantage is that this method can experience scope creep due to a lack of specific end date. Also, with no completion date, stakeholders may be tempted to keep requesting additional functionality.
  • High Experience and Commitment – The disadvantage requires high level of experience and commitment from the project team. Since there are no defined roles in the Scrum Team, it requires team members with technical experience. The team also needs to commit to the daily Scrum meetings and to stay on the team for the duration of the project.
  • Lack of Leadership – The disadvantage is that there is not technically a project manager involved but a Scrum Master. The Scrum Master is very different from a project manager. The Scrum Master does not have authority over the team; he or she needs to trust the team they are managing and never tell them what to do. If the Scrum Master tries to control the team, the project will most likely fail.
Was this helpful?
0 reviews