Agile is a methodology for the management of software project development. In contrast to a traditional sequential approach to software development, Agile focuses on the development of a series of incremental iterations of the product, each of which is functional and potentially deployable. Agile projects typically involve small teams working in short bursts, with each of the bursts followed by a review process with the client stakeholders.
|What is Agile Project Management?|
Agile with the Scrum process framework
- The Agile approach is only a philosophy of development and does not, in itself, provide a specific, detailed framework for project management.
- The Scrum framework is a specific set of organizational structures, methods, and procedures that allows the Agile philosophy to be applied to projects.
- Scrum clearly defines roles of team members and lays out a concrete plan for both the work of the team and the interaction between team and client.
- Scrum includes three participant roles: Product Owner, Scrum Master, and Team.
- The Product Owner is the liaison between the development team and the other client stakeholders. This role is responsible for communicating project goals and requirements to the team and is involved in the process throughout the project.
- The Scrum Master facilitates communication between the Product Owner and the Team and ensures that the Team has what it needs to get its job done. The Scrum Master is responsible for stakeholder management, in that he or she ensures that the goals set by stakeholders are achievable by the Team.
- The Team consists of a small group developers that works independently, managing its own processes and organization.
The Sprint Planning Meeting
- In the Scrum framework, each incremental iteration of a project is developed during a short work period, typically one or two weeks in length, called a Sprint.
- Each Sprint consists of a consistent series of meetings.
- The first meeting of each Sprint is the Sprint Planning Meeting.
- During the Sprint Planning Meeting, the Product Owner communicates to the team a list of priorities for the project, known as the product backlog.
- The Team decides which items from the backlog can be completed during the Sprint, and the Team and Product Owner, in collaboration, set priorities for the Sprint.
- The resulting list of goals is known as the spring backlog.
- The Team builds a set of tasks that will allow it to complete the priorities during the Sprint.
The Daily Standup Meeting
- Each day during the Sprint, the Team meets to review progress made the previous day, to present a plan for the day ahead, and to express any concerns about challenges that Team members have encountered.
- These meetings are typically short, and the focus is on preventing time lost due to irrelevant discussions.
- When Team members identify obstacles they've encountered, the Scrum Master develops a plan for removing those obstacles.
- When Team members have concerns that require more discussion than the concise Daily Standup allows, they may meet separately in a sidebar meeting following the Daily Standup.
- Each day, goals reached or not reached are recorded on a burndown chart, a graphic representation of progress made to date on the project.
The Sprint Review Meeting
- At the conclusion of each Sprint, the Team and the Product Owner come together in a Sprint Review Meeting to review the work done during the Sprint and assess whether or not the Sprint's goals were met.
- At each Sprint Review Meeting, the Team demonstrates a functional, potentially deployable product to the Product Owner and other client stakeholders.
- Through his or her review of the product, the Product Owner determines if the Sprint's priorities from the sprint backlog have been completed or not.
The Sprint Retrospective Meeting
- Following the Sprint Review Meeting, the Team and the Scrum Master meet without the Product Owner present to review the successes and challenges the Team encountered during the Sprint.
- Team members are encouraged to speak honestly during the Sprint Review, expressing their concerns about things that went wrong during the Sprint and giving suggestions for improvements.
- After concerns are expressed, the Team compiles a short list of process improvements to be employed during the next Sprint.
- In large-scale projects with multiple teams working independently from one another, an Overall Retrospective Meeting may be convened to review interactions between the teams, as well as interaction between the teams and the rest of the organization.
Onward to the Next Sprint
- After the completion of the Retrospective Meetings, the process begins again.
- The Product Owner and Team come together for another Sprint Planning Meeting, during which new priorities are drawn from the product backlog and goals are set for the next Sprint.
- The process continues, with each Sprint resulting in a new iteration of the product, until all of the priorities of the product backlog have been achieved and the product is complete.