Scrum is one of the most popular methodologies for agile software development and is based on only a few, easy to learn rules. Basically, it is about realizing new products fast and efficiently in self-organizing teams without additional project management. The way of working according to Scrum is incremental and iterative.
Scrum arose from the realization that software development projects are usually quite complex. Way too complex to be captured in a comprehensive plan. At the beginning of the project many software requirements are not clear yet. This makes it difficult to develop concrete solutions fast. Scrum can help to reduce this complexity.
The project is divided into small parts with each delivering concrete results. The further process is then build upon these intermediate results. This way the team can implement missing requirements step by step and work out solutions faster. The goal is to develop software according to a product vision fast and cost-efficiently. It is not about preparing long and detailed requirements specifications. Instead the focus is on the user and his needs.
The Scrum Team
Scrum works best with three to nine developers in the Scrum team. Additionally, the team consists of a product manager (Product Owner), who defines and prioritizes the requirements applicable to the product and a Scrum Master who supervises the process and the rules.
Scrum in practice
The Scrum team of SMS digital consists of one or more product owner – depending on how many products are being worked on simultaneously. There is also a Scrum Master and four developers, one of whom works remotely.
First of all, the product owner (PO) defines all requirements for the product and collects them in a list (Product Backlog). These requirements are then realized bit by bit in iterative two-week development cycles (Sprints). The list of the most important requirements (Sprint Backlog) is the content of the current sprint. The product which has priority at the given time is being developed in a sprint, the respective Product Owner is then involved in the process.
During the sprint the developers are working on the realization of a particular feature for two weeks without interruptions. The Scrum Master supervises the process. In daily meetings of 15 minutes every morning (Daily Scrum) the development team discusses their current work and plans the work for the next 24 h. The Scrum Master eliminates potential impediments afterwards. The external developer joins via Slack, a web-based instant messaging provider.
To stay on top of things, the Scrum team of SMS digital uses a Scrum board in Jira. Jira is a web application for issue tracking and project management. For every task that has to be done in a sprint, a „to do” ticket is created in Jira. During the sprint the tickets pass through several steps from „to do“ to „done“.
At the end of a two-week sprint the development team delivers a finished product part (Product Increment), which ideally can be shown to the customer.
In the Sprint Review meeting the developers show what they have accomplished during the last sprint. In the subsequent Sprint Retrospective, the team discusses what went wrong and what went well in the last sprint and agrees upon measures for improvement accordingly. The next sprint begins with the Sprint Planning meeting, where last adjustments are made to the tickets. The PO prioritizes the tickets and the development team decides how many of them are taken into the next Sprint Backlog.
If necessary, so called refinements take place during the sprint. In these meetings, the tickets in the long-term product plan - the Product Backlog – are refined. The product owner has a chance to add new requirements, making sure that they are understood by all developers. This whole process repeats itself until the new product is completed.
Scrum is an agile methodology for a fast development of new software products. Scrum enables developers to stay focused without external disruptions. With the iterative sprints and regular exchange in Daily Scrums as well as at the end of every sprint the progress and impediments become visible fast. Regular intermediate results can be presented to the customer early on and new requirements can be implemented fast. Scrum allows you to break down complex projects into manageable tasks that can be realized fast and efficiently.