What is Agile Project Management?
The Agile Project Management approach arose in the early 2000s when software development teams realized they were unable to quickly and flexibly deliver systems while utilizing traditional processes (e.g., waterfall method). The agile approach to project management focuses on people and continuous improvements to the system through shorter development cycles.
What is the Agile Manifesto?
The Agile Manifesto was the principal documentation created by 17 software developers who initially defined the Agile process. The manifesto’s four foundational values 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
The goal of the manifesto is to increase client involvement in the development cycles to ensure that the project meets expectations and that resources are not wasted building the wrong product. Since there is more than one agile process, each project and team is different. Therefore, it is up to the team to find a process that best fits their needs. Here, we will discuss two agile methodologies: Extreme Programming and Scrum.
Examples of Agile Methodologies
1. Extreme Programming (XP)
Extreme Programming (XP) was one of the first popular agile methods. According to the XP methodology, instead of investing a lot in planning or documentation, developers should start building small functionalities and always be able to adapt to changes/feedback as needed. The five key principles of the XP method are:
- Communication: Ensure a way of communication between all stakeholders throughout the project. This is to guarantee that all stakeholders understand the timeline of the project and how decisions can affect it.
- Simplicity: The simplest solutions should be implemented first. More expensive solutions should be discussed with clients.
- Feedback: Feedback should be collected from system testers, clients, and other teammates.
- Courage: Willingness to accept feedback and ability to discard failed solutions.
- Respect: Ensure that solutions are well documented so that it is understandable to teammates. Solutions should not break the current system as it will hinder the teammates’ ability to work on other aspects of the system.
Scrum is currently one of the most used agile methods. The scrum methodology focuses on working iteratively through sprints that range between one to three weeks. The goal after each sprint is to be able to show the functionality that was implemented for customers to get feedback. Scrum teams assume three outlined roles:
- Product owner: The main responsibility of the product owner is to define the requirements for the features that need to be completed. This person also prioritizes features.
- Scrum master: The scrum master ensures the team is on schedule and will attend daily meetings to resolve any problems that block the development.
- Team: Teams are cross-functional with product testers, designers, developers, clients, etc.
The scrum processes that must be followed:
- Sprint planning: Before each sprint, the product owner will prioritize functionalities within the product backlog, which is a list of all the requirements for the product. The product owner will then add the prioritized items into the sprint backlog, which is the list of tasks that the team will work on for the upcoming sprint.
- Stand-up meeting: Every day during the sprint period, the team will meet daily to discuss the progress of the sprint backlog, challenges, and what will be worked on next. This meeting should only be 15 minutes long and further discussions should be taken outside of the meeting.
- Sprint review: After each sprint, the expectation is that the team creates a shippable product and should be able to demonstrate functionalities to clients, the product owner, and other stakeholders to get feedback.
- Retrospective: The goal of retrospective meetings is to allow the team to reflect on past sprints and determine which processes went well and provide suggestions on the way to improve future sprints. The frequency of the meetings depends on the team.
Drawbacks of Agile Project Management
The point of agile project management is building products that fulfill a project’s requirement; therefore, it would be difficult to work with customers who are unsure about what they are looking for. Furthermore, since agile is less formal and should be adaptive to change quickly, it may not work well in companies with very structured policies and processes.
CFI offers the Financial Modeling & Valuation Analyst (FMVA)™ certification program for those looking to take their careers to the next level. To keep learning and advancing your career, the following CFI resources will be helpful: