The project management method has evolved after developing the Agile framework, this is a completely new approach to project management. We are using this approach in product development as well nowadays. The traditional approach to project management usually has the following phases:
iv) Monitoring and Controlling
There are some issues with the waterfall approach to project management. One of them is that we assume that once a phase of the project is complete, it will never be re-visited again; this is not practical. It is difficult for the client to provide all the requirements accurately right at the beginning of the project.
An alternative method such as the Agile approach is a more workable solution. While managing complex projects it would be worth trying out a different approach, a combination of both project management techniques- Waterfall and Agile methods; e.g. the phases of requirement gathering, Design, etc., can use waterfall method. We can use the Agile method for the Execution phase of the project. Also, we can include some of the important organizational processes and methods. This will help us devise the best possible method to deliver the project. The Agile method of project management is being preferred for managing most projects.
In traditional project management, we execute the standard phases of project management. The team executes the project management phases in the proper sequence. It is very cumbersome for any phase to be re-visited; but in the real world, there could be some changes in the requirements from the stakeholders. In such cases, the phases might need to be re-visited. If we need to re-execute a specific phase, it will increase the project cost and scope. This will also increase re-work for the project team. Thus, it becomes a very difficult proposition if we use the waterfall method.
In the Agile approach, we build the product or service in small iterations. We can accommodate any changes in product requirements in the next sprints. We can build the changes into the product/service. Thus, the Agile team is also able to manage the changes and change requests better. This approach is cost-effective, and also does not increase the project scope to a great extent. The project cost also does not increase since we incorporate the changes in the next sprints. This also means that we don't need to revisit a particular phase. This is a great advantage over the traditional waterfall project management approach.
The Agile project management approach consists of an iterative process. The team executes the project phases in iterations or sprints. Scrum is one of the most used methods of Agile development. The team builds the prioritized requirements and product features into the system, this is as per the information provided by the Product Owner and other stakeholders.
Some of the features of Agile project management are as follows:
1) Visual Control: This is a method in Agile used for organizing and planning the project work. This is done using display cards; the display cards use different color codes. There is one representing the features of the solution. The project phases are complete for this. The migration of the solution to the Production environment is also complete. The other set represents the set of features for which we complete the requirements gathering, design, coding and build, testing, etc. This set is not yet migrated to Production.
2) Co-located Teams: In Agile projects, more often than not, the teams are co-located. They work in collaboration; this improves the coordination and communication to a great extent, enabling the teams to perform in a much more efficient manner. The project manager should make sure that the team members can work in an Agile model. He should also make sure that they can perform to the best of their ability.
3) Adaptive Control: In an Agile project every team member is adapting to changes continually. There could be different types of changes such as scope changes and change requests. The role of a project manager in such an environment is usually of a leader. The manager usually has the responsibility of establishing some ground rules. He sets up working relationships and fosters collaboration among the team members. The Agile team members should adapt to the changes in the project, they should learn from the previous iterations; and then apply it in the next iteration. This is also considered a best practice, applicable in any project.
4) Iterative Development: In Agile, the Scrum team develops the product or service. The team develops this in an iterative fashion, making changes based on the changes in requirements; this also includes new change requests. A demonstration of the product or service is usually arranged for the Product Owner. This enables the client to take a look at the working prototype of the product/service, allowing for suggestions regarding changes or improvements. These new requirements or changes are then incorporated into the product or service. The Scum team accomplishes this in the next iterations. This completes the development cycle of the product or service.
Some of the important project roles to be considered in Agile project management are as follows:
1) Product Owner: The product owner is a representative from the client side who can provide clarifications on the requirements for the product/service and also provide information about the new features of the product/service.
2) Scrum Master: The Scrum Master is responsible for managing all the activities of the Scrum. The Scrum master acts like a facilitator and ensures that the Scrum team is provided with an environment which is good for completing the day-to-day project work. The Scrum Master guides, facilitates and coaches each member of the Scrum team about the best practices followed in Scrum. The Scrum Master clears any obstacles in the project, and ensures that the Scrum processes are being followed diligently. The Scrum Master also acts as a mediator and tries to ensure the good working relationship between the Product Owner, the stakeholders, and the Scrum team. The Scrum Master is also responsible for conducting the daily standup meetings for the project and make sure that the project deliverables are delivered on time and with good quality. The Scrum Master also has the responsibility of making sure the Scrum team remains focused on the project work and does not have any other impediments, which might impact their work. The Scrum master is considered as an expert in the field of Scrum and is expected to coach and guide the team whenever there is an issue, or any situation in the project which requires some attention and expertise regarding the Scrum best practices; which can then be implemented by the Scrum master. The Scrum Master is a servant-leader role, and the person who fills this role should be able to lead the team from a position of influence. The Scrum master should be good at coordination, team management and should be an expert in the Scrum best practices.
3) Scrum Team: The Scrum team handles the development of the product or service. The team engages in the coding, building and testing activities for the product or service. Some of the functions of the Scrum team members are as follows:
i) Responsible for turning action items in the Product backlog into functional pieces. These items of the product/service should meet the acceptance criteria.
ii) Each Scrum team member is a specialist in a certain area. The areas could be Quality Control, Programming or Business Analysis. He/she brings this specific expertise into play while delivering the action items in the Product Backlog.
iii) The team members should communicate with each other. They should make sure they develop a quality product/service, it should adhere to the client’s requirements.
iv) Should attend the daily stand-up meeting which is usually for around 15 minutes.
v) The Scrum team members are self-organizing. The team members determine how to proceed with the items in the Product Backlog.
You may also like 5 Useful (& Free) Project Management Tools for Agile Projects
The Scrum master creates the prioritized Product Backlog. He/she does this with some help and clarifications from the Product Owner during the Sprint Planning meeting. The scrum master can then select the number of items from the prioritized Product Backlog. He/she then include them in the new Sprint that is created using the Agile tool. The Scrum master assigns each item in the Sprint backlog to each Scrum team member. After this, the Scrum team will work on each of the assigned items in the Sprint Backlog. The team members also attend the daily stand-up meeting, usually held for 15 minutes at the start of the day.
At the end of the sprint, the Scrum master holds a Sprint Review meeting. The Product Owner and the Scrum team also attend this meeting to review the status of the items in scope for the current sprint. The Product owner might make some changes and updates to these items as completed if they meet the acceptance criteria. The Sprint Retrospective meeting is also held by the Scrum master with the Scrum team. The Product Owner might also attend the meeting to discuss what went well in the last sprint. Some suggestions for quality improvements of the deliverables can be given during the meeting. The team might also discuss the lessons learned and document them.
The team documents the information about the status of each of the items in the Product Backlog, which were in scope for the current sprint. Also, the team documents the other important issues faced during the current sprint. The team also documents the resolutions identified for important issues. The team should document the lessons learned and other important information discussed. The team should document all the minutes of the Sprint Retrospective meeting as part of the Minutes of the Meeting (MOM) document. The team follows the same practice for the Sprint Review meeting as well. We should store these documents in a commonly shared project document repository. There are many project document repository software in the market such as Microsoft SharePoint, etc.
The Sprint team completes the items which were in scope for the current sprint. The remaining pending items are then returned back to the Product Backlog. The team then prioritizes the items once again, these items are included in the next sprint for execution and completion. In this manner, the project team will be able to complete all the items in the prioritized Product backlog in a systematic manner. This also ensures good quality and timely delivery. Also, the level of involvement of the customer remains high throughout the project, this is due to the fact that the Product owner is part of all the important meetings during and at the end of each sprint.
The Agile method ensures that the team includes any changes in requirements for the product or service, this is done during the project sprints. The daily stand-up meetings are useful for the development team to provide daily status updates. The client makes changes to requirements and the Scrum team incorporates those changes into the code. Thus, the team builds these features into the product or service. The Product owner is also involved at every stage, and the development team discusses any changes or new requirements with him/her. The team clarifies the changes with him/her before implementing these changes. After this, the team then migrates the changes to the Production environment. Agile practices are better than the traditional or the waterfall approach to project management. It results in much higher productivity and quality. This also improves client satisfaction and also results in improved project team satisfaction. Agile methodologies also bring in much needed flexibility to managing projects. This enables the client to make some changes in the requirements and product features if required. The Scrum team then puts in place these changes with ease into the product.
Thus, the use of agile project management methods results in a lot of benefits and better return on investment (ROI) for the client. This ensures client satisfaction with the services provided by the company, resulting in better client retention. This also helps in securing new business opportunities, and new projects for the client. It will also catalyze future business opportunities with some of the client’s trading partners. The benefits of agile are so tangible and measurable leading to increased profits and market share. This also ensures better business opportunities in the market, a result of this being good reputation for the performing organization.