Agile project management is a form of project management that is open to change, attaches importance to communication with the customer, and aims to produce software that works with continuous testing. The most important goal in Agile teams is to provide satisfaction by presenting the software to the customer in an early and continuously improving manner. It gives the team the opportunity and ability to develop projects, present new ideas, and solve problems. In customer requests, not only the anticipated demands, but also the applications made by considering the real problems and solutions are presented to the customer.
It is generally desired that Agile teams consist of 5-9 people. One of the team’s key goals is to break up improvements into short-term chunks to get a working application at the end of each sprint. Sprint time can vary as 2-3 weeks. During the sprint, with a 15-minute daily meeting every morning, the people in the team share with other teammates what they did the previous day, what they will do today, and if there are any problems that hinder their work. In this case, if there is any problem, the scrum master eliminates this problem or contacts the person who will help in the team after the meeting.
Improvements to be made in sprints are organized into small task steps. The analyst does the splitting of the improvements into tasks, but changes can be made at the sprint planning meeting by giving all team members an idea about the separation of the tasks. The content of the tasks, how they will be done, how they can be developed better in line with the customer’s wishes and expectations are discussed with the team and a conclusion is reached.
Tasks completed during the sprint are tested. The aim is to find the errors in the development that will be presented to the customer, during the tests in the sprint process, before they are found by the user. The bugs found are edited by the developers, and at worst, if bugs are encountered that cannot be fixed in the remaining short time, they are known. In this process, before the test engineer goes to the customer, the product should share the statement “this product is ready, but we may encounter such a problem in the following cases” with the team.
The fact that sprints have a definite and pre-agreed finish day has a positive effect in terms of increasing the performance of the team. In some cases, the fact that the sprint is close to the end and the tasks to be done are not completed can cause stress on the developer and test engineer. When the developer who completed the development on the last day handed over the work to the test engineer, the time allocated for testing decreases. The errors found as a result of the test need to be resolved and retested by discussing with the developer. An increasingly narrow time frame also causes the quality of the test to decrease. My solution for this is to devote the last day of the sprint to solving existing bugs and testing them, rather than closing the task.
At the end of each sprint, I think the test engineers should review the improvements made and tested for the last time. It is really difficult to set aside time for this when the task is closed on the last day. If we ignore the exceptions, it should make sure that the development made is in accordance with the requirements by checking for the last time that there are no corruptions for any reason in the developments made with the last check.
In Agile project management, the team works together and everyone knows how to take their part in the project. They improve future iterations by constantly getting feedback from team members and customers. The team, in itself, “What and how can we do better?” reaches a conclusion by producing solutions to the questions.
In companies where Agile project management is not applied, a person contacts the customers and learns the customer’s request and opens a task on this subject and presents it to the developer. Without considering any ideas or thoughts of the team members about this development, only the given work is presented to the customer. “What does the customer want?” in Agile project management. Going down to the main problem of the customer rather than providing a solution to it, makes the development healthier. Progress by taking the opinions of everyone in the team in solving the problem increases the quality of the product. In this way, customer satisfaction is increased.
In an Agile team, the test engineer should focus more on preventing bugs than finding bugs. Early testing is applied in Agile project management, testing takes place in the early stages of the software, not at the end. The feedback given as a test engineer in the creation of user stories and “refinement” meetings are studies aimed at preventing errors. Test engineers in the Agile team should be people who can adapt quickly to changes, have a customer perspective, contribute to the improvement of quality, analyze the system and learn quickly, and have high communication skills. The testing process cannot be considered separately from the application development process. After the preparation of the tasks, the development and testing processes, which are the two most important processes, should be seen as a whole and proceeded in this way. Test engineers should also be able to develop themselves technically and speak the same language as the developers. In this process, not only the tester is responsible for the quality and error-freeness of the product, but the whole team is responsible(!).
While testing, test engineers should test the system by using customer-oriented tests, forcing the system to fail, skeptical, alternative test scenarios and past experience. It should detect and anticipate the error at the earliest stage.
For an Agile team to be successful, there must be team spirit. We must work as a team, always be open to development and innovations, adapt easily, receive and give feedback. Our communication within the team should always be very good.