Background
In order to successfully implement a large software project, it is crucial that all developers adhere to a structured model for progressing. These models are known as project management methods. Since the birth of the IT industry, various methods have been developed, challenged and improved. This article will focus on two central models, namely the oldest model, “Waterfall”, and “Scrum”, which is widely used today.
Waterfall Model
In the past, software development followed the work process seen in the construction industry: first planning, then implementing. This linear approach became known as the waterfall model, in which development was divided into five consecutive phases:
- Analysis
- Design
- Implementation
- Test
- Production
A major drawback of the waterfall model was its lack of flexibility. Flaws were often only recognised late in the development process and changes were difficult to implement. In addition, the end user was only consulted at the beginning and end of the project, which often led to solutions that were not optimally tailored to actual needs.
Scrum
As a result, there emerged a demand for a more flexible and adaptive model. Scrum was developed to recognise changes at an early stage, rectify faults quickly and actively involve the end user in the development process.
The central question of SCRUM is: How can the risk in software development projects be reduced?
Ceremonies
Scrum is notable for its series of structured meetings known as “ceremonies”.
Sprint Planning: At the beginning of a sprint (a period of 2-4 weeks), the tasks to be performed are prioritised and the tasks to be completed (sprint goal) are defined.
Sprint Review: At the end of a sprint, the completed tasks are presented and evaluated. The meeting is deliberately held informally (no PP slides) to allow an open discussion about progress and possible adjustments.
Sprint Retrospective: Periodically, approximately after every third or fourth sprint and immediately afterwards, the team reflects on the past sprints for 15-30 minutes. Obstacles are identified and rewarding commitment is celebrated. The aim is to promote continuous improvement. All participants, including the customer, are invited to attend. Essentially, things are addressed that should be started, stopped or continued.
Daily Scrum (Stand-Up Meeting): Every day, in a meeting lasting a maximum of 15 minutes, each team member reports on what has been done, what challenges exist and what is being worked on next. This helps to create transparency and avoid long, inefficient meetings. All participants are invited, but the customer does not have to be present.
Roles
Each member of a Scrum team takes on a specific role with clearly defined responsibilities:
- Product Owner: Responsible for managing the content of the project and prioritising its requirements.
- Scrum Master: Supports the team organisationally, moderates the ceremonies and ensures that the Scrum principles are adhered to.
- Entwickler: Die Fachkräfte, welche die Aufgaben der obigen zwei umsetzen und das Endprodukt entwickeln.
Scrum enables teams to react flexibly to changes, learn continuously and develop further. Regular feedback and close collaboration reduce risk and maximise project success.