Why Scrum for Developing Complex Websites?
Scrum is an Agile framework which is used for the completion of complex website developments. The framework sprang into existance following a study published in the Harvard Business Review by Takeuchi and Nonaka. In the study, the pair compared cross-functional, high-performing teams to the widely recognized scrum formation used by Rugby teams.
Although originally developed for software development projects, due to the flexibility of the framework, it can be adopted for any complicated project.
The Scrum Framework
The framework is deceptively simple, with the Scrum Alliance boasting they can explain it in less that 30 seconds. Dependant on how fast you can read, let's see if I can beat them:
First a prioritised wish list is created by the product owner. This is known as the product backlog.
'Sprint planning' occurs, where small chunks are pulled from the product owners wish list to create a 'sprint backlog'. The team then decide how best to work on the chosen chunk.
The team then has a defined period of time (usually 2 weeks to a month) to complete the chunk, this period is defined as a 'sprint', where the team meets each day to assess progress.
A ScrumMaster (we'll expand on this later) is then appointed to focus the team on it's goal.
Upon completion of a sprint, theoretically the work should be ready to go, i.e. handed to a customer, put on a shelf or shown to your boss.
Each sprint is followed by a sprint review and retrospective.
The cycle then repeats with the team breaking off another small chunk and working through the exat same process.
Here's a pretty picture for those wishing to visualize the process.
What is a Scrum Master?
Expanding on the earlier definition, a Scrum Master has the role of ensuring the team follows values, practices and applications defined within the Scrum framework. They take on the following responsibilities:
Help the team decide on what can be achieved in each sprint.
Helping the team reach a consensus in the daily scrum.
Removing obstacles that are hindering the teams progress.
Prevent distractions from outside the team environment.
Ensuring the team stay focused on moving through the sprint backlog, whilst ensuring they follow on agreed rules from the daily scrum.