Software development jobs are hot nowadays, particularly web development ones. Since these jobs are such a big part of the job market, it is only natural that new ideologies arise to adapt the work methods used by developers as the entire system evolves.
You've probably heard the terms Agile and Scrum in the scope of software development. Today, we'd like to talk a bit about the potential benefits of Scrum web development. But first, we'd like to clarify these terms and see what it means to follow an Agile or a Scrum methodology.
Actually, Agile has been around for some time now. It was coined in 2001 to describe a collection of ideas about software development. This name was chosen because much of the methodology revolves around agility and adaptation to potential changes or setbacks in the plan.
This makes some sense since in the world of software and web development there are many unforeseen events and problems, not to mention that the client will probably change the requirements a few times during development.
Basically, what sets Agile apart from other methodologies is that it values individuals and the interactions between them, collaboration with the customer, ability to respond to changes, and delivery of working software over extensive documentation.
Scrum is like a set of rules. It's a particular implementation of the Agile philosophy. Basically, if Agile were a type of diet, Scrum would be one of the recipes that you can make to follow that diet.
Unlike what some people think, Scrum is not an acronym, although it is sometimes written in all caps. The term "Scrum" actually comes from sports. In rugby, a Scrum is a move where the entire team packs together to try to win back and retain possession of the ball. So, as you can see, Scrum is a framework that puts a lot of emphasis on teamwork.
The Scrum Process
As opposed to a conventional waterfall method, Agile is an iterative process, where each unit of work should have a short time span (a couple of weeks is ideal). The goal is to deliver working software to the customer at the end of each iteration. Then the customer will give feedback as needed and things are adjusted for the next iteration.
When using Scrum, each of these iterations is called a sprint. This is the main concept used in Scrum. Sprints are usually based on the backlog, which is a set of requirements created by the product owner and ordered by priority. The backlog may change during the entire lifespan of a project.
When the backlog is created, a sprint planning meeting occurs to plan the work to be done during a sprint. The backlog is dissected and divided into logical units that are split across members of the development team. A sprint should have a maximum duration of about one month, to reduce the likelihood of changes in requirements or goals.
Making sure that every team member is focused and understands their purpose is the job of the Scrum master. When the sprint is underway, there is usually a daily Scrum, which is basically a 15-minute standup meeting to quickly discuss current progress and answer any questions.
At the end of a sprint and before the beginning of the next sprint, there are the sprint review and sprint retrospective stages. The first one is more customer-oriented, while the latter is focused on the development team.
During the sprint review, the Scrum team meets with the product owner and any stakeholders to see which backlog items have been completed and which are still remaining. Based on the team's progress and exchange of ideas, there are usually changes to the backlog and the priorities for the next sprint.
Then, the Scrum team gets together to discuss the strong points and difficulties of the last sprint and use that information to adjust and improve the work methodology for the next sprint.
Why Use Scrum for Web Development?
We've seen how Scrum works, so let's discuss why it makes sense for a web design company to adopt it for web development.
1. Get Off to a Quick Start
Many companies that hire a digital design agency to create a website, web application or mobile app are still in the startup phase, which means even they don't have a clear picture of what they want yet.
In a typical web development model, where the entire plan needs to be laid out before the actual development begins, the start of the project may be greatly delayed. But with Scrum, your team can start the first sprint with the few requisites that the client has and build on that for the next sprints.
2. Waste Less Time with Research
Usually, with non-iterative methodologies, the design and research stages happen entirely at the beginning of the project, which can greatly delay the start of said project.
Furthermore, as the pressure is on to begin development, the team does not have enough time to research every technology properly, which can lead to some mistakes like choosing the wrong technology to go with.
This ends up costing more time after all is said and done. For example, the web development team may waste hours and hours to implement the chosen technology, only to realize that it is missing a certain feature or that it is incompatible with a certain platform.
In the case of Scrum web development, the research on a certain topic is only done when the current sprint requires it. As the topic is probably the main goal of the current sprint, more time can be dedicated to researching it.
Furthermore, supposing that some sprints have already gone by, the team members in charge of the research already know what they're working on and should have some knowledge of the entire system.
This gives the developers some valuable information when researching possible implementations and compatibilities between technologies, allowing them to make better decisions and reducing the risk of problems later on.
3. Internet Is Always Changing
A company in the business of mobile and web design must live with the fact that technologies are constantly improving and new platforms are appearing all the time. But this does not make it any easier.
With a waterfall model, the entire web development project would be worked on for a long time (let's say a year), at the end of which the first delivery would be made. The client could then realize that the project is outdated and incompatible with some of the most recent technologies.
However, Scrum web development is all about adaptability. At the end of each sprint, which lasts a maximum of one month, the web development team can discuss the project scope and requirements with the client, and regular adjustments can be made.