Scrum
The Scrum development approach is the most popular agile method in software development. The scrum methodology, developed by Schwaber and Sutherland, was initially presented in 1995 at a conference in Austin, Texas. Scrum utilizes incremental fixed timebound iterations in software construction. The term scrum comes from the sport of rugby, where team members organize and collaborate to achieve the goal of winning the game. The critical factors of scrum are transparency and visibility to everyone, inspection to detect problems in the early stages of development, and the ability to adjust through adaptation.
The scrum development method uses sprints, which are timebound iterations in software construction and delivery. Sprints are typically 2 to 4 weeks long. At the end of the sprint, the team is expected to provide a potentially shippable working model. The development goal and team should not change during a sprint, and the product owner or development team may redefine the scope as needed. The sprint team iterations (time length of the sprint) remain constant but can vary from team to team.
Scrum is a framework used in project management, typically for agile software development. The Scrum framework aims to facilitate team collaboration on complex projects. The key components of Scrum include the Scrum Team, Scrum Events, and Scrum Artifacts.
Scrum Team: The Scrum Team consists of the Product Owner, the Scrum Master, and the Development Team.
Product Owner: The Product Owner is responsible for defining the product in terms of user stories (small units of work) and prioritizing them in the Product Backlog (the list of all possible tasks for the project). The Product Owner ensures the team is working on the most valuable features or tasks.
Scrum Master: The Scrum Master is responsible for ensuring the team follows Scrum principles and practices. They facilitate communication, solve problems, remove obstacles that might slow down the team, and ensure a productive working environment.
Development Team: The Development Team is composed of professionals who perform the work of delivering a potentially releasable increment of the product by the end of each Sprint.
Scrum Events: These include the Sprint, Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective.
Sprint: A Sprint is a fixed-length iteration cycle, typically 2-4 weeks long, during which the work is done to deliver a potentially shippable product increment.
Sprint Planning: At the start of each Sprint, the team engages in Sprint Planning to decide what work will be done during that Sprint.
Daily Scrum (or Standup): This is a short (usually 15 minutes) meeting for the Development Team to share updates and plan work for the next 24 hours.
Sprint Review: At the end of each Sprint, the team conducts a Sprint Review to inspect the work done and adapt the Product Backlog if needed. The goal is to review what was accomplished during the Sprint and discuss any new ideas or changes.
Sprint Retrospective: After the Sprint Review and before the next Sprint Planning, the team holds a Sprint Retrospective. This meeting is an opportunity for the team to discuss what went well, what could improve, and how to implement improvements in the next Sprint.
Scrum Artifacts: These include the Product Backlog, Sprint Backlog, and the Increment.
Product Backlog: This is an ordered list of everything that is known to be needed in the product, maintained by the Product Owner. It's a dynamic list, meaning items can be added, removed or reprioritized as needed.
Sprint Backlog: This is the subset of the Product Backlog that the team commits to complete during a Sprint. The Development Team owns the Sprint Backlog and can update it throughout the Sprint as more is learned.
Increment: This is the sum of all the Product Backlog items completed during a Sprint and all previous Sprints. At the end of a Sprint, the new Increment must be "Done," meaning it is potentially shippable.
Scrum emphasizes values such as focus, courage, openness, commitment, and respect. It promotes self-organization, flexibility, and direct communication among team members.