From waterfall to agile methodologies. What are the differences between Scrum and other frameworks? How does it represent a paradigm shift in software testing and quality? Find it out in this article written by Gabriel Ledesma, Leadership Coach at Abstracta and co-founder of the agile community in Uruguay.
By Gabriel Ledesma
In a previous article, we asked whether it is possible to have testers in Scrum. As we mentioned then, when it comes to creating quality software, they are not only “able” but also “should” be a part of it.
Afterward, we published another article in which we discussed the importance of agility, with a holistic view of testing, of which Scrum is undoubtedly a core component. Continuing this series of publications, I will examine the relevance of using Scrum in testing today.
When working with Scrum, the traditional test paradigm and particularly the tester’s role must be changed. How come? As Scrum follows the Agile Manifesto, it is important to produce useful software and deliver it regularly.
Here, the only valid measure of progress is “delivering useful software”. To achieve this, testers and other technical members must work together to think about and coordinate the “feature”. In the past, the tester’s role was seen as someone who had to test what a developer had done. This generated a cascading work cycle.
Today, the value of the tester is different: the tester is the one who helps the Product Owner to write and think about the acceptance criteria. He is the one who helps and encourages the team to use new testing practices that do not only require waiting to test what someone else has done. You can do pair-programming, implement a continuous integration pipeline and even achieve continuous delivery of the software being built. The highly collaborative change is to move into the Dev-Ops paradigm.
Fortunately, today there are many frameworks that help to work respecting agile principles. The best known are Scrum, eXtreme Programming, Lean software development, and Kanban. In addition, there are some versions of these frameworks that help the adoption of agile methods company-wide. [email protected], LeSS, Nexus, DAD, Enterprise Scrum, Enterprise Kanban, and SAFe are among the most widely used.
The main difference lies in their application possibilities. Scrum is a framework that is totally agnostic to the constructive discipline used.
To illustrate this, I can say that, for example, while eXtreme Programming was created specifically for developing software, you can choose to draw on Scrum in different industries and areas. So much so that it has even been linked to secondary education in countries in Europe. Scrum is based on events and activities, and in all of them, its three pillars are put into practice: inspection, adaptation, and transparency.
All frameworks help to achieve the much-needed agility and are very useful but, without a doubt, using Scrum implies a great differential. I have been practicing Scrum for 13 years, but I have also used Lean development, eXtremme Programming, and Kanban, so I speak here based on my experience.
The framework proposed by eXtremme Programming defines the role of the tester, and also his functions. Scrum, on the other hand, does not define any technical specialty role; everything is grouped in the definition of the development team. It seeks that this team is self-organized and has all the necessary skills to build the product. This allows the people who make up a team and use Scrum to learn empirically how the team should organize and coordinate its tasks, regardless of whether a person is a tester, developer, designer, etc.
The teams that really work as teams are those whose members have a common goal, and Scrum sprint by sprint has a common goal for everyone called Sprint Goal. It has teamwork values such as respect, commitment, openness, courage, and focus, which help team members learn to articulate their differences and always work collaboratively.
The Sprint Retrospective event provides Scrum team members the possibility to know how often they are going to stop developing in order to dedicate time to reflect and learn lessons to be applied in the next sprint.
In the past, each technical discipline discussed on its own how to work. Scrum promotes exactly the opposite: that all parties, technical and non-technical, come together to learn how we are working and decide together what we should change for the next sprint.
Are you looking for your ideal software testing partner? Abstracta is one of the most trusted companies in software quality engineering. Contact us today to see how we can help your business!
Testing as the Driver Towards a DevOps Culture
Lessons learned from helping organizations foment a DevOps culture through Agile testing practices At Abstracta we work with many companies, several of whom already have a DevOps culture and others whom we’ve helped to define and promote it. Over the years, we’ve seen DevOps gaining…
How to Easily Do Accessibility Testing in Continuous Integration
How to add accessibility tests to your CI pipeline using the open source tool, Pa11y If you are unfamiliar with continuous integration (CI), it’s a practice wherein each developer’s code is merged frequently (at least once per day). In this way, a stable code repository…