Agile project management is a management style that focuses on working in iterations that deliver smaller pieces of the overall project more frequently than traditional methods. This allows the developers to more easily respond to any issues that may pop up, or changes in needs for the client or customer. In comparison with an agile approach, traditional project management methodologies would recommend working in small teams dedicated to one particular aspect of a project. These teams would wait until they received the necessary information from other teams, and testing would generally be done once a project was close to completion. The agile manifesto, on the other hand, prioritizes communication between team members over process and tools, tangible results over documentation, and the flexibility of the team to respond to changes in order to develop better software. Agile teams should have frequent check ins and utilize an iterative approach that focuses on regular testing to ensure continuous improvement. Agile methodologies can guide project teams during the process, and two of the most popular frameworks are Scrum and Kanban.
Scrum is one of the oldest agile guidelines. Scrum manages projects by splitting them into short intervals of work, called “sprints,” that usually last approximately two weeks but are no longer than a month. Sprint planning is conducted at the start of each sprint, so that teams can assign jobs as needed, and can adjust for work that was not completed as part of the previous sprint. Additionally, agile teams should meet for fifteen minutes daily to quickly update one another, track progress, and ask for help when needed. Two important roles within a scrum framework are scrum master and product owner. Scrum masters do not manage projects in the traditional sense. Instead, they ensure that the scrum framework is being followed and are in charge of removing obstacles from the scrum team so that development teams can accomplish their mission. Product owners act as the intermediary between the stakeholders and the developers and are responsible for ensuring that the end-user’s needs are being met. Product owners should be involved in the sprint retrospective (the review completed at the end of a sprint) in order to test the software as often as possible and ensure that proper focus is being maintained throughout the development lifecylce.
In comparison with scrum, Kanban is a visual style of project management. A Kanban board is used as a tool to keep track of work and ensure team members are in sync. Each stage of work will have a dedicated column on the board, and will be clearly explained and displayed transparently. The Kanban board should track what aspects of the product are in progress, what is in the product backlog, and what is complete. These stages can be further broken down but should be included in one way or another. Instead of the short sprints that scrum uses, Kanban continuously updates as work is started, moved along, or completed. Statuses should be update on the Kanban board at every change.
Agile project management helps improve the software development process by: