What is scrum?
Scrum is an widely used agile process, it breaks down the project into 2-4 weeks intervals called Scrum. While each scrum is a small project that each should produce a working incremental of software. At each end of the sprint, the team will review the deliveries and do a retrospective to the past sprint.
Why using scrum?
But why people use scrum? Before answering this question, we need to know what is the traditional project management process. The more traditional project management is based on the defined process, where the roadmap and the delivery of the project is decided, and the control of the scope, schedule, and cost is also maintained. The benefit of defined process is that it delivers predictable results. However, this approach does not work well in environment where the deliverables are not predictable.
Scrum is based on empirical process, which means based on observations. Both the result and the approach is adapted according to the observation. The benefit is that it is highly adaptable, the risk is that the deliverables are not predictable.
How does Scrum works
There are three typical roles on the scrum project:
- the product owner that is responsible for overall success/failure of the project and is the final decision maker on the requirements
- the scrum master facilitates the team, manages the process and resolve the impediments
- the development is responsible for developing the solution and coordinate with each other on the process.
A sprint usually last for 2 ~ 4 works. The work to be completed is time boxed. During the sprint, there will be a daily stand up meeting to update the progress.
The project owner will do backlog grooming before the start of the next sprint to correctly prioritize the work.
At the end of the sprint, there is usually a spring retrospective meeting to discuss what has been done well and what could have been done better.
Actually, which process to use is not a binary question. Many team utilize a hybrid approach to manage the project. And agile is more of a way of thinking about the issue rather than a practice like scrum.