What is Agile Project Management?
The Agile Project Management approach arose in the early 2000s when software development teams realised they were unable to quickly and flexibly deliver systems while utilising 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 by following a plan
The manifesto’s goal 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 an approach that best fits their needs. Here, we will discuss two agile methodologies: Extreme Programming and Scrum.
Examples of Agile Methodologies
- 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 fundamental 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 project’s timeline and how decisions can affect it.
- Simplicity: The most straightforward 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 from 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 primary responsibility of the product owner is to define the requirements for the features that need to be completed. This person also prioritises 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 prioritise functionalities within the product backlog, which is a list of all the requirements for the product. The product owner will then add the prioritised 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, determine which processes went well, and provide suggestions on improving 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 fulfil a project’s requirement; therefore, it would be challenging 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.