In an environment of rapid change and uncertainty, it is no longer feasible to plan out a product in detail from the beginning. Instead, it is important to work with time boxes and adapt quickly to changes in order to make the product successful.
SCRUM is an approach that allows for feedback at the end of each time box, enabling the product to be improved with small increments. The team works on all the steps required to develop a product for a small part of the product in each sprint, such as collecting requirements, designing and prototyping, developing, testing, and documenting.
The goal is to create a working, tested, and potentially capable product even if it has not been released to customers. After each sprint, the team demonstrates the progress to the client and discusses what to do next. This approach allows customers to understand and describe their real needs by seeing the product and providing feedback to the team.
A Scrum team consists of a Scrum Master, product owner, and developers. The product owner creates a list of attributes (the product backlog) and edits it to maximize value. The developers work to turn the items in the list into a presentable product. The Scrum Master focuses the team on the sprint goal and helps remove any obstacles. The last event of the sprint is the retrospective meeting, where the team looks for improvement points and plans the next sprint.