There is no software without the team that makes it. Many different people participate in the process of creating a product. First, Analysts gather requirements along with the customers and Product Owners, then it’s time for coding executed by Developers, then it comes to testing, reporting, coding again, and so on. Finally, the product is ready. However, the first release is usually just the beginning of the real work. When your software is out there, available for the clients, each defect has to be fixed as soon as possible. What’s more, the software has to keep up with the competition. The team needs to make sure it always meets the clients' expectations and that new features make the product up to date. It results in multiple tasks and the necessity of collaboration every step of the way. This is why we believe that a well-planned workflow is crucial to get the best results, especially in testing.
The waterfall development relies on series of actions executed linearly. It’s logical and comfortable thanks to its step-by-step nature. The waterfall method is most often used in the case of smaller and low-risk projects. The first stage involves gathering requirements and a comprehensive analysis executed by all the stakeholders. Then, the team can pass on to the next phases, illustrated by the graphic below:
Waterfall development model
When it comes to testing, test plans and executions are other great examples of a waterfall type of workflow. The first stage is gathering all requirements from the stakeholders. The next one is covering them with test cases by testers. After this, the team creates a test plan that included all the functionalities, which in the end is executed.
Nowadays, most of the teams work in the Agile methodology. The approach consists of understandable, clear messages. Companies develop a system over the course of successive iterations called sprints. This kind of workflow speeds up the process, by making it possible to work on multiple functionalities at the same time. To avoid going back and forth, the team members must document all the progress and changes made during the execution. Tests can also be executed using the Agile approach. In this case, each feature is separately managed in sprints, starting from collecting requirements, through testing, planning, and finally reporting defects.
Agile development model
A good workflow needs to be understandable, logical, and to the point. All team members involved in the process mustn’t spend too much time figuring out the plan itself - they should be able to focus on the action instead. Workflows are based on the consecutive steps executed by specific people. The first crucial thing is setting up permissions for the team. To avoid misunderstandings, unexpected changes, or data loss, it’s safe to give access to specific views only to people responsible for related functionalities. This minimizes the kind of situation when for example during testing someone edits or deletes a requirement by accident and the rest of the team stays unaware of that fact.
Moreover, the tasks should be ordered transparently. It should be visible at a glance which elements depend on which and the “bigger picture” of each small action. It can be done in multiple ways: folders and subfolders, a tree with tasks and subtasks, graphs, even sticky notes on the board. The most successful companies in the world use dedicated project management tools for the purpose, like for example Atlassian’s Jira. The software provides its users with intuitive functionalities but also allows them to customize workflows by naming included objects and building structures tailored to the individual needs of each project.
The third important thing is making the progress of each specific task visible for the managers or people involved. It makes it possible to estimate the time and money needed for the project to be finished, motivate the team members, and show their productivity. This human approach is as crucial in building a well-planned workflow as a functional one.
During the process of creating software, there are always many things that can happen. This is why workflows should be flexible and allow to track each action from the beginning to an end and the other way around. When little cycles are easy to recreate, it’s possible to fix possible errors faster and without impacting other functionalities.
The paragraph above mentions Jira - Atlassian’s flag product used for effective project management. We recommend using it, as we believe the software supports all requirements of a good workflow. With its out-of-the-box features, Jira lets the team assign tasks, estimate due dates, mark the progress or statuses, comment, add attachments, make the structure of Epics, Tasks, and User Stories, and many more. It has a wide range of functionalities that allows creating functional strategies in different environments and estimate risks. Jira is a popular tool, known by the majority of people working in IT. This is why there are multiple apps, which aim to extend Jira’s functionalities even more: testing tools, for example. Software testing is without a doubt a complex process, that requires deliberate management. How does the Atlassian product support testing workflow in both: Agile and Waterfall approach?
testing extensions usually look familiar to Jira itself, so that even new team members can start working as soon as possible,
testers can work in real-time along with the rest of the team: developers, managers, analysts, product owners, and the other stakeholders,
testing elements, like for example requirements and test cases are directly connected to Jira issues, Epics, and user stories,
reports are automatically generated in Jira, so the progress can be monitored anytime,
objects are fully traceable,
the extensions make it possible to plan the process and estimate its time and costs,
some testing tools provide users with reusable test plans and test cases or automation features which speed up the work and eliminate repetitive tasks.
As you can see, testing in Jira has a lot of advantages over a separate tool, dedicated only for the testers. It definitely supports intuitive workflow, no matter if it comes to cycles in Agile or moving from one milestone to the next in Waterfall. Let’s see how it looks like on the example of requirements:
Process of requirement management - an example of a workflow
Test Plans constitute a great example of a workflow. They can be executed in sprints or one phase after the other. Whilst creating RTM for Jira, we focused on making it possible for every team to set it up regarding their individual needs. Starting with the configuration of permissions and issue types the users can benefit from multiple options to make their Test Plans simple to understand by each part of the team. Moreover, the objects included in Test Plans and Test Plans themselves are categorized in the tree-structured view:
Test Plan in Requirements and Test Management for Jira
Thanks to this, it’s easy to group the specific tasks in folders and subfolders and assign them to the right person or group them. There are many ways of ordering Test Plans: by functionality, sprint, assigned team member, priority, environment, or so on. As you can see on the screen, on the right side of the view, the users can also see the progress of Test Cases included in Test Plans. The table is easy to understand and has a drag and drop editing feature. In the case of Test Plans as well as Test Cases, whilst working with Jira extended with RTM, the team is able to create a workflow that will work in each cycle of development:
Example of a workflow - creating of a Test Case/Test Plan
The Execution of a Test Plan in RTM is equally simple. No matter if the team works in the Agile or Waterfall model, everyone can see each object's status. The bars also show the percentage of Passed, Blocked, In Progress, and Failed issues. The Defects are visible to everyone and easy to track:
Test Execution in RTM for Jira
Of course, no workflow meets the expectations of all teams in each kind of company. Workstyle should fit each business individually. Nevertheless, there are some universal requirements that every workflow needs to fulfill to be considered fully functional: reasonable permissions, transparency, customizability, and traceability. Testing constitutes a great example of a process where both Agile and Waterfall development models are equally useful. The clarity and simplicity are without any doubt strong points of using Atlassian’s Jira extended with RTM to create a reliable workflow, which is why we recommend this solution even for the most demanding projects.