Scrum is an iterative and incremental agile software development methodology for managing product development. It defines "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal", challenges assumptions of the "traditional, sequential approach" to product development, and enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines in the project.
A key principle of scrum is its recognition that during a project the customers can change their minds about what they want and need (often called "requirements churn"), and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner. As such, scrum adopts an empirical approach—accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to deliver quickly and respond to emerging requirements.
Scrum Roles
Product Owner: The Product Owner should be a person with vision, authority, and availability. The Product Owner is responsible for continuously communicating the vision and priorities to the development team. It’s sometimes hard for Product Owners to strike the right balance of involvement. Because Scrum values self-organization among teams, a Product Owner must fight the urge to micro-manage. At the same time, Product Owners must be available to answer questions from the team.
Scrum Master: The Scrum Master acts as a facilitator for the Product Owner and the team. The Scrum Master does not manage the team. The Scrum Master works to remove any impediments that are obstructing the team from achieving its sprint goals. This helps the team remain creative and productive while making sure its successes are visible to the Product Owner. The Scrum Master also works to advise the Product Owner about how to maximize ROI for the team.
Team: According to Scrum’s founder, ―the team is utterly self managing. The development team is responsible for self organizing to complete work. A Scrum development team contains about seven fully dedicated members (officially 3- 9), ideally in one team room protected from outside distractions. For software projects, a typical team includes a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. Each sprint, the team is responsible for determining how it will accomplish the work to be completed. The team has autonomy and responsibility to meet the goals of the sprint.
Scrum Meetings
There are number of regular meetings take place among Agile Team members. Let’s go through different type of meetings.
1. Sprint Planning Meeting
Improve the performance of the current system.
Build the UI of certain component.
Create API of the product so other application could access some specific information
Timings: Before every Sprint
Duration: 4-8 hours
Participants: Scrum Owner, Scrum master, Scrum Team
2. Release Planning Meeting
Timings: Beginning of each release or revised during the release
Duration: 4 – 16 hours
Participants: product owner, scrum master, scrum team
Best Practices:
3. Review Meetings
Timings: After sprint completion.
Duration: 2 hours
Participants: Product owner, customer, scrum team
Artifacts: completed features.
4. Daily Stand-up Meeting
Duration: 15 minutes
Participants: Scrum master, scrum team (other can participate as a silent participants)
Best Practices: Following are some of the best practices we can follow.
Artifacts
Product backlog
Sprint backlog
Product increment
Sprint burn-down chart
The following terms are often used in a scrum process.
Sprint burn-down chart
Daily progress for a sprint over the sprint's length.
Release burn-down chart
Feature level progress of completed product backlog items in the product backlog.
Product backlog (PBL) list
A prioritized list of high-level requirements.
Sprint backlog (SBL) list
A prioritized list of tasks to be completed during the sprint.
Sprint
A time period (typically 1–4 weeks) in which development occurs on a set of backlog items that the team has committed to. Also commonly referred to as a time-box or iteration.
Spike
A time boxed period used to research a concept and/or create a simple prototype. Spikes can either be planned to take place in between sprints or, for larger teams, a spike might be accepted as one of many sprint delivery objectives.
Tasks
Work items added to the sprint backlog at the beginning of a sprint and broken down into hours. Each task should not exceed 12 hours (or two days), but it's common for teams to insist that a task take no more than a day to finish.
Definition of Done (DoD)
The exit-criteria to determine whether a product backlog item is complete. In many cases the DoD requires that all regression tests should be successful. The definition of "done" may vary from one scrum team to another, but must be consistent within one team.
Velocity
The total effort a team is capable of in a sprint. The number is derived by evaluating the work (typically in user story points) completed from the last sprint's backlog items. The collection of historical velocity data is a guideline for assisting the team in understanding how much work they can do in a future sprint.
Impediment
Anything that prevents a team member from performing work as efficiently as possible.
Conclusion
Scrum is an agile process most commonly used for product development, especially software development. Scrum is a project management framework that is applicable to any project with aggressive deadlines, complex requirements and a degree of uniqueness. In Scrum, projects move forward via a series of iterations called sprints. Each sprint is typically two to four weeks long.
A key principle of scrum is its recognition that during a project the customers can change their minds about what they want and need (often called "requirements churn"), and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner. As such, scrum adopts an empirical approach—accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to deliver quickly and respond to emerging requirements.
The SCRUM Process (yanado.com)
Product Owner: The Product Owner should be a person with vision, authority, and availability. The Product Owner is responsible for continuously communicating the vision and priorities to the development team. It’s sometimes hard for Product Owners to strike the right balance of involvement. Because Scrum values self-organization among teams, a Product Owner must fight the urge to micro-manage. At the same time, Product Owners must be available to answer questions from the team.
Scrum Master: The Scrum Master acts as a facilitator for the Product Owner and the team. The Scrum Master does not manage the team. The Scrum Master works to remove any impediments that are obstructing the team from achieving its sprint goals. This helps the team remain creative and productive while making sure its successes are visible to the Product Owner. The Scrum Master also works to advise the Product Owner about how to maximize ROI for the team.
Team: According to Scrum’s founder, ―the team is utterly self managing. The development team is responsible for self organizing to complete work. A Scrum development team contains about seven fully dedicated members (officially 3- 9), ideally in one team room protected from outside distractions. For software projects, a typical team includes a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. Each sprint, the team is responsible for determining how it will accomplish the work to be completed. The team has autonomy and responsibility to meet the goals of the sprint.
Scrum Meetings
There are number of regular meetings take place among Agile Team members. Let’s go through different type of meetings.
1. Sprint Planning Meeting
Improve the performance of the current system.
Build the UI of certain component.
Create API of the product so other application could access some specific information
Timings: Before every Sprint
Duration: 4-8 hours
Participants: Scrum Owner, Scrum master, Scrum Team
2. Release Planning Meeting
Timings: Beginning of each release or revised during the release
Duration: 4 – 16 hours
Participants: product owner, scrum master, scrum team
Best Practices:
- Project owner come with prioritized and estimated features, so that team could create a schedule for the release.
- Use the velocity to determine the number of sprints.
- Don’t dictate technical team with your technical choices.
- Don’t try to push features against the team recommendations.
- If teams are very big than one person representing each area should attend the meeting.
3. Review Meetings
Timings: After sprint completion.
Duration: 2 hours
Participants: Product owner, customer, scrum team
Artifacts: completed features.
4. Daily Stand-up Meeting
Duration: 15 minutes
Participants: Scrum master, scrum team (other can participate as a silent participants)
Best Practices: Following are some of the best practices we can follow.
- Don’t exceed more than 15 minutes.
- Only scrum team speaks, product owner can attend the meeting as silence participant
- Fix the time for the meeting.
- Don’t discuss anything out of three questions mentioned above.
Artifacts
Product backlog
Sprint backlog
Product increment
Sprint burn-down chart
The following terms are often used in a scrum process.
Sprint burn-down chart
Daily progress for a sprint over the sprint's length.
Release burn-down chart
Feature level progress of completed product backlog items in the product backlog.
Product backlog (PBL) list
A prioritized list of high-level requirements.
Sprint backlog (SBL) list
A prioritized list of tasks to be completed during the sprint.
Sprint
A time period (typically 1–4 weeks) in which development occurs on a set of backlog items that the team has committed to. Also commonly referred to as a time-box or iteration.
Spike
A time boxed period used to research a concept and/or create a simple prototype. Spikes can either be planned to take place in between sprints or, for larger teams, a spike might be accepted as one of many sprint delivery objectives.
Tasks
Work items added to the sprint backlog at the beginning of a sprint and broken down into hours. Each task should not exceed 12 hours (or two days), but it's common for teams to insist that a task take no more than a day to finish.
Definition of Done (DoD)
The exit-criteria to determine whether a product backlog item is complete. In many cases the DoD requires that all regression tests should be successful. The definition of "done" may vary from one scrum team to another, but must be consistent within one team.
Velocity
The total effort a team is capable of in a sprint. The number is derived by evaluating the work (typically in user story points) completed from the last sprint's backlog items. The collection of historical velocity data is a guideline for assisting the team in understanding how much work they can do in a future sprint.
Impediment
Anything that prevents a team member from performing work as efficiently as possible.
Conclusion
Scrum is an agile process most commonly used for product development, especially software development. Scrum is a project management framework that is applicable to any project with aggressive deadlines, complex requirements and a degree of uniqueness. In Scrum, projects move forward via a series of iterations called sprints. Each sprint is typically two to four weeks long.
No comments:
Post a Comment