An old tradition in software development is to use sequences for each of the stages into which projects are divided. These vary depending on the client and the development team, but for the purposes of this example, we will use three: design, development and testing.
The set of this series of sequential steps is known as a Cascade Model, and it receives this name because, like water, it flows downwards: it has an irreversible flow of work that is characterized by a stage-by-stage development, until the end of each one of them.
Scrum These are developed by a group of specialists in the area or department. However, this model is usually not …
An old tradition in software development is to use sequences for each of the stages into which projects are divided. These vary depending on the client and the development team, but for the purposes of this example, we will use three: design, development and testing.
The set of this series of sequential steps is known as a Cascade Model, and it receives this name because, like water, it flows downwards: it has an irreversible flow of work that is characterized by a stage-by-stage development, until the end of each one of them.
Scrum These are developed by a group of specialists in the area or department. However, this model is usually not very effective. These are some of its complications:
Each department interprets the requirements in its own way to such a degree that, at the end of the project, the client's needs are not met and time is wasted in analysis, design and development. There is little or no communication between departments. Consequently, there are many inconsistencies in each of the stages of the projects. Due to the way the development process is conducted, this model is not ready to make last-minute changes. For this reason, delays are created and adjustments are required. This problem could be the most important and difficult to solve. What is Scrum? Scrum is a framework that allows working in a series of team interactions. The phases that define and divide a SCRUM process are the following:
The who and what: identifies the roles of each of the team members and defines their responsibility in the project. The where and when: that represent the Sprint. The Why and the How: represent the tools used by Scrum members. 1. Scrum roles: who and what Scrum The Scrum team consists of three different roles:
The Product Owner / Product Owner is the “voice of the customer” and is responsible for developing, maintaining and prioritizing the tasks in the backlog. The Scrum Master is responsible for ensuring that the team's work goes well following the Scrum foundations. In addition, it is responsible for removing any obstacles that the development team may encounter. The Development Team Members / Members of the development team are responsible for writing and testing the code. 2. The Sprint: where and when Scrum Sprint is the basic unit of work for a Scrum team. This is the main feature that makes the difference between Scrum and other models for agile development. It is a simple iteration carried out by team members. A team can complete several sprints during the development of the project. A Sprint starts with a team that is committed to getting the job done and ends with a demonstration of a deliverable. The minimum time for a Sprint is one week and the maximum is 4 weeks. Within the development of a Sprint certain events are held, these are called Scrum Events or Scrum Events. These are:
Sprint Planning / Sprint Planning All those involved in the team meet to plan the Sprint. During this event, it is decided what requirements or tasks will be assigned to each of the team members. Each member must allocate the time they deem prudent to carry out their requirements. In this way the duration time of the Sprint is defined.
Scrum team meeting A maximum of 15 minutes a day should be devoted to these meetings, and they should always be at the same time and place. In them, each team member must answer three simple questions:
What did you do yesterday? What are you planning to do today? What obstacles did you encounter along the way? These meetings serve so that all the members of the team support each other. If any of them has any inconvenience that forces the meeting to be extended, this should be discussed further in a meeting focused on finding the best solution for it.
Refinement of the Backlog / Backlog Refinement The Product Owner reviews each of the elements within the Product Backlog in order to clarify any questions that may arise from the team of developers. It also serves to re-estimate the time and effort devoted to each of the requirements.
Sprint Review / Sprint Review Team members and customers meet to show off the software development work that has been completed. A demonstration of all the requirements completed within the Sprint is done. At this point it is not necessary that all team members speak, they can simply be present, but the presentation is given by the Scrum Master and the Product Owner .
Sprint Retrospective / Retrospective In this event, the Product Owner meets with his entire team and his Scrum Master to talk about what happened during the Sprint. The main points to be discussed at this meeting are:
What was done wrong during the Sprint to improve the next one? What was done well to continue on the same path of success? What inconveniences were found and did not allow to advance as planned? 3. Scrum tools: why and how In order to define the answers to these questions, we use certain tools that Scrum provides us. These are:
Product Backlog / Product Backlog This can refer to any element that is part of the project: it can be a bug, a reference or part of a requirement. They provide very general information on the project and are often not taken as official requirements.
User Stories / User Stories It is a special element of the Backlog product. They are called stories because they provide information on how the behavior of the requirement being worked on should be. Its function is to provide direct customer information in case of any change. Generally these are taken as official requirements .
Sprint Backlog / Sprint Backlog It is the set of elements taken from the Product Backlog that were prioritized, measured and accepted in the Sprint Planning meetings . These, together with their respective User Stories, officially form the requirements to be developed in each of the Sprints that the project will have.
The Task Panel / The Taskboard This panel shows the tasks assigned to the team members. This table is divided into three columns that represent the status of the activity:
to. To do. b. Doing. c. Finished.
At the start of the Sprint, they are all in the first column. When a task moves to the second column, the Scrum Master and Product Owner are notified of what each team member is doing and how long they have been working on that task. Upon completion, it should be changed to the last column. This means that it is ready for QA to do the necessary tests.
Definition of “Done” / Definition of Done Every effective and agile team has certain agreements that must be met before terminating a project. These are:
All tasks are complete. Code Review / Code Reviewed. Tests carried out on each element developed. Review by clients (that meets their needs). The review of the conditions of Acceptance by the Product Owner. These tools are useful, not only during a Sprint but also throughout the project, as they help the team understand the reason for each activity. In addition, they are visible to the team and to outsiders.
In summary, Scrum is a methodology applicable to any type of project and, although its execution requires a change in the work culture of the team members, the good results, the time and cost cuts that are generated make everything the sacrifice is worth it.
If you want to know more about how to start implementing this methodology in your projects, enter the Scrum Online Training and do not miss any detail.