Agile (PM) - MsCornell/2425Repo GitHub Wiki
Let’s start by understanding agile projects.
Product Owner
What is a Product Owner?
A Product Owner is responsible for defining the product—not the technology. The Product Owner (PO) communicates through user stories.
The PO is responsible for clear communication and considering the product from every angle. To ensure project success, sometimes the development team or Project Manager might act like the PO, but this is a red flag for a failing project.
User Story
What is a User Story?
A User Story is a work item structured with the Role, Goal, and Benefit. In addition, the PO ensures every user story has acceptance criteria and project priority.
An example User Story: “As a [player], I want to [save my game] so I can [finish later].”
Backlog
What is a Backlog?
The collection of user stories makes up the Product Backlog—the things to accomplish to consider the project complete. However, an Iteration Backlog, sometimes called a Sprint Backlog, is a collection of user stories for a single iteration—the things to accomplish to consider that iteration a success.
What is an Iteration?
An Iteration, sometimes called a Sprint, is a fixed period of time (typically 1-4 weeks) during which the team works to complete a set of user stories and deliver a working increment of the product.
Our project is 1 week iterations.
What is a User Story Role?
A Role, sometimes called a Persona, represents the type of user or stakeholder interacting with the system, like a “player,” “admin,” or even “developer.”
A Role can be a stakeholder (like a “developer”), not just a user. This means user stories can exist to help the project be more effective—often with technical user stories.
What is a User Story Goal?
A Goal, sometimes called a Feature, is the specific action to accomplish. It describes what the Role is trying to do or what it needs from the system, like “save my game.”
What is a User Story Benefit?
A Benefit, sometimes called an Intent, is the reason or motivation behind a user story—why it was written, like “finish later.” It helps clarify the user story’s motivation.
Acceptance Criteria
What are User Story Acceptance Criteria?
Every User Story has one or more Acceptance Criteria. They are the conditions a user story must meet to be considered complete, like “Auto-save the game when the player exits.”
Who writes User Story Acceptance Criteria?
Sometimes the development team will add Acceptance Criteria to communicate technical decisions; however, most of the criteria are written by the Product Owner.
Who completes a User Story?
A User Story is completed by the technical team, a developer. However, only the Product Owner should formally close a User Story after verifying that Acceptance Criteria are satisfied.
To this end, the Developer sets a completed User Story state to “In review” so it can be reviewed, and the Product Owner can change the state to “Done.”
Definition of Done
What is the definition of Done?
The definition of Done at the project level is the completion of every User Story—the Product Owner may remove some User Stories throughout the project lifecycle. In fact, this is expected, however, eventually the project must limit scope for the sake of delivery.
The definition of Done at the User Story level is the satisfaction of the Acceptance Criteria. Once started, a User Story’s Acceptance Criteria should not change. This is because the developer has committed to completing the User Story as it was when the iteration started.
How big is a User Story?
A User Story is intended to be completed in a single Iteration, sometimes called a Sprint. If a User Story is too big for one Iteration, it should be broken into parts. The PO should do this, but if they are not equipped to do so, the development team can do it.
How do we group User Stories?
Several User Stories related to authentication, for example, would be grouped into a Milestone. Milestones allow the team to see the status of a feature overall.
Who gets assigned a User Story?
In a way, nobody. Instead, a User Story is accepted by a developer. Because it is one iteration’s worth of work, accepting a Story is a commitment to complete it during that iteration.
Who sets the Priority?
The Product Owner sets a priority, like P0, P1, P2, to instruct developers which User Stories are intended to be (or are ready to be) accepted. Draft Stories should not be accepted.
How many developers get assigned to a User Story?
One. This doesn’t mean that only one must complete it, but it means that only one developer is responsible for it. Tasks to complete one User Story can be completed by any developer.
Who creates User Story tasks?
The Product Owner does not do this; instead, the developer who accepts the story does. The developer tracks these tasks during the iteration to report how much is done.
Project Manager
What is a Project Manager?
A Project Manager (PM), sometimes called a Scrum Master, is responsible for overseeing the project timeline, managing resources, tracking progress, removing roadblocks, and ensuring the project meets its deadline.
What is an Agile Timeline?
An agile project doesn't specify when a particular feature will appear on the timeline, but it does know the overall product deadline. To meet that deadline, the team self-organizes around milestones and user stories to ensure successful delivery.
How do we track projects?
A PM typically uses the task board—often in the form of an iteration status, milestone calendar, and burndown chart to communicate current status and project future deliverables.
What is an iteration status?
An iteration status is a report of the current progress within a specific iteration or sprint. It tracks the completion of tasks, user stories, and any blockers the team faces during that iteration. It is quite detailed and helps the team understand what is on track.
What is a milestone calendar?
A milestone calendar highlights significant points or events in the project timeline. Milestones have starting dates and finished dates (even when they are projections). This allows the team to see when major parts of the project are due and align work around them.
What is a burndown chart?
A burndown chart is a graphical representation of the amount of work left to do versus the time remaining. It helps teams track their progress during an iteration, even within the project. The goal is for the work remaining to trend (burn) downward to zero by the end.
What is Backlog Grooming?
A periodic meeting called by the Project Manager for reviewing and prioritizing user stories to ensure the backlog is clear, up-to-date, and ready for upcoming iterations.
What is Iteration Planning?
A pre-iteration meeting called by the Project Manager where the team commits to user stories for the upcoming iteration and plans how to complete them.
What is a (periodic) Standup?
A brief meeting (often held daily) during the iteration and hosted by the Project Manager where team members share progress, blockers, and plans for the day.
What is a Retrospective?
A post-iteration meeting called by the Project Manager to discuss what went well, what didn’t, and how to improve the next iterations.
Developer
What is a developer?
In an agile project, developers are individual contributors who accept and complete user stories. Developers have different skillsets and varying capacities during every iteration. At the start of every iteration, they commit to their capacity as well as user stories.