Product developmentTesting approaches and practical techniques

Testing methodologies

9 minutes read

A development methodology, as opposed to a model, is a set of methods for managing software development. It consists of a set of practical rules and development techniques. In simpler terms, a methodology refers to a detailed set of rules, practices, and principles employed to put a specific model into action. Models are needed to understand the development process. Methodologies need to be put into practice to make the development process as efficient and consistent as possible.

Agile

Agile is a work approach where larger tasks are divided into smaller segments, worked upon incrementally, and feedback is received throughout the process. It's like building a LEGO castle step by step instead of all at once. A set of values and principles to be followed in software development:

  • People and interaction are more important than processes and tools.

  • A working product is more important than extensive documentation.

  • Working with the customer is more important than negotiating contract terms.

  • Being open to change is more important than sticking to the original plan.

So, without denying the importance of what's on the right, we still value what's on the left more. Agile is both a methodology and an ideology that adheres to the values and rules described above.

Scrum

Scrum is a project management methodology based on the principles of time management. It is an implementation of agile methodology in which incremental changes are delivered in a timely manner. Its main feature is the involvement of all participants in the process, and each participant has a specific role. The point is that not only the team works on the solution of the task, but everyone who is interested in the solution of the task.

Scrum team

Let's look at the main terms used in the methodology:

  • Product Owner is the person who has a direct interest in a quality end product; they understand how this product should look and work. This is the person who works on the customer/client side. They don't work in a team, but they work with a team and are the person who prioritizes tasks.

  • Scrum Master is the person who makes sure that all Scrum principles are followed.

  • Scrum Team is the team that accepts all Scrum principles and is willing to work with them.

Scrum lifecycle

A sprint is a period of time (usually 2-4 weeks) taken to complete a specific list of tasks from a backlog. It is a list of all tasks. You can say that it is a diary of general use. There are 2 types of backlogs: Product Backlog and Sprint Backlog. Tasks in the Sprint Backlog are taken from the Product Backlog. The increment is the result of a completed sprint, i.e. the version of the product that was worked on during the Sprint.

Scrum methodology

The processes of a sprint consist of several stages.

Sprint planning. The sprint planning involves the Product Owner, Scrum Master and the team. The Product Owner prioritizes the tasks they want to see completed by the end of the sprint. The team estimates how much of what they would like to see completed. If it becomes clear during the sprint that the team will not be able to complete the tasks planned for the sprint, the Scrum Master, Product Owner and the team will meet and figure out how to reduce the scope of the work and still meet the sprint goal.

Stopping a sprint is done in exceptional situations. A sprint can be stopped before the allotted days are up. A sprint can be stopped by the team if they realize that they cannot achieve the sprint goal within the allotted time or by the Product Owner if it is no longer necessary to achieve the sprint goal. After the sprint has been stopped, a meeting is held with the team to discuss the reasons for stopping the sprint. A new sprint is then started.

Here are some examples of reasons for stopping a sprint:

  • Critical bugs are found and cannot be fixed in the current sprint timeframe.

  • The test environment has crashed and needs to be reconfigured.

A daily stand-up or daily Scrum meeting is held every morning at the start of the day by the Scrum Master. The duration of this meeting is strictly limited and should not exceed 15 minutes. The purpose of the meeting is to share information. It is not intended to solve problems in the project; any issues that require special discussion should be taken out of the meeting.

Retro and Demo. Retrospective (Retro) is a team meeting to review the quality of existing processes, people relationships, and tools used. The team identifies what went well, what didn't go well, and potential opportunities for improvement. They create an improvement plan for the future. Demo (or Review) shows the results achieved by the team and their evaluation by the customer. The demo also includes the Product Owner and people from the business telling what they did and how cool it was.

Kanban

Kanban is a methodology for improving development processes and is part of the Agile philosophy. Working with this methodology starts with visualization to make the processes visible to the team. A special board with columns is used for this purpose.

Kanban

Kanban is characterized by a limit on the number of tasks that can be in progress at the same time, in order to understand where the bottleneck is and where work needs to be optimised.

Differences between Kanban and Scrum:

Kanban

Scrum

  • No meetings

  • No separation of roles

  • No sprints, or they can be longer than 4 weeks

  • Continuous board process

  • No cross-functional team

  • Does not work well with large teams (more than 4-5 people)

  • There are meetings

  • There are roles

  • There is a cross-competency team

  • There are sprints

  • Works well with large teams

Conclusion

The choice of Agile, Scrum, or Kanban depends on what the team needs, what projects they are working on, and what format they prefer to work in. Both Scrum and Kanban are ways of working based on Agile ideas. Whichever is used on a project, the main goals are to work together, to be able to make changes, and to make sure they are useful to the customer.

8 learners liked this piece of theory. 0 didn't like it. What about you?
Report a typo