When you apply for a software development job, you will probably see references to things like “scrum” and “agility.” These terms can be confusing, especially if you are looking to break into the industry for the first time. We’ll break down some of these key terms, so that it sounds like you know what you’re talking about during an interview.
“Scrum” is a widely use framework, or methodology, that companies use to build software products. It’s how idea goes from a twinkle in the eye of a product owner, to a delivered piece of code.
Here are the five most important aspects of scrum, regardless of your industry or background:
- Scrum takes an iterative approach: Think about dividing up a huge project into the smallest chunks, or “sprints,” typically lasting two to four weeks. Each sprint delivers a potentially shippable increment of the product. As a team, you commit to get specific things done in a given sprint, and the goal is to finish all of those things by the deadline. Then, you can shift focus to the next set of things in the next sprint.
- Roles and Responsibilities: Scrum defines three main roles: the Product Owner, who represents the stakeholders and prioritizes the work; the Scrum Master, who facilitates the scrum process and removes impediments; and the Development Team, which is responsible for delivering the product increment. How well these 3 roles work together will determine a lot about how enjoyable your job is as a software developer.
- Sprint Planning: At the beginning of each sprint, the team conducts a sprint planning meeting to select items from the backlog to work on during the sprint. These items are broken down into tasks, estimated, and committed to by the team.
- Daily Stand-ups: The team holds daily stand-up meetings, also called a scrum, to synchronize activities and discuss progress, challenges, and plans for the day. These meetings are time-boxed to ensure they are short and focused. The best daily scrums last about 15 minutes.
- Inspect and Adapt: Scrum emphasizes continuous improvement through regular inspection and adaptation. At the end of each sprint, the team holds a sprint review to demonstrate the completed work to stakeholders and gather feedback. They also conduct a sprint retrospective to reflect on their process and identify areas for improvement. The goal is to get better each sprint, whether that means getting more things done faster, reducing bugs, or increasing the shared knowledge on the team.
That’s scrum in a nutshell. Ultimately, the whole point of adopting a methodology such as scrum is to facilitate work, so that the underlying business of the company can move forward. You can learn more about scrum and other agile skills by taking one of our skills assessments today.