Agile Project Management is one of the revolutionary methods introduced for the practice of project management. This is one of the latest project management strategies that is mainly applied to project management practice in software development. Therefore, it is best to relate agile project management to the software development process when understanding it.
From the inception of software development as a business, there have been a number of processes following, such as the waterfall model. With the advancement of software development, technologies and business requirements, the traditional models are not robust enough to cater the demands.
Therefore, more flexible software development models were required in order to address the agility of the requirements. As a result of this, the information technology community developed agile software development models.
'Agile' is an umbrella term used for identifying various models used for agile development, such as Scrum. Since agile development model is different from conventional models, agile project management is a specialized area in project management.
It is required for one to have a good understanding of the agile development process in order to understand agile project management.
There are many differences in agile development model when compared to traditional models:
The agile model emphasizes on the fact that entire team should be a tightly integrated unit. This includes the developers, quality assurance, project management, and the customer.
Frequent communication is one of the key factors that makes this integration possible. Therefore, daily meetings are held in order to determine the day's work and dependencies.
Deliveries are short-term. Usually a delivery cycle ranges from one week to four weeks. These are commonly known as sprints.
Agile project teams follow open communication techniques and tools which enable the team members (including the customer) to express their views and feedback openly and quickly. These comments are then taken into consideration when shaping the requirements and implementation of the software.
In an agile project, the entire team is responsible in managing the team and it is not just the project manager's responsibility. When it comes to processes and procedures, the common sense is used over the written policies.
This makes sure that there is no delay is management decision making and therefore things can progress faster.
In addition to being a manager, the agile project management function should also demonstrate the leadership and skills in motivating others. This helps retaining the spirit among the team members and gets the team to follow discipline.
Agile project manager is not the 'boss' of the software development team. Rather, this function facilitates and coordinates the activities and resources required for quality and speedy software development.
The responsibilities of an agile project management function are given below. From one project to another, these responsibilities can slightly change and are interpreted differently.
Responsible for maintaining the agile values and practices in the project team.
The agile project manager removes impediments as the core function of the role.
Helps the project team members to turn the requirements backlog into working software functionality.
Facilitates and encourages effective and open communication within the team.
Responsible for holding agile meetings that discusses the short-term plans and plans to overcome obstacles.
Enhances the tool and practices used in the development process.
Agile project manager is the chief motivator of the team and plays the mentor role for the team members as well.
manage the software development team.
overrule the informed decisions taken by the team members.
direct team members to perform tasks or routines.
drive the team to achieve specific milestones or deliveries.
assign task to the team members.
make decisions on behalf of the team.
involve in technical decision making or deriving the product strategy.
In agile projects, it is everyone's (developers, quality assurance engineers, designers, etc.) responsibility to manage the project to achieve the objectives of the project.
In addition to that, the agile project manager plays a key role in agile team in order to provide the resources, keep the team motivated, remove blocking issues, and resolve impediments as early as possible.
In this sense, an agile project manager is a mentor and a protector of an agile team, rather than a manager.