Web development: Does it always have to be Scrum?
Successful web development knows various approaches. One popular method to develop a web app is Scrum. But does it always have to be Scrum? We like to answer this question in advance: No, it doesn't always have to be Scrum. Web-based software applications can also be developed with the help of other methods. We at EXWE are experts in the field of web development and would like to provide you with helpful information for planning your web app development in this article. Of course, we are happy to help you with any questions you may have about web development, and we'll show you which alternatives are available in this article! On the one hand, we would like to show you how Scrum can normally be used in web development and how it becomes a success. On the other hand, we also illuminate when Scrum should not be used and show you the advantages and disadvantages of the process model in an overview. Of course, Scrum is not only used in web app development, but also in custom software development. In this article, however, we want to focus primarily on web development as an example.
Reading time 4 min
- What is Scrum exactly?
- How does Scrum work in web development?
- When should Scrum not be used?
- Overview: Advantages and disadvantages of Scrum
- Alternative methods for the development of web-based software
- Extreme Programming
- How does Kanban work for the development of a web-based software?
- Our conclusion
If you've heard the term Scrum before, but don't know what it's all about, we've summarized the method again for you here. Scrum is an approach to project planning. Especially in agile software development, which also includes web development, Scrum is used.
In order to be able to implement the procedure method, three responsibilities are always determined. These are the developers, the so-called Scrum Master and the Product Owner, i.e. the person who is responsible for the economic success of the web-based software. The developers deal with the implementation of the web application and the Scrum Master ensures that the Scrum approach is followed.
Now, of course, the question is how Scrum works in implementation, especially related to web development. We have put together a short step-by-stepguide for you. With this guide you can understand how Scrum is ideally used in the development of a web app.
1. start a sprint
Sprints are the main component of Scrum. It is the generic term of a section, which in turn contains several steps. Once a sprint is completed, the next sprint starts. Basically, a time frame is always defined for a sprint, which should then also apply to the further sprints. A sprint should not last longer than four weeks.
If Scrum is used for the first time in a project team, it is possible that shorter sprints are used first to find out the optimal sprint duration for the project. Generally, a sprint duration of two weeks has become established.
2nd Sprint Planning
Now the first sprint really begins. In order to make it successful, the first step is sprint planning. In this process, the requirements and goals of the following sprint should be defined with regard to the web development project. The best way to do this is to clarify the following questions:
What should be done in this sprint?
How and who will complete these tasks?
What value should this sprint add at the end, or how does this sprint get you closer to the goal of final completion of the web app project?
Once these questions are answered, the product owner takes care of determining the order of tasks and passing them on to the developers. Of course, the developers must then be able to give a realistic assessment of whether these tasks can be implemented in a sprint.
3. the daily business with the Daily Scrum
In the Daily Scrum mainly the developers, but often also the Product Owner and Scrum Master come together in the morning to exchange all new information in 15 minutes. It is not about solving emerging problems, but about getting up to date. All participants tell what they have done since the last Daily Scrum, what the objective will be until the next Daily Scrum and what obstacles there are.
4. after the Daily Scrum
After the 15-minute meeting, the developers can decide for themselves which working method is best for them. The goal is to focus on getting the tasks done by the next Daily Scrum. How the individual person achieves this goal is basically irrelevant.
If questions or problems still arise during the Daily Scrum, they can be clarified in individual small meetings with the participants.
5 Sprint Review
The Sprint Review always takes place at the end of a Sprint. The results of the sprint are presented to the project managers or the clients. They are asked to give their feedback on the progress made so far. Based on the feedback, the next sprint can then be better planned. 6.
6. the end of the sprint: The Sprint Retrospective
The real last step of a sprint is the sprint retrospective. Because now all participants of the Sprint should look back and analyze what worked well and what should be improved. The goal should always be to improve the cooperation in the web development team and to get the maximum out of it.
Scrum can actually be used on any web development project, but it is not always appropriate. For this method to work and lead to successful project completion, all participants in each sprint must believe in and be convinced of this way of doing things. Their own motivation is a crucial factor in the outcome of the project. In principle, every developer, the product owner and of course the Scrum Master should have a desire for agile web development with Scrum. If this is not the case, Scrum as an approach is not the best decision.
+ Self-organization in the company is encouraged.
+ There are few rules for web development with the Scrum method
+ Therefore it can be implemented quickly and is understandable for participants
+ Regular meetings and agreements ensure transparency
+ After each step, development is improved and successful, web-based software can be created
- It is difficult to keep the entire overview of the project
- Sprint planning can take a lot of time
- Coordination between different web development teams could be difficult
- Depending on hierarchies Scrum is not compatible with the company structure
- Communication effort is very high
Since Scrum does not work for every team, we would now like to introduce you to other process models that you and your team can use to successfully implement the web-based software project.
An alternative to Scrum in agile software or web development is Extreme Programming, abbreviated XP. The focus of this approach is on communication. It is mainly about the communication of the development team with the client or customer. He should be included in the development and actively participate. In this way, the project should be brought to a quick conclusion. New functionalities are directly implemented, tested and checked by the customer. In this way, the customer can intervene at any point in the development process and give decisive impulses before the project develops in the wrong direction. The concept of Extreme Programming is mainly based on the fact that at the beginning of a project it is not always clear which functions have to be built in and which ones might be superfluous.
+ Customer can actively participate in web development.
+ High communication readiness leads to avoidance of misunderstandings
+ If customer is not satisfied with certain solutions, it is possible to react quickly
+ Exchanges within the development team and with the customer can lead to the best solutions
- Constant accessibility of the customer and the development team must be given.
- A project cannot just be handed over to the development team by the customer, he must have time to participate
- Too much exchange could lead to losing focus
- The conditions of communication and accessibility have to be defined to avoid avoidable conflicts
As the name of this method suggests, prototyping is about first creating a prototype, for example of a web-based software. This means that a basis is first created, which can be used to easily sketch out the further course of action. Instead of talking about an abstract model with the customer or within the web development team, the prototype can be used for future development. This way, the client gets a first impression of the final product and can still give their feedback without previous features being created in vain.
The risk of faulty development decreases
Conditions or problems, which could not be considered before, can be recognized by the prototype
The customer knows what he can expect from the finished product, because he has already seen an exemplary software.
After the customer has seen the prototype, it is easy to continue working on it. Working time is therefore not wasted.
- Developing a non-binding prototype can lead to insufficient documentation of the customer's requirements in some development teams for web-based software
Kanban originally comes from the Toyota production system. For the use in IT, mainly elements that are also used in Lean Production or Lean Development are established. The steps from the automotive industry are not reflected in software and web development in this way.
To put it simply, Lean Development aims to uncover and avoid unnecessary processes. This also plays a major role for the Kanban method. Above all, projects should be developed quickly without sacrificing quality.
Kanban was introduced into information technology by David Anderson, who formulated four basic principles. We would like to introduce these to you briefly:
1. first finish a task
Before you start another task, you should first finish the task you are currently working on. So you start each day with what is currently your task before you move on to the next step.
2. always have improvement in mind
Another basic principle of Kanban is that you constantly improve yourself, your way of working and your project by taking small steps.
3. find harmony with already existing procedures
Some things don't need to be changed if they work well. Kanban can also be used in parallel.
4. dare to make suggestions for improvement
Behind Kanban is also that everyone involved is allowed and should contribute if it helps to improve.
The Kanban methodology works with visualization to be able to see the current status of a task at any time. For this purpose a so-called Kanban board is used, which shows different columns. The columns show the current status of a single task or a task package. The individual tasks are in turn noted on cards and contain all the important information about the implementation and objectives as well as the degree of importance. If the status of a task changes, the associated card is moved to the next column.
+ Kanban provides guiding principles that are also compatible with Scrum. If your team already uses Scrum, Kanban can be used as a supplement and improve the development even more.
+ It can also be introduced gradually without provoking a big change from now on. You can have your team implement one basic principle at a time.
+ The entire team is aware of the status of tasks at all times. This also leads to everyone tackling their tasks as goal-oriented as possible in order to be able to push cards to the next column
- Large projects that need to be planned over a long period of time are difficult to implement with a kanban board
- A large team is also rather opposed to the board. The overview gets lost.
- You have to keep the basic principles in mind. A fixed schedule does not determine Kanban
We hope that our article has given you a good overview of the procedures. But in the end, it always depends on which approach your development team is in the mood for. Therefore, it doesn't hurt to test different models first. In the end, the model that was the best to implement and that the developers liked the most can be used for future projects. Maybe your team even develops its own strategy that includes elements from all process models. The bottom line is that the end product is important. How it gets to that product doesn't have to fit into a known process schema. But if you need more help with web development, feel free to contact us. We'll be happy to assist you and answer any questions you may have.
Push notifications in the form of web apps help you get closer to your business goals. Find out why you shouldn't do without them here.
The best programming languages for web development? We'll introduce you to PHP, Ruby and more, and show you which applications they're best suited for.